Advertisement

经过测试,MODBUS TCP C# 源码适用于信捷PLC。

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
我利用开发工具VS2008对信捷PLC进行了测试,目前基本可用。由于本人经验有限,所编写的代码仅供参考,欢迎各位提出宝贵的意见,请勿直接批评。该程序涉及的功能码包括:01读开关、05写开关、03读单路寄存器、06写单路寄存器以及10写多路寄存器。现分享给大家,恳请各位审阅,感谢您的支持。 此MODBUS类程序是我根据前人发布的版本进行的修改和完善。如果存在功能上的不足或存在缺陷之处,敬请告知,以便进一步改进。在测试过程中,我发现读取多位寄存器时,最多能够读取到8个寄存器的值;超过8个寄存器的请求时,第九个寄存器的读数会产生错误。例如,从第0位开始读取22个寄存器时:发送的数据是`03 00 00 00 00 06 62 03 00 00 00 16` ,接收到的数据是`03 00 00 00 06 2F 62 93 2C 49 A1 A4` 。然而,从第二行开始的数据又重复出现了 `\x93\x2C\x49\xA1\xA4` 的模式。我使用了信捷PLC进行测试,希望有经验的开发者能够指点迷津,帮助我找出问题所在。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • MODBUS TCP C# 代示例 —— 已PLC
    优质
    本资源提供了一系列经过验证的C#代码示例,专门用于通过MODBUS TCP协议与信捷PLC进行通信。包含详尽注释和实例,方便开发者快速上手集成。 使用VS2008开发工具,并已测试过信捷PLC,基本功能可用。本人水平有限,如有不足之处请提出宝贵意见,不要吝惜批评哦。 涉及的功能码包括: - 01:读取开关状态 - 05:写入开关状态 - 03:读取单个寄存器值 - 06:写入单个寄存器值 - 10:写入多个连续的寄存器 这是我基于前人发布的MODBUS类自己修改而来,如果有不足或者需要改进的地方请告诉我。在测试过程中发现一个问题,在尝试读取多位寄存器时最多只能成功读到8个寄存器;例如从第0位开始读22个寄存器: 发送请求为: `03 00 00 00 16` 接收回复却出现了异常,接收到的响应如下: ``` ... 第二行再次出现重复数据 ``` 使用的是信捷PLC设备,请有经验的朋友帮忙看看问题出在哪里。
  • MODBUS TCP C# —— 汇川PLC
    优质
    本项目提供一个经过验证的MODBUS TCP C#源代码库,特别优化以兼容汇川PLC设备。该实现简化了通过TCP协议与工业控制器的数据通信过程。 Modbus 是一种在工业领域广泛使用的通信协议,最初是基于串口通讯的。随着TCP/IP的发展,出现了基于TCP的Modbus版本。这里提供的是一个用C#编写的基于TCP的Modbus源码示例: 1. 读取 D0000 多个寄存器的数据: ``` 00 00 00 00 06 93 功能代码: 三 起始地址: (十六进制)D4(十进制212) 数量(N): (7 bytes, 十六进制为:7) PLC 回答: 长度(L): 0E 数据区(D): FF BB 数据值 00 FF FF AB CD 数据值 ``` 2. 写入 D0010单一寄存器的数据: ``` 请求: 功能代码: 六 起始地址: (十六进制)A(十进制10) 数量(N): 十六进制8, 即一个字节 数据值: 响应: 与读操作相同。 ``` 3. 复位、收板、送板和急停功能的请求示例: - 复位: `06 1F 06 0A 01` - 收板: `06 1F 06 0A 02` - 送板: `06 1F 06 0A 04` - 急停: `06 1F 06 0A FF` 4. 暂停和报警解除功能的请求示例: - 暂停:`06 1F 06 0A F8` - 报警解除:`06 1F 06 0A FC`
  • C# MODBUS TCP PLC
    优质
    这段内容提供了一个用于连接C#编程语言与Modbus TCP协议的信捷PLC设备的源代码示例。通过该源码,开发者可以实现数据读写等操作。适合有相关硬件和网络通信经验的技术人员参考使用。 使用VS2017开发工具测试过信捷PLC,功能基本可用。本人为初学者,代码由自己编写,请大家提出宝贵意见,不要吝啬批评。涉及的功能码包括:01 读开关、05 写开关、03 读单路寄存器、06 写单路寄存器和10 写多路寄存器。
  • Modbus TCP读写PLC的实例程序
    优质
    本资源提供了一个利用Modbus TCP协议读写信捷PLC的实际程序示例和完整源代码,便于学习与开发人员参考实现自动化控制系统的数据交换。 【亲测实用】ModbusTCP读写信捷PLC文件类型:程序源代码 主要功能: - 信捷PLC通信实例 - 使用ModbusTCP进行数据交换 适合人群: - 初学者及有一定经验的开发人员
  • C# MODBUS TCP 汇川PLC通讯
    优质
    本项目提供一套基于C#语言实现的MODBUS TCP通信程序,专门用于与汇川品牌的PLC设备进行数据交互。代码开源便于学习和二次开发。 【工控老马出品,必属精品,质量保证,亲测能用】 资源名:MODBUS TCP C# 汇川PLC通讯源码 资源类型:程序源代码 源码说明:modbus 是工业常用的通讯协议,原来是基于串口通讯的。后来随着TCP/IP的发展,出现了基于TCP的Modbus。这个源码是基于TCP的modbus用C#编写的。 适合人群:新手及有一定经验的开发人员
  • VB.NET、C#与PLCModbus-TCP
    优质
    本文档提供了详细的指南和示例代码,介绍如何使用VB.NET和C#编程语言实现与基于PLC的设备进行Modbus-TCP通信。通过学习本教程,开发者可以轻松掌握跨平台数据交换技术,优化自动化系统的性能和兼容性。 VB.NET 和 C# 与 PLC 通过 Modbus-TCP 进行通讯的代码示例;PC 可以使用 Modbus_TCP 协议稳定地与 PLC 进行数据交换。
  • PLCModbus
    优质
    本文介绍如何使用信捷品牌的可编程逻辑控制器(PLC)进行Modbus通信设置与调试,帮助读者掌握其在工业自动化控制系统中的应用。 信捷PLC通过Modbus on TCP与上位机进行通信,支持16位、32位读写以及多寄存器读写,并且提供C#源代码。
  • C++ TCP/IP与Modbus TCP/IP通
    优质
    本项目提供一套基于C++实现的TCP/IP及Modbus TCP/IP协议通信代码,适用于工控系统开发和网络设备互联。 TCP/IP网络通信(发送与接收),Modbus TCP/IP协议下的int、short、float数据寄存器读写功能的客户端示例代码及源码。
  • C++实现PLC Modbus的实例代
    优质
    本段落提供使用C++语言编写的具体代码示例,展示如何实现与信捷PLC设备通过Modbus协议进行数据交换的过程。适合希望深入了解该技术细节的技术人员参考学习。 【亲测实用】C++控制信捷XD3 PLC通信实例源代码文件类型:程序源代码 主要功能:通过C/C++语言利用串口与信捷XD3 PLC建立连接,实现Modbus协议发送控制命令。 适合人群:适用于新手及有一定经验的开发人员。
  • Modbus TCPTCP工具
    优质
    这款Modbus TCP与TCP通信测试工具旨在简化和优化工业设备间的通讯流程,提供高效、可靠的调试解决方案。通过它,用户可以轻松实现数据传输及错误排查功能。 标准Modbus TCP通信测试工具主要用于PLC Modbus TCP通信的客户端和服务器端测试环境,适用于西门子SMART S7-200 PLC。