close
1.前言
許多數位儀表都支持Modbus通訊協定,它是工業領域通訊的標準,透過程式控制,可以遠端讀取並紀錄資料。
2.說明
有關Modbus通訊協定,可參考wiki的說明
https://en.wikipedia.org/wiki/Modbus
Modbus的driver可用NModbus,下載位置
http://www.icpdas.com/news/news_events/2010/2010100102_c.htm
下載NModBus原始版本NModbus_net-2.0_1.11.0.0-source
檔案解壓縮後,將bin下面的檔案複製到自己專案的bin目錄下
最新版程式碼下載位置:
http://code.google.com/p/nmodbus/
加入參考
FtdAdapter
log4net
Modbus
加入命名空間
using FtdAdapter; using Modbus.Data; using Modbus.Device; using Modbus.Utility;
Modbus TCP讀取數值方法
public double ModbusTcpMasterReadInputRegistersFromModbusSlave() { double tempValue = 0; // Port int port = 5000; // IP Address IPAddress address = new IPAddress(new byte[] { 192, 168, 1, 100 }); TcpClient masterTcpClient = new TcpClient(address.ToString(), port); try { ModbusIpMaster master = ModbusIpMaster.CreateIp(masterTcpClient); ushort numInputs = 1; ushort startAddress = 0; ushort[] inputs = master.ReadInputRegisters(startAddress, numInputs); tempValue = double.Parse(inputs[0].ToString()); masterTcpClient.Close(); } catch { masterTcpClient.Close(); } return tempValue; }
文章標籤
全站熱搜