1. 傳送界面:RS-485
2. 出廠波特率為1200,出廠表號為63H(99)。
3. 傳輸數據格式為:1位起始位,8位數據位(最高位為0),1位停止位,無奇偶校驗。
4. 通訊碼:ASCLL碼。
5.錯誤偵測方式:BCC異或校驗。
6.要接收或發送的數據表示方法:二進制補碼。
7.通訊格式:
寫入控制器和從控制器的讀出都為13字節的長度。
EOT 表號 路號 R/W 參數名 數據 ETX BCC
1 2 1 1 2 4 1 1 總共13字節。
l EOT 為ASCLL的4號。為1個字節
l 表號 每臺控制器的地址,范圍為01H-63H(1-99),其中63H(99)為出廠表號,
62H(98)為統一表號(對每個控制器都適合,見附錄[2]),不要將正在使用的控制器設置成這兩個表號,以免誤操作。為2個字節。
l 路號 每臺控制器內有2路,路號為1和2,如果為1,則對該控制器的第 一 路進行操作,如若為2,則對該控制器的第2路進行操作,為1個字節。
l R/W 為命令字,如果為R,則為讀命令,如果為W,則為寫命令,為1個字節。
l 參數名 控制器內的參數,都有獨立的代碼,詳細見附錄[1]。2個字節。
l 數據 要讀出或者寫入的控制器的數據,如果為讀命令,則數據可為任意。 4個字節。
l ETX 為ASCLL的3號。1個字節。
l BCC 校驗碼,為前面12個字節的異或。1個字節。
8.通訊范例:
l 將14H(20)號的控制器的第一路設定值改成03E8H(100.0攝氏度)。
EOT 04H
表號 31H 34H
(將14H分成兩字節為1和4,它們的ASCLL碼分別為31H和34H)。
路號 31H
R/W 57H (W的ASCLL碼為57H)。
參數名 30H 34H
(設定值的參數代碼為04H,所以ASCLL碼就是30H,34H)
數據 30H 33H,45H,38H
(數據為03E8H,所以ASCLL碼就是30H,33H,45H,38H)
ETX 03H
BCC 18H
(從EOT(04H)一直到ETX(03H)的異或。
上位機需送出的HEX為04H 31H 34H 31H 57H 30H 34H 30H 35H 45H 38H 03H 18H。
如果正確,則控制器會回傳原數據即04H 31H 34H 31H 57H 30H 34H 30H 35H 45H 38H 03H 18H給上位機。
如果不正確,控制器將參數名變成63H(ASCLL為36H 33H),數據變成附錄[1]出錯參數所提示的數據,BCC重新校驗,回傳給上位機。
l 將14H(20)號的控制器的第二路測量值讀出。
EOT 04H
表號 31H 34H
(將14H分成兩字節為1和4,它們的ASCLL碼分別為31H和34H)。
路號 32H(第二路)
R/W 52H (R的ASCLL碼為52H)。
參數名 30H 31H
(測量值的參數代碼為01H,所以ASCLL碼就是30H,31H)
數據 30H 30H,30H,30H
(數據補足為0000H,所以ASCLL碼就是30H,30H,30H,30H)
ETX 03H
BCC 63H
(從EOT(04H)一直到ETX(03H)的異或。
上位機需送出的HEX為04H 31H 34H 32H 52H 30H 31H 30H 30H 30H 30H 03H 63H。
如果正確,則控制器會回傳數據即04H 31H 34H 32H 52H 30H 31H 46H 43H 31H 38H 03H 63H。數據為46H 43H 31H 38H,十六進制即為FF18H,為補碼,化成十進制為-100.0。所以測量值為-100.0。
如果不正確,控制器將參數名變成63H(ASCLL為36H 33H),數據變成附錄[1]出錯參數所提示的數據,BCC重新校驗,回傳給上位機。
l 將14H(20)號的控制器的波特率修改為2400,表號修改為15H(21)。
EOT 04H
表號 31H 34H
(將14H分成兩字節為1和4,它們的ASCLL碼分別為31H和34H)。
路號 32H(31H或者32H都可以)
R/W 57H (W的ASCLL碼為57H)。
參數名 30H 30H
(波特率和表號參數代碼為00H,所以ASCLL碼就是30H,30H)
數據 30H 32H,31H,35H
(高位數據02H,即波特率為2400,低位數據為15H,即表號,所以
ASCLL碼就是30H,32H,31H,35H)
ETX 03H
BCC 61H
(從EOT(04H)一直到ETX(05H)的異或。
上位機需送出的HEX為04H 31H 34H 32H 57H 30H 30H 30H 32H 31H 35H 03H 61H。
如果正確,則控制器會按原波特率回傳原數據給上位機,然后修改本身的波特率。
如果不正確,控制器將參數名變成63H(ASCLL為36H 33H),數據變成附錄[1]出錯參數所提示的數據,BCC重新校驗,回傳給上位機。
附錄[1] 參數代碼
00H:波特率和表號,可對表號和波特率進行讀寫,數據高位為波特率,數據范圍為0-6 (00H-->300,01H-->1200,02H-->2400,03H-->4800,04H-->9600,05H-->19200,06H-->38400),低位為表號,數據范圍為01H-63H。
01H:測量值讀,有小數點;
02H:自整定讀寫,數據范圍為0-1,每次只能啟動一路自整定。
03H:關閉/打開控制,數據范圍為0-1,可打開或者關閉第一路或者第二路。
04H:設定值讀寫,有小數點,數據范圍為全量程。
05H:測量值修正讀寫,有小數點,數據范圍為-10.0-10.0。
06H:比例帶讀寫,有小數點,數據范圍為0-滿量程。
07H:積分時間讀寫,數據范圍為0-3600秒。
08H:微分時間讀寫,數據范圍為0-3600秒。
09H:積分限幅讀寫,有小數點,數據范圍為0-100.0。
0AH:控制周期讀寫,數據范圍為1-100。
0BH:濾波系數讀寫,數據范圍為0-255。
10H:密碼鎖讀寫 , 數據范圍為0-2
29H:參數初始化寫命令,可將以上參數恢復成出廠參數。
63H:出錯參數,如果讀或者寫出錯,將參數代碼變成63H,返回的數據如下,顯示錯誤情況。
0000H: 一般錯誤; 0001H: 上溢出;
0002H: 下溢出; 0003H: 該路關閉;
0004H: 路數超 0005H: 無該參數;
0006H: 參數數據溢出; 0007H: 空
0008H: bcc校驗出錯; 0009H: ascll字符出錯
000Ah: 重復命令; 000BH: 無效命令
附錄[2] 關于統一表號,出廠表號和波特率
如果不知道某個控制器的表號,這個時候可以使用統一表號62H(98),即表號的HEX為36H 32H,例如上位機發送 04H 36H 32H 32H 57H 30H 30H 30H 32H 31H 35H 05H 30H,即表示將該控制器的表號修改為15H(31H 35H),波特率修改為2400(30H 32H)。注意的是如果使用統一表號,上位機只能連一臺控制器,否則將因多臺控制器表號相同而出現錯誤。
如果不知道某個控制器的波特率,這個時候可以使用讀波特率和地址參數代碼找到波特率,方法如下:上位機的波特率可以運用試探方法,首先為300,如果能收到應答原數據,說明控制器的波特率就是300,隔200毫秒連續3次沒有收到應答原數據,則說明控制器波特率不為300,將上位機波特率改為1200,重復上述。如此類推,一直到找到控制器波特率為止。
出廠表號的使用主要是當設備已經連接了好幾臺控制器再需要加一臺控制器時,新控制器的表號為63H(99),通過對該新控制器寫波特率和地址參數,將新控制器的表號改成所需要的表號。
