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