關(guān)于 MODBUS 各地址的說明
MODBUS 協(xié)議中設(shè)備類型為 0x,1x,3x,4x,5x,6x,還有 4x_bit,3x_bit 等,下面分別說明這些設(shè)備類型在 MODBUS 協(xié)議中支持哪些功能碼。
0x: 是一個可讀可寫的設(shè)備類型,相當(dāng)于操作 PLC 的輸出點(diǎn)。該設(shè)備類型讀位狀態(tài)的時候,發(fā)出的功能碼為 01H,寫位狀態(tài)的時候發(fā)出的功能碼為 05H。
1x:是一個只讀的設(shè)備類型,相當(dāng)于讀 PLC 的輸入點(diǎn)。讀位狀態(tài)的時候發(fā)出的功能碼為 02H。
3x: 是一個只讀的設(shè)備類型,相當(dāng)于讀 PLC 的模擬量。讀數(shù)據(jù)的時候,發(fā)出的功能碼為 04H。
4x:是一個可讀可寫的設(shè)備類型,相當(dāng)于操作 PLC 的數(shù)據(jù)寄存器。當(dāng)讀數(shù)據(jù)的時候,發(fā)出的功能碼是 03H,當(dāng)寫數(shù)據(jù)的時候發(fā)出的功能碼是 10H。
5x: 該設(shè)備類型與 4x 的設(shè)備類型屬性是一樣的。即發(fā)出讀寫的功能碼完全一樣。不同之處在于,當(dāng)為雙字時,例如 32_bit unsigned 格式的數(shù)據(jù),使用 5x 和 4x 兩種設(shè)備類型分別讀取數(shù)據(jù)時,高字和低字的位置是顛倒的。例如,使用 4x 設(shè)備類型讀到的數(shù)據(jù)是 0x1234,那么使用 5x設(shè)備類型讀取的數(shù)據(jù)是 0x3412。
6x: 是一個可讀可寫的設(shè)備類型,讀數(shù)據(jù)的時候發(fā)出的功能碼也是 03H,與 4x 不同之處在于寫數(shù)據(jù)的時候,發(fā)出的功能碼為 06H,即寫單個寄存器的數(shù)據(jù)。
3x_bit: 該設(shè)備類型支持的功能碼與 3x 設(shè)備類型完全一致,不同之處是,3x 是讀數(shù)據(jù),而3x_bit 是讀數(shù)據(jù)中的某一個 bit 的狀態(tài)。
4x_bit: 該設(shè)備類型支持的功能碼與 4x 設(shè)備類型完全一致,不同之處是,4x 是讀數(shù)據(jù),而4x_bit 是讀數(shù)據(jù)中的某一個 bit 的狀態(tài)。