Modbus是一種應(yīng)用層消息傳輸協(xié)議,通過此協(xié)議,控制器之間、控制器經(jīng)由網(wǎng)絡(luò)(如以太網(wǎng))和其他設(shè)備之間可以通信,在通信工作中,每個(gè)命令都會指定目的地址,雖然非通信設(shè)備也可能收到命令消息,但只有地址匹配的才會響應(yīng)。
Modbus可以采用多種通信方式即包括Modbus RTU、Modbus ASCII、Modbus TCP
(1)Modbus RTU與Modbus ASCII
Modbus RTU與Modbus ASCII是最簡單的兩種Modbus發(fā)展變種,適用于通信串行總線(接口一般采用RS232C或RS485/422等),數(shù)據(jù)通信采用Maser/Slave方式。Modbus協(xié)議需要對數(shù)據(jù)進(jìn)行校驗(yàn),串行協(xié)議中除有奇偶校驗(yàn)外,ASCII模式采用LRC校驗(yàn),RTU模式采用16位CRC校驗(yàn)。
在RTU模式下,一字節(jié)的數(shù)據(jù)傳輸?shù)木褪且蛔止?jié)。在ASCII模式下,同樣一字節(jié)的數(shù)據(jù)用了二字節(jié)來傳輸。例如,要傳輸數(shù)字0x5B, RTU傳輸?shù)氖?1011011(二進(jìn)制),而ASCII傳輸?shù)氖?0110101和01000010??梢姡珹SCII傳輸?shù)乃俾适荝TU的一半。
(2)Modbus TCP
Modbus TCP和Modbus RTU協(xié)議非常類似,只要把RTU協(xié)議二字節(jié)的校驗(yàn)碼去掉,然后在RTU協(xié)議的開始加上5個(gè)0和一個(gè)6,并通過TCP/IP網(wǎng)絡(luò)協(xié)議發(fā)送出去即可。Modbus TCP適用于以太網(wǎng),默認(rèn)分配502端口。對于Modbus TCP而言,主站通常稱為Client,從站稱為Server。
聯(lián)系客服