需要注意的是计时器的精度,脉冲宽度好像基本都是几十毫秒。
---------A EN//允许块启动初始化
FP ONEN
JCN M1
S RUN//置位标志位
L 0.0
T RUNTIME//运行时间清零
R OVER//复位结束标志
M1:NOP 0
A RUN
JCN M2
S OUT如果运行则打开阀门,开始计时
L 0.1
+R
T RUNTIME
L RUNTIME_SP
>=R
R OUT//计时时间大于开启时间则关闭阀门
L RUNTIME_SP
L DELAY_SP
+R
L RUNTIME//脉宽+间隔小于计时则运行结束
<=R
JCN M2
S OVER//置位结束标志
R RUN//复位运行标志
M2:NOP 0
-------我以前是这样处理的,首先时间设定那最简单的就是T1 T2做个互锁方波就可以
其次脉冲循环可以用过T1上升沿出发位循环左移,每个位可以对应一个OUT 外加一个计数 计数大于脉冲阀个数就重新mov 1 给操作的字或者双字
--------用SPEXT定时器做,触发信号上升沿使定时器工作,脉冲阀打开,时间到后关闭。
欢迎光临 工控编程吧 (https://www.gkbc8.com/) | Powered by Discuz! X3.4 |