歐姆龍PLC HostLink協議整理
1、常用的存盤器功能區
CIO:
輸入繼電器 272 點(17 CH) 0.00~16.15
輸出繼電器 272 點(17 CH) 100.00~116.15
內部輔助繼電器 4,800 點(300 CH) 1200.00~1499.15 (1200~1499 CH)
37,504 點(2,344 CH) 3800.00~6143.15 (3800~6143 CH)
內部輔助繼電器:
8,192 點(512 CH) W000.00~W511.15 (W0~W511 CH)
暫時存盤繼電器:
16 點 TR0~TR15
保持繼電器:
8,192 點(512 CH) H0.00~H511.15 (H0~H511 CH)
特殊輔助繼電器:
只讀(不可寫入) 7168 點(448 CH) A0.00~A447.15 (A0~A447CH)
可讀/寫 8192 點(512 CH) A448.00~A959.15 (A448~A959 CH)
定時器:
4,096 點 T0~T4095
計數器:
4,096 點 C0~C4095
DM 區:
32K 字 D0~D32767
資料暫存器:
16 點(16 位) DR0~DR15
變址暫存器:
16 點(32 位) IR0~IR15
任務標志:
32 點 TK0000~TK0031
2、HostLink串口測驗典型設定:9600 E-7-2
3、Hostlink通訊協議有兩種模式:C-mode和FINS
1.Cmode:專用于hostlink通訊指令,采用的是ASCII碼,適用于所有OMRON的PLC通訊,只能上位機發出指令給CPU,CPU無法主動發資料給上位機,
2.FINS:采用的二進制碼,適用于新開發的PLC,可用在多種網路設備(Controller Link, Ethernet, etc),可被 CPU、IO模塊、上位機主動發出,不同的指令分別適用于不同的資訊接受單元,有兩種鏈接協議:CMND和hostlink,當上位機是做發送源時,必須采用hostlink協議,
4、通信協議報文整理
HostLink通訊協議的資料,由4部分組成,
1. 頭代碼
2. FINS命令
3. 異或校驗
4. 結束碼
以下的資料用于串口除錯工具下發給PLC,所以以下由上述的1、2部分組成
頭代碼:紅色 FINS命令:藍色
@00FA0000000000101B00064000001
紅色部分資料分析:
@后的1-2位,為PLC地址,默認PLC地址為0,可設定0--31
@后的FA為頭編碼,可為”FA” “RD” “WR”
@后的第5位為等待時間,默認為0*10ms
后面的資料從右到左依次是:ICF\DA2\SA2\SID各占一個位元組默認為00,具體設定可參照HostLink(具體可參考 HOSTLINK 通訊參考手冊 W342-E1-15 第 3-3-3 節)
操作示例
(1)讀取CIO100一個字
@00FA0000000000101B00064000001
讀取:0101 寫入:0102
功能碼B0:指定相應暫存器型別 (詳見附表1)
006400: 0064為存盤器的編號(16進制的0064為10進制的100)
0064后的00為存盤器的位(HEX 00)
0001:讀取1個字
(2)寫CIO100.05-100.09位地址
@00FA00000000001023100640500050101000001
0102:寫資料
31:W存盤區
006405:100.05(十進制100.05)
0005:連續寫5個位
0101000001:寫5個位的資料
(3)下發資料:@00FA000000000010231001E06000100
回傳資料:@00FA00400000000102000040*\CR
下發的內容:寫資料(0102)到W存盤區(31)的W30暫存器(001E)暫存器W30.06(06),連續寫1個位元組(0001)寫的內容為0(00)
回傳的內容:回傳之前的操作為寫(0102),資料正常寫入(0000),資料后面附帶的(*\CR)為異或校驗的結束符,
(4)讀寫D存盤區
RD指令命令格式
@00RD10230006
讀取站00地址為W1023的0006個字
5、報文格式
歐姆龍CPM1A型plc與上位計算機通信的順序是上位機先發出命令資訊給PLC,PLC回傳回應資訊給上位 機,每次通信發送/接受的一組資料稱為一“幀”,幀由少于131個字符的資料構成,若發送資料要進行分割 幀發送,分割幀的結尾用CR碼一個字符的分界符來代替終終止符,發送幀的一方具有發送權,發送方發送 完一幀后,將發送權交給接受方,
發送幀的基本格式為:
|
@ |
機號 |
識別碼 |
正文 |
FCS |
終止符 |
其中:
@ ——為幀開始標志;
機號——指定與上位機通信的PLC(在PLC的DM6653中設定);
識別碼——該幀的通信命令碼(兩個位元組);
正文——設定命令引數;
FCS——幀校驗碼(兩個字符),它是從@開始到正文結束的所有字符的ASCⅡ碼按位異或運算的結果;
終止符——命令結束符,設定“*”和“回車”兩個字符表示命令結束,
回應的基本格式為:
|
@ |
機號 |
識別碼 |
結束碼 |
正文 |
FCS |
終止符 |
其中:
@ ----為幀開始標志;
機號----應答的的PLC號,與上位機指定的PLC號相同;
識別碼----該幀的通信命令碼,和上位機所發的命令碼相同;
結束碼----回傳命令結束有無錯誤等狀態;
正文——設定命令引數,僅在上位機有讀資料時生效;
FCS——幀校驗碼,由PLC計算給出,計算方法同上;
終止符——命令結束符,
6、注意點
通訊協議如果是ASCII 碼傳輸,則 1 WORD data = https://www.cnblogs.com/xushengming/p/4 BYTE character
即:1個字二進制數,采用AS II碼傳輸 ,則會轉為4個位元組AS II碼去傳輸
word是計量單位,對應16bit=2位元組,位元組≠字符,
character是字符,可容納一個1位元組ASII碼,也可以容納一個unicode編碼的2位元組漢字,
7、131個最大字符由來
按照以下進行命令通訊,則根據官方手冊確定命令格式如下:
①起始符@,該符號必須置于每個命令的開頭;//1個 ASCII 碼=1位元組
②節點號即PLC單元號,用于辨識PLC,范圍為0~30(BCD數);//2個 ASCII 碼
③命令符即發送命令的目的,設定2個字符的命令代碼;//2個 ASCII 碼
④操作內容表示命令符操作的引數,命令不同,內容也不一樣,最多31word;//31*4=122個ASCII 碼
⑤校驗符為FCS校驗,對校驗的內容進行異或運算,結果為2個字符;//2個 ASCII 碼
⑥結束符為*號+回車鍵;//*號和回車各是1個,共2個 ASCII 碼
統計1+2+2+122+2+2=131個 ASCII 碼,即131字符,
多年從業積累的工控檔案資料供君免費下載
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/337867.html
標籤:嵌入式
上一篇:計算在陣列排序之前洗掉的迭代次數
