07.31 PLC的傳送指令最全解析

在上個世紀 60 年代末,誕生了一種新型的控制設備——可編程序控制器(英文名稱Programmable Logic Controller 簡稱 PLC)。PLC 的出現,在設備控制領域掀起一場革命,世界上許多知名的公司紛紛推出 PLC 產品,如三菱、歐姆龍、西門子、施耐德等,其性能不斷提高、功能也不斷完善和強大、價格不斷下降,應用領域不斷擴大,如自動化生產線、數控機床、電梯等。現在 PLC 已與CAD/CAM、機器人技術併成為現代製造業三大支柱。

PLC具有很強的適應性,是專為工業現場應用而設計的控制器,它採用了典型的計算機結構,由硬件和軟件兩大系統組成。

雖然目前市場上 PLC 種類繁多,但其結構和工作原理基本相同。

PLC 硬件系統主要由 CPU、輸入/輸出接口電路、存儲器、電源等組成 。

下面我們以西門子S7-200PLC介紹一下PLC的傳送

PLC的傳送指令最全解析

在瞭解傳送指令之前先要理解西門子PLC的尋址方式,

1. S7-200 PLC的數據存儲器

1) 8個二進制位(bit)成為一個字節(Byte)

2) 一個字節表示一個存儲單位

3) 存儲器容量是以字節為基本單位的

4) 兩個字節為一個字(Word)

5) 兩個字為一個雙字(Doble Word)。

PLC的傳送指令最全解析

2.CPU存儲器的尋址方式有直接尋址和間接尋址兩種形式。在此僅簡單介紹一下直接尋址方式。

直接指出元件名稱的尋址方式稱作直接尋址。直接尋址又有位尋址、特殊器件尋址和字節尋址。

(1)位尋址格式

位尋址格式為:Ax.y,使用時必須指定元件名稱、字節地址和位號。

PLC的傳送指令最全解析

進行這種位尋址的編程元件有:輸入映像寄存器(I)、輸出映像寄存器(Q)、位存儲器(M)、特殊存儲器(SM)、局部變量存儲器(L)、變量存儲器(V)和順序控制繼電器(S)。

(2)特殊器件的尋址格式

存儲區內有些元件是具有一定功能的器件,編程時不用指出它們的字節地址,而是直接寫出其編號。如定時器(T)、計數器(C)、高速計數器(HC)和累加器(AC)。

(3)字節、字、雙字的尋址格式

對字節、字和雙字數據,直接尋址時需指明元件名稱、數據類型和存儲區域內的首字節地址。

PLC的傳送指令最全解析

可以進行這種方式尋址的編程元件有:輸入映像寄存器(I)、輸出映像寄存器(Q)、位存儲器(M)、特殊存儲器(SM)、局部變量存儲器(L)、變量存儲器(V)、順序控制繼電器(S)、模擬量輸入映象寄存器(AQ)和模擬量輸出映象寄存器(AQ)。

PLC的傳送指令最全解析

瞭解了寄存器的尋址方式之後會方便對傳送指令的理解,先大體概括一下所有的傳送指令,在這裡主要分為兩類,一類是單一傳送,另一類是塊傳送

1. 單一傳送

(1)MOVB,字節傳送指令

(2)BIR,傳送字節立即讀指令

(3)BIW,傳送字節立即寫指令

(4)MOVW,字傳送指令

(5)MOVD,雙字傳送指令

(6)MOVR,實數傳送指令

2. 塊傳送

(1)BMB,字節塊傳送指令

(2)BMW,字塊傳送指令

(3)BMD,雙字塊傳送指令

單一傳送指令,字節傳送(MOVB)、字傳送(MOVW)、雙字傳送(MOVD)和實數

傳送指令在不改變原值的情況下將IN中的值傳送到OUT。使用雙字傳送指令可以創建一個指針。

PLC的傳送指令最全解析

要注意的是輸入和輸出的數據類型可以不同,但數據長度必須相同。

使ENO=0的錯誤條件:

0006 (間接尋址)

間接尋址是指用指針來訪問存儲區數據,在一條指令中,如果操作碼後面的操作數是以操作數所在地址的地址形式出現的,這種指令的尋址方式就叫間接尋址。

0006間接尋址錯誤:就是這個指令的操作數不能是指針類型。也就是說,當傳輸出錯時,出錯碼為0006.

0006 (間接尋址) 整數轉為字節指令的操作 整數轉字節指令(ITB)將一個字的值IN轉換成一個字節值,並且 存入OUT指定的變量中。只有0到255中的值被轉換。所有其他 值會產生溢出並且輸出不會改變。

使ENO=0的錯誤條件: SM1.1 (溢出)

0006 (間接尋址) 受影響的SM標誌位: SM1.1 (溢出) 提示

如果想將一個整數轉換成實數,先用整數轉雙整數指令,再用雙整數轉實數指令。

傳送指令的有效操作數:

PLC的傳送指令最全解析

字節立即傳送(讀和寫):

字節立即傳送指令允許您在物理I/O和存儲器之間立即傳送一個字節數據。

字節立即讀(BIR)

指令讀物理輸入(IN),並將結果存入內存地址(OUT),但過程映像寄存器並不刷新。

字節立即寫指令(BIW)

從內存地址(IN)中讀取數據,寫入物理輸出(OUT),同時刷新相應的過程映像區。

使ENO=0的錯誤條件

0006 (間接尋址)

不能訪問擴展模塊

PLC的傳送指令最全解析

字節立即讀指令的有效操作數:

PLC的傳送指令最全解析

字節立即寫指令的有效操作數:

PLC的傳送指令最全解析

塊傳送指令

字節、字、雙字的塊傳送字節塊傳送(BMB)、字塊傳送(BMW)和雙字塊傳送(BMD)指令傳送指定數量的數據到一個新的存儲區,數據的起始地址IN,數據長度為N個字節、字或者雙字,新塊的起始地址為OUT。N的範圍從1到255。

PLC的傳送指令最全解析

使ENO=0的錯誤條件:

0006 (間接尋址)

0091 (操作數超出範圍)

PLC的傳送指令最全解析

可能理解起來不是很明白,那麼看下面這個例子

PLC的傳送指令最全解析

//將數組1(VB20到VB23)傳送至數組2(VB100到VB103)

PLC的傳送指令最全解析

這些就是對傳送指令的整理與彙總,有不足的地方歡迎評論指出,也歡迎大家點贊關注。​


分享到:


相關文章: