• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
张国良
级别: 探索解密
精华主题: 0
发帖数量: 68 个
工控威望: 138 点
下载积分: 707 分
在线时间: 64(小时)
注册时间: 2020-02-06
最后登录: 2024-11-10
查看张国良的 主题 / 回贴
楼主  发表于: 2024-03-24 12:05
有ABCD三个风机,触摸屏上可以任意排序,比如A可以是一号可以是二号也可以是三号也可以是四号,BCD同理,现在要求一号风机开10秒停5秒,然后二三四号依次运行,如果是A是一号B是二号,C是三号,D是四号这样固定好了可以写出来,但是ABCD是任意排序的,如果下一次ABCD排序成2341,这样应该怎么写,plc是三菱的
yha_4611
QQ: 2490453455私信聊天
级别: 家园常客
精华主题: 0
发帖数量: 525 个
工控威望: 659 点
下载积分: 1842 分
在线时间: 558(小时)
注册时间: 2011-11-19
最后登录: 2024-11-17
查看yha_4611的 主题 / 回贴
1楼  发表于: 2024-03-24 12:10
每一个电机在触摸屏上已编号,程序中需要比较编号,从一到四执行就可以了。
QQ: 2490453455
17625606414
级别: 家园常客
精华主题: 0
发帖数量: 410 个
工控威望: 586 点
下载积分: 119 分
在线时间: 150(小时)
注册时间: 2022-07-11
最后登录: 2024-11-17
查看17625606414的 主题 / 回贴
2楼  发表于: 2024-03-24 13:09
变址
18857713026
赚点辛苦钱不容易啊 诶~~~~ 努力赚钱
级别: 略有小成
精华主题: 0
发帖数量: 389 个
工控威望: 483 点
下载积分: 1173 分
在线时间: 186(小时)
注册时间: 2020-11-27
最后登录: 2024-11-16
查看18857713026的 主题 / 回贴
3楼  发表于: 2024-03-24 15:04
程序里就 M0 一号风机  M1 二号风机  M2三号风机  M3四号风机
屏幕上  D0_定义Y0是几号风机   D1_Y1     D2_Y2  D3_Y3


LD M8000  MOV D0 Z0
LDM0Z0 OUT Y0

LD M8000  MOV D1 Z0
LDM0Z0 OUT Y1

LD M8000  MOV D2 Z0
LDM0Z0 OUT Y2

LD M8000  MOV D3 Z0
LDM0Z0 OUT Y3
fxe2008
级别: 探索解密
精华主题: 0
发帖数量: 42 个
工控威望: 168 点
下载积分: 4101 分
在线时间: 72(小时)
注册时间: 2023-11-20
最后登录: 2024-11-16
查看fxe2008的 主题 / 回贴
4楼  发表于: 2024-03-25 09:09
图片:
引用
引用第3楼18857713026于2024-03-24 15:04发表的  :
程序里就 M0 一号风机  M1 二号风机  M2三号风机  M3四号风机
屏幕上  D0_定义Y0是几号风机   D1_Y1     D2_Y2  D3_Y3


LD M8000  MOV D0 Z0
.......

你这程序有问题呀
梦雨天涯
微信hui530527   &
级别: 网络英雄
精华主题: 0
发帖数量: 4209 个
工控威望: 7578 点
下载积分: 14804 分
在线时间: 2856(小时)
注册时间: 2016-10-31
最后登录: 2024-11-16
查看梦雨天涯的 主题 / 回贴
5楼  发表于: 2024-03-25 10:12
程序仅供参考

三菱任意序号启动,停止延时(FX3U)_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1nH4y1p7pq/
[ 此帖被梦雨天涯在2024-03-25 10:43重新编辑 ]
微信hui530527      b站账号,非标自动化谭工
请不要随意加我,不会随便通过。QQ群942493953
18857713026
赚点辛苦钱不容易啊 诶~~~~ 努力赚钱
级别: 略有小成
精华主题: 0
发帖数量: 389 个
工控威望: 483 点
下载积分: 1173 分
在线时间: 186(小时)
注册时间: 2020-11-27
最后登录: 2024-11-16
查看18857713026的 主题 / 回贴
6楼  发表于: 2024-03-25 11:13
引用
引用第4楼fxe2008于2024-03-25 09:09发表的  :

你这程序有问题呀


什么问题  ??? ?????????????
D0 =0      Y0 = M0  
D0 =1      Y1 = M1
D0 =2      Y2 = M2
D0 =3      Y3 = M3
???????????????????   不会为什么Y0没亮吧    你看看对应M亮了吗   不要问这么******的问题
[ 此帖被18857713026在2024-03-25 11:20重新编辑 ]
fxe2008
级别: 探索解密
精华主题: 0
发帖数量: 42 个
工控威望: 168 点
下载积分: 4101 分
在线时间: 72(小时)
注册时间: 2023-11-20
最后登录: 2024-11-16
查看fxe2008的 主题 / 回贴
7楼  发表于: 2024-03-25 14:15
引用
引用第6楼18857713026于2024-03-25 11:13发表的  :


什么问题  ??? ?????????????
D0 =0      Y0 = M0  
D0 =1      Y1 = M1
.......

你没发现我发的图片上DO=1的时候,Z0数值没有变吗。你模拟下看看,可能和PLC有关系,我选的是FX3U的
18857713026
赚点辛苦钱不容易啊 诶~~~~ 努力赚钱
级别: 略有小成
精华主题: 0
发帖数量: 389 个
工控威望: 483 点
下载积分: 1173 分
在线时间: 186(小时)
注册时间: 2020-11-27
最后登录: 2024-11-16
查看18857713026的 主题 / 回贴
8楼  发表于: 2024-03-25 16:48
引用
引用第7楼fxe2008于2024-03-25 14:15发表的  :

