一、RS232-DB通訊串口設定:
BaudRate:9600
DataBits:7
Parity:Even
StopBits:1
校正:SUM, 2BIT
DTR
二、擷取資料命令格式
如下以ACSII碼舉例(擷取D304資料):
請求報文:/STX 0 1260 02 /ETX 5E
應答報文:/STX 1E 00 /ETX D9
詳細解釋:
FX 系列PLC 有4 條通訊命令,分別是讀命令、寫命令、強制通命令、強制斷命令。
通訊控制字元
FX 系列PLC 採用面向字元的傳輸規程,用到5 個通訊控制字元,如表7-3 所示。
表 7-3 FX 系列PLC 通訊控制字元表控制字元 |
ASCⅡ碼 |
功能說明 |
ENQ |
05H |
PC 發出請求 |
ACK |
06H |
PLC 對ENQ 的確認回答 |
NAK |
15H |
PLC 對ENQ 的否認回答 |
STX |
02H |
資訊幀開始標誌 |
ETX |
03H |
資訊幀結束標誌 |
標識 |
代碼(16進位) |
VB格式 |
描述 |
STX |
02H |
Chr( 2 ) |
開始發送字元 |
ETX |
03H |
Chr( 3 ) |
結束髮送字元 |
EOT |
04H |
Chr( 4 ) |
結束傳輸 |
ENQ |
05H |
Chr( 5 ) |
詢問字元 |
ACK |
06H |
Chr( 6 ) |
應答字元正確 |
LF |
0AH |
Chr( A ) |
線路忙 |
CL |
0CH |
Chr( C ) |
清除 |
CR |
0DH |
Chr( D ) |
返回 |
NAK |
15H |
Chr( 15 ) |
應答字元錯誤 |
報文格式
電腦向 PLC 發送的報文格式如下: STX |
CMD |
資料區段 |
ETX |
SUMH |
SUML |
其中,STX 為開始標誌:02H;ETX 為結束標誌:03H;CMD 為命令的ASCⅡ碼;SUMH、SUML 為按位元組求累加和,溢出不計。由於每位元組十六進位數變為兩位元組的ASCⅡ碼,故校正和為SUMH 與SUML。
資料區段格式與含義如下:
註:寫命令的資料區段有資料,讀命令資料區段則無資料。
如:請求報文:/STX 0 1260 02 /ETX 5E
/STX:為開始標記
0:CMD命令 讀
1260:資料區段地址,D304的地址 計算方法:Addr=D 原件號*2+1000H
02:位元組長度
/ETX:結束標記
5E:累加校正(02H+30H+31H+32H+36H+30H+30H+32H+03H)=5EH
應當報文:/STX 1E 00 /ETX D9
/STX:為開始標記
1E :D304 存放資料
00:D305 存放資料
/ETX:為結束標記
D9:累加校正
三:累加校正位演算法
求和校正碼
求和校正碼是保證串列通訊正確的一種方法,這裡所說的求和是指要通訊的資料除前序外ASCII碼以16進位數形式相加,並取兩位16進位。