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