C# ModBus Tcp客户端读取数据 完整Demo

简单介绍:

  项目上需要与多家公司做接口对接。我们提供接口的有,其他公司提供的接口也有。所有的接口全部对接完了,遇到一个非常棘手的问题,需要获取甲方船厂设备上的状态,就给了一个文档,文档上写了IP、端口、协议、一些地址,没有API文档,拿到手上一面懵逼,这怎么玩儿。。。。

文档如下:

 

百度百科:

  Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。

  看上去好像跟Socket差不多,本身又不是工业领域出身的,大概知道是一种工业领域通用的一套通信标准,下面直接上DEMO示例

第一步:下载类库

使用的类库已上传百度云盘:

链接:https://pan.baidu.com/s/1JtaGC0r17jjnQPMhkMKRJg
提取码:wagl

第二步:引入类库

 

第三步:引入命名空间

1 using HslCommunication.ModBus;
2 using HslCommunication;

第四步:初始化对象

1 初始化方式一、
2 private ModBusTcpClient busTcpClient = new ModBusTcpClient("192.168.1.195", 502, 0xFF);   // ip、端口、站号(默认为0xFF)
3 
4 初始化方式二、
5 private ModBusTcpClient busTcpClient = new ModBusTcpClient("192.168.1.195");   // 端口号502,站号0

第五步:开启连接

1 开启连接:
2 busTcpClient.ConnectServer();
3 
4 关闭连接:
5 busTcpClient.ConnectClose( );

第六步:读写操作

 1 private void userButton30_Click(object sender, EventArgs e)
 2 {
 3     // 读取操作
 4     bool coil100 = busTcpClient.ReadCoil("100").Content;   // 读取线圈100的通断
 5     short short100 = busTcpClient.ReadInt16("100").Content; // 读取寄存器100的short值
 6     ushort ushort100 = busTcpClient.ReadUInt16("100").Content; // 读取寄存器100的ushort值
 7     int int100 = busTcpClient.ReadInt32("100").Content;      // 读取寄存器100-101的int值
 8     uint uint100 = busTcpCli
  • 9
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值