




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于VB的台达PLC与PC串行通信随着工业自动化控制技术的发展,可编程逻辑控制器(PLC )与上位机之间的通信应用越来越广泛。 在由PLC和上位机构成的集散控制系统中,PLC作为下位机完成现场各种信号和数据的收集、运算和对系统的基础控制,上位机提供人机界面,实现数据处理和现场数据实时显示等监视和远程控制等功能。 为了实现面向产品全生命周期的数字远程服务经营理念制造设备远程监控诊断维护技术,随着移动通信市场的迅速扩大,GSM无线数字蜂窝通信网络在我国发展迅速,不仅拥有很高的垄断率,而且还具有短消息(SMS )、传真(FAX ) 为相继开放DATA (数据)等业务,选择高效、廉价的数据传输提供了新的思路。 iFix、MCGS、环保等各种设定软件能够进行PLC的远程监视,但不能进行PLC Modbus协议和GSM模块的通信协议的转换。 考虑到这一点,利用VB创建操作接口和通信功能,完成台达PLC与PC的串行通信是实现GSM模块与PLC通信的重要技术。1通信硬件和协议概述1.1通信硬件构成台达PLC附带2个通信串行端口(EH系列可扩展的第3个端口RS-485或RS-422)COM1和COM2。 COM1采用标准RS-232接口、近场、低干扰、点对点通信协议。 该接口一般在下载PLC程序后处于空闲状态。 COM2是标准RS-485接口,抗干扰性强,可用于多台级联连接的通信方式。 在该生产线的控制系统中,COM2用于PLC与变频器之间的通信,但一般的PC具有标准RS-232接口。 因此,PC与PLC之间的通信采用COM1(RS-232 )接口,电缆采用台达PLC的编程电缆DVPACAB230。1.2通信协议介绍Modbus协议是应用于电子控制器的通用语言。 这种协议允许控制器在互相之间,控制器通过网络(例如,以太网)与其它设备通信。 这已经成为通用工业标准。 据此,可以将不同厂家生产的控制设备连接到工业网络上,进行集中监视。 该协议定义为可以识别控制器正在使用的消息结构,而不管通过哪个网络进行通信。 介绍控制器请求访问其他设备的过程,以及响应来自其他设备的请求时如何检测并记录错误。 它为消息域的结构和内容创建公共格式。 通过Modbus网络进行通信时,该协议使各控制器知道设备的地址,识别各地址的消息,决定采取什么样的行动。 如果需要响应,控制器将生成反馈信息并通过Modbus协议发布。 在其他网络中,包含Modbus协议的消息将转换为此网络使用的帧或包结构。 该转换还扩展了基于具体网络解决节点地址、路由和检错的方法。 控制器可以将2种传输模式(ASCII或RTU )中的任意一种设定为标准的Modbus网络通信。PLC与上位机通信时,通常从上位计算机向PLC发出命令,PLC处于被动状态。 台达PLC的所有端口均符合Modbus协议,出厂时的默认通信格式为“9600,7,e,1”、ASCII模式。 波特率为9600,数据长度为7位,数据验证方式为偶数验证,结束字符长度为1位,可通过WPL编程软件变更上述参数。 本文以ASCII通信模式为例,实现了台达PLC与PC的通信。 ASCII通信形式如表1所示Stx公司地址(地址)Function数据库LRC结束:第一名第一名132位第一名入门钥匙表1:ASCII通信格式地址:地址堆栈编号的范围为01FF进制数(PLC站号地址)功能代码:“01”读取多个s、y、m、t、c的状态,PLC返回一系列数据,读出的一系列装置包含16进制数。“02”读入s、y、m、t、c的输入状态,PLC返回一系列数据,包含读入的一系列装置的16进制数。“03”读取d、t、c寄存器的值,返回数据列中包含的寄存器值的十六进制数。“05”强制设置或复位s、y、m、t、c,数据内容为“FF00”时为“0000”时复位。“06”必须将值写入PLC的d、t、c寄存器,值必须是16进制数。LRC检查代码: LRC (longitudinal redundancy check )错误检查在ASCII模式下使用。 此错误检查是8位二进制文件,可以作为两个ASCII进制字节进行传输。 将十六进制字符转换为二进制字符,并添加无递归二进制字符和二进制补充结果以生成LRC错误检查(请参见图)。 此LRC由接收设备验证,并与发送的LRC进行比较。 冒号(:)、回车(CR )和其他非ASCII进制字符在运算时将被忽略。 例如表2所示Stx公司地址(地址)FunctionData1数据2数据3Data4LRC结束:010304010001CR系列表2:LRC检查代码计算示例addressfunctiondata1data2data3data4=01030101=0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b 02补数的求法: (1补数加1 )0A(H)=0000 1010(B )首先取1补数(b0b7反转),设为1111 0101(B ),再加1设为1111 0110(B)=F6(H ),则成为0A(H )的2补数。2软件实现使用在VB(Visual Basic )平台上创建的驱动程序。 VB是一种可视化的高级语言,为用户提供直观的工作环境,为监控系统建立良好的用户界面奠定了基础。 VB采用事件驱动,编程和调试方便,能够迅速创建性能良好的应用程序串行通信控制MSComm的简单结构,可完成串行端口的读写操作,是上位机监控系统中常用的开发工具。 在PLC与上位机通信之前,必须初始化RS一致232通信端口。 包括波特率、开始比特、数据比特、停止比特、奇偶校验位等,两者以相同格式进行通信。 C200HX的RS一致性232C通信端口通常被设定为9 600 bps、7比特、停止比特、偶数校验和I比特开始比特。 设置VB的MSComm控件的setting属性,实现串行初始化。2.1 MSComm控件MSComm控件通过串行端口传送和接收数据,并且向应用提供串行通信功能。 典型的通信属性包括CommPort属性:用于设置或返回通信端口号。Settings属性:设置波特率、奇偶校验、数据位和停止位。PortOpen属性:用于设置或返回通信连接接口的状态。Input属性:用于从输入缓存返回并删除字符。Output属性用于将字符串写入输出缓冲区。CommEvent属性:发生通信错误或事件时发生OnComm事件,CommEvent属性包含该错误事件的数字代码。2.2通信程序的编制该程序与PC设备和台达PLC的通信部分仅有关系,对于计算机处理外部信号在后面叙述设定mport=1com1通信端口If MSComm1.PortOpen=False Then 打开串行MSComm1.PortOpen=TrueEnd IfMSComm1 .Settings=9600,e,7,1 .settings :设定并返回波特率9600、奇偶校验、数据位7位、停止位1位的通信格式MSComm1 .InBufferCount=0 清空接收缓冲区MSComm1.OutBufferCount=0 清空发送缓冲区MSComm1 .InputMode=0 将数据格式化为字符格式MSComm1.RTSEnable=True 串行通信使能MSComm1.Output=符合协议的字符命令串PC向PLC发送数据Text1.Text=MSComm1.Input PLC向PC返回数据MSComm1.PortOpen=False 发送数据后关闭串行日本职业足球联赛3通信示例预置PLC站号地址为“01”,以下,除非另有说明,否则PLC站号地址为“01”。“CR”表示回车3.1对辅助继电器M0的操作1 )位置M0Stx公司地址(地址)FunctionData1数据2数据3Data4LRC结束:01050800前锋00F3系列CR系列Data1、Data2是辅助继电器地址,Data1是地址的高位8比特,Data2是地址的低位8比特,“FF00”是检查位置进入Data3、Data4、LRC的代码PC向PLC发送文字命令列=“:FF00F3CR”PLC向PC返回字符串=“:FF00F3CR”2 )复位M0Stx公司地址(地址)FunctionData1数据2数据3Data4LRC结束:010508000000F2CR系列“0000”表示将Data3、Data4复位放入,除此之外不进行同样的说明。PC向PLC发送文字命令列=“:0F3CR”PLC向PC返回字符串=“:0F2CR”如果第三个数据位为8,则会发生通信错误。3.2文件寄存器D512的动作1 )在1)D512中写入十进制数。 将d512设定为32时,首先将10进制数输入4位的16进制数,将32输入0020,将上下8位分别输入Data3、Data4“1200”表示D512地址的高低位分别在Data1、Data2中Stx公司地址(地址)FunctionData1数据2数据3Data4LRC结束:010612000020E6CR系列PC向PLC发送文字命令列=“:0C7CR”PLC向PC返回字符串=“:0C7CR”2 )读取PLC的D512值Stx公司地址(地址)FunctionData1数据2数据3Data4LRC结束:010312000001E9CR系列Data3、Data4的数据内容表示以Data1、Data2地址开始的寄存器的个数,该值的最大值是7 (由通信格式的数据比特决定)。如果该数据内容是0002,则表示读出连续的2个寄存器的值,并依次类推。 1200表示D512的地址。PC向PLC发送文字指令列=“:1E9CR”PLC向PC返回字符串“: b046356cr”02表示返回值的字节总数为2 (第一寄存器的字节数为2 ),04B0表示作为对象寄存器D512的数据内容(16进制)的十进制1200、46是检验码。如果第三个数据位为8,则会发生通信错误。4结语台达PLC和PC通信的实现使PLC和GSM模块通信成为可能。 PC完成Modbus通信协议和GSM通信协议的转换作为中继站,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 茶叶工厂代加工合同范本
- 搪玻璃储罐转让合同范本
- 办公楼买卖合同补充协议
- 2人合伙经营协议书范本
- 农村盖鸡棚养殖合同范本
- 2025年总包合同范本
- 与医院签超市合同范本
- 房屋过户父母协议书模板
- 西王特钢重续供应协议书
- 怎样跟客户提签合同协议
- 部编版五年级上册语文单元教学计划
- 产品经理绩效管理制度
- 2025年烟台市中考历史试卷真题(含答案)
- 2025四川产业振兴基金投资集团有限公司招聘12人笔试参考题库附带答案详解析集合
- 风湿免疫病患者结核病诊治及预防实践指南(2025版)解读课件
- 膜结构车棚安装合同协议
- 山东省2016年安装定额解释
- 2025-2030中国相变热界面材料行业市场现状供需分析及投资评估规划分析研究报告
- 《中华人民共和国公务员法概述》课件
- 华为公司财务报表分析案例
- 安徽省合肥市2025届高三下学期第二次教学质量检测 英语试题(含解析无听力音频有听力原文)
评论
0/150
提交评论