一、如何替換西門(mén)子MODBUS庫
1、按Delete鍵删除程序中西門(mén)子Modbus庫指令
主站(zhàn):MBUS_CTRL、MBUS_MSG(端口0)、MBUS_CTRL_P1、MBUS_MSG_P1(端口1);
從(cóng)站(zhàn):MBUS_INIT、MBUS_SLAVE(端口0)。
下(xià)圖以主站(zhàn)程序爲例:
2、找到(dào)并點開(kāi)左側程序塊,找到(dào)西門(mén)子Modbus庫子程序(如實例程序中SBR1、SBR2、SBR3、INIT1),将這(zhè)些(xiē)子程序删除。
3、鼠标右鍵單擊程序塊,在彈出的菜單欄中選擇庫儲存區(qū),在彈出的庫存儲區(qū)窗口中找到(dào)西門(mén)子Modbus庫存儲區(qū),并删除。
4、将對(duì)應的Unimat Modbus庫指令拖到(dào)梯形圖中,設置好(hǎo)參數。
5、再次右鍵單擊程序塊,選擇打開(kāi)庫存儲區(qū),設置好(hǎo)庫存儲區(qū)範圍,點擊全部編譯,顯示無錯誤,Modbus庫替換成功。
二、MODBUS-RTU通訊測試
包含Modbus-RTU從(cóng)站(zhàn)指令庫的項目編譯、下(xià)載到(dào)CPU中後在編程計(jì)算(suàn)機(PG/PC)上(shàng)運行一些(xiē)Modbus測試軟件可以檢驗CPU的Modbus-RTU通訊是否正常,這(zhè)對(duì)查找故障點很(hěn)有用(yòng)。在運行之前,我們可以從(cóng)以下(xià)幾步進行軟件及硬件連接的檢查。
①主站(zhàn)與從(cóng)站(zhàn)的對(duì)應地址是否一緻。即:slave
②波特率、檢驗位及通訊速率設置是否相同。
③硬件外(wài)部通訊線是否有斷線、破損。
• 硬件連線
1、兩DB頭連接方式
如兩端都是DB9頭,我們可以使用(yòng)屏蔽線,按圖1方式連接。
圖一
2、端子與DB頭的連接方式
若是端子與DB頭連接,可按圖2方式連接。
圖二
3、電腦(nǎo)與設備的連接線
可以使用(yòng)USB轉485串口線将電腦(nǎo)與PLC或其他(tā)設備連接。
•軟件測試
在連接好(hǎo)設備後如出現(xiàn)通訊不上(shàng),或者通訊前的驗證,可以使用(yòng)測試軟件檢驗通訊是否正常,程序及參數有無錯誤。
(以Mbslave和(hé)mbpoll測試軟件爲例作(zuò)以檢測說明(míng))
1、PLC做從(cóng)站(zhàn)
(1)當使用(yòng)PLC作(zuò)爲從(cóng)站(zhàn),設置好(hǎo)相應站(zhàn)地址、波特率、檢驗方式等參數。
本例程是新版Modbus端口0從(cóng)站(zhàn)指令使用(yòng)例程,通信參數設置爲:從(cóng)站(zhàn)站(zhàn)号2,波特率9600,校驗位0,保持寄存器從(cóng)VW100開(kāi)始的1000個字。
(2)雙擊打開(kāi)Mbpoll軟件-----點擊Display——選擇數據類型——選擇PLC Address——點擊SETU——選擇Read/Write Definition——配置相應的參數——點擊确定
參數說明(míng):
A、SLAVE ID:從(cóng)站(zhàn)地址 2
B、function:數據類型及功能(néng) 4x
C、address:數據存儲地址起始地址 1(此處1相相當于40001)
D、quantity:地址數量 100
E、scan rate:掃面速率 1000
F、read/write enable:啓用(yòng)讀寫功能(néng)
G、Display:數據類型 HEX十六進制
(3)單擊菜單欄Connection——選擇connection——編輯相應參數
隻需配置的參數:選擇連接 Serial port 串行端口
選擇對(duì)應端口port3
配置相應的模式 RTU
波特率 9600
校驗位 無校驗
數據位 8
停止位 1
(4)輸入十六進制數,從(cóng)站(zhàn)PLC起始地址vw100起的後1000字,将被寫入相應的十六進制數值。(如第一位輸入16#23)
(5)PLC被寫入的值(第一位爲16#0023)
2、PLC做主站(zhàn)
(1)調用(yòng)主站(zhàn)指令程序塊,配置相應的參數。
本例程是新版Modbus端口0主站(zhàn)指令使用(yòng),通信參數設置爲波特率9600,校驗位0(無校驗),超時(shí)時(shí)間1000ms,每隔1S将主站(zhàn)Vw100到(dào)Vw118的數據發送到(dào)從(cóng)站(zhàn)的40001-40010。
(2)雙擊打開(kāi)Modbus slave軟件——點擊DISplay——選擇PLC address——選擇Binary(二進制)——打開(kāi)Setup設置Slave Definition參數(按照主站(zhàn),從(cóng)站(zhàn)地址爲2、modbus地址爲4x)
(3)單擊菜單欄Connection——選擇connection Setup——編輯相應參數
隻需配置的參數:選擇連接 Serial port 串行端口
選擇對(duì)應端口port3
配置相應的模式 RTU
波特率 9600
校驗位 無校驗
數據位 8
停止位 1
(4)輸入二進制數,從(cóng)站(zhàn)PLC起始地址vw100起的後10字,将被寫入相應的二進制數值。(如第一位輸入2#15)
(5)從(cóng)站(zhàn)被寫入的值(第一位怎是“1111”;第二位讀出主站(zhàn)“15”爲“1111”)
注意:此處的Port3是指将串口線插入電腦(nǎo)後顯示的端口号。如圖:
(打開(kāi)設備管理(lǐ)器,看(kàn)端口号是多少,則選擇相應的PORTx)