现有一套PLC200系统,含10个电磁阀,轮流动作,一个动作周期结束后,重新轮询,动作的电磁阀个数N(N≤10)为可变,每个电磁阀动作时间相同,均为T(T可变)。
现在拟定方案为:用T1、T2......Tn来表示每个电磁阀的动作时间,通过修改电磁阀动作时间来修改电磁阀的动作个数。部分程序如下,通过控制VW0~VW18是否为0来决定对应的电磁阀是否动作。
LD SM0.0
S Q0.0, 1
LD Q0.0
TON T37, T1
LD T37
R Q0.0, 1
S Q0.1, 1
问题:1. 照上述方案,有几个电磁阀就要有几倍上述的编程量,比较繁琐,貌似PLC200中没有类似C的for循环语句,怎么样编写会比较简洁呢?有没有类似轮询的函数?
2. 电磁阀动作时间T用组态王来修改,单位为s,但200的T37~T63基准为100ms,所以T的输入值需*10,这个修改放在PLC程序中还是放在组态王中?哪个比较合适?