摘 要:介紹Rockwell A-B可編程序控制器(PLC)的編程方式(梯形圖、結(jié)構(gòu)文本、順序功能圖等),指令系統(tǒng)及編程手段(編程軟件及編程設(shè)備)。
關(guān)鍵詞:可編程序控制器;指令;編程軟件
Rockwell A-B的PLC由于支持多種編程方式,具有豐富的編程指令,加上各系列的PLC都有相應(yīng)的編程軟件,調(diào)試仿真軟件,因此在自動(dòng)化領(lǐng)域中已越來(lái)越受到廣泛的應(yīng)用。
一、編程方式
所有的A-B PLC(Micrologix1000, SLC500, PLC-5和Controllogix)都支持梯形圖的編程方式,而大多數(shù)PLC-5系列處理器(增強(qiáng)型以上系列)還支持結(jié)構(gòu)文本及順序功能圖兩種編程方式。
1、梯形圖
梯形圖是一種最典型,也是最基本的編程方式,它采用圖形語(yǔ)言,沿用了繼電器的觸點(diǎn)、線圈、串并聯(lián)等術(shù)語(yǔ)和圖形符號(hào),并增加了一些繼電接觸控制沒(méi)有的符號(hào)。梯形圖形象、直觀,對(duì)于熟悉繼電器表示方式的人來(lái)說(shuō),非常容易接受,而不需要學(xué)習(xí)更深的計(jì)算機(jī)知識(shí)。這是一種最為廣泛的編程方式,適用于順序邏輯控制、離散量控制、定時(shí)/計(jì)數(shù)控制等操作。
梯形圖一般由多個(gè)不同的階梯組成,每一個(gè)階梯又可以由一個(gè)或幾個(gè)輸入指令及一個(gè)輸出指令組成。輸出指令應(yīng)出現(xiàn)在階梯的最右邊,而輸入指令則出現(xiàn)在輸出指令的左邊,如圖1所示。
[align=center]

圖1[/align]
2、結(jié)構(gòu)文本
結(jié)構(gòu)文本類似于BASIC編程,利用它可以很方便地建立、編輯和實(shí)現(xiàn)復(fù)雜的算法,特別在數(shù)據(jù)處理、計(jì)算存儲(chǔ)、決策判斷、優(yōu)化算法等涉及描述多種數(shù)據(jù)類型的變量應(yīng)用中非常有效。對(duì)于PLC-5處理器結(jié)構(gòu)文本可以支持以下結(jié)構(gòu)。
賦值:賦一個(gè)整數(shù)或浮點(diǎn)數(shù)值給一個(gè)數(shù)據(jù)單元
非保持型位賦值:賦一個(gè)二進(jìn)制數(shù)給一個(gè)位單元,當(dāng)處理器工作模式從編程方式到運(yùn)行方式時(shí)或當(dāng)順序功能圖(SFC)的步被掃描后,這些位被清零。
保持型位賦值:賦一個(gè)二進(jìn)制數(shù)給一個(gè)位單元,當(dāng)處理器工作模式從編程方式到運(yùn)行方式時(shí)或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ù)一個(gè)數(shù)學(xué)表達(dá)式或操作數(shù)據(jù)的值有條件地執(zhí)行一段程序
;;:相當(dāng)于一個(gè)無(wú)操作指令NOP
梯形圖功能:可調(diào)用任一梯形圖程序或指令。
下面是一段利用結(jié)構(gòu)文本的編程例子:
IF?。═4:0.DN) THEN
TON(T4:0,0.01,100,0)
ELSE RES(T4:0)
END-IF
3、順序功能圖SFC
SFC是一種順序控制語(yǔ)言,用這種語(yǔ)言可以對(duì)一個(gè)控制過(guò)程進(jìn)行控制,并顯示該過(guò)程的狀態(tài)。對(duì)于用戶的應(yīng)用,可將邏輯分成易于處理的步和轉(zhuǎn)換來(lái)替代較長(zhǎng)的梯形圖或結(jié)構(gòu)文本。SFC中的每一步對(duì)應(yīng)于一個(gè)控制任務(wù)(實(shí)際上是一段為了完成某一個(gè)控制任務(wù)的程序,該程序可以是梯形圖、結(jié)構(gòu)文本、SFC的任一形式),用方框表示,步與步之間有轉(zhuǎn)換條件(也是一段程序),通過(guò)對(duì)該條件的檢測(cè)來(lái)決定處理器什么時(shí)候可始執(zhí)行下一步,轉(zhuǎn)換條件用水平線表示。通過(guò)顯示這些步和轉(zhuǎn)換條件,你可在任何時(shí)刻看到一個(gè)機(jī)器過(guò)程的狀態(tài)。簡(jiǎn)單的SFC程序例子,如圖2示。
[align=center]

