欢迎来到天天文库
浏览记录
ID:5277043
大小:154.96 KB
页数:3页
时间:2017-12-07
《基于modbus协议pc机与s7—200plc串行通信》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、维普资讯http://www.cqvip.com学兔兔www.xuetutu.com第3期(总第148期)机械工程与自动化No.32008年6月MECHANICALENGINEERING&AUTOMATIONJun.文章编号:1672—6413(2OO8)O3一OO85一O3基于Modbus协议的PC机与S7—200PLC的串行通信章程,程文明,肖建军(西南交通大学机械2I.程学院,四川成都610031)摘要:介绍了Modbus协议并讨论了遵守ModbusRTU协议的传输数据的CRC算法验证的实现。结合西门子S7—200PLC的特点给出了利用VisualBas
2、ic中的MSComm控件实现基于该协议的计算机与可编程控制器串行通信的方法。关键词:PLC;串行通信;Modbus协议中图分类号:TP274文献标识码:A0引言方争用通信线,一般采用主从方式,即计算机为主机,在工业控制领域中,PIC作为一种稳定可靠的控PIc为从机,只有主机才有权主动发送请求报文制器得到了广泛的应用。但它也有一些自身的缺点:数(Requestmessage,或称为请求帧),从机收到后返回据的计算处理和管理能力较弱,不能给用户提供良好响应报文。的界面等。而计算机恰好能弥补PIC的不足,它不但2Modbus协议简介[2.33有很强的数据处理和管理能
3、力,而且能给用户提供非Modbus自1979年被MODICON公司开发以来,常美观而又易于操作的界面。作为一种网络通信协议,它在工业自动化领域被广为将PIc与计算机结合,可使系统既能及时地采应用。Modbus协议可以使用RS一232C兼容串行接集、存储数据,又可处理和使用好数据,这是PIC发口作为物理接口,方便实现基于数/模控制的仪表等终展和应用的一个热点问题。计算机与PIc结合的关键端设备的控制。是它们之间通信功能的实现,本文主要介绍如何利用Modbus协议详细定义了校验码、数据序列等,这VisualBasic的MSComm控件和Modbus协议来轻些都是特
4、定数据交换的必要内容。Modbus协议在一松地实现计算机与PIc之间的串行通信。根通信线上使用主从应答式连接(半双工),这意味着1S7—200系列PLC的通信协议uj在一根单独的通信线上信号沿着相反的两个方向传西门子S7—200系列PIC是一种小型整体结构输。首先,主计算机的指令信号寻址到一台惟一的终形式的PIC,内部集成的PPI接口为用户提供了强大端设备(从机),然后,终端设备发出的应答信号以相的通信功能,根据不同的协议,通过此接口与不同的反的方向传输给主机。另外,Modbus协议只允许在主设备进行通信或组成网络。机(PC,PIC等)和终端设备之间通信,而不
5、允许独立S7—200PIC支持多种通信协议,比如点到点的终端设备之间的数据交换,这样各终端设备不会在(point—to—point)接口协议(PPI)、多点(MultiPoint)它们初始化时占据通信线路,而仅限于响应到达本机接口协议(MPI)、Profibus协议、用户定义的协议(自的查询信号。由端口模式)。而大多数用户选用的是对用户完全开放Modbus协议有ASCII和RTU两种传输模式。的自由端口模式。在自由端口模式,计算机与S7~200其中,RTU模式信息帧中的8位数据包括两个4位十之间可以用以下的方法来通信:①使用Modbus从站六进制字符,相对AS
6、CII模式,RTU模式表达相同的协议;②使用用户自定义的协议(自由端口模式)。信息需要较少的位数,在相同通信速率下具有更大的自由端口模式为计算机或其它有串行通信接口的数据流量,因此通常情况下都是采用RTU模式的设备与s7—200PIC之间的通信提供了一种廉价和灵Modbus协议。RTu通信帧的基本结构见图1。活的方法。计算机与PI,c通信时,为了避免通信中各遵循ModbusRTU协议的主机一终端控制系统收稿日期:2007—09—30;修回日期:2008—01一ll作者简介:章程(1982一),男,湖南岳阳人,硕士研究生,研究方向:机电智能控制。维普资讯http
7、://www.cqvip.com学兔兔www.xuetutu.com·86·机械工程与自动化2008年第3期在运行过程中,相互之间经常需要进行数据传输,为.1nBufferCout一0EndWith了保证数据在传送过程中正确无误,必须引入某种差1fNotMSComm1.PortOpenThen错检查机制对数据信息进行检验,以检测是否有数据MSComm1.PortOpen—True传送错误。通常是使用检验码的方法来检测数据是否EndIf出错,而CRC就是常用的一种检验码。Modbus中生EndSub成CRC的步骤为:①预置一个16位寄存器为十六进上位机通信窗口界
8、面见图2,PC机发送数据和接制数FFF
此文档下载收益归作者所有