APP下载

基于LabVIEW与PLC的开放式数控系统串口无线通讯的研究

2012-05-28陈传凯苏贞志

组合机床与自动化加工技术 2012年7期
关键词:无线通讯数控系统命令

李 英,陈传凯,苏贞志

(华东理工大学机械与动力工程学院,上海 200237)

0 引言

在当今社会,数控技术已经成为制造业实现现代化的战略性基础技术。随着微电子技术、计算机技术和先进制造技术的发展,开放式数控系统已经成为当前数控技术发展的主要趋势。同时伴随虚拟仪器和自动控制技术的发展,一种基于图形化编程的LabVIEW软件和PLC在现代工业生产中也得到了更加广泛的应用。在控制过程中,由于工业现场非常分散,I/O端口众多,甚至有时距离遥远,导致数据传输线混乱复杂,因此,无线通讯技术以其无线可移动、灵活便捷、抗干扰能力强等优势应运而生。目前有些数控机床只是利用远程无线通讯网络与Internet网相连;而新型无线通讯的开放式数控系统一般由两部分组成:一是控制器(即数控PDA);另一部分则安装于机床上完成传统的控制和PLC功能,两部分采用WiFi或蓝牙等实现无线通讯[1],但是数控PDA具有专用性,在一定程度上限制了无线数控系统的开放性。

随着图形化编程的发展,利用LabVIEW软件,高效的开发操作便捷友好的人机交互界面,再加之PLC的可靠性高、抗干扰能力强、可与I/O端口直接相连,而且编程方便、功能性模块扩展灵活等特点[2],来实现集 LabVIEW为系统开发的软件,PLC作为控制系统的硬件核心,采用无线通讯技术,将三者有机的结合起来,发挥各自的优势,开发一套具有高效可靠的新型数控系统,成为控制系统未来发展的方向之一,而三者结合的关键在于通讯的实现。

1 系统硬件组成

基于LabVIEW与PLC的无线通讯开放式数控系统总体框架图,如图1所示。

图1 无线通讯开放式数控系统总体框架图

系统硬件由PC机、串口模块、无线模块、PLC、步进驱动器、步进电机、编码器和机床本体组成。无线通讯模块的构成主要有ATMEGA48V单片机、CC1101收发芯片、MAX232芯片、RS232串口和收发天线组成。整个系统所实现的是半双工的无线通讯方式。它支持标准RS232、RS485和RART/TTL电平3种接口方式,可与计算机COM口直接相连。最适合点对点的通讯方式,无需进行繁琐的编程和设置,即可完成从串口收发数据信息[3]。

无线通讯系统实物图,如图2所示。

图2 无线通讯系统实物图

当系统运行时,信号是被上位机装载的 Lab-VIEW开发的人机交互界面控制发送,通过RS232串口转换为无线模块可以识别的命令帧,然后经无线模块的发射端送出,无线模块的接收端收到信号后,经过RS232串口转换成PLC可以识别的信号,PLC根据上位机发送的信号执行命令,从而驱动步进电机运转,带动机床加工工作。

2 LabVIEW软件开发

开放式数控系统主要包括人机交互模块、通讯模块、插补模块和辅助功能模块等四大模块。整个系统的控制是从PC机上的LabVIEW界面发送信息,经过无线通讯模块将指令传送给PLC。

2.1 人机交互模块

实现自动控制,就必须具有人机对话功能,主要包括两方面:一是用户向PC机发送命令和输入数据;二是PC机向用户报告运行状态和运行结果。对于开放式数控系统来说,前一个功能是通过前面板上的各个控件来实现,后一个功能主要是通过前面板上的数控仿真、加工信息及指示灯等来实现。

开放式数控系统的人机交互模块如图3所示。

图3 交互界面

2.2 传输协议

在上下位机的无线通讯过程中,数据传输包括三阶段:一是以LabVIEW为开发平台的上位机与无线通讯模块发射端之间通过串口的信息传输;二是无线模块发射端和接收端之间的信息传输;三是无线通讯模块接收端与PLC之间的信息传输。三阶段的实现都是在一定的通讯协议下进行的。

2.2.1 无线通讯协议

连接上下位机的无线通讯模块进行通讯时,为了避免出现误码现象,两者在数据传输过程中,制定的通讯协议[4]如表1所示。

表1 无线通讯协议的格式

无线通讯接收模块是以帧头来识别有效信息的,当无线接收模块接收到帧头的命令时,即作为工作的开始;通过地址域可以知道消息来自哪台PLC;数据位代表根据需要提取的相应字节数;校验位就是计算发送的数据信息是否正确。

2.2.2 LabVIEW与PLC的通讯协议

上下位机之间采用了Modbus协议的ASCII模式进行通讯。LabVIEW与PLC进行通讯的通讯协议如下[5]:

(1)通讯接口RS-232C。

