PLC通过MODBUS协议和ABB变频器通信.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  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文档。上传文档
查看更多
PLC通过MODBUS协议和ABB变频器通信

PLC通过MODBUS协议与ABB变频器通信 摘要:本文通过西门子公司的s7-200 plc与abb公司acs510变频器组成的某定量添加控制系统实例对modbus协议实际应用进行了介绍。 关键词:modbus plc 变频器 中图分类号:tp273 文献标识码:a 文章编号:1007-9416(2012)02-0072-02 1、引言 modbus作为一种简单易用的通讯协议已经越来越多的应用在各类仪器仪表中,下面笔者以西门子公司的s7200plc通过自由口与abb公司的acs510变频器使用modbus协议进行通信为例,对modbus通讯的应用进行叙述,以期达到抛砖引玉的效果。 2、硬件配置 图1给出了simatic s7-200cpu与四台abb acs510变频器构成的modbus网络。s7-200cpu为主工作站。变频器1、变频器2,变频器3和变频器4为从工作站。设置变频器的通讯协议参数9802均为1,即变频器通过rs485串行通讯口和modbus总线相连。设置通讯速率参数5303为19.2kb/s。设置校验方式参数5304为偶校验,1个停止位。设置控制类型参数5305为 abb传动简版。从左到右变频器1、2、3和4的站地址参数5302分别设置为3、4,5和6,并将变频器4的总线终端电阻dip开关置on。在对变频器以上参数设置完成后应对传动重新上电激活,使新地址及通讯协议生效。 变频器控制要求: 变频器分现场和远程两种控制模式,现场控制柜设置三位置模式选择开关,分别为停止、本控和远程。在本控模式下启动/停止命令由现场开关触发数字输入di1控制,频率由现场的电位器改变模拟输入ai1的输入电压进行调节。当选择远程模式时,数字输入di2接通,通知plc现变频器已经处于远程控制模式。为能够实现以上功能并在人机界面能够观察到变频器的运行频率和通过模拟输入ai2输入的实际流量,还需要对变频器其他部分参数进行设置,见表1。 3、程序设计 3.1 通讯内容 主工作站轮流发送请求报文到每个变频器从工作站,随之每个从工作站产生响应报文。plc主工作站分别对每个变频器从工作站进行如下操作: (1)对每个变频器的输出线圈1~3的状态进行查询; (2)查询变频器状态寄存器40004状态字、40005实际值、40006实际值和40007实际值。40005~40007数据值对应于表1中变频器参数5310、5311和5312中的实际值。 (3)写变频器控制字,对变频器的远程启停进行控制。 (4)写变频器寄存器,对变频器的外部2给定进行控制。 对一个变频器的数据全部读写完成后,开始对下一站号变频器的数据进行读写。当所有变频器的数据读写完成后,主工作站重新开始对最小站号变频器的数据进行读写。数据的传输及接受采用plc自由通讯口模式进行,报文按照modbus的协议组织。 3.2 通讯格式 modbus请求报文格式如表2。 因在s7-200plc发送指令xmt中,发送缓冲器的第一个字节指定的是数据传输的字节数,从第二个字节以后的数据为需要发送的数据。因此,结合modbus请求报文格式,plc发送数据的格式如表3。 在整个网络通信过程中,主工作站轮流发送请求报文到每个从工作站,随之每个从工作站必须产生响应报文返回到主工作站。当主工作站向从工作站发送请求报文和接受从工作站返回的响应报文时,在主工作站储存区开辟了发送缓冲区和接受缓冲区。主工作站向从工作站发送请求报文时,首先对相应从工作站输出缓冲区的数据进行crc运算生成校验码,并将校验码叠加在输出缓冲区的数据之后再传送到发送缓冲区,然后再由发送指令发出。建立一个远程循环结束标志位,当响应报文全部接受完成,置该位为on。主工作站在接受从工作站的响应报文时,先把响应报文输入到接受缓冲区,再把接受缓冲区中的数据传送到输入缓冲区。为此,在主工作站中要留有两个数据存储区,一个作为报文请求(输出缓冲区),另一个作为报文响应(输入缓冲区)。 在modbus rtu通讯协议中都必须要求有crc循环冗余校验。crc循环冗余校验为两个字节,附加在报文后面的crc的值由发送设备计算,当放置crc 值于报文时,高低字节必须交换。首先发送低位字节,然后再发送高位字节。故此在发送缓冲区中的数据要比输出缓冲区的数据多两个crc循环冗余校验字节。接收设备在接收报文时重新计算crc的值,并将计算结果于实际接收到的crc值相比较。如果两个值不相等,则传送的数据为错误。 3.3 程序描述 sbr0子程序:在plc上电初始化阶段,设置通讯口为自由口通信方式,并设置波特率及校验方式,允许全部中断时件,并设置定时中断的时基为20毫秒。在这里设置波特率为19.2kb/s,偶校验,每字符8个数据。注意必须与从工作站的通讯参数相同。为输出和输入缓冲区的数据

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档