最近做个项目,需要PC机通过局域网读取多台威纶人机中的数据,于是找到了Nmodbus库。

环境:win10+vs2010 C#   Nmodbus下载:这里

step 1.将Nmodbus中的modbus作为一个类项目直接加载到我们自己的项目中,直接右键编译,会出错,因为它还关联了其它一些库。

step2 :将目录下tools复制到上面出错提示的路径,再次编译上面的类,编译成功。

step3:修改编译路径直接将动态库编译到自己项目的debug下面,并且在引用里添加它。

step4:在需要的CS头部添加using Modbus.Device;

step5:调用方法,这里我使用的modbus TCP/IP所以按以下调用。

ModbusIpMaster master;

master下面有很多函数可以通讯,针对不同的modbus控制指令。下面我按照master.WriteSingleRegiste写了个函数,直接可以写字符串,改变人机数据。

public void Writestringtosingleregister(byte slaveadress, string startadress, string data, string ip)
        {
            using (TcpClient client = new TcpClient(ip, 8000))
            {
                client.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true);
                master = ModbusIpMaster.CreateIp(client);
                ushort startadresstemp = ushort.Parse(startadress);//直接转成数据
                ushort datatemp = ushort.Parse(data);//转成ascii 字符
                master.WriteSingleRegister(slaveadress, startadresstemp, datatemp);
            }
        }

接下来完成所有的指令并测试,都可以成功。

Modbus之Nmodbus的下载和使用相关推荐

  1. 基于C#的Modbus的(NModbus)研究(DTS686电表)——实现TCP通信连接(二)

    上一篇说明了基于nmodbus的rtu的连接,本次来介绍一下TCP实现基于modbus的通信,毕竟以后tcp通过ip地址通信才能更简单.和上一篇差不多. 一.首先放出参考的有价值的NModbus网站 ...

  2. C#实现Modbus协议与PLC通信

    项目需要用C#写一个上位机,用Modbus/TCP协议与PLC通信,控制伺服电机的启停.转速等.D:\Code\C#\ConsoleApp1 1. 获取PLC的IP地址 待续... 2. " ...

  3. 基于STM32和W5500的Modbus TCP通讯

     在最近的一个项目中需要实现Modbus TCP通讯,而选用的硬件平台则是STM32F103和W5500,软件平台则选用IAR EWAR6.4来实现. 1.移植前的准备工作 为了实现Modbus ...

  4. 【VSPD虚拟串口】【Modbus Poll】【Modbus Slave】仿真工具的学习过程

    学习想法:通信是工控行业内采集仪器仪表等设备信息的重要途径,同时可以通过通信访问设备的工作状况对设备进行监控,也可以通过通信对设备进行参数修改以及控制设备运行,所以掌握通信是工控行业人员比不可少的技能 ...

  5. Modbus通讯协议(一)——测试工具ModbusPoll和ModbusSlave

    本文参考<Modbus测试工具ModbusPoll与Modbus Slave使用方法>,但与原文不同,截图使用的Modbus工具是从官网modbus tools下载的最新版本ModbusP ...

  6. Modbus学习总结

    一.介绍 Modbus 协议是应用于电子控制器上的一种通用语言.通过此协议,控制器相互之间.控制器经由网络(例如以太网)和其它设备之间可以通信.Modbus协议定义了一个控制器能认识使用的消息结构,而 ...

  7. MODBUS TCP 的应用和网络分层

    关于MODBUS - TCP协议,发现其在应用过程中很多人对其理解得五花八门,这里不妨再增加一门. 谈MODBUS TCP协议肯定要分层看,Modbus是应用层协议,其所依赖的网络层协议栈可以是TCP ...

  8. LabVIEW实现Modbus通信

    目录 1.Modbus库 1.1.线圈操作 1.1.1.读取线圈 1.1.2.写入单线圈 1.1.3.写入多线圈 1.2.保持寄存器操作 1.2.1.读取保持寄存器 1.2.2. 写入单个保持寄存器 ...

  9. Modbus转profinet网关连接Smart PLC与ABB变频器实现Modbus通信

    本案例讲述了modbus转profinet网关,在系统改造中把ABB变频器接入到Smart PLC的Profinet总线上,PLC不用编程实现Profinet转modbus的协议互转,并且SmartP ...

最新文章

  1. Asp.net的加密解密技巧--[转载]
  2. 失败在大学生活中的三种功能
  3. Android使用ViewPager实现左右循环滑动及轮播效果
  4. UVa 242 邮票和信封(完全背包)
  5. 55种网页常用小技巧
  6. 王超:奇虎360MongoDB
  7. Fast Matrix Factorization for Online Recommendation with Implicit Feedback论文代码分析
  8. QT_StepByStep(2)--滑动杆的实现
  9. c语言1E3是什么数据类型,C语言课件第2章数据类型和表达式.ppt
  10. Spring之AOP面向切面编程
  11. VMware vSphere Update Manager 5.0
  12. 后危机时代,DCS的新征程
  13. STVP烧录出现Verify failed at address 0x1000
  14. windows 7 64位 刷J-Link固件 无法识别成串口时 安装 sam-ba at91 usb to serial converter 驱动不成功的解决办法
  15. vue项目 webpack-dev-server 报错
  16. 人在深圳的100怕!——谨以此文献给所有的深圳打拼者
  17. 《大象--Thinking in UML》已经发售!简介及目录
  18. 如何用Scrum做变革管理的落地实施
  19. 1003. 我要通过!
  20. 魅族u20怎么刷Android,魅族魅蓝U20怎么刷机

热门文章

  1. 服务器监控管理工具大全
  2. Adobe Acrobat Pro DC 2022:专业高效的PDF阅读和编辑利器!
  3. MemSQL初体验 - 性能测试
  4. pytorch——基础
  5. week8—多线程下载多个网页文件
  6. Uart串口实验--TQ2440
  7. python服务器性能测试工具locust使用指南
  8. 写了一遍垃圾的CACTI安装使用参考
  9. linux 搭建webserver-Goahead
  10. numpy loadtxt错误ValueError: Wrong number of columns at line ***