1、使用Modbus模擬器進行調試
如果對方是Modbus子站(從站),那么用Modscan32(Modbus主站模擬器)進行調試,通常儀表、流量計、液位計、plc都是作為Modbus從站提供數據。使用方法如圖3、4所示。
如果對方是Modbus主站,我們作為Modbus從站,我們可以用ModSim32(Modbus從站模擬器)與對方主站通訊。使用方法如圖5:
如果這一步通不上,可能是以下幾種原因:
A線路不通,如果是以太網,請PING一下對方的IP地址,如果是串口請檢查串口接線是否正確,接線方式見串口接線方式;
B串口參數不正確,通訊雙方串口參數必須完全一樣,否則調不通的。串口參數可以查閱設備說明書或咨詢對方廠商,千萬不要去猜串口參數,猜中的可能性比中六合彩的可能性還低一半,串口波特率、數據位、停止位、校驗位有96種組合,猜不中也試不完,最省時省力方法就是看說明書或咨詢對方廠商。
C設備地址或數據點表不正確。
如果通訊軟件或模擬器提示“超時”,請將串口超時時間設大一些(3000——5000毫秒)。
2、使用Modbus通訊軟件調試
上一步調通后,再用我們的Modbus通訊軟件調試,如果我們的軟件調不通,通常最大可能性是配置錯誤,尤其是使用配置文件的通訊軟件,經常會出現以下幾種錯誤:
ldcs服務器參數不正確;
l配置文件中實際配置的點名與POINTNUM=后面的點數不一致;
l點沒有按順配置
3、檢查通信點值是否正確中間POINT4至POINT8沒有配置,既使這些點不用,也要將點名寫成一個DCS數據庫不存在點名,不能空著不寫。
如果能讀到數據,但數值不正確,通常有兩種可能:
l數據起始地址錯誤。如果對方給的點表是400001開發,地址中的“4”表示要使用3號功能讀數據,1表示第一個寄存器,那么對應的地址是從0開始的,也就是說這個點的地址為0,在配置文件中起始地址寫0,寫400001、400000、1都是錯的。如果對方給的點表是400000或0開始,那么他給的就是地址,不是寄存器號,就不需要再減1了。如果是HOLLiASCommV2.0.0軟件,這個軟件會自動減1,只需要的填寫寄存器號就行,其它的使用配置文件的(.ini文件)Modbus軟件都是需要減1的。
l數據類型不正確。通訊軟件安裝后,在安裝目錄下都會有說明書,請仔細閱讀使用說明書,Modbus軟件說明書都會說明浮點數字節順序,因為浮點數有四個字節,通常都是高字節在前、低字節在后,但由于PLC內部字節存儲順序與PC機不一樣,或者有些廠商就是不走尋常路,字節順序會出現各種組合,請按說明書選擇數據類型。如果不會選或看不懂,最簡單的辦法就是配置四個點,每個點都選擇一種不同的類型,總有一個點的數值是正確的,那么就選擇這種類型。