• C#操作modbus


    modbus使用范围广泛,广泛应用于各类仪表,PLC等。

    modbus的好处是免费,属于应用层协议,底层硬件基于485/以太网。

    modbus协议本质还是自定义协议。

    modbus调试软件:

    mthings:

    modbuspoll:

    主站/从站,客户端/服务端,其中主站相当于客户端,主动发送命令以获取数据,从站被动提供数据,相当于服务器端。

     其中03,06,10使用较多。

    modbus协议分类:

    modbus不是具体协议。

    其中,最常用的是ModbusRTU和ModbusTCP。

    仿真软件测试。

    需要安装以下软件:

     ModbusPollSetup64Bit.exe安装:

    点击安装即可:

    ModbusSlaveSetup64Bit.exe安装:

    vspdpro原版.exe安装:

     

     添加虚拟串口:

    模拟modbusRTU通讯:

    打开Modbus Slave:

    此时就模拟了一个从站了。

    模拟的从站信息。

    然后在模拟一个主站。

    使用Modbus Poll软件。

    该区默认是以寄存器为单位的,即对应一个地址为16位,还存在大小端问题,需要注意。

     modbus通讯成功。

     什么是报文,由若干个字节组成。

    使用C#操作modbus:

    安装nmodbus4依赖。

    使用kepserver作为主站读取从站数据(服务端)。

     

    然而使用该软件是ok的。 

    修改方法:

    kepserver端的方法:

    解决办法,删除设备后重新创建即可。

    或者直接删除通道重新开始,这里因为已经修改了通道的端口号,所以选择重新创建设备即可。

    该方法尝试后发现无用,还是删除通道后重新开始。

    在通道配置的时候记得配置该端口。 

    modbusTCP测试失败,改用modbusRTU进行测试。

    在配置kepserver之前进行。虚拟串口软件的配置。

    创建变量:

    保存并开启连接:

    通讯成功。

    即实现了modbusRTU转opcserver的功能。这里的opcserver为opc da。

    运行原理:此时kepserver软件具有2个身份,一个身份是作为modbusrtu主站,负责发送命令到从站以获取数据,发送命令的触发条件为开启opc client的时候,即只有在opc客户端去请求数据的时候,才会发生modbusRTU通讯。一个身份是作为opc da服务器端,负责将从modbusRTU获取的数据存入内部内存中,并对外发布服务。 

    注意:以上思维导图截图来自付工,感谢。对本人自研的工业数据采集及交互软件感兴趣的朋友可私信我,谢谢支持。

    目前支持的功能有如下:

  • 相关阅读:
    2022苹果AppStore应用商店上传与APP上传流程必看(基础篇)
    自学Python第十五天-爬虫解析工具 RE 、BS4 和 xpath
    Java 创建线程的三种方式
    AD教程 (十八)导入常见报错解决办法(unkonw pin及绿色报错等)
    Cobaltstrike —— shellcode分析(一)
    Linux 目录切换命令
    【tio-websocket】12、应用层包—Packet
    mysql误删误操作恢复数据,比传统方式和binlog2sql更快速用的恢复方式-reverse_sql恢复数据(单表多表)
    设计模式连环问,你能坚持到第几问?
    2024年06月在线IDE流行度最新排名
  • 原文地址:https://blog.csdn.net/qq_16284479/article/details/127777327