圖2[/align]
二、指令系統(tǒng)
A-B PLC具有豐富的指令系統(tǒng)(約有110多條指令),雖然不同系列的PLC所能支持的指令的種類有所區(qū)別,但一些基本指令卻是大家共用的,下面主要介紹PLC-5系列可編程序控制器的指令類型。
1、繼電器指令
繼電器指令用于監(jiān)控?cái)?shù)據(jù)表中的位狀態(tài),如輸入位或者計(jì)時(shí)器控制字的位,繼電器型指令包括:
檢查通(XIC);檢查斷(XIO);
輸出激勵(lì)(OTE);輸出鎖存(OTL);
輸出解鎖(OTU);立即輸入(IIN);
立即輸出(IOT)。
2、計(jì)時(shí)器/計(jì)數(shù)器指令
計(jì)時(shí)器和計(jì)數(shù)器指令用于控制基于時(shí)間和事件計(jì)數(shù)的操作,包括:
通延時(shí)計(jì)時(shí)器(TON);斷延時(shí)計(jì)時(shí)器(TOF);
保持型計(jì)時(shí)器(RTO);加計(jì)數(shù)(CTU);
減計(jì)數(shù)(CTD);計(jì)時(shí)器/計(jì)數(shù)器復(fù)位(RES)。
3、比較指令
比較指令用于比較表達(dá)式或指定比較指令的值,它包括:
比較(CMP);等于(EQU);
大于等于(GEQ);大于(GRT);
小于等于(LEQ);小于(LES);
極限測(cè)試(LIM);屏蔽相等比較(MEQ);
不等于(NEQ)。
4、計(jì)算指令
計(jì)算指令用于計(jì)算表達(dá)式或用指定的算術(shù)指令進(jìn)行算術(shù)運(yùn)算,它包括:
計(jì)算(CPT);乘法(MUL);
取反(NEG);正弦(SIN);
平方根(SQR);排序(SRT);
減法(SUB); 正切(TAN);
反正弦(ASN);反余弦(ACS);
對(duì)數(shù)(LOG);自然對(duì)數(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ù)的運(yùn)算和文件數(shù)據(jù)的比較,包括:
文件算術(shù)和邏輯指令(FAL);
文件檢索和比較指令(FSC);
文件拷貝(COP);
文件填入(FLL)。
9、移位指令
移位指令用于模擬部件和信息的運(yùn)動(dòng)或流動(dòng),包括:
位左移(BSL);位右移(BSR);
先入先出裝入(FFL);先入先出卸出(FFU)
后入先出裝入(LFL);后入先出卸出(LFU)。
10、程序控制指令
程序控制指令可以改變梯形圖程序執(zhí)行的方向,包括:
跳轉(zhuǎn)(JMP);禁止用戶中斷(UID);
恒假指令(AFI);標(biāo)號(hào)(LBL);
允許用戶中斷(UIE);暫時(shí)結(jié)束(TND);
中止(BRK);循環(huán)(FOR,NXT);
SFC復(fù)位(SFR);子程序(SBR);
跳轉(zhuǎn)到子程序(JSR);返回(RET);
主控復(fù)位(MCR);轉(zhuǎn)換的結(jié)束(EOT)。
11、I/O信息指令
用于信息的傳送,包括對(duì)本地或遠(yuǎn)程I/O框架上的塊傳送模塊進(jìn)行讀寫,以及處理器之間的信息傳送。
塊傳送寫(BTW);塊傳送讀(BTR);
信息指令(MSG)。
另外還有用于控制具有連續(xù)性和重復(fù)操作特性的自動(dòng)流水線上的順序器指令(如順序器輸入SQI,順序器輸出SQO,順序器裝入SQL),用于過(guò)程控制的PID指令;用于檢測(cè)用戶程序的診斷指令,以及ASCⅡ指令等。大量的指令使用戶在開(kāi)發(fā)程序中,可以選取合適的指令,從而大大節(jié)省開(kāi)發(fā)時(shí)間。
三、編程軟件及編程設(shè)備
Rockwell A-B各個(gè)系列的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的軟件包,可以對(duì)相應(yīng)的A-B PLC各系列處理器實(shí)現(xiàn)離線和在線開(kāi)發(fā)、文檔和報(bào)表功能,由于A.I軟件使用菜單和功能鍵等特點(diǎn),因此初學(xué)者易于使用,其強(qiáng)大的編輯和診斷工具又會(huì)為梯形圖開(kāi)發(fā)和故障檢測(cè)節(jié)省大量的時(shí)間。幫助系統(tǒng)則可以幫助用戶熟悉軟件的特點(diǎn),并提供PLC指令集的詳細(xì)信息。
RSLogix5 及RSLogix500是一個(gè)基于Microsoft 32 位,在Windows95或Windows NT下的軟件包。它提供了用戶所希望的每一種功能,如完全視窗化的友好界面、靈活易用的編輯器、點(diǎn)中-點(diǎn)擊方式進(jìn)入輸入輸出組態(tài)、強(qiáng)有力的數(shù)據(jù)庫(kù)編輯器、診斷和排錯(cuò)工具和可靠的通訊等。因此RSLogix產(chǎn)品的編程方案適合于任何層次的開(kāi)發(fā)人員。最重要的是RSLogix產(chǎn)品還完全兼容于以前基于MS-DOS的Rockwell編程軟件所生成的程序,從而使跨平臺(tái)的程序易于轉(zhuǎn)換及維護(hù)。因此RSLogix系列產(chǎn)品更適宜于現(xiàn)代化的編程。在起動(dòng)和運(yùn)行前,對(duì)所編的程序進(jìn)行測(cè)試和調(diào)試是很有必要的,RSEmulate系列仿真軟件包就可以用來(lái)模擬一個(gè)或多個(gè)運(yùn)行的SLC500或PLC-5處理器(RSEmulate500 仿真SLC500,RSEmulate5仿真PLC-5)。RSEmulate 系列仿真軟件也是基于Microsoft Windows的軟件包,它除了仿真SLC500,PLC-5之外還可以用于故障檢測(cè)、梯形圖掃描選項(xiàng)、串行設(shè)備模擬等,使用十分方便。
對(duì)于Rockwell A-B各個(gè)系列的PLC,我們可以通過(guò)不同的通訊方式,利用不同的編程設(shè)備進(jìn)行編程。常見(jiàn)的編程設(shè)備有個(gè)人計(jì)算機(jī)(386或以上)和A-B專用的編程器。我們可以通過(guò)編程器的串口對(duì)A-B PLC進(jìn)行一對(duì)一的編程,也可以利用網(wǎng)絡(luò)對(duì)多個(gè)PLC進(jìn)行編程:例如在DH+網(wǎng)上對(duì)PLC-5進(jìn)行編程,如圖3示,在DH-485網(wǎng)上對(duì)SLC500進(jìn)行編程,如圖4示等。對(duì)于SLC500或Micrologix1000,我們還可以利用手持式編程器(HHT)進(jìn)行編程。
[align=center]

圖3 [/align]
四、結(jié)束語(yǔ)
綜上所述,A-B 公司生產(chǎn)的各系列PLC,由于支持多種編程語(yǔ)言,具有豐富及先進(jìn)的指令系統(tǒng),加上編程軟件種類多、功能強(qiáng)、使用方便易學(xué),因此很容易為廣大設(shè)計(jì)者、使用者所熟悉,也很容易實(shí)現(xiàn)諸如高速順序控制、運(yùn)動(dòng)控制及傳動(dòng)系統(tǒng)控制,因此,A-B PLC在自動(dòng)化領(lǐng)域的應(yīng)用前景是十分廣泛的。