基于Beckhoff嵌入式PC控制器的步进电机群控系统设计
德国倍福(Beckhoff)公司作为专业的自动化设计和制造公司,生产一种基于工业PC机和PLC之间的嵌入式PC机。主要是针对需要带有工业PC机特性和计算机的功能但又不打算购买整台PC机的客户而设计的。它很好地结合了工业PC机和硬件PLC的功能,并具有强大的运动控制功能和完善的人机界面(HMI),是一种导轨式的三位一体的多功能的控制器。由于它采用导轨式安装、模块化设计、多种现场总线通信方式以及多种功能模块的搭配,使其在大量电机的控制系统应用中,有着PLC无法具备的许多优势,如连接线路少、占用空间小等,再加上电机专用控制模块和其具备的运动控制功能,使得整个控制系统构成简单,运行可靠、高效[1]。
本文在仔细研究Beckhoff嵌入式PC机及相关模块性能的基础上,通过大量的实验,提出并验证了步进电机群控的设计方案。
1 控制系统硬件组成
1.1 控制系统概述
本控制系统作为一个分系统,受主控系统的指令调度,其控制对象为大量的步进电机。控制要求在指定时间段内驱动若干电机将其不同的负载设备可靠地送到指定位置,完成不同的任务。由于整个系统庞大,电机数量众多且分散,数据传输量巨大,要求该控制系统与主控系统之间采用工业以太网分层设计,使其具有极高的可靠性、开放性,并具有运行效率高维护方便的特点。
1.2 控制系统网络拓扑
整个控制系统分为6组,每组分为几个电机数目不等的控制区域,图1表明其中某一控制区域的网络控制拓扑。控制系统采用FCS(Fieldbus Control System)控制架构设计,控制器CX1020向下通过电机控制模块KL2531/KL2541实现对底层电机的控制,向上则通过自身所带的以太网模块以及以太网交换机接入控制系统,现场控制中心通过控制服务器实现对被控设备的操作控制,完成系统内设备调度管理,通过网络按照控制流程对设备进行控制。
1.2.1 系统硬件配置
系统硬件配置如下:
(1)CPU(CX1020):内部采用时钟频率为1 GHz的奔腾MMX处理器,内存可以扩展到4 GB闪存/1 024 MB RAM,最多可实现255个总线端子连接到CX1020控制器上,再加上Microsoft Windows CE.NET或Microsoft嵌入式Windows XP操作系统便成为功能强大的PLC和运动控制系统,通过网线插在CPU模块的以太网接口上,可实现与主控制系统的连接。也可通过以太网和计算机连接实现程序的下载和硬件组态。
(2)电机驱动模块(KL2531/KL2541): KL2531最大驱动电流为1.5 A,KL2541最大驱动电流为5 A。两者都通过背板总线K-Bus、EtherCAT网络接口模块与控制器相连接。可通过程序设定实现步进电机的不同细分,通过K-Bus总线通讯,其配置、诊断和维护非常方便,包括检测软件配置错误、模块温度报警、欠压及电机A、B相断路、短路等。实现对电机运行过程中的故障诊断。可提高系统运行的可靠性以及错误排查的方便性。
(3)数字量输入模块(BL1002/BL1408):BL1002和BL1408分别为2路和8路的数字量输入模块,主要用来配合光电开关或微动开关信号的检测,判断设备是否已送入指定位置。
(4)终端端子模块(BK1009):放置在每路模块的终端,主要起电阻匹配的作用。
(5)EtherCAT网络模块(BK1120/EK1110):符合IEC规范--IEC/PAS 62407的超高速工业以太网模块,主要用于控制器的扩展连接。
(6)继电器模块(KL2622):主要用于控制系统的通断电控制,使得系统在工作时加电,停止时断电,最大限度地减小系统的功率损耗。
(7)电源模块(CX1100):为CPU及其他模块提供24 V工作电源。
1.2.2 方案设计
采用1台CX1020 CPU带若干个电机控制模块的控制方案,每个CPU模块最多可带255个终端模块,满足控制区域内所需最多控制器的需求。为了更加合理化布局,采用BK1120/EK1110模块将控制系统分为3排,控制器与上层分系统控制台或总控管理/束组控制台之间通过工业以太网(Ethernet)相连接,控制系统块与块之间则通过超高速工业以太网EtherCAT进行连接,而每一控制模块内部每个电机驱动端子模块之间则通过自身背板总线上的K-Bus总线进行连接。由于EtherCAT网络通信的高速性,保证了从控制台下达的指令被控制系统接收后,运动控制命令能迅速下达到每个电机驱动模块,充分确保实时性的要求。电机收到运动指令后,按照要求的方向运行至指定的位置。在指定位置的设备上安装光电开关或微动开关,信号将导入输入模块BL1002/BL1408用以确定最终位置是否准确,以及是否需要修正。
2 控制系统软件设计
2.1 系统软件配置
系统以Beckhoff公司的TwinCAT为软件开发测试平台。软件编程过程分为控制用软件的编写过程和硬件组态过程。首先通过PLC control完成控制程序的编写,然后再将程序加载到SystemManager中的PLC Configuration,完成程序中的参数和硬件端子的连接,再通过以太网(网络或者传输电缆)与CX1020相连,将硬件组态和控制程序分别下载到目标设备即可完成下位机程序的编写过程。由于软件的开放性,在分系统控制台或总控管理/束组控制台可通过Visual C++语言或其他高级语言编写的上位机程序调用TwinCAT中的DLL实现与上位机的控制对接。TwinCAT提供的编程语言包含IEC61131-3的全部语言:IL、FBD、LD、SFC和ST。用户可以通过选用以上语言的任一种进行PLC编程。此外,用户还可以通过TwinCAT所提供的运动控制(MC)程序块进行编程,大大简化了编程难度,提高了控制的可靠性。TwinCAT也有在运动控制方面的扩展功能,例如,实现控制电子齿轮、飞行前馈、凸轮碟等较为复杂的运动控制系统。本系统主要采用TwinCAT NC进行编程。
2.2 通信及组态连接(编程建立)
本控制方案选用TwinCAT NC轴下的MC(Motion Control)功能块进行编程。只需要在程序中调用其中的各个功能块,例如轴使能、运动或者停止模块,类似调用普通PLC程序中功能块一样,只需要对相应功能块的输入输出变量进行不同的赋值,便可实现相应的控制。变量可根据其所对应的类型指定地址,也可由程序自动分配其地址空间。
软件编程结束后,便可进行硬件的组态和连接,其过程如下:
(1)通过网线将控制器与计算机相连接,第1次连接后应进行硬件扫描,确保系统上所有的硬件模块连接正确。
(2)在NC Configuration中添加要控制轴的个数,即所需要控制的电机的数目,然后将所建立的轴与硬件扫描后使该轴的控制器相对应,添加建立所需要的轴和轴与控制器对应后的结果如图2所示。
- 单片机控制步进电机驱动器工作原理(10-19)
- 基于FPGA的步进电机控制器设计(02-12)
- 基于单片机的步进电机控制系统设计(09-13)
- 步进电机及驱动器的正确选择方法(10-01)
- 新的步进电机控制器/驱动器简化步进电机系统设计(10-29)
- 通过智能电机控制优化实时性能与效率(02-10)