你没发现我发的图片上DO=1的时候,Z0数值没有变吗。你模拟下看看,可能和PLC有关系,我选的是FX3U的

?????????????
PLC是顺序更新啊    
你能看到当然是 Z0的最后一次状态啊  
你D1 = 0   D0不管等于多少   Z0永远是0啊
ljty9527
级别: 正式会员
精华主题: 0
发帖数量: 22 个
工控威望: 85 点
下载积分: 2646 分
在线时间: 163(小时)
注册时间: 2019-10-22
最后登录: 2024-11-17
查看ljty9527的 主题 / 回贴
9楼  发表于: 2024-03-25 21:19

flyfeky
bilibili 工控贵族
级别: 论坛先锋
精华主题: 0
发帖数量: 885 个
工控威望: 1034 点
下载积分: 1987 分
在线时间: 687(小时)
注册时间: 2012-05-09
最后登录: 2024-11-17
查看flyfeky的 主题 / 回贴
10楼  发表于: 2024-03-25 21:31
按道理, 这里有个数据结构 , 叫做队列, 也就是先进先出 。   可以自己实现队列算法,如果有现成的也可以。

简单的可以如下,不算队列算法,具体的启停逻辑,我下面是不对的啊.

把 A/B/C/D 用数字1/2/3/4  分别放到存储器   D1,D2,D3,D4 中,标识这四个风机。  多的话用数组和循环,比如100个风机。    Y1 Y2 Y3 Y4 表示输出。

第一步要设置  D0 D1 D2 D3的值。   比如2341;  /  1234 /  3412/      step的转换条件 就是 时间到  step:=step+1;
case  step of  
1 :

IF  D1=1  THEN
Y1:=TRUE;  //  Y1通10S 停2s
ELSE IF D1=2 THEN
Y2:=TRUE; //  Y2通10S 停2s
ELSE IF D1=3 THEN
Y3:=TRUE; //  Y3通10S 停2s
ELSE IF D1=4 THEN
Y4:=TRUE; //  Y4通10S 停2s
END IF;

2 :

IF  D2=1  THEN
Y1:=TRUE;
ELSE IF D2=2 THEN
Y2:=TRUE;
ELSE IF D2=3 THEN
Y3:=TRUE;
ELSE IF D2=4 THEN
Y4:=TRUE;
END IF;


3:

4:

end case;
[ 此帖被flyfeky在2024-03-25 22:00重新编辑 ]
本帖最近评分记录:
  • 下载积分:+1(libin520) 真诚感谢!
  • 西门子倍福WPF+C#数据库,槽式设备专家
    冲出枪林弹雨
    冲出枪林弹雨
    级别: 家园常客
    精华主题: 0
    发帖数量: 141 个
    工控威望: 622 点
    下载积分: 350 分
    在线时间: 86(小时)
    注册时间: 2020-09-05
    最后登录: 2024-11-15
    查看冲出枪林弹雨的 主题 / 回贴
    11楼  发表于: 2024-03-25 23:02
    可以参考,能监控当前运行风机编号,状态,以及加了停止动作
    VAR  
        TimerRun : TON;         // 运行计时器  
        TimerStop : TON;        // 停止计时器  
        FanState : ARRAY[1..4] OF BOOL; // 风机状态数组(TRUE-运行,FALSE-停止)  
        CurrentFan : INT;       // 当前运行的风机编号(1-A,2-B,3-C,4-D)  
        FanOrder : ARRAY[1..4] OF INT := [1, 2, 3, 4]; // 风机排序数组,可以修改排序  
        EmergencyStop : BOOL;   // 紧急停止按钮状态  
        SafetyInterlock : BOOL; // 安全联锁状态  
    END_VAR  
      
    //初始化  
    IF NOT TimerRun.Q AND NOT TimerStop.Q AND NOT EmergencyStop AND SafetyInterlock THEN  
        FOR i := 1 TO 4 DO  
            FanState := FALSE; // 所有风机初始状态为停止  
        END_FOR;  
        CurrentFan := FanOrder[1]; // 根据风机排序数组确定起始风机  
        TimerRun(IN:=TRUE, PT:=T#10s); // 设置运行计时器为10秒  
    END_IF  
      
    // 风机运行逻辑  
    IF NOT EmergencyStop AND SafetyInterlock THEN  
        IF TimerRun.Q THEN  
            // 当前风机正在运行或即将运行  
            IF NOT FanState[CurrentFan] THEN  
                // 启动当前风机  
                FanState[CurrentFan] := TRUE;  
                // 这里加入控制当前风机启动的代码  
            END_IF  
        ELSE  
            // 运行时间到,停止当前风机  
            FanState[CurrentFan] := FALSE;  
            // 这里加入控制当前风机停止的代码  
            TimerStop(IN:=TRUE, PT:=T#5s); // 设置停止计时器为5秒  
        END_IF  
          
        IF TimerStop.Q THEN  
            // 停止时间到,切换到下一个风机  
            CurrentFan := FanOrder[(CurrentFan MOD 4) + 1]; // 根据风机排序数组循环风机编号  
            TimerRun(IN:=TRUE, PT:=T#10s); // 重置运行计时器为10秒  
        END_IF  
    ELSE  
        // 紧急停止或安全联锁断开,停止所有风机  
        FOR i := 1 TO 4 DO  
            FanState := FALSE;  
        END_FOR;  
        TimerRun(IN:=FALSE); // 停止运行计时器  
        TimerStop(IN:=FALSE); // 停止停止计时器  
    END_IF
    技术交流vx: Electric973
    • «
    • 1
    • 2
    • »
    • Pages: 1/2     Go