【案例】 如何使用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;


登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1