安裝好Intouch等上位機軟件,或者使用其他客戶端。
安裝好 OI.MBTCP.1 驅動,或者更新的MBTCP版本,如果使用2020版本的Intouch,請使用附帶的驅動安裝盤安裝對應驅動,不要使用老版本的安裝包。
配合使用較老版本的Intouch時,可以使用單獨的OI.MBTCP安裝包
2、配置步驟
1)打開SMC,展開Operation Intergration Supervisory Servers,選中Modbus-MBTCP,展開至Configuration。
2)右鍵Configuration,選擇Add TCPIP_PORT Connection.
3)右側界面可以看到MODBUS的默認端口號502
其中第一項是modbus網橋,適合通過網橋設備傳輸上來的信號
二到四項是Modicon 系列plc的板卡,
第五項是其他Modbus PLC 包括 Modicon 580 ,340 等PLC的配置選項。
本文檔只介紹使用ModbusBridge 和 Modbus PLC的連接方式。
5)使用modbusPLC connection的情況
(1)、選擇 Add ModbusPLC connection
上面的參數有:
Network address:輸入PLC的網絡地址。
Reply timeout: 通訊點重連的時間。范圍1…60,默認3。如果設備無法在一個周期里寫入完成,設備會重寫,隨后可能進入等待模式。如果設備通訊有排隊現象,改變此參數可能使設備收到值的概率增加,但是同時延遲了收到數據的時間。默認重連4次停止嘗試。
Use Concept data structures (Longs) / Use Concept data structures (Reals):勾上時驅動按照plc編程環境一樣的寄存器順序讀取占用多個寄存器地址的變量,反之按照默認的順序。
Bit order format:輸入PLC的位序格式
Register Order:PLC 寄存器寫入和讀取的順序,用于支持 64 位數據類型
有
R1 R2 R3 R4 (默認)
R2 R1 R4 R3
R3 R4 R1 R2
R4 R3 R2 R1
Register size (digits):寄存器位數,如 40001地址就是 5 。
其他參數可以默認。
(2)、在Device Group頁面右鍵【add】添加一個Topic ,名稱可以按照實際需要命名。
Update Interval是更新數據的時間周期。這個Topic之后填寫訪問名時會用到。
6)使用 ModbusBridge 的情況
此配置適用于所有用Modbus網橋設備,以及modbusRTU轉換到TCP的設備
(1)、選擇 Add ModbusBridge Object
此頁參數:
Bridge type:從下拉菜單中選擇橋接類型用于連接到 TCP/IP 端口的網橋,可選Modbus 和NR&D Pen-T 橋接兩種。
Network address:輸入網橋設備的主機名或IP 地址。
Maximum outstanding messages:輸入允許的排隊的最大消息數量,默認2,一般不用修改,如果通訊不穩定,建議改大。
(2)、添加plc通訊模塊,此處演示ModbusPLCRS Object的情況,
Compact984, ModiconMicro,TSXMomentumRS,三種設備在使用具體設備時參考設備參數配置,本文不做介紹。
此處可以添加的模塊最大數量為 247。
添加ModbusPLCRS Objects 后,配置界面如下:
PLC unit ID:bridge 的內部配置包含一個 UnitID 參數,該參數可以設置為服務器接收的消息中的 Unit_ID 地址。 當 驅動Unit_ID 框設為 0時,網橋將消息路由到其配置的從設備。 如果服務器的 Unit_ID 設置為 0,則消息將傳送到其地址在網橋的 UnitID 框中定義的從設備。 如果服務器的 Unit_ID 設置為非零值(范圍 1…255),則消息將傳送到該數字地址處的從設備,而不管橋中的 UnitID 框的內容如何。
Reply timeout: 輸入設備時等待確認的時間。范圍1…120,默認20。如果設備無法在一個周期里寫入完成,設備會重寫,隨后可能進入等待模式。如果設備通訊排隊,改變此參數可能使設備收到值的概率增加,但是同時延遲了收到數據的時間。
Use Concept data structures (Longs) / Use Concept data structures (Reals):勾上時驅動按照plc編程環境一樣的寄存器順序讀取占用多個寄存器地址的變量,反之按照默認的順序。
Bit order format:輸入PLC的位序格式
Register Order:PLC 寄存器寫入和讀取的順序,用于支持 64 位數據類型
有
R1 R2 R3 R4 (默認)
R2 R1 R4 R3
R3 R4 R1 R2
R4 R3 R2 R1
Register size (digits):寄存器位數,如 40001地址就是 5 。
其他參數可以默認。
(3)、在Device Group頁面右鍵【add】添加一個Topic ,名稱可以按照實際需要命名。
Update Interval是更新數據的時間周期。這個Topic之后填寫訪問名時會用到。
7)以Intouch為例,設置上位機訪問
OIserver驅動需要被動收到其他軟件的訪問才會有通訊
(1)、打開Intouch訪問名配置添加一個訪問名,此處是PLCsim。
三個參數:
節點名:驅動程序運行的計算機,如驅動和Intouch在同一臺計算機上,此處可以填 127.0.0.1 或者留空白。
應用程序名:驅動程序的進程名,OI.mbtcp.1驅動的進程名是 MBTCP
主題名:之前配置驅動時留的Topic名,此處是Topic1
(2)、打開Intouch標記名設置,如下圖,訪問名里選擇剛剛設置的訪問名,
項目(Item)可選擇填寫一個方便管理的字符串或者直接填入plc寄存器地址。
如果填入寄存器地址,則驅動Device Item頁留空,如果選擇填入一個方便管理的字符串,則Device Item頁為plc地址和此字符串的綁定表,如下圖。
[項目(I)填 tag1 ]
8)通訊調試
配置完成后右鍵啟動驅動
隨后啟動Intouch viewer
可以看到驅動調試界面的變化,在此處出現了Intouch對驅動的訪問,即主題名
點進去可以看到所有有訪問點的狀態,其中有一列為每個變量的通訊質量代碼【Quality/Result】。
3、注意事項
1)通訊地址后綴
常見Modicon PLC的寄存器地址后綴如下,其他情況請搜索驅動幫助文檔。
2)注意變量的合理分布
下圖Block I/O size里的四個參數,分別是一個Topic內離散和寄存器讀寫的最大數量,(此處參數正常配置是不需要修改的),實際應用中大致可以等效為:
離散量一個Topic內不超過 1500個,
整形變量不超過120個,
占2個寄存器地址的長型,浮點變量不超過 60 個,
以上變量混合在一個Topic里的時候需要進一步減少數量。
3)同一PLC變量較多時的處理方法
(1)PLC內的地址盡量“擠在一起”
如 40001和40003地址都占用,則 40002地址不要留空,當地址連續時,驅動會讓盡可能多的變量讀取寫在一條報文里,大大減少通訊報文的密度。
(2)分配給plc更多的連接
如下圖,一個TCPIP_PORT下可以增加多個 ModbusPLC Connection,
里面配置同一個PLC的IP地址,此時驅動也會分配更多線程處理這臺PLC的通訊,
比如 某PLC有10000個通訊變量,可以1000點一個Topic,建10個ModbusPLC Connection。
注意這種配置會增加PLC的網絡連接數,此時需要在硬件上增加網絡通訊模塊,可以在不影響CPU模塊的情況下加快通訊速度。