S7-200CPU通信口的自由口模式实现Modbus通信协议.docVIP

S7-200CPU通信口的自由口模式实现Modbus通信协议.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在组态王里点击“com1”(根据你在前面已经定的com口而定),然后在右边的界面上显示你所建立的文件,然后对你编译的主画面点反键,然后在下拉菜单中点击“测试---”(你的文件名),再随便在选项里输入一个你编写的程序里的标志位,看能不能显示你的PLC内的当前值,如果可以显示,就应该是通信上了。通过?S7-200?CPU?通信口的自由口模式实现?Modbus?通信协议,可以通过无线数据电台等慢速通信设备传输。?这为组成?S7-200?之间的简单无线通信网络提供了便利。 详细情况请参考《S7-200系统手册》(2002?年?10?月或以后版本)的相应章节。 Modbus?是公开通信协议,其最简单的串行通信部分仅规定了在串行线路的基本数据传输格式,在?OSI?七层协议模型中只到?1,2?层。 Modbus?具有两种串行传输模式,ASCII?和?RTU。它们定义了数据如何打包、解码的不同方式。支持?Modbus?协议的设备一般都支持?RTU?格式。 通信双方必须同时支持上述模式中的一种。 Modbus?是一种单主站的主/从通信模式。Modbus?网络上只能有一个主站存在,主站在?Modbus?网络上没有地址,从站的地址范围为?0?-?247,其中?0?为广播地址,从站的实际地址范围为?1?-?247。? Modbus?通信标准协议可以通过各种传输方式传播,如?RS232C、RS485、光纤、无线电等。?在?S7-200?CPU?通信口上实现的是?RS485?半双工通信,使用的是?S7-200?的自由口功能。 Modbus?RTU?主站指令库(测试版) 西门子针对?S7-200?最新推出支持?Modbus?RTU?主站的协议库(测试版),用户可以将这个库添加到?Micro/WIN?软件中,并通过调用库指令,方便地实现?Modbus?RTU?主站的功能。 ?注意: 1.?Modbus?RTU?主站指令库的功能是通过在用户程序中调用预先编好的程序功能块实现的,该库只对?Port?0?口有效。该指令库将设置?Port?0?工作在自由口通信模式下。 2.?Modbus?RTU?主站指令库使用了一些用户中断功能,编其他程序时不能在用户程序中禁止中断。 使用?Modbus?RTU?主站指令库,可以读写?Modbus?RTU?从站的数字量、模拟量?I/O?以及保持寄存器。 要使用?Modbus?RTU?主站指令库,须遵循下列步骤: 取得?Modbus?RTU?主站指令库文件,并添加到编程软件?STEP?7-Micro/WIN?中;? 按照要求编写用户程序调用?Modubs?RTU?主站指令库。? ?注意:此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。 1.?调用?Modbus?RTU?主站初始化和控制子程序 使用?SM0.0?调用?MBUS_CTRL?完成主站的初始化,并启动其功能控制: 图?2.?用?SM0.0?调用?Modbus?RTU?主站初始化与控制子程序 各参数意义如下: a. EN 使能: 必须保证每一扫描周期都被使能(使用?SM0.0) b. Mode 模式: 为?1?时,使能?Modbus?协议功能;为?0?时恢复为系统?PPI?协议 c. Baud 波特率: 支持的通讯波特率为1200,2400,4800,9600,19200,38400,57600,115200。 d. Parity 校验: 校验方式选择 ? 0=无校验 1=奇较验 2=偶较验??? e. Timeout 超时: 主站等待从站响应的时间,以毫秒为单位,典型的设置值为?1000?毫秒(1?秒),允许设置的范围为?1?-?32767。 ? ?注意:?这个值必须设置足够大以保证从站有时间响应。 f. Done 完成位: 初始化完成,此位会自动置1。可以用该位启动?MBUS_MSG?读写操作(见例程) g. Error 初始化错误代码(只有在?Done?位为1时有效): ? 0=?无错误 1=?校验选择非法 2=?波特率选择非法 3=?模式选择非法 ? 2.?调用?Modbus?RTU?主站读写子程序MBUS_MSG,发送一个Modbus?请求; 图?3.?调用Modbus?RTU?主站读写子程序 各参数意义如下: a. EN 使能: 同一时刻只能有一个读写功能(即?MBUS_MSG)使能 ? ?注意:建议每一个读写功能(即?MBUS_MSG)都用上一个?MBUS_MSG?指令的?Done?完成位来激活,以保证所有读写指令循环进行(见例程)。 b. First 读写

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档