邢民强,李东升,王明明,金朝海
(北京航空航天大学机械工程及自动化学院,北京 100191)
摘要:结合目标特性测试使用的支撑结构控制系统,介绍了Twin CAT与C#混合编程的优势。利用C#用户界面开发功能强大、运行效率高等优点,借助基于PC的Twin CAT工控软件,利用其动态链接库,实现与C#的连接。采用Twin CAT软PLC,结合工控机和Ether CAT端子,开发出纯PC型控制系统,并且在目标支撑系统中得到成功运用。该混合编程数控系统相对于基于运动制卡的PC解决方案和传统PLC控制技术方案具有显著的优越性,日后有望在数控系统开发中得到广泛应用。
关键词:Twin CAT;软PLC; C#;混合编程;数控系统中图分类号:TP273
0引言
目标特性测试是利用雷达所接收到的目标回波进行对比测试而获得目标的雷达截面积,要提高装备的隐身性能,就需要对其目标特性进行测量研究。目标支撑系统是该特性测试系统中用于支撑待测目标的机构,该机构具有5根轴,用于完成检测时所需要的升降、俯仰、旋转等一系列方位运动。其中旋转运动为伺服电机带动精密转台来完成;升降运动和俯仰运动均为多轴联动,需要多轴协调完成。
1目标支撑控制系统总体方案设计
目标支撑控制系统组成框图如图1所示。
目标支撑系统的控制程序主要分为两部分:①通过Visual Studio 2008使用C#语言编写的可视化界面程序;②使用Twin CAT编写的底层控制程序。C#语言通过在引用中添加.d11(Dynamic Link Library)动态链接库文件,可以方便地实现对Twin CAT的调用,实现混合编程。通过应用Twin CAT中的NC PTP(Numerical Control Point To Point)运动控制技术,对底层电机进行控制。PC与总线端子及执行设备之间的通信和控制是通过以太网TCP/IP通信协议以及现场总线的方式实现的,同时,增加通信模块,可以将目标支撑系统的运动控制集成到上位紧缩场目标特性测试平台中。
2 目标支撑控制系统硬件设计
工控机采用倍福C6640控制柜式工业PC。总线采用倍福公司开发的Ether CAT总线,用于IPC和伺服驱动器、总线端子模块之间的通信。Ether CAT具有性能优异、拓扑结构灵活和组态简单等特点。得益于以太网和互连网技术的使用,Ether CAT可在30μs内处理1000个分布式I/O,拥有几乎无限大的网络规模,可实现高度纵向集成。
总线耦合器采用倍福EK1100。Ether CAT总线通过总线耦合器将来自以太网的传递报文转换为E-bus信号,然后连接至Ether CAT端子(EL系列模块)。一个总线耦合器、数个Ether CAT端子和一个总线末端端子构成一个从站。
驱动器选用倍福AX5000系列伺服驱动器。这种全新系列的驱动器分为单通道和双通道两种,在经济性和性能方面都有很大提升。其支持多种总线接口,为基于PC的控制技术提供了一个理想的平台。
3 Twin CAT软件的配置与使用
3.1 软PLC程序编写
Twin CAT PLC基于PC机,利用软件实现传统PLC的基本功能,与传统PLC相比,其体系结构更加开放,网络通讯能力和数据处理能力更强大。总的来说,软PLC融合了传统PLC的功能和PC环境在数据、通信上的各种优点,它遵循IEC61131-3标准,可以采用IL(指令列表)、ST(机构文本)、FBD(功能块)、LD(梯形图)和SFC(顺序流程图)5种格式语言进行编程。
本软PLC程序主要采用ST和FBD组合编程。Twin CAT PLC提供了丰富的功能库,针对本系统所需的运动,选取运动功能库TcMc2,同时将PLC的NC控制周期设置为2 ms。根据目标支撑系统实际需要的运动功能编写PLC控制程序时,将之分为8个功能块。PLC程序功能块具体分组如图2所示。
在本控制程序中,升降运动是由3个电机同步运动来实现的。通过使用定时中断程序,每个PLC周期(2 ms)循环一次,根据轴1的编码器位置反馈增量控制轴2和轴3的运动,进而实现多轴的同步运动。目标支撑系统使用的倍福AM3000系列伺服电机的响应时间在5ms左右,使用循环周期为2 ms的定时中断能满足控制要求。
目标支撑系统的俯仰运动是由3个电机协调运动来完成,其中2个电机实现同步运动,同时与第三个电机按照指定的轨迹进行运动。由于两个方向上的运动不是相互独立的,因此该运动需要对运动轨迹进行插补。此处,调用Twin CAT PLC的外部设定值发生器,由用户按照自己的插补算法来给定每个NC周期(2 ms)的目标位置数据,并发送给伺服驱动器,驱动伺服电机以设定的速度、加速度完成在此时间间隔内的位移。在此,需要用到的PLC功能块有:MC—ExtSetPointGenEnable(使能外部发生器)、MC—ExtSetPointGenDisable(终止外部发生器)、MC—ExtSetPoint GenFeed(给定位置发生器的目标位置)。
为保障目标支撑系统的安全,需要在PLC程序中添加安全监测模块,读取外部传感器和行程开关的信号。本文以行程开关为例,介绍PLC读取外部信号的方法。行程开关连接到端子模块EL1018(8路数字I/O输入模块,与总线耦合器EK1100相连),PLC程序通过EL1018的数字输入量来判断运动部件是否触碰行程开关。在PLC中定义一个输入变量(如Travel
Switchl AT %I*:BOOL),并在Twin CAT System Manger中与扫描到的模块建立逻辑一物理连接(涉及系统组态,具体见下一节),便可在PLC程序中读出开关量信号。当行程开关闭合时,中断PLC程序,保证运动部件不超出行程,避免发生安全事故。
3.2Twin CAT System Manger的配置
Twin CAT System Manger(系统管理器)负责系统设置和I/O硬件配置。配置软件共分为4部分:System-Configuration、NC-Configuration、PLC-Configuration、I/O-Configuration。在System-Configuration中进行软件的系统设置;在NC-Configuration中进行NC任务的设置,包括轴参数、通道等,并且需要在此对实际NC轴和PLC中定义的轴建立物理一逻辑连接;在PLC- Configuration中添加PI_C任务,即之前生成的*.t p y文件;在I/O-Configuration中扫描Ether CAT 总线上安装的所有I/()设备,给其分配IP通讯地址,亦可在此更改I/O设备的参数。
当进行紧缩场目标特性测量时,对支撑系统旋转{运动的精度要求非常高,因此需要对其进行全闭环设计。全闭环控制使用机械设备上安装的编码器作为位置反馈,而不是电机轴上的编码器,需要在System Manger中对位置反馈进行重新设置。本支撑系统的检测元件选用海德汉RCN5380编码器,精度为5”。在I/O-Configuration的position feedback中添加外
部反馈,如图3所示。此时,整个系统的位置环由Twin CAT NC完成,使用外部反馈,而速度环由驱动器完成,使用电机轴端反馈。
4 HMI人机控制界面开发
C#是一种面向对象的编程工具,是被人们普遍使用的计算机编程语言。以.NET Frame类库作为基础,可以简单快捷地实现数据采集、实时控制以及对端口的操作。
4.1 C#与Twin CAT接口的实现
Twin CAT工控软件专门提供了动态链接库组件(Twin CAT. Ads. d11)与C#进行连接,具体实现步骤如下:
(1)在Twin CAT PLC程序里定义了变量,必须在C#程序中也定义与之同类型的变量。例如,在Twin CAT PLC中定义如下变量:
(4)C#读写Twin CAT PLC数据时一般用到如下3个函数:
4.2 目标支撑系统控制界面
对控制系统进行需求分析,按照所需的各项功能编制出方便操作的控制界面,如图4所示。
5结论
基于Twin CAT与C#混合编程的数控系统是纯PC型数控系统,它最大限度地利用了现有软件开发平台,在同一个PC平台上高度集成了控制、人机界面、通信等功能。与其他控制解决方案相比,其结构更加简单、灵活、开放,能有效缩短开发周期,同时能很好地降低成本。这种纯PC型数控技术日后有望成为主流解决方案,推动数控技术不断向前发展。
下一篇:返回列表