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

圖1[/align]
2、結構文本
結構文本類似于BASIC編程,利用它可以很方便地建立、編輯和實現復雜的算法,特別在數據處理、計算存儲、決策判斷、優化算法等涉及描述多種數據類型的變量應用中非常有效。對于PLC-5處理器結構文本可以支持以下結構。
賦值:賦一個整數或浮點數值給一個數據單元
非保持型位賦值:賦一個二進制數給一個位單元,當處理器工作模式從編程方式到運行方式時或當順序功能圖(SFC)的步被掃描后,這些位被清零。
保持型位賦值:賦一個二進制數給一個位單元,當處理器工作模式從編程方式到運行方式時或SFC的步被掃描后,這些位并不被清零。
IF-THEN-ELSE:有條件的執行一段程序
FOR-NEXT:重復執行一段程序
WHILE:只要輸入表達式為真就重復執行一段程序
REPEAT:重復執行一段程序直至某輸入表達式為真
EXIT:在處理器到達正常結束條件之前退出循環結構(REPEAT,FOR 或WHILE)
CASE:根據一個數學表達式或操作數據的值有條件地執行一段程序
;;:相當于一個無操作指令NOP
梯形圖功能:可調用任一梯形圖程序或指令。
下面是一段利用結構文本的編程例子:
IF (T4:0.DN) THEN
TON(T4:0,0.01,100,0)
ELSE RES(T4:0)
END-IF
3、順序功能圖SFC
SFC是一種順序控制語言,用這種語言可以對一個控制過程進行控制,并顯示該過程的狀態。對于用戶的應用,可將邏輯分成易于處理的步和轉換來替代較長的梯形圖或結構文本。SFC中的每一步對應于一個控制任務(實際上是一段為了完成某一個控制任務的程序,該程序可以是梯形圖、結構文本、SFC的任一形式),用方框表示,步與步之間有轉換條件(也是一段程序),通過對該條件的檢測來決定處理器什么時候可始執行下一步,轉換條件用水平線表示。通過顯示這些步和轉換條件,你可在任何時刻看到一個機器過程的狀態。簡單的SFC程序例子,如圖2示。
[align=center]

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

圖3 [/align]
四、結束語
綜上所述,A-B 公司生產的各系列PLC,由于支持多種編程語言,具有豐富及先進的指令系統,加上編程軟件種類多、功能強、使用方便易學,因此很容易為廣大設計者、使用者所熟悉,也很容易實現諸如高速順序控制、運動控制及傳動系統控制,因此,A-B PLC在自動化領域的應用前景是十分廣泛的。