西门子6ES7231-0HC22-0XA8技术支持
本文介绍了通过OPC技术实现上位机IFIX组态软件和下位机西门子S7-200系列PLC的通信原理及过程。
1 引言
随着工业生产的不断发展,工业控制软件取得了长足的进步。由于生产规模的扩大和过程复杂程度的提高,工业控制软件设计面临着巨大的挑战,那就是要集成数量和种类不断增多的现场信息。传统的方式是通过开发设备专有驱动程序来实现对数据的访问。这就带来诸多问题,如耗费大量重复性的劳动,不同设备供应商的驱动程序之间的不一致,硬件性能不能得到广泛支持,驱动程序不能适应升级后的硬件以及发生存取冲突等。解决上述问题的关键在于一个统一的接口标准。正是基于这种需要产生了OPC标准。
iFIX是基于bbbbbbsNT/2000平台和多种工业标准之上的功能强大的组态软件,有极大的易用性和可扩展性,方便系统集成,广泛应用于工业现场。iFIX集成了COM/DCOM、OPC等先进的现代软件技术。
S7-200系列小型可编程序控制器PLC适用于各行各业中小机器设备的控制,适合各种场合中的检测、监测及控制的自动化,具有极高的性能价格比,用途广泛。PCACCESS是西门子推出的专用于S7-200 PLC的OPCServer(服务器)软件,它向OPC客户端提供数据信息,可以与任何标准的OPC Client(客户端)通讯。
2 OPC技术概述
2.1 OPC定义
OPC(OLE for Process Control)是一套以微软COM, DOOM(DistributedCOM)技术为基础,基于bbbbbbs操作平台,为工业应用程序之间提供高效的信息集成和交互功能的组件对象模型接口标准。OPC实际上是提供了一种规范,通过这种规范,系统能够以服务器/客户端标准方式从服务器获取数据并将其传递给任何客户应用程序。这样,只要生产商开发一套遵循OPC规范的服务器与数据进行通信,其他任何客户应用程序便能通过服务器访问设备。
2.2 OPC基本结构
OPC技术的实现由两部分组成,OPC服务器部分 及OPC客户应用部分。其应用模式如图1所示。OPC服务器是一个典型的现场数据源程序,它收集现场设备数据信息,通过标准的OPC接口传送给OPC客户端应用。OPC客户应用是一个典型的数据接收程序,如人机界面软件(HMI)、数据采集与处理软件(SCADA)等。OPC客户应用通过OPC标准接口与OPC服务器通信,获取OPC服务器的各种信息。符合OPC标准的客户应用可以访问来自任何生产厂商的OPC服务器程序。
图1 OPC技术的应用模式
2.3 OPC对象
OPC数据存取规范规定的基本对象有三类:服务器(server)、组(group)和数据项(item)。服务器对象包含服务器的所有信息,也是组对象的容器,一个服务器对应于一个OPCserver,即一种设备的驱动程序。组对象除了包含它自身信息外,还负责管理数据项。每一个数据项代表到数据源的一个连接,但它没有提供外部接口,客户端程序无法对数据项直接进行操作,应用程序必须依靠数据项的容器组对象来对它进行操作。
3 IFIX与S7-200PLC的通信原理
实现IFIX与PLC的通信的过程即OPC服务器收集现场设备PLC的数据信息,并通过标准的OPC接口传送给OPC客户端IFIX应用。IFIX作为OPC客户应用是一个典型的数据接收程序,OPC客户应用通过OPC标准接口(OPCI/O驱动)与OPC服务器通信,获取OPC服务器的各种信息。
软件需求为S7-200 PC ACCESS V1.0 SP2、组态软件IFIX、OPC I/O驱动、编程软件STEP 7MicroWIN V4.0 SP4(或者软件的更高版本)。IFIX的OPC客户端工具OPCPowerTool需要在IFIX安装完成后另行安装。
具体过程为PC ACCESS作为OPC服务器根据设计要求采集S7-200PLC内的数据信息;IFIX的OPC客户端工具OPCPowerTool根据设计要求采集PC ACCESS内的数据,IFIX数据库PDB读取OPC OPCPowerTool采集上来的数据,IFIX完成了与S7-200PLC的通讯。系统结构见图2。
图2 系统结构
4 IFIX与S7-200PLC的通信实现
具体通讯实现分两步:
图3 PC ACCESS设置
4.1 OPC服务器PC ACCESS和S7-200通信的实现
在PC ACCESS中引入所需要的PLC地址并进行命名。可以通过文件->输入符号导入整个STEP 7 MicroWINV4.0中设计的符号表,也可以通过添加新PLC、添加新项目逐条添加。在单独添加新项目时符号名可以单独定义,但为方便使用尽量与PLC中定义符号
一致。可以设置数据的可读写性。设置地址及相匹配的数据类型。图3。所需要的数据添加完毕后可以通过在客户机中增加项目来检测数据通讯是否正常,若正常测试客户机中数据会根据PLC中程序运行进行自动刷新。
4.2 IFIX与OPC服务器的数据交换实现
4.2.1 OPC PowerTool
启动客户端OPCPowerTool,添加服务器(server)、组(group)和数据项(item)。为方便使用,服务器、组和数据项名称尽量简单。添加服务器时选择S7200.OPCServer类型服务器。添加数据项时,选择BrowseServer按钮,即出现在PC ACCESS中所设计的各符号,选择需要的逐条添加为各数据项,实现IFIX的OPC客户端工具OPCPowerTool对PC ACCESS的数据通讯。如图4。
服务器、组、项目的Enable必须选择,否则不起作用,数据不采集。
图4 IFIX客户端设置
4.2.2 IFIX数据库PDB
通过OPCPowerTool完成数据采集后,IFIX即可应用所采集的数据。在IFIX数据库管理器中设置各数据,选择合适的数据类型,O/I配置使用OPCClientv7.30。I/O地址配置格式为:服务器名(PowerTool命名):组名:项目符号,以图5为例:Ser:Gp:MicroWin.RedGrenlamp.USER1.ew_green
图5 PDB数据库设置
5 结束语
本文介绍了采用OPC方式作为第三方协议实现组态软件与现场设备PLC之间的通信原理及实现方法。不仅IFIX,其它如WINCC、INTOUCH等组态软件,都可以通过OPC技术与PLC实现通讯。工厂中主体设备中使用组态软件较为广泛,S7-200小型PLC作为单体设备灵活而分散,利用OPC技术可以很好的将两者集中融合,便于单体设备的监控,具有较高的实用价值。经试验,基于OPC技术的组态软件与PLC通信正常,运行良好。
数控加工过程容易出现撞刀事故,特别是在数控技能人才的培训过程中,学员缺乏数控操作的实际经验与系统的理论知识,更容易导致撞刀事故发生。撞刀事故不仅可能对昂贵的数控机床设备造成危害,严重的话,可能造成数控机床的报废,更可怕的是可能造成人身伤害。怎样防止撞刀事故的发生,一直都是从事数控机床技术人员重点考虑的问题之一。
1 撞刀信号的检测
所谓数控机床撞刀,指的是由于各种错误而导致刀具以非正常切削速度(一般是G00指令快速移动)与工件或机床其他部件发生的碰撞。要防止撞刀事故的发生,可以考虑使用接近开关对刀具与工件的位置关系进行判断,并检测此时车刀的移动速度和方向,以此通过判别。当判别到刀具与工件距离在警戒范围内,且刀具快速移动朝向工件时,就认为要发生撞刀事故。此时,控制系统发生动作,并实现电机制动。信号检测方法如下。
1.1 用接近开关对刀具与工件的位置关系进行判断
由电磁场理论可知,在受到时变磁场作用的任何导体中,都会产生电涡流。据此原理可自制金属传感器电路。在图1中,电路由振荡电路、比较电路和整形电路三部分组成。将车刀套入传感器线圈中,检测电路接通电源后,线圈振荡产生一个交变磁场,金属工件在此磁场中移动时产生涡流而吸取了振荡器的能量,使振荡器输出幅度线性衰减,衰减量的变化正比于金属工件和车刀的距离。振荡电路的输出幅值经过比较器进行比较,比较后的输出信号经过整形电路整形,可直接输入控制电路进行检测状态的判别。电涡流式传感器的灵敏度和线性范围与线圈产生的磁场强度和分布状况有关。接近开关的警戒距离可以通过调整传感器线圈的尺寸、形状及图1中R1的电阻来实现调节。
图1接近开关电路原理图
1.2 用HC对车刀运动方向信号及速度信号进行检测
检测车刀运动方向信号只要检测步进电机方向信号的高低电平即可。
而速度信号的检测,是采集驱动步进电机的脉冲信号,并在1个时基内采用PLC的高速脉冲计数器对该脉冲信号进行记数,将所记数与寄存器设定值比较,当1个时基内所记数大于设定值时,就可输出开关量。
2 防撞刀系统控制方案
控制系统的设计可以利用PLC来实现。PLC是一种成熟的工业控制产品,内部有良好的光电隔离装置,抗干扰能力强,可靠性高,灵活性好,其接线与参数修改方便,对现场不同的实际情况可以及时地作出调整。
PLC控制系统选用FXlN-24M,其参数与性能为:14个输入点,其中X0~X5这6个端子为高速输入端子,10个输出点。单步步速0.55μs~0.7μs,应用指令数~数步速约为100bts,继电器输出。根据控制要求,设计PLC的控制流程如图2所示。
图2 PLC控制流程图
PLC控制的梯形图如图3。接近开关检测信号由X10输入,X轴、y轴方向信号的高低电平分别由X11、X12端口输入。若X11、X10均处于高电平时,认为工件处于接近开关警戒距离,且车刀向工件方向运动,此时执行SPD指令,检测车床X轴速度。数控系统发出的脉冲信号由PLC的X0端子输入,并在1个时基内记数为DO,随后执行CMP比较指令,当DO大于设定的比较常数值K=3时,系统判别车刀速度为快速移动,数控车床处于要撞刀状态,输出M0高电平信号,并转跳到P20,从而Y1输出高电平。若DO小于设定的比较常数值K=3,则说明X轴方向处于正常状态,程序继续往下运行。
图3 PLC编程梯形图
若X12、X10均处于高电平,同样执行SPD指令,车床Z轴相应的脉冲信号由PLC的X2端子输入,并在1个时基内记数为D3,随后执行CMP比较指令,当D3大于设定的比较常数值K=3时,同样输出M3高电平信号,从而Y1输出高电平。若D3小于设定的比较常数值K=3,则说明Z轴方向处于正常状态,程序结束,进入下一个检测周期。
Y1接通后使继电器(带自锁功能)的线圈接通,从而切断X轴、y轴步进电机的脉冲控制信号。当脉冲信号输入被切断时,X轴、y轴步进电机自动进入锁相状态,约1s后进入半流锁相。Y2用于报警输出。
程序设计的一些说明。
1)关于高速输入端子。对于选用的FXlN-24M来说,不同输入端子的输入频率上限是不同的:低的,如X4、X5只有7kE引。如对GSK928TA数控车来说,刀架快速移动的速度设置为3000mm/min时,此时其对应的数控系统的输出频率为5 333 Hz,并不超过PLC的X4、X5端口的频率上限7kHz。若数控系统的CPU指令发出的脉冲信号频率超过PLC的X4、X5端口的高频率7k,其后果只会导致脉冲信号丢失漏记,不会影响到PLC对电机转速或刀具移动速度是否为“快速”的判断。
2)关于CMP指令中比较常数K值的设定问题。对于GSK928TA的Z轴,数控车Z轴的脉冲当量为0.01mm,当快速进给的速度为1 000mm/mim时,即要求在1 min的时间内发出1×105个脉冲,即脉冲频率应为1 777.7Hz,这样在5 ms内可检测的脉冲个数约为9个。由于切削进给速度一般在150 mm/min以下,此时在时基常数K设定为5ms的时基内可检测的脉冲个数多只有2个。考虑留有一定的安全裕度,在这里设定比较常数K值为3,实际过程中可根据实际随时通过修改程序进行调整。
X轴基于与Z轴类似的分析,同样设定比较常数K值为3。
程序在系统控制试验中运行正确。
接近开关警戒距离的设计
当控制系统判别要出现撞刀事故时,此时电机应进行紧急制动。为防止撞刀,显然应要求系统总的制动距离小于警戒距离。接近开关警戒距离主要根据系统总的制动距离来进行设定。
系统总的制动距离A由2个因素决定:一是控制系统的响应延时;二是克服执行机构惯性所必须的制动距离。响应延时的大小与具体的控制系统设计息息相关,而制动距离除与惯性大小有关外,还与其制动力矩有很大的关系。下面对此做出的分析。
3.1.2功放电路中锁相延时td2
在功放电路中,各个晶体管的开通时间一般在1tds以下,光耦PC上升速度响应时间约为几十微秒,若采用高速光耦则只需几微秒。功放电路中锁相延时主要是锁相电流的上升时间,对于步迸电机绕组,锁相电流的上升时间t可由公式(1)计算:
式中:i为电机锁相电流,亿为绕组驱动电压,Rα为绕组电阻和限流电阻之和,L为绕组电感。对于GSK928TA的Z轴电机,采用DF3A系列驱动器,其Vα=310V,R。为3.5 Q,由此可计算得t为0.486 ms。据此估算屯:约为0.5 ms。
3.2步进电机制动距离分析
步进电机制动距离与具体电机种类、型号及执行机构惯量等有关,下面以GSK928TA数控车系统的三应式步进电机为例分析其制动问题。
对于步进电机,当电机转过1相绕组时存入电动机中的磁能为
式中:L为相绕组的自感,i为通入绕组中的电流。
制动过程刚好与启动过程从理论上说可以参照启动的分析去处理,即若步进电机处于单相锁相制动时,转子每转过一个齿角,即就会消耗“转子”(包括电机转子及其连接部件,下同)W的能量。根据能量守恒原理,分析步进电机的制动距离,可以考虑从脉冲指令被截止后“转子”的能量需要转过几个齿角才能被消耗完来求得。
根据能量守恒原理可得:
3.3车刀总制动距离的计算
若考虑控制系统的响应延时,则车刀总的制动距离A为:
根据式(6),以GSK928TA数控车Z轴为例,步进电机型号110BC3100C。
转子齿数Z为100,定子每相绕组电感L为18mH,锁相电流i=8 A,丝杆螺距S-6 mm。工作台重量Mg为140kg,电机转子及执行机构的转动惯量td=1.73×10-4kg·m2。根据3.1控制方案响应延时分析,系统控制方案响应延时幻约为32.5ms(继电器输出),若车刀速度Vf=2 000 mm/min时,车刀总制动距离A=3.7 mm。
上述对于步进电机在出现撞刀事故时总制动距离的分析,对于接近开关警戒距离的设计可起到理论指导作用。
4 结语
防撞刀控制系统的设计主要应用于新程序或数控技术人员的培训中,改装方便,只需在安装车刀时套人接近开关线圈即可。实践中可灵活使用,当确认机床操作无危险时,只须关断PLC电源,防撞刀系统停止工作,不会对机床的正常使用有任何影响。
若从经济角度考虑,还可以使用一台PLC控制若干台车床的防撞刀系统,当然这样会导致控制系统响应时间加长.由于步进电机有在高频下刹车丢步的特性,在实际应用中应加以注意,即每次出现撞刀状态而导致程序运行中断时,应通过车床复位键复位,并重新设定程序零点。