需要同時讀取寄存器的上、下位,共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。