(2)采用Modbus通讯协议ASCII模式。设置串口通讯参数:波特率,数据位,校验位和停止位等。

(3)通讯协议格式如表2所示。

表2 LabVIEW与PLC通讯协议的格式

使用ASCII模式,起始符消息以冒号(:)字符开始,它通知PLC以开始接收传输来的信息命令;通讯地址是通知与哪台PLC通讯;功能代码给出该条命令将执行的控制方式;数据位中保存有效的通讯信息;侦误值(LRC)判断命令是否传送正确无误;结束符提示由上位机传输来的命令信息传送完毕。

2.3 通讯模块开发

本系统在LabVIEW 8.6开发环境下,以串行通讯节点中的VISA函数配置串口并实现命令发送、数据读取等功能,采用条件结构实现进给运动的控制。必须指出:在编写程序之前,需安装NI-VISA驱动,其必须和LabVIEW程序版本相匹配,避免编程时出错[6]。下面以直线加工为例来说明系统通讯的实现,其流程如图4所示。

(1)系统初始化,按照PLC串口通讯的要求(以台达DVP-40EH2系列为例),通过 VISA Configure Serial Port.vi节点设定各参数值,如波特率,数据位,停止位和奇偶校验等。

(2)在LabVIEW前面板中输入所要加工直线的坐标、进给速度等,运行程序,生成三轴直线加工代码。

(3)利用VISA Write.VI写端口,把设定的控制动作命令参数变成命令帧,然后把整条命令帧以ASCII码字符串的形式写入VISA Write.VI的缓冲区[7]。

(4)命令帧通过无线通讯模块传输给下位机(PLC),PLC根据传输过来的代码执行指令。

(5)利用Wait(ms).VI延时等待模块,主机发送命令到PLC,PLC判断命令无误后将数据信息返回给PC机需要一定时间,故这一步需要设置延时等待。等待时间可根据PLC的响应时间(包括PLC扫描周期、继电器动作时间和I/O模件响应时间)确定[8]。

图4 无线通讯系统流程图

(6)帧校验采用 LRC(Longitudinal Redundancy Check)侦误值,LRC错误校验用于ASCII模式。这个错误校验码是一个8位二进制数,可作为2个ASCII十六进制字节传送。计算LRC码时,仅设备地址、功能代码、数据块字节参加运算,而冒号(:)、回车符号(CR)和换行字符(CF)不参加运算。具体计算LRC码的步骤为:需运算的所有字节相加,所得之和丢弃进位;将上步计算出的8位字节取反或由FFFF减去该8位字节;将取反后的值加1即为LRC码。

接收端判断接收到的信息是否正确的简单方法是:将除去冒号(:)、回车符号(CR)、换行字符(LF)以外的所有字节相加并丢弃进位。若结果为0,则表明信息传送正确,否则出错[9]。

(7)利用VISA Read.VI读端口,读取PLC的响应信息,即读取缓冲区的内容。如果响应正常,就以示PLC已经接收到上位机发送来的指令,就将所得数据信息做显示、分析和保存等处理,以便用于设备实时控制和在线状态监测;如果响应不正常则发出错误信息,以示命令帧不正确,退出程序,用户需重新运行程序。

(8)利用VISA Close.VI关闭串口,便于下一次打开或是其它设备使用。

开发的LabVIEW程序框图如图5所示。

图5 串口通讯的框图程序

3 PLC编程

PLC使用内部数据寄存器来储存PC发来的信号,其中D0和D1保存X轴的脉冲频率和脉冲数,D2和D3保存Y轴的脉冲频率和脉冲数,D4和D5保存Z轴的脉冲频率和脉冲数,D6保存控制三轴电机的转动和转动方向的数据指令。

PLC接收到PC发送的数据后按照如图6所示的梯形图执行。

图6 PLC梯形图

其中,PLSY指令用于把指定脉冲输出频率由脉冲输出装置输出脉冲输出数目,PLSY D0 D1 Y0,即PLC高速脉冲输出端口Y0根据D0和D1的值输出脉冲频率与脉冲数目[10]。

当按下启动开关时,点击直线插补按钮,X27=On,给寄存器D0到D6赋值。执行MOV D6 K2Y10指令,即将数据寄存器D6的值以二进制的形式赋给Y10到Y17,Y10到Y17根据高低电平,置于开启和关闭状态,控制着三轴电机的转动及其转动方向;同时,Y1线圈导通,工作指示灯点亮;PLSY指令执行,根据数据寄存器D0到D5的值,输出脉冲频率和脉冲数目,即X、Y和Z轴按照规定的速度与脉冲数目动作。

4 系统测试

在立式铣床上,以开放式数控系统的直线加工为例,对系统的串口无线通讯进行测试,加工如图7所示的直角三角形,其测试过程如下。

图7 系统测试图

以加工三角形的斜边直线AB为例进行说明:

