俞霞 张爱红 章嘉恒
摘 要:为了提高步进驱动系统手动定位调节时的便利性,文中给出了一种采用手摇脉冲发生器(手轮)进行运动定位控制的系统。具体应用西门子S7 1200 PLC直接采集手轮转动时的A/B相脉冲频率,经程序处理后控制步进电机驱动十字工作台进行正反向移动定位。应用实践表明:系统具有开发成本低、可靠性高、人机交互体验感强等特点,其思路新颖、值得推广。
关键词:手轮;PLC;定位控制
中图分类号:TM383 文献标志码:A 文章编号:2095-2945(2020)21-0017-03
Abstract: In order to improve the convenience of manual positioning and adjustment of stepping drive system, a motion positioning control system using hand pulse generator (handwheel) is presented in this paper. Specifically, Siemens S7 1200 PLC is used to directly collect the A/B phase pulse frequency while the hand wheel is rotating. After the program is processed, the stepping motor is controlled to drive the cross table to move forward and backward for positioning. The application practice shows that the system has the characteristics of low development cost, high reliability and strong experience of human-computer interaction, and its idea is novel and worth popularizing.
Keywords: handwheel; PLC; positioning control
1 概述
在工業生产中,众多运动控制系统要求手动进行精准定位,目前市面上的脉冲型定位系统普遍采用手动按键(或触摸屏)的方式,即用不同按键控制电机的正反向转动,但由于控制台柜上的按键位置固定,不便移动,因此对操作人员近距离手动调节工作台的位置产生了影响。一般在数控机床上可采用手轮操控工作台移动定位,但考虑到数控机床普遍采用专用控制器CNC,具有成本高、开放性差等不足,相比较而言,采用通用PLC采集手轮转动频率以控制工作台定位既可提升操作的便利性,实现工作台精准定位,并可大幅降低硬件投入成本。
2 系统组成
手轮控制的十字工作台定位系统采用西门子S7-1200晶体管输出型PLC为主控制器,由PLC采集手轮A/B相输入脉冲,经程序处理后向步进驱动器发送脉冲与方向信号以控制步进电机的转动,电机经联轴器与工作台相连,最终实现工作台的移动定位。系统运行时,根据手轮转动的快慢与转动方向以控制工作台的移动速度与移动方向,系统组成框图如图1。
2.1 元件选型
主控制器选用西门子S7 1200 PLC(CPU 1214C DC/DC/DC),板载6个高速计数器和4路脉冲输出;配PROFINET接口,用于编程、HMI以及PLC间数据通信等,其中输出口Q0.0~Q0.3可用作高速脉冲序列或调谐脉冲宽度的输出。当作为PTO进行组态时,以高达100kHz的速度提供50%的占空比脉冲序列,可用于步进驱动器的开环回路速度和位置控制,以实现工作台的移动定位。手轮则选择PLC专用电子手轮,手轮旋转时,可产生A/B相脉冲,PLC根据采集到的脉冲频率大小与正负以决定工作台的移动速度与移动方向。步进电机驱动器选择细分型两相混合式驱动器DM542,利用拨码开关设定驱动器的电流、细分参数等,控制电机运行时,具有转矩波动小、低速运行平稳等优点。
2.2 控制线路设计
手轮A/B相信号,控制轴使能与倍率开关等信号接至PLC输入接口,输出信号接至X/Y轴步进驱动器,以驱动步进电机,再经弹性联轴节带动丝杠螺母副驱动工作台的移动,除手轮指示灯由5V直流电源供电外,其余如X/Y轴步进驱动器、PLC等均采用直流24V电源供电,如图2所示。表1为系统I/O分配表。
3 系统组态与编程
系统开发软件为博图(TIA Portal V14),博图是西门子发布的全集成自动化软件,由于系统架构功能完备,能用于各类自动化系统的设计开发。本系统在硬件设备与工艺对象组态的基础上,添加了相关功能FC与功能块FB,并通过组织块OB1调用与编程等实现了预期功能。
3.1 系统组态
在项目硬件组态界面上添加所选的CPU1214C DC/DC/DC(订货号:6ES7 214-1AG40-0XB0),为其配置频率型高速计数器HSC_1,工作模式采用A/B计数器,时钟发生器A/B的输入地址分别I0.0与I0.1,为PLC CPU板载输入,根据系统响应情况将频率测量周期设为0.01秒。系统硬件组态如图3所示。
添加定位轴工艺对象轴_1(X轴)和轴_2(Y轴),将Q0.0、Q0.1分别配置为X轴的脉冲与方向输出信号,Q0.2、Q0.3配置为Y轴的脉冲与方向输出信号。以X轴为例,其轴工艺对象的组态画面如图4所示。
3.2 软件编程
PLC程序主要由组织块OB1,倍率选择功能FC1/FC2/FC3与软限位功能塊FB1组成。其中主程序OB1中包含了:高速计数器指令(CTRL_HSC),轴使能(MC_Power)、复位(MC_Reset)、回零(MC_Home)、点动控制(MC_MoveJog)等运动控制指令的调用,除此外新增了采集频率转换(CONV)、对速度倍率处理功能(FC1/FC2/FC3)以及软限位功能块FB1的调用。
高速计数器指令块调用时为HSC输入端指定硬件标识符,需与高速计数器HSC1硬件组态标识符一致,本系统为257,手轮脉冲频率计数值存放在ID1000内,需调用CONV将其转换为实数值以供速度倍率处理功能调用。其中FC1/FC2/FC3分别对应手轮旋钮的不同倍率,如果倍率改变时,即使手轮转动速度不变也可使工作台得到不同的移动速度。限位功能块FB1可防止X/Y轴运动超程,起到软限位作用。编程通过对输出的脉冲计数并将其转换为实际移动位移,在到达轴左右极限位置前停止移动,从而起到保护作用。
将“手轮脉冲频率转换为电机速率的功能(FC1/FC2/FC3)”为系统核心程序,其中FC2功能的实现例程如下:
IF #handle_speed>0.0 THEN
#for_jog :=1;
#bck_jog :=0;
#ctrl_speed :=#handle_speed*10.0;
ELSIF #handle_speed<0.0 THEN
#for_jog := 0;
#bck_jog := 1;
#ctrl_speed := -#handle_speed*10.0;
ELSE
#for_jog := 0;
#bck_jog := 0;
#ctrl_speed := 0.0;
END_IF;
输入参数#handle_speed由ID1000转换而来,为Real类型参数,当#handle_speed为正时,说明手轮正转,结果将#for_jog置位、#bck_jog复位,从而控制电机正转,反之亦然;输出参数#ctrl_speed为手轮输入频率乘以倍率后的电机速度数值,作为点动控制(MC_MoveJog)时的输入参数。点动控制例程如下:
图5 X轴点动控制梯形图程序
其中:M6.0,M6.1分别为正反转控制标志位、MD124为电机点动输入速度参数,均为“手轮脉冲频率转换为电机速率功能(FC1/FC2/FC3)”的输出值。
4 结束语
采用手轮正反转控制电机转向,转动快慢控制电机转速,与操作人员的习惯一致,便于近距离对十字工作台系统的进行位置调节。与专用机床控制器CNC相比,应用通用PLC作为控制器具有价格低廉,通用性好、开发周期短等特点,因而具有较高的实用价值与推广意义。
参考文献:
[1]李虹静.基于S7-1200 PLC的伺服电机运动控制系统设计[J].机电信息,2019(29):125-126.
[2]姜志艳.西门子S7-1200在自动化线的运动控制及应用[J].电子工业专用设备,2017(264):66-73.
[3]王涛.基于S7-1200的三轴码垛机控制系统[J].内蒙古科技与经济,2019(12):87-89.
[4]陈凤华.基于S7-1200PLC的工件装配自动化生产线控制系统设计[J].韶关学院学报·自然科学,2019,40(3):35-39.
[5]储昭碧,李健,孔艳,等.基于S7-1200的全自动洗车控制系统的设计[J].电气传动,2016,46(9):62-65.
[6]嵇伟阳,王卓君,郑玉龙.基于S7-1200的温度测控系统设计[J].机电工程技术,2019,48(6):184-281.
[7]王敬斌,李响,黄鑫宇,等.基于西门子S7-1200实验室门禁及环境因子控制[J].信息化研究,2019,45(4):70-74.