数控平台PLC控制系统的开发

来源:互联网

点击:1225

A+ A-

所属频道:新闻中心

关键词:数控 PLC 控制系统

    0 前言

      可编程控制器( PLC) 是上世纪60 年代发展起来的一种新型自动化控制器。最早是用于替代传统的继电器控制装置, 功能上只有逻辑控制、计时、计数以及顺序控制等, 而且只能进行开关量控制。随着技术的进步, PLC吸取了微电子技术和计算机技术的最新成果, 发展十分迅速, 其控制功能已远远超出逻辑控制的范畴, 从单机自动化、生产线的自动化, 到整个工厂的生产自动化, 从柔性制造、工业机器人到大型分散型控制系统, PLC均担当着重要角色。PLC、数控技术和工业机器人已成为机械工业自动化的三大支柱。

      PLC与数控技术的结合产生了各种不同类型的数控设备, 如复杂的数控加工中心, 简单的激光淬火用X2Y数控平台, X2Y绘图仪。如两轴运动的X2Y数控装置, 不但有着广泛的工业应用, 而且在高校数控实践教学中也是典型的实验设备。它一般由两个步进电机驱动, 可以沿X轴方向和Y轴方向运动, 用单片机或PLC编程控制其走出不同的运动轨迹。本设计用西门子S72200PLC控制数控平台, 用PC机作上位机构成控制系统, 通过直线插补、圆弧插补运算实现数控平台按规定的轨迹运动。

    1 数控平台控制系统

      用西门子S72200PLC (CPU226模块) 作控制器,由于现有的PLC主机模块为继电器输出型, 24 点输入16点输出, 接交流220V电源工作, 继电器输出不适合步进电机控制的大量、快速脉冲输出, 故扩展一个晶体管输出型EM222 模块作输出口。EM222 模块有8个输出点, 一边4个点, 模块要外接电源才能工作, 一般只要直接接PLC主机模块的24V 直流输出就行, 也可以用+ 5V电源, 但要注意与驱动电源共地的问题。驱动数控平台的两个步进电机型号为45BF005Ⅱ, 是三相反应式步进电机, 步距角115, 相电流215A, 驱动电压直流24 ~40V。X轴步进电机三相XA~XC接EM222输出点的Q217~Q215, Y轴步进电机三相YA~YC接EM222 输出点的Q214 ~Q212。输出点通过一大电阻接地M, 使其与EM222 内部晶体管输出电路L+(24V) 、M形成完整回路, 能保证输出信号的确定。

      PC机作上位机, 设计人机接口界面, 数据输入,数控插补运算, 仿真动态显示插补运动轨迹, 并将插补运动轨迹控制信息传给PLC, 由PLC控制步进电机运动。驱动电路就是功率放大, 使步进电机获得所要求的相电流和驱动电压。

    2 插补运算

      PC机界面友好, 数据输入方便, 插补运算速度快, 插补轨迹显示直观生动, 利用PC机强大的软硬件功能完成这些任务弥补了PLC的不足。一般的零件轮廓大都可以分解为直线和圆弧, 用VB编程, 采用逐点比较法设计直线插补和圆弧插补运算程序。无论图形在哪个象限, 插补运算的结果就是产生步进电机的运动控制信息, 一是运动轴, 二是在该轴的正或负方向运动。PC机插补运算一步, 实时地将插步结果的运动控制信息传送给PLC, PLC根据PC机传来的控制信息驱动相应的步进电机运动。PC 机传给PLC的运动控制信息分下面几种情况:

      MSComm1 1Ou tp u t = " 1 " + " 1 " + " 0 " +  Ch r $ ( &HA ) - - - - - - - - - - +X方向走一步  MSComm1 1Ou tp u t = " 1 " + " 2 " + " 0 " +  Ch r $ ( &HA ) - - - - - - - - - - - X方向走一步  MSComm1 1Ou tp u t = " 2 " + " 3 " + " 0 " +  Ch r $ ( &HA ) - - - - - - - - - - + Y方向走一步  MSComm1 1Ou tp u t = " 2 " + " 4 " + " 0 " +  Ch r $ ( &HA ) - - - - - - - - - - - Y方向走一步  MSComm1 1Ou tp u t = " 0 " + " 0 " + " 6 " +  Ch r $ ( &HA ) - - - - - - - - - - 停止信号

      实际上就是PC机与PLC之间的通信数据协议问题, PC机实时传送的数据由4 个字节组成, 分别为轴、轴的运动方向、停止信号、最后是结束符0AH。

      第一个字节表示运动轴, 字符1 (传ASCII码31H) 为X轴, 字符2 (传ASCII码32H) 为Y轴。第二个字节表示运动方向, 字符1为+ X方向, 字符2为- X方向, 字符3为+ Y方向, 字符4为- Y方向。第三个字节表示停止信号, 字符6 表示插补结束, 关闭步进电机。第四个字节为结束符0AH, PLC以接收到0AH为标志, 认为本次数据接收完毕。

    3 PLC控制程序

      3.1 接收数据

      按照通信协议, PLC处于接收数据状态。用接收指令RCV VB100, 0, 将接收到的数据存放在PLC接收缓冲区VB100 开始的存储区, 接收缓冲区与插补控制信息的对应关系。

      3.2 通信及初始化设置

      S72200PLC与PC机通信采用自由端口通信模式, 通信参数为波特率9600bp s, 每个字符8位数据位, 无奇偶校验。采用报文接收, 一次接收多个字节, 这时需要设置特殊存储器字节SMB87 ~SMB94及脉冲分配要用到的几个寄存器。通信与初始化设置程序如下:

      LD  SM011    / /首次扫描为1  MOVB 16#09, SMB30 / /初始化自由口通信参数  MOVB 16#B0, SMB87 / /RCV信息控制字节  MOVB 16#0A, SMB89 / /结束符为16#0A  MOVW + 1, SMW90 / /空闲超时为1ms  MOVB 100, SMB94 / /最大字符数为100  MOVB 1, VB400 / /X轴脉冲分配移位寄存器  MOVB 1, VB500 / /Y轴脉冲分配移位寄存器  MOVB 0, VB300 / /移位寄存器的移入数据  MOVB 0, AC1 / /X轴的时序脉冲记数器  MOVB 0, AC2 / /Y轴的时序脉冲记数器  ATCH INT_ 0, 23 / /报文接收结束中断事件  EN I / /允许中断  RCV  VB100, 0 / /执行接收指令, 接收缓冲区         指向VB100  3.3 脉冲分配

      对三相步进电机的控制, 有单三拍、双三拍和单、双六拍通电方式, 我们采用六拍通电方式。改变通电顺序就改变了步进电机的旋转方向, 数控平台的移动方向就改变了。如何用PLC产生六拍时序脉冲及改变通电顺序, 实现数控平台沿X、Y轴正确移动是PLC控制程序的关键。

      以X轴步进电机为例, 用移位寄存器指令SHRBV30010, V40010, + 7 对VB400 移位产生六拍时序脉冲, 初始化时VB300 为0, VB400 为1, 执行一次移位将V30010 位的值从V40010 位移入, + 7 表示VB400中参与移位的7 位为V40010 ~V40016。用VB400中的六位V40011 ~V40016 产生六拍时序脉冲, 每移位一次为一拍, V40011~V40016前移一位,在V40011~V40016中每次总有一位为逻辑1, 其它位为逻辑0, 如第一次移位后V40011 ~V40016 等于100000, 逻辑1就代表着当前拍所在位置。移位六次为一循环, 反复进行。

      每一拍X 步进电机三相的通电情况用M110、M111和M112存储, M110、M111 和M112 组成三相单、双六拍环形脉冲分配器, 在V40011 ~V40016产生的六拍时序脉冲的作用下, M110、M111 和M112的通电顺序为: M110M110、M111M111M111、M112M112M112、M110。

      步进电机的正反转控制用4 个控制开关实现,Q013作X轴正转开关, Q013 = 1正转, Q014作X轴反转开关, Q014 = 1 反转, Y轴类似, 用Q015 和Q016。

      用Q217、Q216和Q215输出控制信号到X轴步进电机XA、XB和XC三相, 当Q013 闭合时X轴正转, X步进电机的通电顺序为AABBBCCCAA, 循环。即:

      Q217Q217、Q216Q216Q216、Q215Q215Q215、Q217Q217, 循环。

      当Q014闭合时X轴反转, X步进电机的通电顺序为BBAAACCCB;B, 循环。即:

      Q216Q216、Q217 Q217 Q217、Q215 Q215Q215、Q216Q216, 循环。将以上时序脉冲的产生及脉冲分

      3.4 PLC控制程序

      PLC采用报文接收方式接收PC机实时传送来的数据, 接收到的数据存入缓冲区VB100。初始化程序中已用中断连接指令ATCH INT_0, 23 将报文接收完成中断(中断号为23) 连接到用户中断处理程序INT_ 0。PLC每接收到一次PC机传送的数据, 响应一次中断并立即执行用户中断处理程序INT_ 0。在中断处理程序中首先对接收到的数据进行判断, 根据VB102中的值判断是X或Y轴朝正、负哪个方向运动, 并将此次运动方向开关Q013 ~Q016 之一置逻辑1。然后根据VB101 中的值判断是X或Y轴的哪个轴运动, 如是X轴运动, 则X轴计数一拍(无论是+X方向还是- X方向) , 执行移位寄存器指令产生时序脉冲, 并进行软件脉冲分配, 从Q217~Q215输出X轴步进电机走一步的控制脉冲, 完成一拍的动作。接着判断X轴方向是否走了六拍, 如果已走完六拍, 要回到下一个六拍的起始拍, 在程序中就是重新初始化X轴计数器AC1为0, 移位寄存器VB400为1。Y轴的运动程序类似, 只是所使用的存储器不同而已。

    4 结束语

      西门子S72200PLC数控平台控制系统, 集计算机、通信、数控、机电传动于一体, 不但作为高校智能综合实验设备可广泛应用于学生大型综合实践环节、毕业设计及应用课题开发, 而且其控制系统的设计思想和方法可以直接用于工业自动化装置及一些数控系统。

    (审核编辑: 智汇张瑜)