(1)将系统初始化;

(2)设置系统参数,如步进电机参数(细分设为5,步进电机每转一圈需要走1000步);

(3)在HMI(前面板)上输入加工坐标和进给速度,如起始点(0,0,0),终止点(80,50,0),进给速度V=0.005m/s;

(4)点击“直线插补”按钮,根据进给速度计算各轴进给的速度,即频率,已知立式铣床的螺距为P=0.005m,根据进给速度V=0.005m/s,计算所得:fx=P/V*1000=0.005/0.005*1000=1000p/s,fy=Ny/Nx*fx=625p/s,fz=Nz/Ny*fy=0p/s,刀具根据当前位置默认为起始点,根据终止点计算X轴、Y轴和Z轴所要走的距离Lx=80mm,Ly=50mm,Lz=0mm,从而计算出X轴、Y轴和Z轴所要走的脉冲数,Nx=16000p,Ny=10000p,Nz=0p;并判断三轴电机的正反转方向,D6=48;

(5)根据三轴的脉冲频率、脉冲数和电机正反转,计算其校验码(LRC),其为47H(十六进制);

(6)将三轴的脉冲频率、脉冲数和电机正反转的十进制的值转换成十六进制相应的字符串,依次给数据寄存器D0到D6赋值,D0=03E8H,D1=3E80H,D2=0271H,D3=2710H,D4=0000H,D5=0000H,D6=0030H,通过字符代码封装生成PLC可识别的加工代码,LabVIEW→PLC:“:0110100000070E03E83E800271271000000000003047 ”;

(7)VISA写入,经过无线通讯模块,发送给PLC,PLC程序运行,从而控制驱动器,驱动X轴、Y轴和Z轴按照各自的频率和脉冲数运转,加工目标直线,直到结束。

同理,加工直线BC和CA同加工直线AB类似,程序运行,分别生成加工代码为“:0110100000070E03E83E800000000000000000001110 ”和“:0110100000070E0000000003E8271000000000002286 ”。将生成的加工代码经过无线通讯模块传输给下位机,PLC接收到命令帧执行运行,控制驱动器,驱动各轴电机,直至加工结束。

系统测试加工结果见图8所示。测试结果表明,基于VISA技术的LabVIEW与PLC开放式数控系统串口无线通讯能够正确、稳定地实现无线数据的传输,从而完成了实时的加工控制。

图8 系统测试加工结果

5 结束语

本文根据串口、无线和PLC三者通讯协议,利用LabVIEW中的VISA技术,开发了串口无线通讯控制系统,并以此开发了人机交互界面,在立式铣床上进行了直线加工实验。试验结果表明LabVIEW与PLC无线通讯控制的实现,使其摆脱了对数据线的依赖,具有更大的使用灵活性。人机交互界面友好,且在功能扩展和二次开发上具有极大的方便性。

[1]王治森,曹斌,高荣.采用无线通信技术的新型数控系统[J].制造业自动化,2005,27(1)49-50.

[2]曾燕飞,李虎山.基于PLC的三面铣组合机床电气控制系统设计[J].组合机床与自动化加工技术,2010(1):44-46.

[3]An Xin,Li Ying.Research of the Series Port Communicate System between PC and MCU based on Wireless[C].The International Conference on Electrical Engineering and Automatic Control.2010,9:317 -320.

[4]江和,张培铭,翁桂华.基于无线通信的高压设备温度监测系统的设计[J].仪器仪表学报,2009,30(9):51-52.

[5]李瑞,周冰,胡仁喜,等.LabVIEW2009中文版虚拟仪器从入门到精通[M].北京:机械工业出版社,2010.

[6]徐宏海,陶广军,张财政.台达PLC与触摸屏在分子筛灌装机控制系统中的应用[J].制造业自动化,2010,32(7):63-64.

[7]马振锋,刘献礼,王鹏,等.基于LabVIEW7.1的PC机与PLC通信[J].哈尔滨理工大学学报,2005,10(5):32-36,39.

[8]熊幸明.电气控制与PLC[M].北京:机械工业出版社,2011.

[9]李江全.虚拟仪器设计测控应用典型实例[M].北京:电子工业出版社,2010.

[10]袁斌.台达PLC串行通讯应用原理[J].可编程控制器与工厂自动化,2007(8):13-15.

猜你喜欢

无线通讯数控系统命令
只听主人的命令
基于无线通讯的远程无线切割分离装置控制系统
移防命令下达后
基于FANUC 32i A数控系统的外部测量设计
西门子840D sl数控系统在SC125大型车铣镗床技术改造中的应用
基于FANUC Oi mate TD数控系统的手动功能开发
数控系统中GUI软件平台设计和实现
基于NRF无线通讯技术的自组网互助教学系统研究与开发
这是人民的命令
成焊机组与飞焊车之间串行无线通讯研究与应用