《UDP MODBUS_实现主从n对1》.doc

  1. 1、本文档共96页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MODBUS_UDP_AVR实现主从n对1 /* 以前MODBUS协议只允许主机与从机1:n方式通信,后来要求多台主机与从机n:1方式通信,想用CANBUS,最近试了下W5100,想用一下以太网,这样可以利用网络资源,发现是可行的,原理如下: 每台主机通过UDP方式发MODBUS命令给从机,从机通过解读数据帧的前六个字节,访问者IP在前4个字节,port在第5、第6个字节,分别回应访问者。就实现了主机与从机n:1方式通信。 特别声明:modbus来自微控电子 微控电子 编译器:winavr2005 单片机ATMEGA16 接口:UDP 上位机:参考了雅猫搜腥的程序,不过由VB改成了C++BUILDER6, 串口组件MSCOMM改成了串口类cnCOMM由Iibird提供,SOCKET由API实现。 上位机暂时不公布。各位可以用TCPUDP测试工具调试; 在这里详细的注解了MODBUS。 锤子 2012-12-17 系统功能图: WINAVR2005工程: 上位机调试图 用TCPIP测试工具: 自编工具:C++BUILDER6 */ ****************************************************************************** * @file W5100.c * 本文件包括5个部分: * 1. W5100初始化 * 2. W5100的Socket初始化 * 3. Socket连接 * 如果Socket设置为TCP服务器模式,则调用Socket_Listen()函数,W5100处于侦听状态,直到远程客户端与它连接。 * 如果Socket设置为TCP客户端模式,则调用Socket_Connect()函数, * 每调用一次Socket_Connect(s)函数,产生一次连接, * 如果连接不成功,则产生超时中断,然后可以再调用该函数进行连接。 * 如果Socket设置为UDP模式,则调用Socket_UDP函数 * 4. Socket数据接收和发送 * 5. W5100中断处理 * * 置W5100为服务器模式的调用过程:W5100_Init()--Socket_Init(s)--Socket_Listen(s),设置过程即完成,等待客户端的连接。 * 置W5100为客户端模式的调用过程:W5100_Init()--Socket_Init(s)--Socket_Connect(s),设置过程即完成,并与远程服务器连接。 * 置W5100为UDP模式的调用过程: W5100_Init()--Socket_Init(s)--Socket_UDP(s),设置过程即完成,可以与远程主机UDP通信。 * * W5100产生的连接成功、终止连接、接收数据、发送数据、超时等事件,都可以从中断状态中获得。 ****************************************************************************** */ /* 000042-Tx:01 03 00 30 00 10 44 09 000043-Rx:01 03 20 00 00 40 88 00 00 40 88 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B2 0A 000044-Tx:01 03 00 30 00 10 44 09 000045-Rx:01 03 20 99 9A 40 D9 99 9A 40 D9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 87 95 */ //#includeW5100.h /* 定义W5100的寄存器地址、状态 */ //#includeREG51.h #include avr/io.h #include avr/interrupt.h #include avr/signal.h #include MODBUS\in

文档评论(0)

ghfa + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档