歐姆龍PLC HostLink協議整理


歐姆龍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 = 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字符。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM