本次测试3个基本指令,我们基本在编程过程中都会用到,包含自锁回路,定时器,加计数器。
首先我们实现的功能如下:
当启动脉冲发出后,1#泵启动;然后进入定时20秒,20秒到达后,2#泵启动;2#泵启动第2次时,3#泵启动。当停止脉冲发出后,1#泵和2#泵停止,3#泵在计数器复位后,停止。
建立FC功能块,选择SCL语言
定义完成后,编程如下:
//功能1:自锁回路,当start_P启动后,pump_DRV1=1;当stop_P按下时,pump1_drive=0
#Pump_DRV1 := #start_P OR #Pump_DRV1 AND NOT #stop_P;
//功能2:当pump_DRV1为1时,启动延时20秒,时间到后,启动pump_DRV2
#IEC_Timer_0_Instance(IN:=#Pump_DRV1,
PT:=T#20S,
Q=>#Pump_DRV2,
ET=>#tmp);
//功能3:当pump_DRV2由0->1时,计数值加1,计数值达到2时,pump_DRV3为1.
#IEC_Counter_0_Instance(CU:=#Pump_DRV2,
R:=#reset_counter,
PV:=2,
Q=>#Pump_DRV3,
CV=>#cv);
注意,选择定时器和计数器时,我们选择参数实例:
测试效果:
(1)启动脉冲发出
(2)延时20秒到达后
(3)计数值为2时
(4)停止脉冲发出后
(5)复位计数器
SCL测试下载网址:
http://honeytree.ysepan.com/ |