西門子PLC S7 語句表程序如何理解
= 為賦值指令, = L20.1: 向臨時變量地址L20.1寫入位邏輯0或1。
T 為傳送指令, T LW2: 將累加器1數據傳送到臨時地址LW2(占用L2.0-L3.7,16bit)。
JC 為跳轉指令, JC 0100: JC指令之前邏輯運算的結果為1時,跳轉到目標標簽0100處。
S7幫助文檔有相關指令介紹,輸入需要查看的指令即可(中文版STEP 7最好,便于閱讀)。
西門子plc中梯形圖和語句表怎么相互轉換
梯形圖和語句表的轉化在PLC編程軟件 工具欄 查看 里選擇切換。
西門子S7-200的PLC對語句表編寫的格式要求多,因為200的語句表和梯形圖可任意切換,如果語句表格式不對,即回出現編譯錯誤。所以一般多為梯形圖,且程序里只能有一個語言,要么全部都是語句要么全部都是梯形。
西門子S7-300的PLCCPU功能強大,兼容語句表和梯形圖同時存在。梯形圖編輯好后可轉化到語句表,也就是指令表,也可在轉化后的指令表里刪減些沒用的指令,但是刪減后的語句表能運行,卻不能再次轉化為梯形圖。因為300的PLC對指令表的功能很支持,所以編指令的程序很方便,本人也是經常在指令語句和梯形語句中來回切換著編程,編到最后一半是梯形圖,一半是指令語言。
而且一般人編S7-300的指令語句,基本上都不符合轉化成梯形圖的要求,所以你看300的程序,當切換到梯形圖時,依舊還有很多以指令的方式存在,便是這個原因。
西門子語句表 求解釋
下次再問這種類似問題記得把程序調用部分也截圖;光從你這張圖,應該是寫在FC或者FB之內,這個程序如果不是老外寫的那么就是在外企呆過的人寫的,我一句句給你翻吧(累死。)
, O #SwpB #SwpB程序內聲明的局部或者外部變量名,常開信號 ON #SB.S1253_EnP #SB.S1253_EnP程序內聲明的局部或者外部變量名,常閉信號與上一句并聯 ON #En_W_B #En_W_B程序內聲明的局部或者外部變量名,常閉信號與上一句并聯 R #IF.H1_DelExpMinB #IF.H1_DelExpMinB程序內聲明的局部或者外部變量名,上面3個變量任意一個能流為1,復位#IF.H1_DelExpMinB JCN SP3 上面3個任意能流不為1,跳轉到子程序SP3 L 0 在上面能流為1并復位#IF.H1_DelExpMinB之后,將值0賦值到下面的變量中 T #TA .T2360_DelMinB #TA .T2360_DelMinB程序內聲明的局部或者外部變量名,此刻值被賦為0 JU SP4 跳轉到子程序SP4//; 注釋欄SP3: L #TS.T1360_DelMinB SP3子程序:#TS.T1360_DelMinB程序內聲明的局部或者外部變量名,從內部累加器裝載 L 0 數值0 <>I 將#TS.T1360_DelMinB的值與0做比較 AN "IP_1Sec" 在上面的比較公式后面串聯一個"IP_1Sec" 的變量 O #IF.H1_DelExpMinB #IF.H1_DelExpMinB并聯到上面語句 JC SP4 程序跳轉到SP4 L #TA.T2360_DelMinB #TA.T2360_DelMinB程序內聲明的局部或者外部變量名, L 1 數值1 +I #TA.T2360_DelMinB的值加1 T #TA.T2360_DelMinB #TA.T2360_DelMinB的值加1的值賦值到#TA.T2360_DelMinB L #TS.T2360_DelMinB 將#TA.T2360_DelMinB的值與#TS.T2360_DelMinB作比較
誰能幫我解釋一下西門子PLC 300語句表程序
自己不整理好才放出來,
還要答的人幫你整理,這樣的伸手態度不好
-------------------------------------------------------------------
SET //將RLO設置到信號狀態“1”
SAVE //將RLO存入存儲器BR位
= L 0.1 //置位L0.1
-------------------------------------------------------------------
L #IN0 //裝載變量 IN0 到ACCU1
ITD //轉換為雙字
DTR //轉為實型
L 2.764800e+004 //A1復制到A2,后裝載常數 27648 到A1
/R //A1=A2/A1
L #IN1 //同樣A1復制到A2,裝載變量 IN1 到A1
TAK //交換A1、A2的數據
T LD 2 //將A1的數據存至LD2
TAK //交換A1、A2的數據
L #IN2 //裝載變量 IN2 到A1
-R //A1=A2-A1
L LD 2 //裝載 LD2 到A1
*R //A1=A2*A1
L #IN2 //裝載變量 IN2 到A1
+R //A1=A2+A1
T #OUT3 //傳送結果
-------------------------------------------------------------------
L #IN0 //這一段看不懂,沒有裝仿真器不知道結果會是怎樣
L 31104
>I //比較,(#IN0>31104?1:0)
L #IN0
L -1728
= L 0.2 //L0.2=(#IN0>31104?1:0)????提前兩行就很好明白了??????
-1728?1:0)??????????
O L 0.2 //邏輯與
JCN M001 //當RLO=0時跳轉到M001
-------------------------------------------------------------------
SET //同上
= #OUT4
JU M002 //無條件跳轉
-------------------------------------------------------------------
M001:
CLR //將RLO設置到信號狀態“0”
= #OUT4
-------------------------------------------------------------------
M002:
CLR //同上
A L 0.1 // &&L0.1
SAVE //同上
-------------------------------------------------------------------
BE //塊程序結束
CALL "AI_4_20mA" //調用程序
形參:= 實參
IN0 :=PIW256
IN1 :=9.000000e+002
IN2 :=0.000000e+000
OUT3:=*0
OUT4:=*0.0