杭州領祺智能網關、通信管理機可以使用MODBUS-TCP轉發與組態王軟件通信。
1. 我的支持 modbus 協議的串口設備,能否與多個上位軟件(比如組態王軟件和某品牌觸摸屏)同時通訊?
modbus 串口協議不支持多主站, modbus 設備一般不能與多個軟件同時通信。 需要領祺通訊管理機,支持轉發到多個上位系統。
2. 在組態王工程中建立多個 modbusTCP/IPserver 設備定義,分別使用兩臺客戶端對其訪問,只有站點高的那個 server 通訊 ok,站點低的通訊失敗,為什么?
這是因為在組態王軟件中只支持建立一個 modbusTCP/IP server,當建立多個 server時,組態王客戶端則會自動與站點高的server進行通訊,所以會導致站點低的通訊失敗。
3. 如何實現組態王數據通過串口或者以太網驅動方式傳送到其他組態軟件或者應用程序中?
可以領祺通過通訊管理機采集組態王的數據,再轉發給任意網絡上可訪問的其他組態軟件或系統。
如果沒有網絡環境,其他組態軟件或者應用程序支持 modbus 協議,也可以通過組態王提供的 Mod RTU server 或者 modbus TCPserver 驅動來實現。
4 組態王與支持 Modbus協議的設備進行通訊時, 組態王畫面上顯示的數據不正確常有哪些原因?
引起數據不正確的原因主要有如下幾點:
1)組態王中定義的寄存器地址跟實際設備不一致導致。比如某些使用 modbus 協議通訊的設備的數據地址是從 0 開始的,而組態王 modbus 協議驅動寄存器地址是從 1 開
始的,所以遇到此種情況時在組態王中定義變量時,寄存器地址要進行加1 處理;
2)數據詞典中最大原始值和最大值定義不不當;比如最大原始值和最大值不一樣會導致畫面看到的數據和實際設備不一致;
3)組態王讀取 FLOAT 和 LONG 類型的數據時,沒有使用提供的 SwapF 和 SwapL寄存器來調整FLOAT 型和 LONG型數據的字節順序;
4)LONG 或 FLOAT 型的雙字的數據,沒有按照間隔隔地址方式定義;因為 modbus協議所對應的參數地址一般按照字為基本單位進行分地址排序的。
5. 組態王與西門子 200plc自由口協議通過modem 通訊,硬件接線怎樣實現?
領祺物聯網網關可以連接組態王和各種不同廠商的PLC,并把不同PLC中的點位數據在網關內組合計算,結果送到組態王。
設備上插標準 PPI 電纜,modem9 針口通過一個標準 232 交叉線接到 PPI 電纜上即可,232交叉線的 modem側需要 1 4 6 短接,7 和 8 短接。
6. 西門子200plc通過modbus協議與組態王通訊時, 組態王中定義的寄存器地址與plc地址是如何對應的?
映射關系如下:
0-Q,1-I,3、4、8、9-V;
3,4,8,9的 dd 號與 PLC中 V寄存器的偏移地址(實際地址-1000)的對應關系:
組態王中(寄存器的dd 號-1)*2=PLC中的 V寄存器的偏移地址。組態王中 40031
對應 PLC:VW1060 (組態王中寄存器 4 表示SHORT 型變量)組態王中 90640 對應 PLC:
VD2278 (組態王中寄存器9 表示 FLOAT型變量)。
注:上面的對應關系是針對用戶使用的是亞控公司提供了PLC(MODBUS)通訊的初始化程序,如果用戶是自己編程寫的初始化程序,則根據實際程序規定的 modbus 對應地址定義變量。
7. 西門子 200plc通過 modbus協議與組態王通訊,需要注意哪些事項?
需要注意如下幾點:
1)需要向 PLC中下載對應的初始化程序(KVmoddbus.mwp),由亞控提供。此程序默認的 plc 通訊端口為 port0,地址為 2,波特率 9600,無校驗(地址和波特率可由程
SBR0 中的 VB8,SMB30 進行修改);
2)由于 PLCModbus 協議程序占用 V1000及以前的地址,所以用戶在編寫邏輯控制程序中用到的寄存器不能和亞控提供的協議中所占用的 V區地址沖突;
3)西門子 S7200PLC 和通過 modbus 協議和組態王通訊時,CPU上的開關必須撥在RUN狀態,否則 PLC中的 modbus 通訊程序沒有處于運行狀態,組態王和設備通過自由
口協議肯定通訊失??;
8. 西門子 200plc通過 GPRS鏈路和組態王通訊,使用哪種協議方式比較好?
推薦使用自由口/modbusRTu協議。
ppi 協議實際上也支持通過GPRS 鏈路和組態王通訊,但由于PPI 協議的特殊性,GPRS方式下通訊效果不是很好,因此不推薦客戶使用。
10. 組態王提供的 ModbusRTUServer 和 ModbusRTU驅動的寄存器是怎樣對應的?
ModbusRTUServer 的B寄存器對應ModbusRTU的 0 寄存器;
ModbusRTUServer 的R寄存器對應ModbusRTU的 4 寄存器。