工业安全产品/工业开关 |
|
| 按行业筛选 |
|
|
| 按产品筛选 |
|
|
| |
查看本类全部文章 |
| |
|
|
|
基于DSP的伺服控制系统设计 |
|
作者:徐晓峰 朱德森 |
|
现场操作趋向于使用人机界面,MT500系列触摸屏是专门面向PLC 应用的,它使用RS-232和RS485通信协议,能快速可靠的读写PLC内部数据。本文使用DSP与PLC直接通信,针对PLC节点状态对ISA槽上各个伺服控制板进行同步控制。我们采用了ISA槽,但这和PC的ISA总线是完全不一样的,ISA槽的引入只是为系统设计提供标准。所有的仲裁和大部分数据计算都由主控板完成,因此主控板的设计是系统设计的关键。
系统结构
系统总体结构如图1所示:
图1 伺服系统总体框图 系统的控制对象是多个圆网电机和一个导带主电机,圆网电机始终跟随主电机,系统要保持各个圆网和导带的线速度同步。主控板控制着系统的总线,其它板卡(如速度板、伺服板)都处于从属位置,DSP周期性的发送数据给各个伺服板和速度板。触摸屏与PLC通过串口通信,每种触摸屏都配有相应软件,包含了大量的元件库,用这些元件可以实现面板上的各种显示,如指示灯、数值显示和输入、文本显示和输入、报警、趋势图等。触摸屏和PLC通信是双向的,既可以显示也可以修改PLC内的数据,因此触摸屏可以替代面板的功能。主控板的功能是控制着系统的流程,通过串口接收从PLC得到的现场状态,从而控制着整个系统工作的状态。具体是通过ISA槽与速度板通讯,给定导带电机当前需要工作的速度。由于生产过程中,圆网跟踪导带是主要工作状态,所以主令电机的反馈由主控板采集也是最简便的。主令导带电机位置检测元件采用数字式检测元件5000p/r的光电编码器,安装在印花机被动辊的轴上,其反馈送给主控板。
圆网电机驱动单元采用Panasonic公司的全数字型交流伺服驱动器和配套交流伺服电机。圆网电机位置检测元件采用伺服电机自带2500p/r光电编码器,直接与电机的出轴相连。交流伺服驱动器控制板完成对伺服驱动器的控制和位置反馈信号的采集,实现对圆网电机的位置半闭环控制。
主控板设计
主控板的原理
图2示出主控板硬件原理图,主控板对系统的控制时要完成以下几项工作:
图2 主控板硬件原理图 ● 实现与PLC的数据交换
PLC与主控板交换的数据有圆网的状态,如: 系统的急停、圆网的启动、停止、基速、跟踪、自动降速等等; 系统的参数设置,如磨擦系数的设置。由于这些信息实时性要求不是很高,采用串口通讯。
● 控制总线并和总线上的板卡通讯
采用的是基于ISA槽的通讯,这里的ISA总线由主控板控制其仲裁和时序。主控板和伺服板通讯的数据有速度设定值和一些特殊的命令字符,命令字符用以控制伺服电机的运行方式。主控板上所有的数据、地址都经过CPLD锁存和处理,增强了总线驱动能力,保证DSP的I/O操作能顺利收发数据。
● 主令电机反馈信号的采集
通过主令电机编码器,采集导带的速度值,并将这些值通过总线送给伺服板,使其能快速、精确地跟踪导带的速度。DSP内含的正交编码器脉冲(QEP)捕获单元可以直接处理光电编码器的两路正交输出信号。QEP单元对输入的两路正交信号的上升和下降沿进行捕获,根据两路信号的相位关系自动判断电机的正反转,并据此对捕获的信号进行加、减计数。在程序中可以方便地读取当前的计数值和计数方向,即电机的角位移和转向;而电机速度则可以由计数脉冲的频率获得。
● 全局时钟以及同步中断信号地产生
伺服板之间的发送脉冲电路如果没有基准时钟,它们之间将产生累计误差,所以系统需要全局时钟,全局时钟给ISA槽上所有控制板提供了同步的基准。全局时钟是晶振信号经过DSP处理后经CPLD驱动而发出的,与DSP的CPUCLK频率相同。系统中,导带、圆网的运行速度获取是在采样周期内完成。圆网要实时跟踪导带的运行速度,给定周期越短,圆网速度跟踪的效果也就会更理想。为控制每块伺服控制板同步动作,在系统中设计了同步控制信号。
主控板的软件设计
图3是系统主控板的主程序流程图。
图3 主控板主程序流程图 主控板软件可分为2个模块,这两个模块完成任务调度和管理、中断服务。
● 任务调度和管理
实现DSP与PLC的通讯,DSP采用查询方式获取PLC节点状态变化,整个模块是一个主循环。系统所用的是OMRON系列PLC,有特殊的通讯帧格式,需在DSP上写好通讯函数。在本文中PLC常用的命令字有RR(读IR/SR区)、RD(读DM区)、WR(写IR/SR区)、WD(写DM区)、SC(写状态)。实际的运行过程中,PLC的IR区的节点对应着控制面板各个按钮、开关的状态。常用的参数设置和一些显示用数据都放在DM区,断电后能保持较久的时间。下图是SC(写状态)的帧格式,其中短格表示一字节,长格表示2字节数据。程序中按帧格式把数据填入缓存区,再把缓存区的数据依次填入SCITXBUF就能实现数据发送,接收数据和发送类似。 不管DSP读还是写数据,PLC 都会有应答帧,DSP根据应答信息能知道通讯是否成功。串口工作在9600bps的速率下,所有命令帧中最长达19字节,即使在比较恶劣的工业现场环境下也能保证通讯正常。
DSP在程序主循环中与PLC 若干个节点始终保持通讯,并且对各个节点的状态变化能在毫秒级完成相应的控制,因此系统的实时性能很好。系统实时性得以保证还需要程序提供充分的通讯异常处理,否则DSP与PLC通讯过程中,如果没有收到PLC的应答帧或者应答帧出错,都会对导致系统死机或状态混乱。在通讯异常检测方面,程序采用定时器超时检测和应答帧检测,发现错误后重发数据帧,如果重发次数超过限定,就跳过该PLC节点检测,系统状态保持原样。采取以上措施后,除非DSP与PLC通信线出现物理中断,系统都能正常运行。
● 中断服务程序
DSP所用中断是定时器1的周期中断,中断程序交替执行两个子模块。在第一个子模块内DSP给速度板发送数据,控制导带速度;在第二个子模块内DSP接收主电机编码反馈,处理后发给ISA总线上的各个伺服控制板。在这个中断程序中屏蔽掉了其他中断,所以它的优先级是最高的,这样就能保证各个圆网数据能实时发送,完成同步跟踪。DSP拥有50ns 的单周期指令执行时间,毫秒级的周期中断内能执行20000条指令,而实际的中断服务程序内只有几百条指令,因此DSP能迅速执行完中断程序,留有足够时间执行主循环程序。即使在DSP与PLC间正在传送数据时产生了周期中断,也能保证串口通讯的正常进行。
结束语
为了避开工控机采集速度慢的瓶颈,本文设计出一套以DSP为基础的全新方案。由于系统总线周期和DSP的总线周期一致,使得系统的数据传递和获取速度远高于一般总线。主控板的设计中一个重要的问题就是保证DSP与PLC串口通讯的可靠性,在生产过程中系统一直运行良好。(end)
|
|
文章内容仅供参考
(投稿)
(如果您是本文作者,请点击此处)
(10/26/2006) |
对 工业安全产品/工业开关 有何见解?请到 工业安全产品/工业开关论坛 畅所欲言吧!
|