以組態(tài)王為例。
Kingview軟件是工業(yè)自動化行業(yè)中使用的界面軟件。
它主要用于現(xiàn)場應(yīng)用,并且適合現(xiàn)場工程師,F(xiàn)AE和其他編程人員。
它具有內(nèi)置的通用通信模塊和通用接口組件。
它可以通過RS232接口,RS485接口和以太網(wǎng)接口完成與其他設(shè)備的數(shù)據(jù)通信。
Modbus協(xié)議主要有兩種版本,RTU和TCP / IP。
RTU可以通過RS485接口實現(xiàn),而TCP / IP可以通過以太網(wǎng)端口實現(xiàn)。
這兩個協(xié)議通常用于工業(yè)控制行業(yè)和自動化行業(yè)。
下面介紹通過RS485接口和Modbu-RTU進行數(shù)據(jù)通信的過程。
Modub-RTU協(xié)議的特定內(nèi)容。
該協(xié)議是主從通信模式。
一個主站可以連接到多個從站,每個從站都有一個唯一的地址來標(biāo)識身份,并通過不合理的功能代碼來實現(xiàn)所需的功能。
讀/寫的內(nèi)容。
作為一個簡單的應(yīng)用程序,它主要涉及0x03的功能代碼以讀取保持寄存器,0x06的功能代碼以預(yù)置一個寄存器,以及0x10的功能代碼預(yù)置多個寄存器。
讀取保持寄存器功能代碼0x03主機發(fā)送03功能代碼時,表明它主要是想獲取從機某個寄存器中的內(nèi)容。
完成的命令包括主機發(fā)送的數(shù)據(jù)和從機返回的數(shù)據(jù)。
示例如下::01 03 00 32 00 02 xx xx主機回復(fù):01 03 04 a5 d4 1812 xx xx數(shù)據(jù)和字節(jié)的含義如下圖所示。
主機發(fā)送的命令表明它要讀取從1號從機的0x32開始的2個寄存器的內(nèi)容,并且從機回復(fù)0x32和0x33寄存器中的數(shù)據(jù),共4個字節(jié)。
最后兩個字節(jié)是校驗碼。
主機使用預(yù)設(shè)的單寄存器功能代碼0x06 06功能代碼將數(shù)據(jù)寫入從機的某個寄存器,并一次智能操作一個寄存器。
主機發(fā)送的數(shù)據(jù)示例如下:主機發(fā)送:01 06 00 32 12 32 xx xx主機發(fā)送的數(shù)據(jù)和字節(jié)的含義如下圖所示。
使用此功能代碼,從機返回的數(shù)據(jù)與主機發(fā)送的數(shù)據(jù)一致。
該指令的含義是:主機希望將0x1232數(shù)據(jù)寫入1號從機的0x32寄存器,并在末尾遵循校驗碼。
預(yù)設(shè)多個寄存器功能代碼0x10 16個功能代碼也是寫寄存器,但與06不同,該功能代碼可以連續(xù)寫入多個寄存器。
主機發(fā)送的數(shù)據(jù)結(jié)構(gòu)為:地址,功能代碼,寄存器起始地址,寄存器數(shù),要寫入的數(shù)據(jù)字節(jié)數(shù),數(shù)據(jù),校驗碼等。
從機返回的數(shù)據(jù)格式為:地址,功能代碼,寄存器起始地址,寄存器數(shù)量,校驗代碼等。
數(shù)據(jù)格式和字節(jié)含義的示例如下圖所示。
含義是,從0x0034開始,將四個字節(jié)的數(shù)據(jù)寫入兩個寄存器,最后兩個字節(jié)是校驗碼。
以上三個功能代碼非常常用。
此外,還有許多功能代碼。
每個功能代碼代表一個不合理的含義。
以上數(shù)據(jù)需要編程才能實現(xiàn)。
免責(zé)聲明:本文內(nèi)容經(jīng)21ic授權(quán)后發(fā)布,版權(quán)歸原作者所有。
該平臺僅提供信息存儲服務(wù)。
本文僅代表作者的個人觀點,并不代表該平臺的立場。
如有任何疑問,請與我們聯(lián)系,謝謝!