㈠ MODBUS通信協議是什麼標准協議
Modbus 協議是應用於電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網路(例如乙太網)和其它設備之間可以通信。它已經成為一通用工業標准。有了它,不同廠商生產的控制設備可以連成工業網路,進行集中監控。此協議定義了一個控制器能認識使用的消息結構,而不管它們是經過何種網路進行通信的。它描述了一控制器請求訪問其它設備的過程,如何回應來自其它設備的請求,以及怎樣偵測錯誤並記錄。它制定了消息域格局和內容的公共格式。
當在一Modbus網路上通信時,此協議決定了每個控制器須要知道它們的設備地址,識別按地址發來的消息,決定要產生何種行動。如果需要回應,控制器將生成反饋信息並用Modbus協議發出。在其它網路上,包含了Modbus協議的消息轉換為在此網路上使用的幀或包結構。這種轉換也擴展了根據具體的網路解決節地址、路由路徑及錯誤檢測的方法。
Modbus具有以下幾個特點:
(1)標准、開放,用戶可以免費、放心地使用Modbus協議,不需要交納許可證費,也不會侵犯知識產權。目前,支持Modbus的廠家超過400家,支持Modbus的產品超過600種。
(2)Modbus可以支持多種電氣介面,如RS-232、RS-485等,還可以在各種介質上傳送,如雙絞線、光纖、無線等。
(3)Modbus的幀格式簡單、緊湊,通俗易懂。用戶使用容易,廠商開發簡單。
在Modbus網路上傳輸:
標準的Modbus口是使用一RS-232C兼容串列介面,它定義了連介面的針腳、電纜、信號位、傳輸波特率、奇偶校驗。控制器能直接或經由Modem組網。
控制器通信使用主—從技術,即僅一設備(主設備)能初始化傳輸(查詢)。其它設備(從設備)根據主設備查詢提供的數據作出相應反應。典型的主設備:主機和可編程儀表。典型的從設備:可編程式控制制器。
主設備可單獨和從設備通信,也能以廣播方式和所有從設備通信。如果單獨通信,從設備返回一消息作為回應,如果是以廣播方式查詢的,則不作任何回應。Modbus協議建立了主設備查詢的格式:設備(或廣播)地址、功能代碼、所有要發送的數據、一錯誤檢測域。
從設備回應消息也由Modbus協議構成,包括確認要行動的域、任何要返回的數據、和一錯誤檢測域。如果在消息接收過程中發生一錯誤,或從設備不能執行其命令,從設備將建立一錯誤消息並把它作為回應發送出去。
在其它類型網路上傳輸:
在其它網路上,控制器使用對等技術通信,故任何控制都能初始和其它控制器的通信。這樣在單獨的通信過程中,控制器既可作為主設備也可作為從設備。提供的多個內部通道可允許同時發生的傳輸進程。
在消息位,Modbus協議仍提供了主—從原則,盡管網路通信方法是「對等」。如果一控制器發送一消息,它只是作為主設備,並期望從從設備得到回應。同樣,當控制器接收到一消息,它將建立一從設備回應格式並返回給發送的控制器。
查詢—回應周期
(1)查詢
查詢消息中的功能代碼告之被選中的從設備要執行何種功能。數據段包含了從設備要執行功能的任何附加信息。例如功能代碼03是要求從設備讀保持寄存器並返回它們的內容。數據段必須包含要告之從設備的信息:從何寄存器開始讀及要讀的寄存器數量。錯誤檢測域為從設備提供了一種驗證消息內容是否正確的方法。
(2)回應
如果從設備產生一正常的回應,在回應消息中的功能代碼是在查詢消息中的功能代碼的回應。數據段包括了從設備收集的數據:象寄存器值或狀態。如果有錯誤發生,功能代碼將被修改以用於指出回應消息是錯誤的,同時數據段包含了描述此錯誤信息的代碼。錯誤檢測域允許主設備確認消息內容是否可用。
兩種傳輸方式:
控制器能設置為兩種傳輸模式(ASCII或RTU)中的任何一種在標準的Modbus網路通信。用戶選擇想要的模式,包括串口通信參數(波特率、校驗方式等),在配置每個控制器的時候,在一個Modbus網路上的所有設備都必須選擇相同的傳輸模式和串口參數。
所選的ASCII或RTU方式僅適用於標準的Modbus網路,它定義了在這些網路上連續傳輸的消息段的每一位,以及決定怎樣將信息打包成消息域和如何解碼。
在其它網路上(象MAP和Modbus Plus)Modbus消息被轉成與串列傳輸無關的幀。
1.ASCII模式
當控制器設為在Modbus網路上以ASCII(美國標准信息交換代碼)模式通信,在消息中的每個8Bit位元組都作為一個ASCII碼(兩個十六進制字元)發送。這種方式的主要優點是字元發送的時間間隔可達到1秒而不產生錯誤。
代碼系統
· 十六進制,ASCII字元0...9,A...F
· 消息中的每個ASCII字元都是一個十六進制字元組成
每個位元組的位
· 1個起始位
· 7個數據位,最小的有效位先發送
· 1個奇偶校驗位,無校驗則無
1個停止位(有校驗時),2個Bit(無校驗時)
錯誤檢測域
· LRC(縱向冗長檢測)
2、RTU模式
當控制器設為在Modbus網路上以RTU(遠程終端單元)模式通信,在消息中的每個8Bit位元組包含兩個4Bit的 十六進制字元。這種方式的主要優點是:在同樣的波特率下,可比ASCII方式傳送更多的數據。
代碼系統
8位二進制,十六進制數0...9,A...F
消息中的每個8位域都是一個兩個十六進制字元組成
每個位元組的位
1個起始位
8個數據位,最小的有效位先發送
1個奇偶校驗位,無校驗則無
1個停止位(有校驗時),2個Bit(無校驗時)
錯誤檢測域
CRC(循環冗長檢測)
CRC域是兩個位元組,包含一16位的二進制值。它由傳輸設備計算後加入到消息中。接收設備重新計算收到消息的CRC,並與接收到的CRC域中的值比較,如果兩值不同,則有誤。
CRC是先調入一值是全「1」的16位寄存器,然後調用一過程將消息中連續的8位位元組各當前寄存器中的值進行處理。僅每個字元中的8Bit數據對CRC有效,起始位和停止位以及奇偶校驗位均無效。
CRC產生過程中,每個8位字元都單獨和寄存器內容相異或(XOR),結果向最低有效位方向移動,最高有效位以0填充。LSB被提取出來檢測,如果LSB為1,寄存器單獨和預置的值或一下,如果LSB為0,則不進行。整個過程要重復8次。在最後一位(第8位)完成後,下一個8位位元組又單獨和寄存器的當前值相或。最終寄存器中的值,是消息中所有的位元組都執行之後的CRC值。
CRC添加到消息中時,低位元組先加入,然後高位元組。
CRC簡單函數如下:
unsigned short CRC16(puchMsg,usDataLen)
unsigned char *puchMsg ; /* 要進行CRC校驗的消息*/
unsigned short usDataLen ; /* 消息中位元組數*/
{
unsigned char uchCRCHi = 0xFF ; /* 高CRC位元組初始化*/
unsigned char uchCRCLo = 0xFF ; /* 低CRC 位元組初始化*/
unsigned uIndex ; /* CRC循環中的索引*/
while (usDataLen--) /* 傳輸消息緩沖區*/
{
uIndex = uchCRCHi ^ *puchMsgg++ ; /* 計算CRC */
uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex] ;
uchCRCLo = auchCRCLo[uIndex] ;
}
return ((uchCRCHi << 8) | uchCRCLo) ;
}
/* CRC 高位位元組值表*/
static unsigned char auchCRCHi[] = {
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,
0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,
0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,
0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,
0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,
0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,
0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,
0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,
0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,
0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40
} ;
/* CRC低位位元組值表*/
static char auchCRCLo[] = {
0x00,0xC0,0xC1,0x01,0xC3,0x03,0x02,0xC2,0xC6,0x06,
0x07,0xC7,0x05,0xC5,0xC4,0x04,0xCC,0x0C,0x0D,0xCD,
0x0F,0xCF,0xCE,0x0E,0x0A,0xCA,0xCB,0x0B,0xC9,0x09,
0x08,0xC8,0xD8,0x18,0x19,0xD9,0x1B,0xDB,0xDA,0x1A,
0x1E,0xDE,0xDF,0x1F,0xDD,0x1D,0x1C,0xDC,0x14,0xD4,
0xD5,0x15,0xD7,0x17,0x16,0xD6,0xD2,0x12,0x13,0xD3,
0x11,0xD1,0xD0,0x10,0xF0,0x30,0x31,0xF1,0x33,0xF3,
0xF2,0x32,0x36,0xF6,0xF7,0x37,0xF5,0x35,0x34,0xF4,
0x3C,0xFC,0xFD,0x3D,0xFF,0x3F,0x3E,0xFE,0xFA,0x3A,
0x3B,0xFB,0x39,0xF9,0xF8,0x38,0x28,0xE8,0xE9,0x29,
0xEB,0x2B,0x2A,0xEA,0xEE,0x2E,0x2F,0xEF,0x2D,0xED,
0xEC,0x2C,0xE4,0x24,0x25,0xE5,0x27,0xE7,0xE6,0x26,
0x22,0xE2,0xE3,0x23,0xE1,0x21,0x20,0xE0,0xA0,0x60,
0x61,0xA1,0x63,0xA3,0xA2,0x62,0x66,0xA6,0xA7,0x67,
0xA5,0x65,0x64,0xA4,0x6C,0xAC,0xAD,0x6D,0xAF,0x6F,
0x6E,0xAE,0xAA,0x6A,0x6B,0xAB,0x69,0xA9,0xA8,0x68,
0x78,0xB8,0xB9,0x79,0xBB,0x7B,0x7A,0xBA,0xBE,0x7E,
0x7F,0xBF,0x7D,0xBD,0xBC,0x7C,0xB4,0x74,0x75,0xB5,
0x77,0xB7,0xB6,0x76,0x72,0xB2,0xB3,0x73,0xB1,0x71,
0x70,0xB0,0x50,0x90,0x91,0x51,0x93,0x53,0x52,0x92,
0x96,0x56,0x57,0x97,0x55,0x95,0x94,0x54,0x9C,0x5C,
0x5D,0x9D,0x5F,0x9F,0x9E,0x5E,0x5A,0x9A,0x9B,0x5B,
0x99,0x59,0x58,0x98,0x88,0x48,0x49,0x89,0x4B,0x8B,
0x8A,0x4A,0x4E,0x8E,0x8F,0x4F,0x8D,0x4D,0x4C,0x8C,
0x44,0x84,0x85,0x45,0x87,0x47,0x46,0x86,0x82,0x42,
0x43,0x83,0x41,0x81,0x80,0x40
} ;
ModBus網路是一個工業通信系統,由帶智能終端的可編程序控制器和計算機通過公用線路或局部專用線路連接而成。其系統結構既包括硬體、亦包括軟體。它可應用於各種數據採集和過程監控。下表1是ModBus的功能碼定義。
表1 ModBus功能碼
01 READ COIL STATUS
02 READ INPUT STATUS
03 READ HOLDING REGISTER
04 READ INPUT REGISTER
05 WRITE SINGLE COIL
06 WRITE SINGLE REGISTER
15 WRITE MULTIPLE COIL
16 WRITE MULTIPLE REGISTER
ModBus網路只是一個主機,所有通信都由他發出。網路可支持247個之多的遠程從屬控制器,但實際所支持的從機數要由所用通信設備決定。採用這個系統,各PC可以和中心主機交換信息而不影響各PC執行本身的控制任務。
(1)ModBus的傳輸方式
在ModBus系統中有2種傳輸模式可選擇。這2種傳輸模式與從機PC通信的能力是同等的。選擇時應視所用ModBus主機而定,每個ModBus系統只能使用一種模式,不允許2種模式混用。一種模式是ASCII(美國信息交換碼),另一種模式是RTU(遠程終端設備)這兩種模式的定義見表3
表3 ASCII和RTU傳輸模式的特性
ASCII可列印字元便於故障檢測,而且對於用高級語言(如Fortan)編程的主計算機及主PC很適宜。RTU則適用於機器語言編程的計算機和PC主機。
用RTU模式傳輸的數據是8位二進制字元。如欲轉換為ASCII模式,則每個RTU字元首先應分為高位和低位兩部分,這兩部分各含4位,然後轉換成十六進制等量值。用以構成報文的ASCII字元都是十六進制字元。ASCII模式使用的字元雖是RTU模式的兩倍,但ASCII數據的解碼和處理更為容易一些,此外,用RTU模式時報文字元必須以連續數據流的形式傳送,用ASCII模式,字元之間可產生長達1s的間隔,以適應速度較慢的機器。
(2)ModBus的數據校驗方式
CRC-16(循環冗餘錯誤校驗)
CRC-16錯誤校驗程序如下:報文(此處只涉及數據位,不指起始位、停止位和任選的奇偶校驗位)被看作是一個連續的二進制,其最高有效位(MSB)首選發送。報文先與X↑16相乘(左移16位),然後看X↑16+X↑15+X↑2+1除,X↑16+X↑15+X↑2+1可以表示為二進制數11000000000000101。整數商位忽略不記,16位余數加入該報文(MSB先發送),成為2個CRC校驗位元組。余數中的1全部初始化,以免所有的零成為一條報文被接收。經上述處理而含有CRC位元組的報文,若無錯誤,到接收設備後再被同一多項式(X↑16+X↑15+X↑2+1)除,會得到一個零餘數(接收設備核驗這個CRC位元組,並將其與被傳送的CRC比較)。全部運算以2為模(無進位)。
習慣於成串發送數據的設備會首選送出字元的最右位(LSB-最低有效位)。而在生成CRC情況下,發送首位應是被除數的最高有效位MSB。由於在運算中不用進位,為便於操作起見,計算CRC時設MSB在最右位。生成多項式的位序也必須反過來,以保持一致。多項式的MSB略去不記,因其只對商有影響而不影響余數。
生成CRC-16校驗位元組的步驟如下:
①裝如一個16位寄存器,所有數位均為1。
②該16位寄存器的高位位元組與開始8位位元組進行「異或」運算。運算結果放入這個16位寄存器。
③把這個16寄存器向右移一位。
④若向右(標記位)移出的數位是1,則生成多項式1010000000000001和這個寄存器進行「異或」運算;若向右移出的數位是0,則返回③。
⑤重復③和④,直至移出8位。
⑥另外8位與該十六位寄存器進行「異或」運算。
⑦重復③~⑥,直至該報文所有位元組均與16位寄存器進行「異或」運算,並移位8次。
⑧這個16位寄存器的內容即2位元組CRC錯誤校驗,被加到報文的最高有效位。
另外,在某些非ModBus通信協議中也經常使用CRC16作為校驗手段,而且產生了一些CRC16的變種,他們是使用CRC16多項式X↑16+X↑15+X↑2+1,單首次裝入的16位寄存器為0000;使用CRC16的反序X↑16+X↑14+X↑1+1,首次裝入寄存器值為0000或FFFFH。
LRC(縱向冗餘錯誤校驗)
LRC錯誤校驗用於ASCII模式。這個錯誤校驗是一個8位二進制數,可作為2個ASCII十六進制位元組傳送。把十六進制字元轉換成二進制,加上無循環進位的二進制字元和二進制補碼結果生成LRC錯誤校驗(參見圖)。這個LRC在接收設備進行核驗,並與被傳送的LRC進行比較,冒號(:)、回車符號(CR)、換行字元(LF)和置入的其他任何非ASCII十六進制字元在運算時忽略不計。
㈡ RTU是什麼意思
RTU(遠程終端單元),英文全稱RemoteTerminalUnit,中文全稱為遠程終端控制系統,負責對現場信號、工業設備的監測和控制。
1、RTU是一種耐用的現場智能處理器,它支持SCADA控制中心與現場器件間的通訊。它是一個獨立的數據獲取與控制單元。
2、RTU通常具有優良的通訊能力和更大的存儲容量,適用於更惡劣的溫度和濕度環境,提供更多的計算功能。RTU產品在石油天然氣、水利、電力調度、市政調度等行業SCADA系統中廣泛應用。
(2)rtu編程語言擴展閱讀:
1、遠程終端地址是通過遠程終端登錄遠程設備或系統所需要的地址。遠程終端地址一般分為專用地址、廣播地址和公用地址。
2、控制器到RT傳輸。匯流排控制器發送一個16位接收命令字,緊接著是1到32個16位數據字。所選的遠程終端然後發送單個16位狀態字。
3、RTU是一種耐用的現場智能處理器,它支持SCADA控制中心與現場器件間的通訊。它的作用是在遠端控制控制現場設備,獲得設備數據,並將數據傳給SCADA系統的調度中心。
4、智能化RTU還可以同時向幾個中心控制站傳送那些關鍵的數據。智能化RTU可以自動檢測到通信的中斷,並立即開始將數據保存到存儲器中,從而可以最有效的利用通信網路。
㈢ RTU PLC 對比
RTU英文全稱 Remote Terminal Unit,中文全稱為遠程終端控制系統。RTU具有的特點是:
1、通訊距離較長
2、用於各種惡劣的工業現場
3、模塊結構化設計,便於擴展。
4、在具有遙信、遙測、遙控領域的水利,電力調度,市政調度等行業廣泛使用。
RTU 產品目前與無線設備,工業TCP/IP產品結合使用,正在發揮越來越大的作用。
RTU(Remote Terminal Unit)是一種遠端測控單元裝置,負責對現場信號、工業設備的監測和控制。與常用的可編程式控制制器PLC相比,RTU通常要具有優良的通訊能力和更大的存儲容量,適用於更惡劣的溫度和濕度環境,提供更多的計算功能。正是由於RTU完善的功能,使得RTU產品在SCADA系統中得到了大量的應用。
遠程終端設備(RTU)是安裝在遠程現場的電子設備,用來監視和測量安裝在遠程現場的感測器和設備。RTU將測得的狀態或信號轉換成可在通信媒體上發送的數據格式。它還將從中央計算機發送來得數據轉換成命令,實現對設備的功能控制。
監視控制和數據採集是一個含義較廣的術語,應用於可對安裝在遠距離場地的設備進行中央控制和監視的系統。SCADA系統可以設計滿足各種應用(水、電、氣、報警、通信、保安等等),並滿足顧客要求的設計指標和操作概念。SCADA系統可以簡單到只需通過一對導線連在遠端的一個開關,也可復雜到一個計算機網路,它由許多無線遠程終端設備(RTU)組成並與安裝在中控室的功能強大的微機通信。
SCADA系統的遠程終端設備可以用各種不同的硬體和軟體來實現。這取決於被控現場的性質、系統的復雜性、對數據通信的要求、實時報警報告、模擬信號測量精度、狀態監控、設備的調節控制和開關控制。
遠程測控終端(RTU)述評
一、概述
在生產過程自動化裝置中,PLC、DCS是兩類應用最廣泛的控制系統,20世紀80年代之前,這些控制系統的I/O卡件均集中在遠離現場的控制室內,與現場裝置(其中包括AI/AO模擬量輸入輸出裝置和DI/DO 開關量輸入輸出裝置等)的連接線都是一對一直接接線,我們現在還可以在很多現場看到進出控制室的大量電纜和敷設電纜的大尺寸橋架。在80年代後期,PLC、DCS兩類控制系統先後推出遠離控制室安裝的遠程I/O卡件,它安裝在現場,可就近與現場裝置連線,而這些遠程I/O 卡件與PLC、DCS系統安裝在控制室的控制器是通過單根電纜的通訊實現信息交換。而在這之前,即在80年代初期,一些相對生產規模小一些的廠家利用它們在數據採集轉換及通訊方面的優勢,就已經推出遠程測控終端RTU,並採用RTU 構成計算機SCADA(Supervisory Control And Data Acquisition)系統,有時我們又將它稱為四遙(遙測、遙信、遙控、遙調)系統,像我們知道的英國施倫伯傑(Schelumberger)公司20世紀80年代初期開發的IMP遠程測控終端及由它構成的SCADA系統就是RTU早期成功應用的一個例子。
那麼什麼是RTU呢?RTU是Remote Terminal Unit(遠程測控終端)的縮寫,是SCADA系統的基本組成單元。一個RTU可以有幾個,幾十個或幾百個I/O點,可以放置在測量點附近的現場。RTU應該至少具備以下兩種功能:數據採集及處理、數據傳輸(網路通信),當然,許多RTU還具備PID控制功能或邏輯控制功能、流量累計功能等等。
遠程測控終端RTU作為體現「測控分散、管理集中」思路的產品從20世紀80年代起介紹到中國並迅速得到廣泛的應用。它在提高信號傳輸可靠性、減輕主機負擔、減少信號電纜用量、節省安裝費用等方面的優點也得到用戶的肯定。
二、遠程測控終端RTU的應用
(一)應用場合
除了在傳統的工業生產過程中大量應用(例如電廠、鋼鐵廠、化工廠)之外在測控點特別分散的場合,例如在以下行業中遠程測控終端RTU得到廣泛的應用:城市供水自動化控制系統;城市廢水處理系統;城市煤氣管網綜合調度系統;天然氣、石油行業自動化系統;電力遠程數據集控系統;熱網管道自動化控制;大氣/水質等環保監測;水情水文測報系統;燈塔信標、江河航運、港口、礦山調度系統。
(二)應用實例
甘肅玉門發電廠2×130t/h鍋爐、25MW汽機數采系統由34台解放軍南京工程兵學院生產的893-IDCB 型遠程測控終端RTU和5台微機組成,採集控制全系統380個模擬量輸入信號、30個模擬量輸出信號、125個開關量輸入信號和6個開關量輸出信號,實現了火力發電機組運行參數的在線監測、設備故障診斷、參數變化趨勢分析等功能。
新疆塔里木油田桑塔木作業區是一個方圓數百平方公里的作業區,地處塔克拉瑪干沙漠邊緣,自然環境十分惡劣。全區范圍內分布著80口油井,平時油井無人值守,油井的計量數據採集只能靠人工巡視。但由於地域寬闊、自然條件差,一次巡視往往要用大半天的時間才能完成,而且設備故障不能及時發現,為此作業區下定決心對涉及5個計量站,2個閥組站的油田計量系統進行改造,數采、控制部分採用和利時公司的FOPLC系統,再通過數傳電台將設備運行狀態信息傳到中心站。本系統在塔里木油田應用後,運行穩定,中心站對7個RTU站的輪詢只要幾分鍾就可以完成(中心站與RTU站間最遠距離為13公里),所有數據採集准確無誤,避免人為因素採集數據錯誤,真正實現了計量自動化。
昆明市環保局污水遠程監控系統由控制中心和分散於昆明市區的數百個監控點的遠程測控終端組成,遠程測控終端採用的是帶GSM/GPRS模塊的微型PLC。遠程測控終端將監控點的數據(包括排放污水流量值、污水處理設備運行時間等數據)以簡訊息方式,通過電信部門提供的簡訊業務定時將以上數據傳送到控制中心,錄入SQL Server資料庫,並對錄入的排放污水流量值、污水處理設備運行時間進行實時累計。在每天晚上的固定時間將當日累計數據上報數據中心。此外,控制中心監控人員可隨時察看分散於昆明市區的監控點的實時運行數據,了解各監控點的實際運行情況,如污水處理裝置是否運行,實際排放污水量的大小等數據。
三、遠程測控終端RTU性能比較
從用戶角度出發,我們可以從以下幾個方面對各種遠程測控終端產品進行性能比較:
(一)外形
遠程測控終端外形通常為長方形,大多數相當於是一個黑匣子,沒有顯示器及操作鍵盤,操作及顯示都要在上位計算機上進行。而北京安控科技發展有限公司的SuperE可按照用戶要求帶液晶顯示器及操作鍵盤,液晶顯示器為單色,顯示解析度為240×128,顯示器的顯示對比度及背光值可在線調節,在遠程測控終端的液晶顯示器及操作鍵盤上還可進行現場監控、現場操作、現場診斷、現場維護、現場升級。其最大組態畫面數為40頁,畫面動態元素最大數量為40個,操作鍵盤有28個,可見其操作能力很強、顯示功能非常豐富。此主題相關圖片如下:
圖1 埃波羅公司EP105 RTU
(二)品種
英國施倫伯傑公司IMP的品種比較少,只有直流模擬量輸入、電阻量輸入、直流模擬量輸出及開關量輸入/輸出等少數幾個品種,但每一個IMP的通用性較好,如模擬量輸入IMP可接受熱電偶、直流電流、直流電壓三種類型的輸入信號,每一類型信號又有多個分度號或多個量程可供選擇,又如電阻量輸入IMP可接受電阻、直流電壓、Pt100、應變數四種類型的輸入信號,每一類型信號又有多種橋路類型或多個量程可供選擇,再如開關量輸入/輸出IMP可自由選擇各點是開關量輸入還是開關量輸出。這種靈活性是同時期其他儀表所不曾具有的,所以它的通用輸入特性受到普遍歡迎。
南京工程兵學院的893-IDCB繼承了IMP上述優點,同時它又根據中國用戶的需要,開發了很多新品種RTU,如工頻交流量輸入、智能調節器等,以適應國內(特別是電廠)對電量信號的採集及PID調節迴路的要求。此主題相關圖片如下:
圖2 北京安控RTU產品
北京安控科技發展有限公司的SuperE則選擇了另一個思路,它在每一塊RTU內部均可配置模擬量輸入、模擬量輸出、開關量輸入、開關量輸出、脈沖量輸入5種類型的信號通道,最大通道數為35個。用戶選型時只要根據現場信號採集類型及數量的要求確定5類信號通道是否都需選用及每一類信號的通道數。我們知道,每一個特定的生產現場往往不是只有單一的信號類型,例如污水處理的曝氣沉澱池,它有溫度、液面、流量、pH值等模擬量輸入信號,也有控制調節閥動作的模擬量輸出信號,還有泵、閘門開啟關閉的開關量輸入和輸出信號,甚至某些流量信號可能是脈沖量輸入信號。所以生產現場要求的是可接受不同信號類型的混合型RTU。而且,不同的生產現場各類信號類型的點數差別很大,它又要求各類信號的點數可以靈活選擇。在IMP、893-IDCB等RTU現場配線時,要將單一信號類型都接入同一個RTU,必定有部分信號的連接電纜加長。所以像SuperE這樣混合型信號輸入輸出且點數可以適當變動的RTU,就可以靈活地適應各類生產現場的要求,不僅方便用戶選型,還可節省RTU的數量及減少信號電纜的用量。
SuperE小型化的產品SuperE-M,最多15路I/O,它集成了最新的GPRS(通用分組無線業務)技術。另一個產品是SuperE-S,它採用模塊化積木式結構,I/O通道數可少到幾個,多到600個。增加了這些產品後,用戶選型時挑選的餘地更大了。
澳大利亞悉雅特公司MOX Origin卡件I/O包括 8點AI、8點DI、8點DO、2點計數脈沖,MOX Unity卡件則可由用戶選擇4個I/O模塊,用戶若需要更多的I/O點,可通過RS485、乙太網等方式與各種AI、AO、DI、DO卡件連接。MOX Unity卡件還可實現I/O點、電源的冗餘配置,而冗餘功能在RTU中不太多見。MOX GATEWAY現場匯流排組件可提供各種標准現場匯流排(如Profibus-DP、Interbus、DeviceNet、ControlNet、CANOpen、AS-I)和工業標准協議(如MODBUS、MODNET)的轉換。
(三)電源
英國施倫伯傑公司S-網路的IMP數量為5塊或5塊以下時,IMP可直接由主計算機供電,IMP數量超過5塊時,由外部供電,電源等級為12~50VDC。
南京工程兵學院893-IDCB使用220VAC電源,也可按特殊要求,採用12~36VDC供電。
北京安控科技發展有限公司的SuperE使用220VAC電源、24VDC供電、12V太陽能電池供電,具有省電模式,並具備電池充電和後備功能。省電模式是指在軟體控制下RTU 進入休眠狀態,電耗降低,而一旦有中斷輸入,系統就恢復供電,這特別適用於太陽能電池供電。SuperE另一個優點是可向現場儀表(如變送器)提供隔離的24V電源輸出,從而大大減少了配電用的專用電源、連接導線及接線工作量。
北京華迅通信電子技術公司eNET無線RTU使用10~30VDC供電,支持太陽能電池供電。
澳大利亞埃波羅(ELPRO)公司的RTU可提供交流供電、直流供電、太陽能電池供電、蓄電池供電、24VDC環形供電等多種方式。
(四)通訊
通訊一般分為有線和無線兩大類,有線方式採用各個公司專用網路或符合國際標準的現場匯流排網路通訊,無線方式稱則採用遠程撥號通訊、無線電台、衛星通訊、專線通訊、GSM/GPRS通訊。
英國施倫伯傑公司IMP遠程測控終端通過S-網路相連,S-網路是一根總長可達1000m的專用雙芯雙絞屏蔽電纜,其通訊波特率為163k,每秒可完成1000個通道的掃描。與主計算機的連接是通過S-網路適配器,主機數只能是一台。
南京工程兵學院893-IDCB遠程測控終端通過893-網路相連,893-網路是一根總長可達1200m的普通雙芯雙絞屏蔽電纜,其通訊波特率為187.5k,每秒可完成1600個通道的掃描。與計算機的連接是通過893-網路適配器,為多主機系統,主機數最多為31台。
北京安控科技發展有限公司的SuperE在通訊方面則靈活得多,它採用標準的通訊協議和多種通訊方式進行通訊,可提供兩路對外通訊介面。例如可採用以下通訊方式:RS232、RS485、無線電台、遠程撥號通訊、衛星通訊、專線通訊。通訊距離RS232為16m、RS485為1200m、無線電台為數10km、專線通訊也超過10km。用戶可根據使用環境從多種通訊方式種中進行選擇或組合。它還支持標準的MODBUS RTU/ASCII通訊協議,也可以自定義通訊協議。
(五)系統功能
英國施倫伯傑公司IMP只能構成單一功能的數據採集系統,不能進行PID迴路控制和邏輯控制。
南京工程兵學院893-IDCB因其品種中有智能調節器,所以它可以構成帶PID迴路控制的數據採集與控制系統,但這種PID迴路控制不應該是太復雜的。
北京安控科技發展有限公司的SuperE的軟體中包括邏輯梯級圖程序和C程序,邏輯梯級圖程序可完成一般的計算、邏輯控制、PID迴路控制等功能;C程序可完成復雜的計算、邏輯控制、PID迴路控制等功能,所以它可以構成帶邏輯控制、PID迴路控制的數據採集與控制系統,這樣的系統通常也可以稱之為PLC或DCS系統。
(六)軟體
英國施倫伯傑公司IMP僅提供驅動程序、基於Windows的組態軟體包等少數軟體。
南京工程兵學院893-IDCB僅提供網路驅動程序、網路演示調試程序及與多種工控軟體的介面程序等軟體。
北京安控科技發展有限公司的SuperE採用的是多任務系統,其內部程序包括:監控程序、邏輯梯級圖程序、C程序、屏幕組態程序等4部分。監控程序控制整個系統的運行,完成數據的採集、存儲、通訊等工作;邏輯梯級圖程序可完成一般的計算、邏輯控制、PID調節等功能;C程序可完成復雜的計算、邏輯控制、PID調節等功能,也可實現自定義的通訊協議;屏幕組態程序完成屏幕畫面的組態顯示。SuperE還可提供多種氣體流量演算法和專用監測、控制軟體包,如污水處理、水源井控制、抽油機控制、油氣計量專用軟體包,用戶也可以進行二次開發。
㈣ 如何使用Delphi編寫Modbus RTU CRC16的校驗碼
先看些資料(可通過網路搜索),稍微了解CRC校驗原理。其實該CRC校驗的過程就是異或、移位、取余數。 目前CRC校驗有直接計算和查表法。這兩種方法我都用梯形圖(編程語言: RSLOGIX 500 )實現過。 直接計算會讓PLC的執行時間將變得很長
㈤ plc和rtu有什麼區別
RTU與PLC的區別
RTU是遠程終端設備,是電網調度自動化系統中安裝在發電廠、變電站
的一種基於「遠動」技術(遙測、遙信、遙調、遙控)的自動化設備。它具有遙控接收,輸出執行,遙測、遙信量的數據採集及發送功能,隨著技術的日新月異,已廣泛應用於各工業領域。
RTU最顯著的特點是遠方功能,即它與調度中心之間通過遠距離信息傳輸所完成的監控功能。
PLC是可編程邏輯控制器,在場站內進行數據匯總和指令處理。它具有多種控制功能、數據採集存儲和處理功能、數學運算功能、輸入/輸出介面調理功能、通信聯網功能、人機界面功能、編輯調試功能。
1. RTU一般不受地理環境限制,可在室外現場測量點附近安裝,一個RTU可以就地控制幾個、幾十個或幾百個I/O測量點,因而它的適應惡劣環境能力強。其工作溫度一般在-40~85℃;防護等級高,可用於潛水艇工作;一個電池組供電工作時間有時長達數月。PLC一般主要用於廠站內工業流水線的控制,系室內安裝。工作環境溫度要求0--55℃,空氣濕度應小於85%。超過溫度55℃,要安裝風扇通風,高於溫度60℃,要安裝風扇或冷風機降溫。
2.由於RTU不受工作環境約束,故要求其技術規格符合惡劣環境要求和特定要求。它的數據存儲量大,模擬量採集能力強(最多24路),模擬功能遠比PLC更強大。
3.RTU通信功能強大。由於RTU要將採集的模擬量、開關量、數字量信息最終傳輸給調度中心,而調度中心有時遠隔千里之外,故要求它具有遠程通訊功能。PLC雖然也有通訊功能,但僅限於廠站內部近距離傳送數據,其通信功能與RTU相比稍遜一籌。
4.傳統的RTU沒有可編程運算功能,現在的RTU大都具備了可編程運算功能,還有PID控制功能或邏輯控制功能、流量累計功能等。由於是新興技術,勢必是較先進的技術。它具有梯形圖和C語言編程,屏幕組態軟體編程等技術,運算能力強,可帶液晶顯示,就地顯示和控制。這一些都是PLC不能比擬的。
5.RTU與PLC使用功效也不盡相同。RTU具有遠方功能、當地功能以及自檢與自調功能。它與調度中心相距遙遠,與調度中心計算機通過信道相連接;它的當地功能是指RTU通過自身或連接的顯示、記錄設備,就地實現對網路的監視和控制的能力;RTU的程序自恢復能力是指RTU在受到某種干擾影響而使程序「走飛」時,能夠自行恢復正常運行的能力。PLC僅有當地功能。在各工業領域,RTU 主要用於關乎企業重大經濟效益的各生產環節遙測、遙信、遙調、遙控,PLC則側重於企業內部消耗的工作節點參數控制。如發電廠RTU主要用於測量及傳輸發電機、主變、110kV、220KV及以上線路電流、有功功率、無功功率、有功電能量、無功電能量及全廠總有功功率、總無功功率、關口電度表總上網電量等數據,PLC則用於380V低壓電機、6kV高壓電機電流、有供負荷,汽機、鍋爐輔機溫度、壓力等參數量的控制,主要反映廠用電量、汽耗、熱耗、煤耗等內部經濟指標。
6.現在許多發電廠(特別是水電廠)採用的是計算機監控系統,PLC是控制器,大多數情況下,一台PLC能同時控制多台機組,各台機組以成組方式接受PLC控制。AGC對PLC採用設點功率控制信號,向多台機組給定一個總的設點功率指令,由PLC將有功功率要求按當地策略分配給參加調節的機組控制單元LCU(火電廠是指DCS),LCU響應PLC發出的指令,經分析比較後以增減功率的變脈寬信號發送給機組調速器並跟蹤機組實發功率,直到逐漸逼近期望值。而RTU遠動終端控制裝置是一種簡易的發電機組控制方法。該裝置接受從調度中心發出的機組發電功率升降脈沖控制指令,直接控制調速器增減有功功率,其功率期望值的逼近是由AGC來判斷的,沒有中間閉環處理。由此可見,兩者的控製程序不一樣。
望採納。。。。。。
㈥ 組態王怎麼和標準的MODBUS-RTU設備的地址地址對應的
表裡的4個量寄存器地址對應30001、30002、30003,30004。A相相相電壓地址為30001,B相相相電壓30002依次類推。
如果是亞控提供的,亞控的通訊程序佔了V1000以下的地址,所以在後期編程的時候,就不要用1000以下的了,以防影響通訊。所以VW100在組態王中顯示已沒有意義。如果要讀VW1000,那麼在組態王定義41寄存器就可以,數據類型與plc中的一致。
計算規則:組態王中(寄存器的dd 號-1)*2=PLC中的V寄存器的偏移地址。
(6)rtu編程語言擴展閱讀:
組態王集成了對KingHistorian的支持,且支持數據同時存儲到組態王歷史庫和工業庫,極大地提高了組態王的數據存儲能力,能夠更好地滿足大點數用戶對存儲容量和存儲速度的要求。KingHistorian是亞控新近推出的獨立開發的工業資料庫。
具有單個伺服器支持高達100萬點、256個並發客戶同時存儲和檢索數據、每秒檢索單個變數超過20,000 條記錄的強大功能。能夠更好地滿足高端客戶對存儲速度和存儲容量的要求,完全滿足了客戶實時查看和檢索歷史運行數據的要求。
㈦ 關於C#編寫modbus通訊協議的求助
Modbus 協議是應用於電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網路(例如乙太網)和其它設備之間可以通信。它已經成為一通用工業標准。有了它,不同廠商生產的控制設備可以連成工業網路,進行集中監控。
此協議定義了一個控制器能認識使用的消息結構,而不管它們是經過何種網路進行通信的。它描述了一控制器請求訪問其它設備的過程,如果回應來自其它設備的請求,以及怎樣偵測錯誤並記錄。它制定了消息域格局和內容的公共格式。
當在一Modbus網路上通信時,此協議決定了每個控制器須要知道它們的設備地址,識別按地址發來的消息,決定要產生何種行動。如果需要回應,控制器將生成反饋信息並用Modbus協議發出。在其它網路上,包含了Modbus協議的消息轉換為在此網路上使用的幀或包結構。這種轉換也擴展了根據具體的網路解決節地址、路由路徑及錯誤檢測的方法。
1、在Modbus網路上轉輸
標準的Modbus口是使用一RS-232C兼容串列介面,它定義了連介面的針腳、電纜、信號位、傳輸波特率、奇偶校驗。控制器能直接或經由Modem組網。
控制器通信使用主—從技術,即僅一設備(主設備)能初始化傳輸(查詢)。其它設備(從設備)根據主設備查詢提供的數據作出相應反應。典型的主設備:主機和可編程儀表。典型的從設備:可編程式控制制器。
主設備可單獨和從設備通信,也能以廣播方式和所有從設備通信。如果單獨通信,從設備返回一消息作為回應,如果是以廣播方式查詢的,則不作任何回應。Modbus協議建立了主設備查詢的格式:設備(或廣播)地址、功能代碼、所有要發送的數據、一錯誤檢測域。
從設備回應消息也由Modbus協議構成,包括確認要行動的域、任何要返回的數據、和一錯誤檢測域。如果在消息接收過程中發生一錯誤,或從設備不能執行其命令,從設備將建立一錯誤消息並把它作為回應發送出去。
2、在其它類型網路上轉輸
在其它網路上,控制器使用對等技術通信,故任何控制都能初始和其它控制器的通信。這樣在單獨的通信過程中,控制器既可作為主設備也可作為從設備。提供的多個內部通道可允許同時發生的傳輸進程。
在消息位,Modbus協議仍提供了主—從原則,盡管網路通信方法是「對等」。如果一控制器發送一消息,它只是作為主設備,並期望從從設備得到回應。同樣,當控制器接收到一消息,它將建立一從設備回應格式並返回給發送的控制器。
3、查詢—回應周期
(1)查詢
查詢消息中的功能代碼告之被選中的從設備要執行何種功能。數據段包含了從設備要執行功能的任何附加信息。例如功能代碼03是要求從設備讀保持寄存器並返回它們的內容。數據段必須包含要告之從設備的信息:從何寄存器開始讀及要讀的寄存器數量。錯誤檢測域為從設備提供了一種驗證消息內容是否正確的方法。
(2)回應
如果從設備產生一正常的回應,在回應消息中的功能代碼是在查詢消息中的功能代碼的回應。數據段包括了從設備收集的數據:象寄存器值或狀態。如果有錯誤發生,功能代碼將被修改以用於指出回應消息是錯誤的,同時數據段包含了描述此錯誤信息的代碼。錯誤檢測域允許主設備確認消息內容是否可用。
二、兩種傳輸方式
控制器能設置為兩種傳輸模式(ASCII或RTU)中的任何一種在標準的Modbus網路通信。用戶選擇想要的模式,包括串口通信參數(波特率、校驗方式等),在配置每個控制器的時候,在一個Modbus網路上的所有設備都必須選擇相同的傳輸模式和串口參數。
ASCII模式
:
地址
功能代碼
數據數量
數據1
...
數據n
LRC高位元組
LRC低位元組
回車
換行
RTU模式
地址
功能代碼
數據數量
數據1
...
數據n
CRC低位元組
CRC高位元組
所選的ASCII或RTU方式僅適用於標準的Modbus網路,它定義了在這些網路上連續傳輸的消息段的每一位,以及決定怎樣將信息打包成消息域和如何解碼。
在其它網路上(象MAP和Modbus Plus)Modbus消息被轉成與串列傳輸無關的幀。
1、ASCII模式
當控制器設為在Modbus網路上以ASCII(美國標准信息交換代碼)模式通信,在消息中的每個8Bit位元組都作為兩個ASCII字元發送。這種方式的主要優點是字元發送的時間間隔可達到1秒而不產生錯誤。
代碼系統
· 十六進制,ASCII字元0...9,A...F
· 消息中的每個ASCII字元都是一個十六進制字元組成
每個位元組的位
· 1個起始位
· 7個數據位,最小的有效位先發送
· 1個奇偶校驗位,無校驗則無
· 1個停止位(有校驗時),2個Bit(無校驗時)
錯誤檢測域
· LRC(縱向冗長檢測)
2、RTU模式
當控制器設為在Modbus網路上以RTU(遠程終端單元)模式通信,在消息中的每個8Bit位元組包含兩個4Bit的十六進制字元。這種方式的主要優點是:在同樣的波特率下,可比ASCII方式傳送更多的數據。
代碼系統
· 8位二進制,十六進制數0...9,A...F
· 消息中的每個8位域都是一個兩個十六進制字元組成
· 每個位元組的位
· 1個起始位
· 8個數據位,最小的有效位先發送
· 1個奇偶校驗位,無校驗則無
· 1個停止位(有校驗時),2個Bit(無校驗時)
錯誤檢測域
· CRC(循環冗長檢測)
三、Modbus消息幀
兩種傳輸模式中(ASCII或RTU),傳輸設備以將Modbus消息轉為有起點和終點的幀,這就允許接收的設備在消息起始處開始工作,讀地址分配信息,判斷哪一個設備被選中(廣播方式則傳給所有設備),判知何時信息已完成。部分的消息也能偵測到並且錯誤能設置為返回結果。
1、ASCII幀
使用ASCII模式,消息以冒號(:)字元(ASCII碼 3AH)開始,以回車換行符結束(ASCII碼 0DH,0AH)。
其它域可以使用的傳輸字元是十六進制的0...9,A...F。網路上的設備不斷偵測「:」字元,當有一個冒號接收到時,每個設備都解碼下個域(地址域)來判斷是否發給自己的。
消息中字元間發送的時間間隔最長不能超過1秒,否則接收的設備將認為傳輸錯誤。一個典型消息幀如下所示:
起始位
設備地址
功能代碼
數據
LRC校驗
結束符
1個字元
2個字元
2個字元
n個字元
2個字元
2個字元
圖2 ASCII消息幀
2、RTU幀
使用RTU模式,消息發送至少要以3.5個字元時間的停頓間隔開始。在網路波特率下多樣的字元時間,這是最容易實現的(如下圖的T1-T2-T3-T4所示)。傳輸的第一個域是設備地址。可以使用的傳輸字元是十六進制的0...9,A...F。網路設備不斷偵測網路匯流排,包括停頓間隔時間內。當第一個域(地址域)接收到,每個設備都進行解碼以判斷是否發往自己的。在最後一個傳輸字元之後,一個至少3.5個字元時間的停頓標定了消息的結束。一個新的消息可在此停頓後開始。
整個消息幀必須作為一連續的流轉輸。如果在幀完成之前有超過1.5個字元時間的停頓時間,接收設備將刷新不完整的消息並假定下一位元組是一個新消息的地址域。同樣地,如果一個新消息在小於3.5個字元時間內接著前個消息開始,接收的設備將認為它是前一消息的延續。這將導致一個錯誤,因為在最後的CRC域的值不可能是正確的。一典型的消息幀如下所示:
起始位
設備地址
功能代碼
數據
CRC校驗
結束符
T1-T2-T3-T4
8Bit
8Bit
n個8Bit
16Bit
T1-T2-T3-T4
圖3 RTU消息幀
3、地址域
消息幀的地址域包含兩個字元(ASCII)或8Bit(RTU)。可能的從設備地址是0...247 (十進制)。單個設備的地址范圍是1...247。主設備通過將要聯絡的從設備的地址放入消息中的地址域來選通從設備。當從設備發送回應消息時,它把自己的地址放入回應的地址域中,以便主設備知道是哪一個設備作出回應。
地址0是用作廣播地址,以使所有的從設備都能認識。當Modbus協議用於更高水準的網路,廣播可能不允許或以其它方式代替。
4、如何處理功能域
消息幀中的功能代碼域包含了兩個字元(ASCII)或8Bits(RTU)。可能的代碼范圍是十進制的1...255。當然,有些代碼是適用於所有控制器,有此是應用於某種控制器,還有些保留以備後用。
當消息從主設備發往從設備時,功能代碼域將告之從設備需要執行哪些行為。例如去讀取輸入的開關狀態,讀一組寄存器的數據內容,讀從設備的診斷狀態,允許調入、記錄、校驗在從設備中的程序等。
當從設備回應時,它使用功能代碼域來指示是正常回應(無誤)還是有某種錯誤發生(稱作異議回應)。對正常回應,從設備僅回應相應的功能代碼。對異議回應,從設備返回一等同於正常代碼的代碼,但最重要的位置為邏輯1。
例如:一從主設備發往從設備的消息要求讀一組保持寄存器,將產生如下功能代碼:
0 0 0 0 0 0 1 1 (十六進制03H)
對正常回應,從設備僅回應同樣的功能代碼。對異議回應,它返回:
1 0 0 0 0 0 1 1 (十六進制83H)
除功能代碼因異議錯誤作了修改外,從設備將一獨特的代碼放到回應消息的數據域中,這能告訴主設備發生了什麼錯誤。
主設備應用程序得到異議的回應後,典型的處理過程是重發消息,或者診斷發給從設備的消息並報告給操作員。
5、數據域
數據域是由兩個十六進制數集合構成的,范圍00...FF。根據網路傳輸模式,這可以是由一對ASCII字元組成或由一RTU字元組成。
從主設備發給從設備消息的數據域包含附加的信息:從設備必須用於進行執行由功能代碼所定義的所為。這包括了象不連續的寄存器地址,要處理項的數目,域中實際數據位元組數。
例如,如果主設備需要從設備讀取一組保持寄存器(功能代碼03),數據域指定了起始寄存器以及要讀的寄存器數量。如果主設備寫一組從設備的寄存器(功能代碼10十六進制),數據域則指明了要寫的起始寄存器以及要寫的寄存器數量,數據域的數據位元組數,要寫入寄存器的數據。
如果沒有錯誤發生,從從設備返回的數據域包含請求的數據。如果有錯誤發生,此域包含一異議代碼,主設備應用程序可以用來判斷採取下一步行動。
在某種消息中數據域可以是不存在的(0長度)。例如,主設備要求從設備回應通信事件記錄(功能代碼0B十六進制),從設備不需任何附加的信息。
6、錯誤檢測域
標準的Modbus網路有兩種錯誤檢測方法。錯誤檢測域的內容視所選的檢測方法而定。
ASCII
當選用ASCII模式作字元幀,錯誤檢測域包含兩個ASCII字元。這是使用LRC(縱向冗長檢測)方法對消息內容計算得出的,不包括開始的冒號符及回車換行符。LRC字元附加在回車換行符前面。
RTU
當選用RTU模式作字元幀,錯誤檢測域包含一16Bits值(用兩個8位的字元來實現)。錯誤檢測域的內容是通過對消息內容進行循環冗長檢測方法得出的。CRC域附加在消息的最後,添加時先是低位元組然後是高位元組。故CRC的高位位元組是發送消息的最後一個位元組。
7、字元的連續傳輸
當消息在標準的Modbus系列網路傳輸時,每個字元或位元組以如下方式發送(從左到右):
最低有效位...最高有效位
㈧ 萌新求解,RTU是什麼到底怎麼開發
RTU(遠程終端單元),英文全稱RemoteTerminalUnit,中文全稱為遠程終端控制系統,負責對現場信號、工業設備的監測和控制。RTU(RemoteTerminalUnit)是構成企業綜合自動化系統的核心裝置,通常由信號輸入/出模塊、微處理器、有線/無線通訊設備、電源及外殼等組成,由微處理器控制,並支持網路系統。
RTU一般用單片機或ARM等微控制器進行設計,開發難度大,但是設計的針對性強,也比較輕便。PLC則是組態方便,開發難度較小,一般多用於工業控制。
㈨ 什麼是 標準的編程語言環境最近學習RTU(遠程終端單元),它的編程是什麼語言!謝謝啦
RTU廠家都有自己的軟體,編程和PLC差不多,以梯形圖為主體,同時支持LD、FBD、IL、ST、SFC等簡單編程語言,高級一點得也支持C語言,但是用的少。你學這個干嗎?