




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于modbus协议的pc机与s7200plc的串行通信 第3期(总第148期)xx年6月机械工程与自动化M ECHANICALEN GINEERING&AU TOMATIONNo.3Jun.:1672-6413 (xx)03-0085-03基于Modbus协议的PC机与S7-200PLC的串行通信章程,程文明,肖建军(西南交通大学机械工程学院,四川成都610031)摘要:介绍了Modbus协议并讨论了遵守Modbus RTU协议的传输数据的CRC算法验证的实现。 结合西门子S7-200PLC的特点给出了利用Visual Basic中的MSComm控件实现基于该协议的计算机与可编程控制器串行通信的方法。 关键词:PLC;串行通信;Modbus协议:T P274:A:xx-09-30;修回日期:xx-01-11作者简介:章程(1982-),男,湖南岳阳人,硕士研究生,研究方向:机电智能控制。 0引言在工业控制领域中,PLC作为一种稳定可靠的控制器得到了广泛的应用。 但它也有一些自身的缺点:数据的计算处理和管理能力较弱,不能给用户提供良好的界面等。 而计算机恰好能弥补PLC的不足,它不但有很强的数据处理和管理能力,而且能给用户提供非常美观而又易于操作的界面。 将PLC与计算机结合,可使系统既能及时地采集、存储数据,又可处理和使用好数据,这是PLC发展和应用的一个热点问题。 计算机与PLC结合的关键是它们之间通信功能的实现,本文主要介绍如何利用Visual Basic的MSComm控件和Modbus协议来轻松地实现计算机与PLC之间的串行通信。 1S7-200系列PLC的通信协议1西门子S7-200系列PLC是一种小型整体结构形式的PLC,内部集成的PPI接口为用户提供了强大的通信功能,根据不同的协议,通过此接口与不同的设备进行通信或组成网络。 S7-200PLC支持多种通信协议,比如点到点(point-to-point)接口协议(PPI)、多点(Multi-Point)接口协议(MPI)、Profibus协议、用户定义的协议(自由端口模式)。 而大多数用户选用的是对用户完全开放的自由端口模式。 在自由端口模式,计算机与S7-200之间可以用以下的方法来通信:使用Modbus从站协议;使用用户自定义的协议(自由端口模式)。 自由端口模式为计算机或其它有串行通信接口的设备与S7-200PLC之间的通信提供了一种廉价和灵活的方法。 计算机与PLC通信时,为了避免通信中各方争用通信线,一般采用主从方式,即计算机为主机,PLC为从机,只有主机才有权主动发送请求报文(Request message,或称为请求帧),从机收到后返回响应报文。 2Modbus协议简介2,3Modbus自1979年被MODICON公司开发以来,作为一种网络通信协议,它在工业自动化领域被广为应用。 Modbus协议可以使用RS-232C兼容串行接口作为物理接口,方便实现基于数/模控制的仪表等终端设备的控制。 Modbus协议详细定义了校验码、数据序列等,这些都是特定数据交换的必要内容。 Modbus协议在一根通信线上使用主从应答式连接(半双工),这意味着在一根单独的通信线上信号沿着相反的两个方向传输。 首先,主计算机的指令信号寻址到一台惟一的终端设备(从机),然后,终端设备发出的应答信号以相反的方向传输给主机。 另外,Modbus协议只允许在主机(PC,PLC等)和终端设备之间通信,而不允许独立的终端设备之间的数据交换,这样各终端设备不会在它们初始化时占据通信线路,而仅限于响应到达本机的查询信号。 Modbus协议有ASCII和RTU两种传输模式。 其中,RTU模式信息帧中的8位数据包括两个4位十六进制字符,相对ASCII模式,RTU模式表达相同的信息需要较少的位数,在相同通信速率下具有更大的数据流量,因此通常情况下都是采用RTU模式的Modbus协议。 RTU通信帧的基本结构见图1。 遵循Modbus RTU协议的主机终端控制系统在运行过程中,相互之间经常需要进行数据传输,为了保证数据在传送过程中正确无误,必须引入某种差错检查机制对数据信息进行检验,以检测是否有数据传送错误。 通常是使用检验码的方法来检测数据是否出错,而CRC就是常用的一种检验码。 Modbus中生成CRC的步骤为:预置一个16位寄存器为十六进制数FFFF(全为1),该寄存器称为CRC寄存器;把第一个8位数据与16位CRC寄存器的低8位相异或,将结果放于CRC寄存器中;把寄存器的内容右移一位(向最低位LSB方向),用0填补最高位MSB,并检查最低位;如果最低位LSB为0,重复步骤(再次移位),如果最低位LSB为1,CRC寄存器与多项式码A001Hex (1010000000000001)进行异或;重复步骤和,直到右移8次,这样整个8位数据全部进行了处理;重复步骤到,进行下一个8位数据的处理,直到所有的字节被处理;最后得到的CRC寄存器内容即为CRC码。 站地址功能码数据1数据n CRC低字节CRC高字节图1RTU通信帧的基本结构必须注意,当CRC寄存器值被置入消息时,它的高位字节和低位字节必须交换。 当16位CRC(两个8位字节)在消息中被传送,低位字节将先被传送,随后传送高位字节。 3上位机通信程序设计VB中的MSComm控件实用性强、功能完善,为应用程序提供了通过串行接口收发数据的简便方法。 MSComm控件提供两种处理通信的方式:一种是事件驱动方式,另一种是查询方式。 事件驱动方式是处理串行端口交互作用的一种非常有效的方法,许多情况下在事件发生时需要得到通知。 例如,在有字符到达或发生变化时,不管是发生通信事件或错误,程序都可以利用MSComm控件检测并处理。 事件驱动方式的优点是程序响应及时、可靠性高;缺点是每个MSComm控件对应着一个串行端口,如果应用程序需要访问多个串行端口,必须使用多个MSComm控件。 另一种是查询方式,这种方式实质上还是事件驱动,在程序的每个关键功能之后可以通过检查CommmEvent属性的值来查询事件和错误,如果应用程序较小且是自保持的,这种方法可能更为可取。 下面是用VB编制的串口及通信参数初始化程序:Private SubForm-Load()With Msm1.CommPort=1.settings=19200,n,8,1.InputMode=InputModeBinary.RThreshold=1.InputLen=0.OutBufferCount=0.InBufferCout=0End WithIfNot M SComm1.PortOpen ThenMSComm1.PortOpen=TrueEnd IfEndSub上位机通信窗口界面见图2,PC机发送数据和接收数据的程序框图分别见图3和图4。 图2上位机通信窗口界面图3PC机发送数据框图图4PC机接收数据框图4PLC通信程序设计PLC通信程序遵循Modbus协议,采用模块化的子程序结构,即整体功能由多个功能相对独立的子功86机械工程与自动化xx年第3期能组合实现,每个子功能由若干个任务单一的子程序构成。 PLC通信程序框图见图5。 图5PLC通信程序框图在S7-200的程序中使用Modbus从站协议指令的编程步骤如下:在用户程序中调用Modbus从站指令;为Modbus从站协议指令分配库内存;处理Modbus协议与PPI协议的切换。 图6是Modbus从站协议指令的梯形图。 在该梯形图中,Mode(模式)输入值用来选择通信协议:数值1将端口0指定给Modbus协议,并启用协议;Addr设置站地址的值;Baud(波特率)可以设为 1200、 2400、 4800、 9600、 19200、 38400、57600或115200;Parity(奇偶校验)与Modbus主设备的奇偶校验方式相同;Delay(延迟)参数以ms为单位,在有线网络上该参数的典型值应为0;Max IQ指定Modbus主设备可以使用的I/Q的点数;Max AI指定Modbus主设备可以使用的模拟量输入字的个数;Max Hold指定主设备可以访问的保持寄存器的最大个数;HoldStart用来设置保持寄存器的起始地址。 5结束语Modbus通信协议是工业自动化控制系统中一种重要的通信协议,其应用将越来越广泛。 本文给出的基于Modbus通信协议的串行通信设计已得到了较好的应用。 实际运行情况表明,通过采用Modbus通信协议的串行通信,保证了通信数据的安全、可靠和稳定。 图6Modbus从站协议指令参考文献:1廖常初.PLC编程及应用M.北京:机械工业出版社,xx.2冯向科,邓莹.基于M ODBUS RTU通信协议下的CRC算法实现J.电脑知识与技术,xx (8):43.3孟开元.Modbus通信协议中CRC校验的快速C语言算法J.福建电脑,xx (11):63-64.4丁莉君,吴晓君.V B6.0下S7-200PLC与PC机的串行通信J.制造业自动化,xx (1):84-86.5李喜东,刘波涛,刘刚.Modbus RTU串行通讯协议在工业现场的应用J.自动化技术与应用,xx (7):37-40.6张传伟,王昀睿.V B下PLC与PC串口通信的实现J.组合机床与自动化加工技术,xx (12):62-63.Serial Communicationbetween PCand S7-200PLCBased onModbus ProtocolZHANGCheng,CHENG Wen-ming,XIAO Jian-jun(School ofMechanical Engineering,Southwest JiaotongUniv ersity,Chengdu610031,China)Abstract:This paperintroduced Modbus Protocol,and discussedthe applicationof CRCalgorithm indata transmission,whichabided byMODBUS RTUProtocol.Aording tothe characteristicsof Siem
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江北区诚信技术咨询方案
- 数字孪生技术在2025年智能工厂生产效率提升中的应用报告
- 青海水下切割施工方案
- 储煤仓防腐施工方案案例
- 数字医疗行业在2025年全球市场的创新技术应用分析报告
- 建筑方案设计招标流程步骤
- 辽阳深基坑支护施工方案
- 电焊工作安全培训课件
- 基于大数据的网红打卡地精准推广实施策略方案
- 测绘师教材课件
- 妇产科课件-子宫内膜息肉临床诊疗路径(2022版)解读
- 厂房建设工程投标方案(技术方案)
- 《大学语文》-《梦狼》
- 非常规时段施工安全管理方案
- 医院感染管理制度与职责
- 《药棒穴位按摩》课件
- 全国职工数字化应用技术技能大赛理论练习试题附答案(二)
- 中建盘扣式落地卸料平台施工方案
- 手机屏幕基础知识课件
- 管理学(第二版)邢以群PPT全套课件
- 外研版英语九年级上册教学计划
评论
0/150
提交评论