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