高亚丹,徐世许,冯 平
(青岛大学 自动化与电气工程学院,青岛 266071)
基于485通信的压缩机注油检测系统设计
高亚丹,徐世许,冯 平
(青岛大学 自动化与电气工程学院,青岛 266071)
为了确保生产线上的所有压缩机都能够得到加工,设计了一个基于485串行通信的多台压缩机注油检测系统。系统由上位机和下位机组成,能够实现同一流水线上四台PLC同时运行并将数据上传,而且能够应用于多条流水线。下位机包括PLC与触摸屏。下位机通过获取PLC内的注油数据从而获取向压缩机注入的油量,检测注油加工过程是否合格。上位机经由RS232转RS485端口完成485串行通讯与多台PLC连接,读取产品信息和加工状态。它依据三菱通信协议(其中包括MC协议),使用VB6.0开发了上位机与PLC之间通信的程序,并实现注油量的检测与数据传输,将海量数据存入SQL Server数据库。该检测系统已在实际生产中得到了成功应用。系统自动检测对比,确保加工质量,避免了工人的重复劳作,提高了生产效率。
检测系统;485通信;MC协议;SQL Server数据库
压缩机在很多方面都有着重大的作用,例如空调、冰箱等等。其中注油量的多少是有严格规定的,油量过多或者过少都会影响压缩机自身的性能。国内很多企业还采用人工注油检测的方式,这样会造成很大的误差而且效率很低,加上工业现场环境复杂,整个加工过程不断重复,一直持续,因此需要设计出压缩机注油检测系统对加工过程进行检测,确保注油检测过程顺利进行且节省人力物力。就实际的应用需求而言,还要能记录每一个产品的详细信息并存入数据库,便于以后查询追溯。
国外注油检测系统较为成熟,但是进口比较昂贵。国内有人使用RS232通讯设计注油检测系统,但RS232传输距离较短,传输速率低,受工业环境限制、稳定性差,相对而言RS485串行总线线路比较简单、传输距离相对较远而且组网比较灵活,稳定性高,因而被普遍应用于多种检测及监管系统中。本设计采用PLC作为控制器,使用了三菱FX系列与Q系列PLC,其中Q系列PLC用了MC通讯协议。上位机采用VB编程,进行通信设置并采用SQL Server数据库,可以存储大量数据,解决数据丢失溢出的问题。
注油检测系统由上位机、三菱PLC、触摸屏以及注油枪构成,系统硬件结构如图1所示。由于注油速度一定,通过控制注油时长便可得知注油量。PLC将注油量通过RS485串口传给上位机,并在上位机中记录数据,判断是否合格。触摸屏中选择并显示注油量、注入油的种类等信息,便于现场查看。上位机通过读取PLC内的标志位0、1判断注油是否完成,并记录采集信息以便于存储。
图1 系统硬件结构图
2.1 软件设计流程图
该检测系统是在VB6.0环境下编程,简单方便。软件设计流程如图2所示。
图2 软件设计流程图
2.2 485串行通信协议
通过转换器将RS-232串行口的TXD和RXD信号转换成两线平衡半双工的RS-485信号,通讯方式如图3所示。三菱Q系列PLC采用MC协议。MC协议就是外部设备通过Q系列C24或Q系列E71来进行PLC软元件数据和程序的读出或写入的通信协议[1]。其数据编码方式主要有两种:采用ASCII代码通讯数据和使用二进制代码通讯数据。
图3 通讯方式图
2.2.1 Q系列通信格式
通过串行通信模块与Q系列PLC通信的方法有四类,包括A兼容1C帧、QnA兼容2C帧、QnA兼容3C帧以及QnA兼容4C帧。注油检测系统使用QnA兼容3C帧。3C帧主要用于外部设备访问QnA CPU全部软元件以及全部文件,使用ASCII与C24模块进行通讯的协议,使用到的为3C中的基准格式:格式1。访问PLC CPU时,通过GX Developer进行开关设置的“通讯协议设置”选择形式NO.1的帧访问。
读取PLC内部数据时的通信格式如表1所示。
表1 读取PLC内部数据时的通信格式
对应的外部设备读取PLC数据正常时PLC的返回帧如表2所示。
表2 返回帧
3C帧格式中的内容:1)控制码。即为在这一帧开头以及结尾的特殊代码。在使用的3C帧中ENQ表明发起请求,STX表明字符开始。2)帧识别号。指用于辨识收发的文件到底是QnA兼容3C帧还是4C帧的编号,其中3C格式下对应的编号为F9。3)站号。即为外部设备连接的C24的模块中设置的能够比较区分的地址,通过指定的站号与模块进行通讯。4)网络号。外部设备能够经由此PLC访问网络上的其他PLC。5)PLC号。用于设定外部设备将要访问的某个网络上的其他PLC站号。6)上位站号。通讯过程使用ASCII通信,设置为字符串00。7)命令代码,即输入将要执行的命令。将命令变换为4位数ASCII代码(十六进制数)后使用,从高位数起发送。8)字符区。可用于发送数据的控制字或者返回数据的返回值。各字符部分的用途分别为:A部分字符,用于使PLC CPU执行用命令指定的读出请求的数据。B部分字符,用于用命令指定的请求向对方设备返回的数据。C部分字符,用于使PLC CPU执行用命令指定的写入请求的数据。选择使用ASCII代码进行数据通讯时,将字符部分变换成为ASCII代码后再进行发送。9)和校验码。用于检验发送内容是否正确,其组成是发送帧中的校验范围内的各个字节相加从而得到的数值的低八位。有和校验时,PLC CPU编写和校验代码并附加在发送文件上,并且对接收文件中的和校验代码进行核对比较。
2.2.2 FX系列通信格式
FX系列的通信协议与Q系列略有不同,检测系统使用的是三菱专用协议的格式一。格式一的控制顺序如表3所示。返回帧的格式如表4所示。
表3 FX系列读取PLC时的通信格式
表4 FX系列返回帧
报文等待:计算机发送信息到变为接收状态的时间。若设为100ms,则对应的报文等待字符设为A。
2.2.3 Q系列命令码
图4 成批写入命令示意图
字单位的成批写入命令为1401。向字软元件存储器写入时,用ASCII代码进行通讯,作从D450起至D451的2点份的写入。成批写入命令的示意图如图4所示。
字单位的成批读出命令码为0401。读出字软元件存储器时,用ASCII代码进行通讯,读取从D450到D455的6点份的当前值。
2.2.4 FX系列命令码
FX系列写入与读出的指令也与Q系列并不一样。字单位的成批读出指令为WR,而相应的字单位的成批写入指令为WW。
2.3 检测系统
2.3.1 数据检测
If Val(Form1.Text2.Text) >= Val(Form1.Text3.Text) - Val(Form1.Text1.Text) or Val(Form1.Text2.Text) <= Val(Form1.Text3.Text) + Val(Form1.Text1.Text) Then
rss![合格] = "是"
其中,Text1为允许的误差,注油允许的误差为10ml。Text3为设定值,Text2为实际值。如果实际值在误差允许范围之内,那么该压缩机合格,并在数据库中“合格”这一栏显示“是”。如果不合格,显示“否”。
2.3.2 SQL Server数据库
数据库作为常用的工具,经常会使用到。常用的为ACCESS数据库,功能能够满足日常需求。但注油检测系统由于持续不断地在进行,数据量庞大,ACCESS数据库已经不能满足使用需求,所以使用SQL Server数据库。SQL Server具有高可用性、更高的安全性以及可伸缩性。通过VB进行连接使用,而使用VB访问该数据库,可供选择的编程接口主要有3种,分别为:ADO、DAO、RDO。ADO即为ActiveX Data Object,是微软公司数据库应用程序开 发的新接口,是在OLE DB的基础之上进行的[2]。
检测系统使用ADO控件连接数据库,除了放置“Adodc”控件之外,还需要设置Connection对象,连接数据来源,对应好相应的数据库。即设置ConnectionString确定数据库,生成连接字符串,设置Recordset记录集,即设置RecordSource属性,以此来确定具体能够访问的数据。放置Data Grid控件,使得数据库中的信息能够直观的显示。并将Data Grid控件的DataSource 设置为相应的Adodc,即DataSource=Adodc1使其能够连接到对应的数据库。
压缩机注油检测系统基于485协议实现PLC与上位机之间的通信,实现对注油系统的加工检测以及数据保存备份等,经过多次调试,确保能够实现工厂流水线的需求。重点介绍三菱Q系列PLC的MC通协议,并使用SQL Server数据库对采集到的信息进行存储备份和显示。在使用FX系列PLC的基础上,显示出利用三菱MC协议实现多台PLC通讯的可行性、实用性,能够用于多条流水线的加工作业,节省了人力物力,而且确保的工作的精确度和效率,同时可应用于其他类似流水线的推广。
[1] 王辉.三菱电机通信网络应用指南[M].北京:机械工业出版社,2006:256-260.
[2] 刘钧,马旭东,施健.VB访问SQL Server的几种编程接口及其应用[J].微型电脑应用,2001,17(6):51-53.
[3] 徐世许.可编程序控制器原理·应用·网络[M].合肥:中国科学技术大学出版社,2008:284-292.
[4] 祁新安,侯清江.SQL Server数据库的运用研究[J].制造业自动化,2010,32(12):30-32.
[5] 周巍,张仁杰.基于MC协议的工控机与PLC通信方法研究[J].数据通信,2015,(1):30-35.
[6] 吴光强,徐世许,张德芹.配料监管系统设计[J].工业控制计算机,2014,27(7):58-59.
Design of compressor oil detection system based on 485 communication
GAO Ya-dan, XU Shi-xu, FENG Ping
TP277
:A
1009-0134(2017)01-0024-03
2016-09-14
高亚丹(1992 -),女,河南南阳人,硕士研究生,研究方向为计算机控制技术。