工控玩家
澧县电气自动化
级别: 家园常客
精华主题: 0
发帖数量: 528 个
工控威望: 778 点
下载积分: 787 分
在线时间: 607(小时)
注册时间: 2008-09-06
最后登录: 2026-02-05
查看工控玩家的 主题 / 回贴
楼主  发表于: 22天前
现有7个电磁阀向7条管道给水,先给1 2号供水---再给2 3号供水----3  4号供水---4 5号供水----5 6号供水--6  7号供水--7 1供水---1 2供水,这样循环。
问题是某些管路关闭了怎么跳过?任何时间都有两路给水。
flyfeky
bilibili 工控小工匠孔
级别: 论坛先锋
精华主题: 0
发帖数量: 913 个
工控威望: 1078 点
下载积分: 2078 分
在线时间: 691(小时)
注册时间: 2012-05-09
最后登录: 2026-02-10
查看flyfeky的 主题 / 回贴
1楼  发表于: 昨天
IF  point>count OR point<0 THEN
    point:=0;
END  IF;
FOR i:= 0 TO count DO  
   //  Enable[point] 为YV[point] 启用输出    count=6    YV[0...count]
IF    NOT   Enable[point]   THEN
    point:=point+1;
            IF  point>count THEN
        point:=0;
    END IF;
END IF;
IF start   AND Enable[point] THEN      //第一个电磁阀启动位置
    point1:=point+1;
        IF  point1>count THEN
        point1:=0;
    END IF;
    EXIT;
END IF;  
END_FOR;

FOR i:=0 TO count DO
    YV:=FALSE;    //YV数组下标i  为何不显示?
    YV[point]=TRUE;
    IF  start  AND  NOT  Enable[point1] THEN
    point1:=point+1;
           IF  point1>count THEN
        point1:=0;
    END IF;
END IF;
IF  start  AND  Enable[point1] THEN      // 第二个电磁阀启动位置
    YV[point1]:=TRUE;    
    EXIT;
END IF;
END_FOR;

//定时时间到
IF  start  AND M8013    AND NOT second_p TEHN
     actultime:=actultime+1;    // 秒计时
END IF;
second_p:=M8013;
IF start  AND actultime>=settime THEN
    point:=point+1;
    actultime:=0;
END IF;



三菱st写的, 编译通过。 真奇怪  YV数组的下标 i  不显示    会这个plc 90%的程序都搞的定了
[ 此帖被flyfeky在2026-02-10 11:38重新编辑 ]
西门子倍福WPF+C#数据库,槽式设备专家