基于开源倍福控制系统的机器人控制系统设计*
2017-06-27刘飞飞伍伊军古帅奇高堂盼
刘飞飞,伍伊军,古帅奇,高堂盼
(1.江西理工大学 电气工程学院,赣州341000;2.江西理工大学 机电工程学院)
基于开源倍福控制系统的机器人控制系统设计*
刘飞飞1,伍伊军1,古帅奇2,高堂盼2
(1.江西理工大学 电气工程学院,赣州341000;2.江西理工大学 机电工程学院)
为了给机器人控制系统构建高精度超高速控制解决方案,采用开放式自动化Beckhoff控制系统的XFC技术,以TwinCAT作为软件平台,采用高性能ARM9S3C2440为SoC,超高速开放式 EtherCAT 为通信系统,并通过分布式 EtherCAT 时钟进行同步,提升了系统高动态处理运行性能,确保所有子流程的延迟降低,为机器人多样化运动控制提供了新的思路和解决方案。
倍福控制系统;机器人;TwinCAT
引 言
激烈的全球化竞争中的核心是高性能的生产技术,只有灵活的自动化解决方案在面对产品种类型号不断更迭和技术创新周期频繁加快的局面才能游刃有余。生产条件不可能一成不变,为了保证系统灵活可靠,采用可重配置组件模块的平台,构架一个高精度超高速通用机器人控制系统显得尤为必要。控制领域中西门子PLC与ABB机器人均有不开放的相关系统出现,但单元成本高,上层软件平台更新困难。
采用基于PC 的Beckhoff控制技术,不但可以控制生产线运行加工还可以监视各所有工艺流程。以符合EMC低压指示工业 PC 作为硬件平台,并以 TwinCAT 作为软件平台。使用安全的 I/O 组件和集成在驱动中的安全功能通过安全通信协议连接到安全逻辑端子模块中,保证了系统的安全运行。而基于工业PC的控制技术为传统的控制任务提供了良好的可升级性和灵活性,因此基于PC的控制技术也逐渐替代了硬件PLC和类似产品,并在实际生产过程中得到广泛应用。
1 系统构架与设计
倍福控制系统是德国信福自动化有限公司(Beckhoff)推出的工业PC、现场总线模块、驱动产品和TwinCAT自动化软件构成了一套完整的、相互兼容的控制系统,可为各个工控领域提供开放式自动化系统和完整的解决方案。
本文控制系统采用基于Beckhoff控制系统组件模块和自行设计的嵌入式控制器。
1.1 总体规划设计
根据动态性能等级、成本预算和控制任务的复杂性,本文设计的控制面板采用CP-Link4标准的CAT6A电缆与工业PC机进行安全快速的信息交流,嵌入式控制器自带DVI/USB接口并装有Linux与控制面板连接,同时工业PC机采用的EtherCAT与嵌入式控制器连接。而嵌入式控制器同样采用EtherCAT通信系统控制伺服驱动器。为了方便与各种I/O模块整合在一起,采用结构紧凑的DIN导轨安装控制器构成一个完整的方便安装在控制柜内的工业控制系统,提高了空间使用率。选择Beckhoff 控制系统能够根据具体的任务插接在一起,构成一个模块化控制系统。因此不同的应用程序可在相同的硬件上实现,降低了开发难度,提升了使用的灵活性。总体规划设计如图1所示。
图1 总体规划设计
图3 嵌入式SoC片上芯片板开发流程
1.2 嵌入式多轴运动控制器
主电源漏电断路器将电源分配给过电流保护装置配线断路器(MCCB),之后串联噪音滤波器(NF)防止外部噪音和驱动器的耦合。设置线圈浪涌吸收器后接通电磁接触器(NF),采用电抗器(L)降低电源的高次谐波电流连接到端子模块,STM32F429芯片组与电源模块CX1100-0002连接,同时UPS不间断电源模块CX1100-0920为突然断电情况下系统数据的及时保存做补充。I/O端口模块外接EM7004多轴接口端子参与伺服控制器的控制,FC2001 Lightbus PCI 接口模块、CX1500-M520 DeviceNet现场总线主站接口模块、M6310 Lightbus 控制模块作为数据交互的有力支撑。KL9020 系统端子模块独立于具体的现场总线和端子排设计。标准型模块化组件的规划在于在使用上层Beckhoff TwinCAT自动化软件时,系统管理器可以方便地对I/O接口进行集成和参数化。 多轴运动控制器设计如图2所示。
图2 嵌入式多轴运动控制器
2 嵌入式SoC片上芯片板设计
本节介绍嵌入式SoC片上芯片板的开发流程和规划设计要点。
2.1 嵌入式SoC片上芯片板设计流程
嵌入式SoC片上芯片板开发采用软硬件协同的设计方法,分为底层硬件设计、驱动开发、倍福控制系统、工业PC编程4个层次,重点在于与倍福控制系统对接的驱动接口层开发。驱动开发采用层次划分结构加子系统的模式,借鉴Linux内核分层思想对各个功能模块在纵向上有一个划分归属,对层与层之间的接口进行规划,横向上对于具体的层来说,可以预留新的子系统的模块规范,便于后续驱动的升级和维护。驱动开发的载体为基于搭载Linux系统的SoC芯片板。芯片板开发流程如图3所示。
2.2 嵌入式SoC片上芯片板设计规划
ARM9S3C2440芯片采用外部供电芯片AMS1117提供3.3 V稳压电源,为了便于算法和系统驱动程序顺利运行外扩FLASH(型号为SST39VF1601)和SRAM(型号为HY57V561620FTP)进行补充,使用兼容性EtherCAT配合通信系统,并采用LAN8720A工业以太网通信作为补充,相对应的 EtherCAT 端子模块都可使用本地现场总线主/从端子模块快速集成到EtherCAT 系统,无需在 PC 的 PCI 插槽上增加现场总线主站卡。采用CH340芯片进行上位机和ARM9进行串口通信。为了保证信息交互的有效性,采用沉金工艺的四层板设计PCB。芯片板设计规划如图4所示。
图4 嵌入式SoC片上芯片板设计规划
2.3 EtherCAT 通信系统运行原理
一般实时以太网通信使用专用交换机并采用时间控制方式分配以太网报文,或通过较高级协议层禁止CSMA/CD存取过程用轮询技术或时间分片来取代它,虽然可行但是带宽的利用率低,而且伴随通信总线传输的延迟。将过程数据直接传送到以太网帧,以太网帧包含若干个用于特定存储区域的EtherCAT报文,数据链独立于网络中EtherCAT端子模块的物理顺序,EtherCAT 从站控制器读取数据通过硬件实现。因此数据流中帧传递仅被延迟几位,采用EtherCAT 通信系统分布式 EtherCAT时钟进行同步后,1个分布式 I/O 数据的刷新时间仅为 0.03 μs。
3 嵌入式Linux系统驱动层设计
驱动板的软件设计基于系统平台Linux 2.6.32.2,开源免费,便于维护和升级。
3.1 底层平台Linux系统规划
底层驱动平台整体上分为应用空间和内核空间,引导程序是U-boot。在内核空间里,外围器件驱动调用驱动支撑层,片上外设和内核库构成可加载文件(.ko)。在应用空间里,应用程序调用驱动接口层函数、底层库函数、Linux运行支撑系统完成相应的驱动实现。系统规划如图5所示。
图5 底层平台Linux系统规划
3.2 嵌入底层驱动任务设计
得益于开源Linux系统平台的“一切皆文件”的思想,在模块化编程中大部分都做好了只需要编辑和修改不多的一部分。驱动代码文件会被编译成相应的.o文件,内核将分析生成的文件和附属信息保存在.mod.c中,之后调用genksym生成函数校验、版本信息。调用modpost分析可用符号和未解决符号,将.o文件链接成.ko模块文件。底层驱动任务设计如图6所示。
图6 嵌入底层驱动任务设计
4 运动轴测试
本文采用倍福控制系统提供的TwinCAT3 control 作为上层用户运动控制程序的开发环境。通过XFC便于高精度检测和发送信号,以达到实现多样化高速运动控制。
4.1 XFC控制技术运行原理
XFC是基于高效控制和通信架构的高速控制技术,硬件上为所有的EtherCAT设备都搭载本地同步时钟,用于补偿信息传递时间差,且数据传输时在用户数据外加有时间戳提供了高精度时间信息。在同步时钟的控制下,I/O口从物理输入触发到输出响应的整个过程小于等于100 μs,从而缩短了通信周期,加快了数据采样频率。
4.2 TwinCAT3运行环境建立
TwinCAT3软件系统用于程序编辑、错误诊断和系统配置,由实时环境和在开发环境中执行控制程序的实时系统组成。建立工程项目后,在I/O Configuration(组态配置)中的I/O Devices中开始扫描设备选择EtherCAT,在NC-Configuration(运动配置)选择添加相应电机和参数,在TwinCAT下找到Activate Configuration(激活配置),在运动配置界面进入Axes(轴)下信息的Online,运行后便可获得TwinCAT系统通过检测获得的当前运动信息。对运动轴输入正弦波,再利用MATLAB软件进行数据采集分析,如图7、图8所示。
图7 基于正弦速度跟踪
图8 基于正弦位置跟踪
结 语
采用Beckhoff 控制系统构成了完整驱动系统。利用支持IEC61131-3 编程语言的TwinCAT提供基于嵌入式PC的控制程序编写和设计便于升级维护,降低了单元
[1] 顾强.基于SoC 的多轴运动控制系统及其同步控制研究[D].武汉:华中科技大学,2015.
[2] 张守娟.随动系统的多电机同步控制方法研究[D].哈尔滨:哈尔滨工业大学工学,2013.
[3] 柏淑红.采用伺服电机的电子凸轮控制系统设计[J].机电工程,2012(6):689-692.
[4] Jark.W.Beckhoff embeds PC in I/O block[J].Control Engineering Europe,2002.
[5] BECKHOFF Automation LLC.Beckhoff Automation's EtherCAT P Technology[J].Design News,2016.
[6] Burkhard Beckhoff.Reinhold Klockenkämper and Alex von Bohlen:Total-reflection X-ray fluorescence analysis and related methods, 2nd ed[J].Analytical and Bioanalytical Chemistry,2016.
[7] Berg-Beckhoff.Prevalence and predictors of musculoskeletal pain among Danish fishermen-results from a cross-sectional survey[J].Journal of Occupational Medicine and Toxicology,2016.
[8] Heinze,Ronald.Beckhoff opens new markets looks to expand technology[J].Process and Control Engineering,2007.
刘飞飞(教授),主要研究方向为智能装备及其自动化、特种装备机器人、检测技术。
(责任编辑:薛士然 收修改稿日期:2017-01-11)
[2] Wittig R D,Chow P.OneChip:an FPGA processor with reconfigurable logic[J].IEEE Symposium on Fpgas for Custom Computing Machines,1998:126-135.
[3] 綦声波,马秀明.FPGA的在应用编程技术研究[J].单片机与嵌入式系统应用,2009(1):8-11.
[4] Thanh T,Vu T H,Cuong N V,et al.A Protocol for Secure Remote Update of Run-time Partially Reconfigurable Systems Based on FPGA[C]//Control, Automation and Information Sciences(ICCAIS),2013 International Conference on. IEEE,2013:295-299.
[5] 杨钊,颜浩洋.基于EPCS Flash配置的Altera SOPC启动及更新研究[J].中国西部科技,2009,8(1):1-3.
[6] 文华武.基于以太网的FPGA远程程序升级系统的设计与应用[D].重庆:重庆大学,2012.
[7] 黄蕊.利用Altera增强型配置片实现FPGA动态配置[J].电子设计工程,2007(3):16-20.
[8] Grieve R,Macdonald A M,Schriel J M.Implementing a microprocessor boot configuration prom within an FPGA:US,US7487344[P].2009.
罗明华(副研究员),主要研究方向为煤矿自动化。
Robot Control System Based on Open Source Beckhoff Control System
Liu Feifei1,Wu Yijun1,Gu Shuaiqi2,Gao Tangpan2
(1.School of Electrical Engineering and Automation,Jiangxi University of Science and Technology,Ganzhou 341000,China; 2.School of Mechanical and Electrical Engineering,Jiangxi University of Science and Technology)
In order to build a robot control system of high precision ultra-high speed control solution,the XFC technology of open Beckhoff automation control system is used,and the TwinCAT is used as the software platform,the high performance chip ARM9S3C2440 is used as SoC,and the ultra-high speed open EtherCAT is used as the communication system.The distributed EtherCAT clock is used for clock synchronization.The solution improves the dynamic processing performance.The latency of all subprocesses are reduced,thus it provides new ideas and solutions for the diversification of robot motion control.
Beckhoff control system;robot;TwinCAT
基于嵌入式系统的机器人通用多轴控制器开发(xs2016130)。
TP23
A
�士然
2017-01-16)