威倫MT6170iH用的是EB8000軟件,里面MODBUS協(xié)議的0x、1x、3x、4x、5x、6x這些,還有像4x_bit、3x_bit8這種寫法,其實是指不同類型的設備區(qū)域,各自支持的功能碼也不太一樣,簡單說一下:
0x就是可以讀也可以寫的線圈,差不多相當于PLC的DO輸出點。讀的時候用功能碼01H,寫的話就用05H。
1x是只讀的觸點,類似PLC的DI輸入點,讀位狀態(tài)的時候用02H功能碼。
3x是只讀的模擬量,比如PLC的AI輸入,讀數(shù)據(jù)用04H功能碼。
4x是可以讀寫的寄存器,類似于PLC的AO輸出。讀的話用03H,寫的話用10H功能碼。
5x和4x看起來差不多,功能碼也一樣。區(qū)別在于如果是雙字的數(shù)據(jù),比如32_bit無符號類型,用5x和4x讀出來的高低字順序是反過來的。比如4x讀出來是0x1234,那5x讀的就是0x3412。
6x也是可讀可寫的類型,讀的時候還是用03H,但寫的時候用06H,也就是只能寫單個寄存器。
3x_bit和3x的功能碼是一樣的,區(qū)別就是3x是讀整個數(shù)據(jù),而3x_bit是用來讀某個bit的狀態(tài)。
4x_bit和4x也是一樣,功能碼一樣,區(qū)別就是一個是讀整個數(shù)據(jù),一個是讀其中某一位的狀態(tài)。
就這樣,懂的都懂~
0x就是可以讀也可以寫的線圈,差不多相當于PLC的DO輸出點。讀的時候用功能碼01H,寫的話就用05H。
1x是只讀的觸點,類似PLC的DI輸入點,讀位狀態(tài)的時候用02H功能碼。
3x是只讀的模擬量,比如PLC的AI輸入,讀數(shù)據(jù)用04H功能碼。
4x是可以讀寫的寄存器,類似于PLC的AO輸出。讀的話用03H,寫的話用10H功能碼。
5x和4x看起來差不多,功能碼也一樣。區(qū)別在于如果是雙字的數(shù)據(jù),比如32_bit無符號類型,用5x和4x讀出來的高低字順序是反過來的。比如4x讀出來是0x1234,那5x讀的就是0x3412。
6x也是可讀可寫的類型,讀的時候還是用03H,但寫的時候用06H,也就是只能寫單個寄存器。
3x_bit和3x的功能碼是一樣的,區(qū)別就是3x是讀整個數(shù)據(jù),而3x_bit是用來讀某個bit的狀態(tài)。
4x_bit和4x也是一樣,功能碼一樣,區(qū)別就是一個是讀整個數(shù)據(jù),一個是讀其中某一位的狀態(tài)。
就這樣,懂的都懂~