




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PLC通过MODBUS协议与ABB变频器通信摘要:本文通过西门子公司的s7-200 plc与abb公司acs510变频器组成的某定量添加控制系统实例对modbus协议实际应用进行了介绍。关键词:modbus plc 变频器中图分类号:tp273文献标识码:a文章编号:1007-9416(2012)02-0072-021、引言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)对每个变频器的输出线圈13的状态进行查询;(2)查询变频器状态寄存器40004状态字、40005实际值、40006实际值和40007实际值。4000540007数据值对应于表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个数据。注意必须与从工作站的通讯参数相同。为输出和输入缓冲区的数据地址建立间接寻址指针。并设置请求报文的剩余数目为4,设置从工作站的查询剩余数目为4。将输出缓冲区指针中指出的地址为起始地址的12个字节通过块传送命令传送到发送缓冲区单元中。并复位远程循环结束标志位。对发送缓冲区中的报文进行运算生成crc,交换crc 寄存器中的高低字节,并将交换完成的crc 寄存器叠加到发送缓冲区中。启动定时中断和发送中断,并通过发送指令将发送缓冲区中的请求报文发送。建立跳转入口,标号1。若循环未结束,跳转到标号1。程序不向下执行,直至远程循环结束,标志位为on。远程i/o更新完成,将接受的报文通过块传送命令传送到接受缓冲区指针指出的接受缓冲区中。修改发送缓冲区和接受缓冲区指针值,指向下一个输出和输入缓冲区字节地址。将请求报文的剩余数目减1。当请求报文的剩余数目为零时,重新设置请求报文的剩余数目为4,将从工作站的查询剩余数目减1。当工作站的查询剩余数目为零时,重新设置从工作站的查询剩余数目为4,为输出和输入缓冲区的数据地址重新建立间接寻址指针。int_0中断程序:在接受报文超时情况下,禁止接受中断和接受定时中断,置远程循环结束标志位为on。int_1中断程序:在发送超时情况下禁止发送中断和发送定时中断,置plc为stop模式。int_10中断程序:禁止发送完成中断,启动接受定时中断int_0和接受数据中断程序int_11。int_11中断程序:若接受的首字符(从工作站地址)为从工作站的正确地址,则建立一个接受字符的地址指针。并把接受到的字符装入到接受字符指针指出地址中。增加指针的数值,指向下一个地址。并启动中断程序int_12。int_12中断程序:把接受到的第二个字符(功能码)装入到接受字符指针指出地址中,增加指针的数值,指向下一个地址。启动中断程序int_13。int_13中断程序:把收到的第三个字符(字节数)装入到接受字符指针指出地址中,并修改指针值。第三个字符为接受的不含crc校验码字符的总数目,剩余接受字符数目为将字节数加2,若反馈的功能码为十六进制数0f,全部剩余字符数目为5。将全部剩余字符数目置入到累加器ac1中,当累加器ac1为零时,接收字符也就完成。启动中断程序int_14。int_14中断程序:将接受到的字符装入接受字符指针指出地址中,并修改地址指针值和将将累加器ac1数值减一。若累加器ac1的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025家政服务员合同模板
- 2025年小升初数学(新初一)重点校分班考试检测卷(含答案)
- 2025-2026学年人教版六年级数学上册第一单元分数乘法应用题训练【含答案】
- 2025物业清洁服务合同模板
- 2025汽车买卖的合同协议
- 2025年7月全科医学导论模考试题含参考答案0
- 2025年广东省广州市中考数学试卷(含答案与解析)
- 2025销售代表薪酬协议合同模板
- 2025年垃圾分拣装备项目建议书
- 2025年高考语文试题分类汇编:语言文字运用原卷+解析
- 2025-2026学年北师大版小学数学六年级上册教学计划及进度表
- 2024-2025学年度辽宁现代服务职业技术学院单招《语文》检测卷有完整答案详解
- 语文开学第一课课件2025-2026学年统编版语文七年级上册
- 2025年宁夏中考数学试卷试题真题(含答案详解)
- 单位保安执勤方案(3篇)
- 二三轮车安全知识培训课件
- 2025云南咖啡购销合同范本
- 中职导游业务课件
- 园区卫生清洁管理办法
- 秋季养生课件中医
- 申报书范例《毛泽东思想和中国特色社会主义理论体系概论》在线课程申报书课件
评论
0/150
提交评论