《西門子PLC STL編程基本知識》由會員分享,可在線閱讀,更多相關《西門子PLC STL編程基本知識(3頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、【精品文檔】如有侵權,請聯(lián)系網(wǎng)站刪除,僅供學習與交流
西門子PLC STL編程基本知識
.....精品文檔......
在學習STL語言的編程方式之前首先要了解西門子STL語言的最基本的知識:
狀態(tài)字用于表示CPU執(zhí)行指令時所具有的狀態(tài)。
下列情況都將影響狀態(tài)字的變化:
1、一些指令是否執(zhí)行或以何方式執(zhí)行,可能取決于狀態(tài)字中的某些位;
2、執(zhí)行指令時也可能改變狀態(tài)字中的某些位;
3、也能在位邏輯指令或字邏輯指令中訪問并檢測他們;
狀態(tài)字的結構如下:
FC
首位檢測位:若FC=0,表明一個梯形邏輯網(wǎng)絡的開始,或第一條指令。CPU對第一條指令的檢測,產(chǎn)
2、生的結果直接保存在狀態(tài)字的二次檢測存放在RLO中的0或1被稱為首位檢測結果。FC位在邏輯串的開始總是0,在邏輯串指令位為1,輸出指令與邏輯運算有關的轉移指令(表示一個邏輯串結束的指令)將FC清零。
RLO
邏輯操作結果:該位存儲邏輯指令結果。在邏輯串中,RLO位的狀態(tài)能表示有關信號流的信息。RLO的狀態(tài)為1,表示有信號流(通),0表示無信號流(斷)??捎肦LO觸發(fā)跳轉指令;
STA
狀態(tài)位,狀態(tài)位不能用指令檢測,它只是在程序測試中被CPU解釋并使用,如果一條指令是對存儲區(qū)操作的位邏輯指令,則無論是對該位讀或寫操作,STA總是與該位的值取得一致;對不訪問存儲區(qū)的位邏輯指令來說,STA
3、位沒有意義,此時它總被置位1。
OR
或位,在先邏輯與后邏輯或的邏輯串中,OR位暫存邏輯與的操作結果,以便進行后面的邏輯或運算。其他指令將OR位清零;
OS
溢出狀態(tài)保持位:OV被置1時,OS也被置1;OV被清零時,OS仍保持。所以它保存了OV位,可以用于指明在先前的一些指令執(zhí)行中是否產(chǎn)生過錯誤。
只有下面的指令才能復位OS位:JOS(OS=1時跳轉),塊調(diào)用指令和塊結束指令;
OV
溢出位,溢出位為1,表明一個算術運算或浮點數(shù)比較指令執(zhí)行時出現(xiàn)錯誤(錯誤:溢出,非法操作,不規(guī)范格式)。后面的算術運算或浮點數(shù)比較指令的結果正常的話,OV位就被清零。
CC0&CC1
4、
稱為條件碼1和條件碼0.這兩位結合起來用于表示在累加器1中產(chǎn)生的算術運算或邏輯運算結果與0的大小關系。比較指令的執(zhí)行結果或移位指令的移出位狀態(tài)。
BR
二進制結果位:它將字處理程序與位處理聯(lián)系起來,在一段既有位操作又有字操作的程序中,用于表示字操作結果是否正確(異常)。將BR位加入程序后,無論字操作結果如何,都不會造成二進制邏輯鏈中斷。
在LAD的方塊指令中,BR位與EN0有對應關系,用于表示功能塊指令是否被正確執(zhí)行:如果執(zhí)行出現(xiàn)了錯誤,則BR位0,EN0也為0;如果功能塊被正確執(zhí)行,BR位為1,EN0也為1。
在用戶編寫的FB和FC程序中,必須對BR進行管理,當功能塊正確運行后使B
5、R位1,否則使其為0。
使用STL編程,指令SAVE,可將RLO的值存入BR中,從而達到管理BR位的目的。當FB或FC執(zhí)行無錯誤的時候,使RLO位1,并存入BR,否則,在BR中存入0;
+D:將累加器1和累加器2中的值累加,放入到累加器1中;
-D:可以將累加器2中的內(nèi)容減去累加器1中的內(nèi)容,結果保存在累加器1中
TAR1:將寄存器1中內(nèi)容送入到累加器1;
LAR1:將累加器1中的內(nèi)容裝入地址寄存器1;
T:將累加器 1 中的內(nèi)容傳送(復制)到目標地址
L:可以在累加器 1 的原有內(nèi)容保存到累加器 2 并將累加器 1 置為&0&之后,將尋址字節(jié)、字或雙字裝入累加器 1 中;
JCN RLO=0 JUMP
JNB RLO=0 BR=1 JUMP
JU 無條件 JUMP
JC RLO=1 JUMP
JN 非零 JUMP
JP 正 JUMP