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