【案例】 如何使用SCL编程实现顺控功能

越来越多的人喜欢使用SCL编程,今天给大家带来一个使用SCL编程实现顺控功能的示例。

功能说明:

【案例】 如何使用SCL编程实现顺控功能的图1

工作时,按下启动按钮A和B阀全部打开,开始进料,30s后A阀关闭,B阀继续放料,当达到传感器2,搅拌电机开始转动 ,当达到传感器3,B阀关闭,电机继续转动30s后停止,同时出料阀C打开,当达到传感器1后,延时10s,C阀关闭,完成一个周期。


这个系统要求单周期和连续工作两种模式。

当看到这个功能说明,相信大家很容易想到使用GRAPH来进行编,今天,也可以使用SCL来进行编程。


首先,设置接口变量如下图所示:

【案例】 如何使用SCL编程实现顺控功能的图2

编写程序:这里使用条件语句来进行编写,首先要使用单周期和连续运转来进行两个分支的判断。


先编写单周期工作方式:

【案例】 如何使用SCL编程实现顺控功能的图3



然后是连续工作方式:

【案例】 如何使用SCL编程实现顺控功能的图4


源代码如下:

IF #单周期选择 THEN  

IF #启动 THEN  

#电磁阀1 := 1;  

#电磁阀2 := 1;  

#time1.TON(IN := #电磁阀1,  

PT := T#30S);  

END_IF;  

IF #time1.Q THEN  

#电磁阀1 := 0;  

END_IF;  

IF #传感器2 THEN 

#电机KM := 1;  

ELSIF #time2.Q  

THEN  

#电机KM := 0;  

END_IF;  

IF #传感器3 THEN 

 #电磁阀2 := 0;  

END_IF;  

#time2.TON(IN := #传感器3,  

PT := T#30S);  

IF #time2.Q THEN  

#电磁阀3 := 1;  

END_IF;  #time3.

TON(IN := #传感器1, 

PT := T#10S);  

IF #time3.Q THEN  

#电磁阀3 := 0;  

END_IF;  

ELSIF  

NOT #单周期选择 THEN  

IF #启动 OR #time3.Q THEN  

#电磁阀1 := 1;  

#电磁阀2 := 1;  

#time1.TON(IN := #电磁阀1,  

PT := T#30S);  

END_IF;  

IF #time1.Q THEN 

 #电磁阀1 := 0;  

END_IF;  

IF #传感器2 THEN  

#电机KM := 1;  

ELSIF #time2.Q  

THEN  

#电机KM := 0;  

END_IF;  

IF #传感器3 THEN  

#电磁阀2 := 0;  

END_IF;  

#time2.TON(IN := #传感器3,  

PT := T#30S);  

IF #time2.Q THEN  

#电磁阀3 := 1;  

END_IF;  

#time3.TON(IN := #传感器1,  

PT := T#10S);  

IF #time3.Q THEN  

#电磁阀3 := 0;  

END_IF; 

END_IF;


默认 最新
当前暂无评论,小编等你评论哦!
点赞 评论 收藏 1
关注