



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于VB实现台达PLC与PC串行通讯随着工业自动化控制技术的不断发展,可编程逻辑控制器(PLC)与上位机之间通讯的应用越来越广泛。在PLCW上位机组成的集散控制系统中,PLC乍为下位机完成现场各种信号和数据的采集、运算和完成对系统的底层控制,上位机则可提供人机交互界面,实现数据的处理以及现场数据的实时显示等监视和远程控制等功能。为实现面向产品全生命周期的数字化远程服务经营理念的制造装备的远程监测、诊断与维护技术,随着移动通讯市场的迅速扩大,GSM无线数字蜂窝通讯网络在我国得到了高速的发展,不但拥有较高的覆盖率,而且相继开放了SMS侬消息)、FAX(传真)、DATA儆据)等业务,为选择高效、廉价
2、的数据传输提供了新的思路。各种组态软件,如:iFix、MCGS组态王等虽然可以实现PLC勺远程监控,但不能实现PLCModbus®讯协'议与GSMI块的通讯协议的转换。本文就是基于这点考虑,运用V踹制操作界面和通信功能,完成台达PLC与PC机串行通讯,这是实现GSM模块与PLC通讯的关键技术所在。通讯硬件及协议简介通讯硬件组成台达PLC1带有两个通讯串口(EH(列可扩展第三个通讯口RS-485或RS-422)COM和COM2COM1用标准RS-232接口,它是一种近距离、低干扰、点对点的通讯协议。该接口在下载完PLCg序后一般都处于闲置状态。COM是标准RS-485接口,可用
3、于用抗干扰能力强、可多台串接组网的通讯方式。在该生产线的控制系统中,COM2用于PLCW变频器之间的通讯,而一般PO都自带标准RS-232接口。因此PCM与PLC±间通讯采用COM1(RS-232)接口,连接线采用台达PLC勺编程电缆DVPACAB2301.2通讯协议介绍Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请
4、求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。当在一Modbu函络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus#议发出。在其它网络上,包含了Modbus#议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。控制器能设置为两种传输模式(ASCII或RTU中的任何一种在标准的Modbus网络通信。PLCCf上位机通讯时,通常由上位计算机发出命令给PLC,PLCM于被动状态。台
5、达PLCf有通讯口都遵循Modbus®讯协议,出厂默认的通讯格式为“9600,7,E,1"、ASCII模式。波特率为9600,数据长度为7位,数据校验方式为偶校验,结束字元长度为1位,以上参数可以通过WP编程软件修改。本文仅以ASCII通讯模式为例实现台达PLOWPCM的通讯。ASCII通讯格式如表1所示:StxAddressFunctionDataLRCEnd:1位1位132位1位回车键表1:ASCII通讯格式地址:地址栈号范围为01FF十六进制数功能码:“01”读多个S、Y、M、T、C的状态,PLC返回一串数据,其中包含了读出的一系列装置的十六进制数。02”读取S、Y、
6、M、T、C输入状态,PLC返回一串数据,其中包含了读出的一系列装置的十六进制数。03”读取D、T、C寄存器的值,返回数据串中包含寄存器值的十六进制数。05贺制使S、Y、M、T、C置位或复位,当数据内容为“FF00”置位,当为“0000”则复位。06”向PLC的D、T、C寄存器写值,值应为十六进制的。LRC校验码:LRC(LongitudinalRedundancyCheck)错误校验用于ASCII模式。这个错误校验是一个8位二进制数,可作为2个ASCII十六进制字节传送。把十六进制字符转换成二进制,加上无循环进位的二进制字符和二进制补码结果生成LRC错误校验(参见图)。这个LRC在接收设备进行
7、核验,并与被传送的LRC进行比较,冒号(:)、回车符号(CR)及置入的其他任何非ASCII十六进制字符在运算时忽略不计。范例如表2所示:StxAddressFunctionData1Data2Data3Data4LRCEnd010304010001CR表2:LRC校验码计算示例Address+Function+Data1+Data2+Data3+Data4=01+03+04+01+00+01=0A将0A的值周转换成2的补数,0A的2补数=F6。2软件实现我们采用的是基于VB(VisualBasic)平台编写的驱动程序。VB是一个可视化的高级语言,为用户提供直观的工作环境,为监控系统建立良好的用
8、户界面奠定了基础。VB采用事件驱动,编程与调试方便,可以快速地编制出性能良好的应用程序,通过对串行通信控件MSComm的简单配置,就可以完成串行口的读写操作,是上位机监控系统常用的开发工具。在PLC与上位机通信之前,必须对RS-232通讯端口进行初始化,包括波特率、起始位、数据位、停止位、奇偶校验等,使两者按照相同的格式通讯.C200Hx的RS232C通讯口一般设置为9600bps,7位数据位,1个停止位,偶校验,I位起始位.可对VB的MSComm控件的setting属性进行设置来实现对串口的初始化。MSCommMSComm控件通过串行端口传输和接收数据,为应用程序提供串行通信功能。常用通信属
9、性如下:CommPort属性:用来设置或返回通信端口号码。Settings属性:用来设置波特率、奇偶校验、数据位和停止位。PortOpen属性:用来设置或返回通信连接口的状态。Input属性:用于从输入缓存区返回并删除字符。Output属性:用于将一个字符串写入输出缓存区。CommEvent属性:在通信错误或事件发生时会产生OnComm事件,CommEvent属性存有该错误事件的数值码。通信程序的编写此程序只涉及PC机与台达PLC通讯部分,计算机对外部信号处理本文稍后介绍,设置COM1通讯端口,打开串口'.Settings:设置并返回波特率9600、偶校验、数据位7位、停止位1位的通讯
10、格式,清空接收缓冲区,清空发送缓冲区,设置数据格式为字符形式,串口通讯使能,PC向PLC发送数据,PLC向PC机返回数据,数据发送后关闭串口MSComml.CommPort=1IfMSComml.PortOpen=FalseThenMSComml.PortOpen=TrueEndIfMSComm1.Settings="9600,E,7,1”MSComm1.InBufferCount=0MSComm1.OutBufferCount=0MSComm1.InputMode=0MSComm1.RTSEnable=TrueMSComm1.Output=符合协议的字符命令串Text1.Text=
11、MSComm1.InputMSComm1.PortOpen=FalseEndSub3通信示例预设PLC站号地址为“01”,以下若没有特殊说明PLC站号地址均为“01“CR”表示回车3.1对辅助继电器M0操作1)置位M0StxAddressFunctionData1Data2Data3Data4LRCEnd01050800FF00F3CRData1、Data2表示辅助继电器的地址,Data1放入地址的高8位,Data2放入地址的低8位,“FF00”表示置位放入Data3、Data4,LRC为校验码PC向PLC发送字符命令串=":01050800FF00F3CR”PLC向PC返回字符串=
12、":01050800FF00F3CR”2)复位M0StxAddressFunctionData1Data2Data3Data4LRCEnd010508000000F2CR“0000”表示复位放入Data3、Data4,其余同上不再解释。PC向PLC发送字符命令串=":010508000000F3CR”PLC向PC返回字符串=":010508000000F2CR”若第三个数据位变为8,则通讯出现错误。3.2对文件寄存器D512操作1)向D512写入一个十进制数,如把D512设定为32,先将十进制数值转换为四位的十六进制数,32转换为0020,高低8位分别放入Data
13、3,Data41200”表示D512的地址高低位分别放入Data1、Data2StxAddressFunctionData1Data2Data3Data4LRCEnd010612000020E6CRPC向PLC发送字符命令串=":010612000020C7CRPLC向PC返回字符串=":010612000020C7CR”2)读取PLC的D512值StxAddressFunctionData1Data2Data3Data4LRCEnd010312000001E9CRData3、Data4中数据内容表示读取以Data1、Data2地址起始的寄存器个数,此值最大值为7(由通讯格式中数据位决定),若该数据内容为0002,则表示读取连续两个寄存器的值,依次类推。1200表示D512的地址。PC向PLC发送字符命令串=":010312000001E9CR”PLC向PC返回字符串“:01030204B046CR”02表示返回值字节总数为2(一个寄存器的字节数为2),04B0表示目标寄存器D512的数据内容(十六进制)即十进制数1200,46表示校验码。若第三个数据位变为8,则通讯出现错误。4结束语台达PLC与PC通讯的实现使PLC与GSM模块通讯成为可能。PC机作为中转站完成Modbus通讯协议与GS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025商场店铺租赁合同标准范本
- 2025工程分包合同标准范本
- 2025设备采购合同示范文本GF
- 2025商业银行保安服务合同
- 养殖鱼塘转租合同样本
- 材料采购议标方案范本
- 媒体产业品牌宣传方案计划
- 借贷合同 投资合同样本
- 出电子合同样本
- 农村房屋争议合同标准文本
- 2022新教材苏教版科学5五年级下册全册教学设计
- 干部履历表填写范本(中共中央组织部1999年)
- 2024年电力市场居间服务合同模板
- 铁路技规(全-上传)
- 《学术规范与论文写作》课程教学大纲(本科)
- 2024年海南省国有资本运营有限公司招聘笔试冲刺题(带答案解析)
- 大棚包工包料施工合同范本
- 2024年湖南省岳阳市岳阳楼区小升初数学试卷附答案解析
- 2024提高治疗前肿瘤TNM评估率工作方案(修改版)
- 2023年孕妇健康管理分析报告
- 2024年高考语文新课标1卷讲评+课件
评论
0/150
提交评论