摘 要:介紹Rockwell A-B可編程序控制器(PLC)的編程方式(梯形圖、結(jié)構(gòu)文本、順序功能圖等),指令系統(tǒng)及編程手段(編程軟件及編程設(shè)備)。
關(guān)鍵詞:可編程序控制器;指令;編程軟件
Rockwell A-B的PLC由于支持多種編程方式,具有豐富的編程指令,加上各系列的PLC都有相應(yīng)的編程軟件,調(diào)試仿真軟件,因此在自動化領(lǐng)域中已越來越受到廣泛的應(yīng)用。
一、編程方式
所有的A-B PLC(Micrologix1000, SLC500, PLC-5和Controllogix)都支持梯形圖的編程方式,而大多數(shù)PLC-5系列處理器(增強型以上系列)還支持結(jié)構(gòu)文本及順序功能圖兩種編程方式。
1、梯形圖
梯形圖是一種最典型,也是最基本的編程方式,它采用圖形語言,沿用了繼電器的觸點、線圈、串并聯(lián)等術(shù)語和圖形符號,并增加了一些繼電接觸控制沒有的符號。梯形圖形象、直觀,對于熟悉繼電器表示方式的人來說,非常容易接受,而不需要學(xué)習(xí)更深的計算機(jī)知識。這是一種最為廣泛的編程方式,適用于順序邏輯控制、離散量控制、定時/計數(shù)控制等操作。
梯形圖一般由多個不同的階梯組成,每一個階梯又可以由一個或幾個輸入指令及一個輸出指令組成。輸出指令應(yīng)出現(xiàn)在階梯的最右邊,而輸入指令則出現(xiàn)在輸出指令的左邊,如圖1所示。
[align=center]
圖1[/align]
2、結(jié)構(gòu)文本
結(jié)構(gòu)文本類似于BASIC編程,利用它可以很方便地建立、編輯和實現(xiàn)復(fù)雜的算法,特別在數(shù)據(jù)處理、計算存儲、決策判斷、優(yōu)化算法等涉及描述多種數(shù)據(jù)類型的變量應(yīng)用中非常有效。對于PLC-5處理器結(jié)構(gòu)文本可以支持以下結(jié)構(gòu)。
賦值:賦一個整數(shù)或浮點數(shù)值給一個數(shù)據(jù)單元
非保持型位賦值:賦一個二進(jìn)制數(shù)給一個位單元,當(dāng)處理器工作模式從編程方式到運行方式時或當(dāng)順序功能圖(SFC)的步被掃描后,這些位被清零。
保持型位賦值:賦一個二進(jìn)制數(shù)給一個位單元,當(dāng)處理器工作模式從編程方式到運行方式時或SFC的步被掃描后,這些位并不被清零。
IF-THEN-ELSE:有條件的執(zhí)行一段程序
FOR-NEXT:重復(fù)執(zhí)行一段程序
WHILE:只要輸入表達(dá)式為真就重復(fù)執(zhí)行一段程序
REPEAT:重復(fù)執(zhí)行一段程序直至某輸入表達(dá)式為真
EXIT:在處理器到達(dá)正常結(jié)束條件之前退出循環(huán)結(jié)構(gòu)(REPEAT,F(xiàn)OR 或WHILE)
CASE:根據(jù)一個數(shù)學(xué)表達(dá)式或操作數(shù)據(jù)的值有條件地執(zhí)行一段程序
;;:相當(dāng)于一個無操作指令NOP
梯形圖功能:可調(diào)用任一梯形圖程序或指令。
下面是一段利用結(jié)構(gòu)文本的編程例子:
IF (T4:0.DN) THEN
TON(T4:0,0.01,100,0)
ELSE RES(T4:0)
END-IF
3、順序功能圖SFC
SFC是一種順序控制語言,用這種語言可以對一個控制過程進(jìn)行控制,并顯示該過程的狀態(tài)。對于用戶的應(yīng)用,可將邏輯分成易于處理的步和轉(zhuǎn)換來替代較長的梯形圖或結(jié)構(gòu)文本。SFC中的每一步對應(yīng)于一個控制任務(wù)(實際上是一段為了完成某一個控制任務(wù)的程序,該程序可以是梯形圖、結(jié)構(gòu)文本、SFC的任一形式),用方框表示,步與步之間有轉(zhuǎn)換條件(也是一段程序),通過對該條件的檢測來決定處理器什么時候可始執(zhí)行下一步,轉(zhuǎn)換條件用水平線表示。通過顯示這些步和轉(zhuǎn)換條件,你可在任何時刻看到一個機(jī)器過程的狀態(tài)。簡單的SFC程序例子,如圖2示。
[align=center]
圖2[/align]
二、指令系統(tǒng)
A-B PLC具有豐富的指令系統(tǒng)(約有110多條指令),雖然不同系列的PLC所能支持的指令的種類有所區(qū)別,但一些基本指令卻是大家共用的,下面主要介紹PLC-5系列可編程序控制器的指令類型。
1、繼電器指令
繼電器指令用于監(jiān)控數(shù)據(jù)表中的位狀態(tài),如輸入位或者計時器控制字的位,繼電器型指令包括:
檢查通(XIC);檢查斷(XIO);
輸出激勵(OTE);輸出鎖存(OTL);
輸出解鎖(OTU);立即輸入(IIN);
立即輸出(IOT)。
2、計時器/計數(shù)器指令
計時器和計數(shù)器指令用于控制基于時間和事件計數(shù)的操作,包括:
通延時計時器(TON);斷延時計時器(TOF);
保持型計時器(RTO);加計數(shù)(CTU);
減計數(shù)(CTD);計時器/計數(shù)器復(fù)位(RES)。
3、比較指令
比較指令用于比較表達(dá)式或指定比較指令的值,它包括:
比較(CMP);等于(EQU);
大于等于(GEQ);大于(GRT);
小于等于(LEQ);小于(LES);
極限測試(LIM);屏蔽相等比較(MEQ);
不等于(NEQ)。
4、計算指令
計算指令用于計算表達(dá)式或用指定的算術(shù)指令進(jìn)行算術(shù)運算,它包括:
計算(CPT);乘法(MUL);
取反(NEG);正弦(SIN);
平方根(SQR);排序(SRT);
減法(SUB); 正切(TAN);
反正弦(ASN);反余弦(ACS);
對數(shù)(LOG);自然對數(shù)(LN);
除法(DIV);余弦(COS);
清零(CLR);平均值(AVE);
反正切(ATN);加法(ADD);
標(biāo)準(zhǔn)差(STD);X的Y次冪(XPY)。
5、邏輯指令
邏輯指令用于邏輯操作,包括:
與操作(AND);非操作(NOT);
或操作(OR);異或操作(XOR)。
6、轉(zhuǎn)換指令
轉(zhuǎn)換指令用于整數(shù)與BCD之間的相互轉(zhuǎn)換及度與弧度之間的相互轉(zhuǎn)換,包括:
整數(shù)轉(zhuǎn)換成BCD碼(TOD);
從BCD碼轉(zhuǎn)換成整數(shù)(FRD);
弧度轉(zhuǎn)換成度(DEG);
度轉(zhuǎn)換成弧度(RAD)。
7、位處理和傳送指令
位處理和傳送指令用于位調(diào)整和位傳送,包括:
位分配(BTD);字傳送(MOV);
屏蔽傳送(MVM)。
8、文件指令
文件指令用于文件數(shù)據(jù)的運算和文件數(shù)據(jù)的比較,包括:
文件算術(shù)和邏輯指令(FAL);
文件檢索和比較指令(FSC);
文件拷貝(COP);
文件填入(FLL)。
9、移位指令
移位指令用于模擬部件和信息的運動或流動,包括:
位左移(BSL);位右移(BSR);
先入先出裝入(FFL);先入先出卸出(FFU)
后入先出裝入(LFL);后入先出卸出(LFU)。
10、程序控制指令
程序控制指令可以改變梯形圖程序執(zhí)行的方向,包括:
跳轉(zhuǎn)(JMP);禁止用戶中斷(UID);
恒假指令(AFI);標(biāo)號(LBL);
允許用戶中斷(UIE);暫時結(jié)束(TND);
中止(BRK);循環(huán)(FOR,NXT);
SFC復(fù)位(SFR);子程序(SBR);
跳轉(zhuǎn)到子程序(JSR);返回(RET);
主控復(fù)位(MCR);轉(zhuǎn)換的結(jié)束(EOT)。
11、I/O信息指令
用于信息的傳送,包括對本地或遠(yuǎn)程I/O框架上的塊傳送模塊進(jìn)行讀寫,以及處理器之間的信息傳送。
塊傳送寫(BTW);塊傳送讀(BTR);
信息指令(MSG)。
另外還有用于控制具有連續(xù)性和重復(fù)操作特性的自動流水線上的順序器指令(如順序器輸入SQI,順序器輸出SQO,順序器裝入SQL),用于過程控制的PID指令;用于檢測用戶程序的診斷指令,以及ASCⅡ指令等。大量的指令使用戶在開發(fā)程序中,可以選取合適的指令,從而大大節(jié)省開發(fā)時間。
三、編程軟件及編程設(shè)備
Rockwell A-B各個系列的PLC都具有相應(yīng)的編程軟件及仿真軟件。表1給出了目前廣泛使用的各系列PLC相應(yīng)的一些編程軟件。
表1 PLC的編程軟件
PLC系列 PLC-5 SLC-500或Micrologix100
編程軟件 PLC-5 A.I.系列 SLC500 A.I.系列
RSLogix5 RSLogix500
仿真軟件 RSEmulute5 RSEmulate500
其中A.I.系列的編程軟件是基于MS-DOS的軟件包,可以對相應(yīng)的A-B PLC各系列處理器實現(xiàn)離線和在線開發(fā)、文檔和報表功能,由于A.I軟件使用菜單和功能鍵等特點,因此初學(xué)者易于使用,其強大的編輯和診斷工具又會為梯形圖開發(fā)和故障檢測節(jié)省大量的時間。幫助系統(tǒng)則可以幫助用戶熟悉軟件的特點,并提供PLC指令集的詳細(xì)信息。
RSLogix5 及RSLogix500是一個基于Microsoft 32 位,在Windows95或Windows NT下的軟件包。它提供了用戶所希望的每一種功能,如完全視窗化的友好界面、靈活易用的編輯器、點中-點擊方式進(jìn)入輸入輸出組態(tài)、強有力的數(shù)據(jù)庫編輯器、診斷和排錯工具和可靠的通訊等。因此RSLogix產(chǎn)品的編程方案適合于任何層次的開發(fā)人員。最重要的是RSLogix產(chǎn)品還完全兼容于以前基于MS-DOS的Rockwell編程軟件所生成的程序,從而使跨平臺的程序易于轉(zhuǎn)換及維護(hù)。因此RSLogix系列產(chǎn)品更適宜于現(xiàn)代化的編程。在起動和運行前,對所編的程序進(jìn)行測試和調(diào)試是很有必要的,RSEmulate系列仿真軟件包就可以用來模擬一個或多個運行的SLC500或PLC-5處理器(RSEmulate500 仿真SLC500,RSEmulate5仿真PLC-5)。RSEmulate 系列仿真軟件也是基于Microsoft Windows的軟件包,它除了仿真SLC500,PLC-5之外還可以用于故障檢測、梯形圖掃描選項、串行設(shè)備模擬等,使用十分方便。
對于Rockwell A-B各個系列的PLC,我們可以通過不同的通訊方式,利用不同的編程設(shè)備進(jìn)行編程。常見的編程設(shè)備有個人計算機(jī)(386或以上)和A-B專用的編程器。我們可以通過編程器的串口對A-B PLC進(jìn)行一對一的編程,也可以利用網(wǎng)絡(luò)對多個PLC進(jìn)行編程:例如在DH+網(wǎng)上對PLC-5進(jìn)行編程,如圖3示,在DH-485網(wǎng)上對SLC500進(jìn)行編程,如圖4示等。對于SLC500或Micrologix1000,我們還可以利用手持式編程器(HHT)進(jìn)行編程。
[align=center]
圖3 [/align]
四、結(jié)束語
綜上所述,A-B 公司生產(chǎn)的各系列PLC,由于支持多種編程語言,具有豐富及先進(jìn)的指令系統(tǒng),加上編程軟件種類多、功能強、使用方便易學(xué),因此很容易為廣大設(shè)計者、使用者所熟悉,也很容易實現(xiàn)諸如高速順序控制、運動控制及傳動系統(tǒng)控制,因此,A-B PLC在自動化領(lǐng)域的應(yīng)用前景是十分廣泛的。