PLC梯形圖程序如何轉換爲ST語言程序,以三菱FX系列PLC爲例講解

在 前文 講述了ST語言最簡單,最基本的邏輯關係,今天,小編我就個大家講述一下,如何利用學到的ST語言中的邏輯關係,翻譯一段PLC梯形圖程序。


PLC梯形圖程序如何轉換為ST語言程序,以三菱FX系列PLC為例講解


提示:由於大家習慣了梯形圖的簡單編程模式,對於ST語言的使用非常陌生,而且入手難度大,因此,小編建議,對於ST語言的學習,可以從翻譯梯形圖程序開始。

首先,我們先來看一段梯形圖程序

PLC梯形圖程序如何轉換為ST語言程序,以三菱FX系列PLC為例講解

圖一

如圖一所示,這是小編為經常提及的啟保停梯形圖程序,它是PLC編程基礎中的基礎,是PLC工作原理的體現(為了防止無恥抄襲,我在圖片中加了水印,可能影響大家的閱讀,請見諒,這個世界的秩序和規則都是那些不要碧蓮的人破壞的,比如那個無恥的電工學習網的李亮,還有保護抄襲的百家號)。

為了讓大家更明白,我沒有在程序中使用變量,而是直接使用了物理地址,對於停止,我也使用了常閉觸點,這段梯形圖轉換為ST語言有兩種方式

1 直接使用邏輯表達式

這種方法就是利用各個元素的之間的邏輯關係直接表述出來,很顯然X0 和 Y0 並聯是或的關係,也就是OR,然後,他們兩個又和取反後的X1 串聯,是與的關係,也就是AND。

PLC梯形圖程序如何轉換為ST語言程序,以三菱FX系列PLC為例講解

圖二

如圖二所示,這就寫好的ST語言程序,也就是 Y0:=(X0 OR Y0 ) AND NOT X1;

2 使用IF 語句

直接使用邏輯關係,就相當於梯形圖中的直接輸出,要注意雙線圈輸出的問題,而使用IF 語句就相當於SET 和RESET,不必擔心雙線圈輸出問題,而使用IF語句其實就是把邏輯關係描述出來。

PLC梯形圖程序如何轉換為ST語言程序,以三菱FX系列PLC為例講解

圖三

如圖三所示,這就是使用IF語句來表示啟保停的梯形圖邏輯,也就是

IF( X0 OR Y0) AND NOT X1 THEN

Y0:=1;

ELSE

Y0:=0;

END_IF;

需要注意以下幾點,那就是 一定要加上ELSE後面那一段,否則,你的輸出永遠會等於1,大家可以思考一下,這是為什麼。還有就是END_IF 後面的分好一定要加,這點和CODESYS略有不同,在CODESYS中,是不需要加的。這也是很多平臺的區別,有的要加,有地不需要加,大家在不同平臺間移植的時候要注意。

總結: 這就是使用ST語言實現邏輯控制的兩種方法,PLC中再複雜的邏輯也是簡單邏輯的組合,所以,你只要掌握了基本邏輯的實現方法,經過一定時間的訓練和積累,一定會掌握ST語言,那些說邏輯程序ST語言不如梯形圖直觀的人,我只想說;夏蟲不可以語冰也!


分享到:


相關文章: