三菱FX系列PLC編程口通訊協議詳解

此文參考如下網址資料:

https://wenku.baidu.com/view/cbaef61ab7360b4c2e3f6465.html

https://wenku.baidu.com/view/86a3a883cc175527072208e7.html

ASCII碼錶查詢:http://ascii.911cha.com

傳輸格式:RS232C

波特率:9600bps

奇偶:even

校驗:累加方式(和校驗)

字符:ASCII

報文格式:16進制

 

例:

STX(起始)  命令   首地址            字節數    數據內容          ETX(結束位)   和校驗

02               31     31 36 34 30     30 32     30 31 30 30       03                   32 32

 

1.STX:起始位、幀頭

 

2.命令:30(讀取模式)、31(寫入模式)... ...

 

3.首地址:指數據讀取/寫入從哪個地址開始

   3.1寄存器”D”的地址算法

   address=”D”的編號(十六進制格式下)*2+1000H,將算出來的值的各位當作ASCII表中的圖形,分別對應其十六進制值

注意:此方法只適用於D0-D1023

 

  3.2例:從D123開始讀取4個字節數據

  報文:02h 30h 31h 30h 46h 36h 30h 34h 03h 37h 34h

  address=”D”的編號十六進制數*2+1000H,即(123)轉成十六進制數(7B) *2+1000(H)=10F6(H),將10F6各位當作ASCII表    中的圖形,找出其對應的十六進制 值,即:31h 30h 46h 36h

 

4.字節數:表示需要讀取或者寫入的字節數

注意:一位ASCII碼佔用一個字節,表示幀中的各個數據轉換成ASCII碼後佔用的內存的字節數;用十六進制表示一個數值。

例:向D123開始的兩個存儲器中寫入1234,ABCD;報文如下:

02h 31h 31h 30h 46h 36h 30h 34h 33h 34h 31h 32h 43h 44h 41h 42h 03h 34h 39h

  4.1 字節

  30h 34h代表的就是04個字節,

  4.2 數據字節數如何看

  後面的每個轉換成ASCII之後都代表了十六進制的一個位,所以每一位都是4個位(bit),8個bit是一個字節。因爲上面這個例子裏    面的數據的每一位都是用十六進制表示的,所以總位數(bit數)=數據位數*4bit=8*4=32bit,即4個字節。

  順序:1 0 3 2

 

5.數據內容

順序:1 0 3 2,以4個十六進制位爲單位寫入/讀出數據

例:

02h 31h 31h 30h 46h 36h 30h 34h 33h 34h 31h 32h 43h 44h 41h 42h 03h 34h 39h

 

數據位:  16^1  16^0  16^3  16^2    16^1  16^0  16^3  16^2

報文數據:33h   34h   31h   32h  43h   44h   41h   42h

ASCII碼:  3     4     1     2        C     D     A     B

二進制: 0011  0100  0001  0010     1100  1101  1010  1011

bit位數:  4     4     4     4        4     4     4     4

總字節數:(4+4+4+4+4+4+4+4)/8=8Byte(字節)

 

6.ETX:結束位、幀尾

 

7.和校驗

SUM=CMD+... ...+ETX,累加和超過兩位取低兩位

注意:數據以十六進制格式相加

例1:

STX  CMD  ADDRESS         BYTES     DATA             ETX   SUM

02h  31h   31h 36h 34h 34h   30h 32h   30h 32h 30h 30h   03h   32h 37h

 

SUM=31+31+36+34+34+30+32+30+32+30+30+03=227h

取低兩位ASCII碼:32h 37h

 

例2:

STX  CMD  ADDRESS         BYTES     DATA             ETX   SUM

02h  31h  31h 36h 34h 34h    30h 32h  30h 31h 30h 30h    03h   32h 36h

 

SUM=31+31+36+34+34+30+32+30+31+30+30+03+32=226h

取低兩位ASCII碼:32h 36h

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章