久久久久久久久久一级_久久亚洲精品视频_免费不卡av_欧美性做爰猛烈叫床潮_中文字幕成人在线

會員專享服務

免費注冊會員在線購買立享9折

(?查看會員在線訂購教程)


  SSL GlobalSign Site Seal

List of Q&A 2.0 > Q(ts_net001). 485通信讀取的數(shù)值如何轉換為十進制數(shù)值?
Q&A
Q

485通信中,使用03H讀取檢測位置、檢測速度等其它寄存器,
如何將讀取到的十六進制數(shù)值轉換為十進制數(shù)值?


A

需要同時讀取寄存器的上、下位,共8位16進制數(shù)。
●若讀取到的8位16進制數(shù)的第一位數(shù)值≤7,則為正數(shù),請直接轉換為十進制。
●若讀取到的8位16進制數(shù)的第一位數(shù)值>7,則為負數(shù),先將8位16進制數(shù)轉換為32位二進制數(shù)值,進行取反、加一,然后將得到得32位二進制數(shù)值轉換位10進制數(shù)值,最后加上負號。


例:驅(qū)動器AZD-KD(站號設定為1),讀取檢測位置。
通過AZ功能篇說明書中可以確認到檢測位置的寄存器地址為上位00CC、下位00CD。


使用03H功能碼同時讀取上位和下位,即寫入指令為01 03 00CC 0002 0434。

反映為 01 03 04 XXXX XXXX YYYY,其中XXXX XXXX為讀取到數(shù)值,即當前檢測位置,YYYY為校驗碼。
●若XXXX XXXX為0003 FC12,第一位數(shù)值≤7,為正數(shù)。
直接轉換為10進制數(shù)261138,即檢測位置為261138step。
●若XXXX XXXX為FFFC 0322,第一位數(shù)值>7,為負數(shù)。
 ◇先將FFFC 0322轉化為32位二進制數(shù)值:1111 1111 1111 1100 0000 0011 0010 0010。
 ◇取反:0000 0000 0000 0011 1111 1100 1101 1101。
 ◇加一:0000 0000 0000 0011 1111 1100 1101 1110。
 
轉化為10進制數(shù):261342,加上-號,即檢測位置為-261342step。