7
西门子模块6AV2124-0JC01-0AX0技术参数
目前工控领域中广泛使用的可编程逻辑控制器(ProgrammableLogicController)大概可以分为两类:传统PLC与软PLC。传统PLC由于自身存在一些不足,例如封闭的硬件体系结构,主要由几家厂商所,而软PLC在开放性及方面潜力,目前欧美等很多西方国家已经把软件PLC作为一个对象进行研究开发。
传统PLC具有硬实时性,正因为如此它才能提供快速、确定而可重复的响应。另一方面,由于软PLC是基于PC而建立在一定的操作系统上,例如bbbbbbsNT,而这并不是一个硬实时的操作系统,这使得以PC为基础的控制引擎实时性问题成为制约软PLC发展的主要因素之一。
针对软PLC在实时性方面的不足,本项目采用基于嵌入式处理器的控制方案,软PLC执行系统作为一个任务在控制器固件内。美国TI公司推出的C6000系列数字信号处理器(DigitalSignalProcessor)具有很高的处理能力,特别是为其TMS320C6000TM、TMS320C5000TM和TMS320C28xTM系列DSP平台所设计开发的一个尺寸可裁剪的实时多任务操作系统内核DSP/BIOS,提供抢占式多线程、硬件抽象、实时分析和配置工具,可实现实时线程调度与同步、主机与目标DSP间通信或实时监测。DSP是串行控制的,运算速度快。基于DSP/BIOS实时内核的PLC执行系统,具有相当好的实时性及稳定性。下面着重介绍其设计及实现方法。
1软PLC的设计规划
1.1软PLC的架构分析
由PLC执行系统控制的PLC程序划分为一级程序和二级程序,它们的执行周期不一致。一级程序每8ms执行一次,处理响应快的短脉冲信号,例如外部的操作面板信号和报警信号,在程序末尾自动给出结束标记END1。二级程序为一般的PLC指令,每8nms执行一次,n为二级程序的分割数。在开始执行二级程序时,PLC执行系统模块会根据执行程序所需要的时间自动把二级程序分割成n块,每个8ms只执行其中一块,并在二级程序结束时自动给出结束标记END2。
1.2PLC执行系统的工作原理
PLC采用循环扫描方式工作,进行系统初始化,然后进入循环工作过程包括输入采样、PLC指令执行及输出刷新几个阶段,
1)系统初始化:在循环执行PLC程序前,要进行执行系统的初始化,包括参数的输入及变量初值的设置;2)输入的采样:每次执行PLC程序时,要读取外部输入状态至缓冲区中,以备后面程序查询;3)执行用户PLC程序:执行用户程序,就是CPU从PLC程序的地址开始按顺序逐个执行编译后的PLC指令,过程结果暂存在相应的寄存器内;4)输出的刷新:执行完用户程序后,需要把处理后需要输出的进行外部输出。由于PLC控制的对象大都是变化缓慢的信号,而PLC每次扫描输入和逻辑运算的时间很短,本PLC执行系统设定为每执行一个循环,就进行一遍输出的刷新。
1.3DSP/BIOS的线程调度
文中的PLC执行系统的开发均在TI公司提供的集成开发环境CCS(CodeComposerStudio)中进行,CCS不仅集成了常规的开发工具,如源程序编辑器、代码生成工具及调试环境,还提供DSP/BIOS开发工具。DSP/BIOS是一个精简的实时操作系统内核,具有实时操作系统功能。它提供抢占式多线程,支持多种不同级,每种线程都有不同的执行和抢占特性,分别是硬件中断(HWI)包括时钟函数(CLK)、软件中断(SWI)包括周期函数(PRD)、任务线程()、后台线程(IDL)。线程类型的选取原则:HW1只用来处理对时间要求苛刻的关键任务;SWI用来处理相对立的函数,如果算法要求比较复杂则使用。提供了很多通信和同步的手段,并且拥有自己立的堆栈,因此比SWI灵活。IDL用于执行与时间无关的非关键任务。
在DSP/BIOS线程调度中,硬件中断与软件中断的线程可以暂停运行中的低级任务,而的任务线程用特定的API才能抢占当前运行的低级任务线程,且只有任务线程才能暂停状态。基于PLC执行是一个循环执行过程,且与其它运动线程有复杂的通讯交互,本执行系统将其建立为一任务线程,由DSP/BIOS实时操作系统进行调度。2PLC执行系统的具体实现
2.1数据结构定义
1)PLC指令代码数据结构的定义。PLC用户程序在系统内部以一定的二进制格式存放,采用如下指令开辟一个a字节的内存区存放编译后的PLC指令代码,内存区大小a根据实际情况设定。
long*plc_pt;
plc_pt=(long*)malloc(a);
2)PLC执行指令结构体的定义。PLC指令代码主要包含内容为指令类型及变量地址,定义如下PLC执行指令结构体:
structplc_code_type//PLC执行指令结构体
{
unsignedcharcode_type;//指令类型
unsignedshortptaddr;//变量地址
:28px;background-color:rgb(255,255,255);">};
由此,在初始化时定义一个pk_code_type类型的指针直接指向PLC指令代码区.在进行PLC指令解析时,可直接移动该指针进行指令解析并输出。
2.2PLC指令解析
PLC执行系统的一个关键问题在于PLC指令的解析,利用DSP的C语言,建立相应的PLC指令的执行函数库。PLC用户程序可看成由多段执行块组成,每个执行块包括条件指令及执行指令。下面分为条件指令解析及执行指令解析来进行描述。
2.2.1条件指令解析
定义一个变量来保存条件指令解析结果,以便在解析执行指令时根据此条件指令解析结果进行执行指令处理。
例如常开触点(LD)可以用如下函数实现:
voidplcLD(plc_code_type&pc)
//pc表示当前指令在用户程序中的指针位置
{if(1==pc->pt_addr)//指令的地址为1
{
plc_result&=0x01;//闭合状态置位
}
}
2.2.2执行指令解析
执行指令则根据当前执行块条件指令结果来判断对元件地址进行相应处理。例如置位指令(SET)可以用如下函数实现:
voidplcSET(plc_code_type&pc)
{if(plc_result&1)
//判断条件指令,闭合,有输出
{
pc->pt_addr|=0xff;//对应地址置位
}
}
这样,逐个对PLC执行块进行解析,输入和输出单元的刷新同样利用函数来实现,后通过输出口送出控制量,实现对用户PLC程序的执行控制。
ground-color:rgb(255,255,255);">2.3PLC执行系统运行流程
在DSP/BIOS配置工具下的Scheduling项目中建立一个任务线程,比如为PLC_Deal_Task,并对该任务函数的级及其它相关内容进行设置,则可直接在PLC_Deal_Task线程中进行PLC指令解析处理,并实现PLC的循环扫描功能。
总体设计思想如下:设定一级程序的执行周期为m个指令计数执行一次,m与扫描周期有关。在进入二级循环后,判断指令计数是否大于m,未到m,则进入执行二级程序。如果条件满足,跳出循环,1周期完成。
3测试分析及应用
3.1软PLC执行系统的测试分析
根据上述设计方法构建出PLC执行系统,设计实际应用的PLC程序并在试验机上进行测试,观察设备的逻辑动作及执行系统性能情况。CCS提供了一系列可视化工具对运行系统的性能进行测试,“CPU负荷图”用于分析CPU的利用率,“任务执行图”可以出系统是否符合实时性要求。现根据微钻刃面检测机的工艺过程设计了其PLC程序,下载到本软PLC执行系统中运行,通过CCS监测工具监测其运行性能。CPU负荷图,负荷峰值在25%左右,变化平稳;任务执行图,左边栏下面的Assertions项目用于指示某个实时性要求没有达到,或是侦测到某个无效状态,如果Assertions项目没有出现小方块则表示对应线程的调度满足实时性要求。另外,经上机调试,设备整体运行逻辑也按照程序要求运行。此实验表明,基于DSP/BIOS的软PLC执行系统能够满足实时控制的要求且工作稳定。
3.2软PLC执行系统的应用
传统PLC的一个缺点是硬件体系结构相对封闭,并且成本高,例如日本三菱PLCFX2N系列控制器本身未集成运动轴控制功能,每增加一个运动轴的控制均需额外扩展脉冲发生器单元(PulseGeneratintUnit,PGU),如果在多轴设备上应用可能会造成成本过高并且灵活不够。本课题组开发的运动控制器IPMC8188可立控制8轴,软PLC执行系统作为一个任务运行在该控制器的固件中。对比传统PLC,有稳定强大的PLC功能的运动控制器可降低控制系统构建的复杂程度,提高控制效率及开发效率。内嵌软PLC执行系统的IMPC8188运动控制器,目前,该型运动控制器已在全自动刃面检测机、自动贴片机及全自动微钻磨尖机等自动化设备上使用并稳定运行。
4结束语
基于嵌入式处理器的软PLC执行系统能有效的软PLC在实时性及稳定性方面的不足,并且由于自带操作系统,有地数据存储和自恢复功能。文中论述的基于DSP/BIOS的PLC执行系统的设计,与运动控制相结合,在小中型自动化设备方面应用广泛,另外在实现大规模系统的综合性自动控制方面也有很大的发展潜力。
1引言:
高速线材轧线张力控制是线材自动控制中重要的一项技术,是衡量轧线自控系统的一项重要标志。一般采用负荷法实现间接张力控制。张力数据的采集是间接张力控制系统重要环节,采集到的数据能否真实地反映现场的实际情况,是否直接关系到后续控制的精度与稳定性。在一般的PLC控制系统中,模拟量由于受到现场环境等的影响造成采集上来的信号不能充分反映现场的真实情况,信号进入系统运算后容易造成运算差,有可能引起系统控制错误导致各种事故。由此可见模拟量控制的成功与否在很大程度上决定可控制系统的好坏。一般滤波控制只是简单的把几个采样值进行平均处理,有时造成的偏差较大,而且调试起来很不灵活,本文针对轧钢现场的实际情况,介绍一套用于轧线PLC控制的模拟量信号采样、滤波的方法。实现了自由灵活的信号处理。
2轧线PLC控制系统的组成:
在我们设计调试的线材生产线中,一般采用SiemensS7-400PLC作为主控制器,粗、中轧机,预精轧机,吐丝机,夹送棍传动采用SiemeNS直流调速装置6RA70,精轧机采用交流变频装置。主轧线设两个HMI,HMI与PLC通过以太网通讯,PLC与各传动采用Profibus-DP网通讯,
(1)轧线张力控制的实现方法:
棒线材轧线张力控制一般采用间接张力控制方法,即利用轧机负荷反馈计算轧机的张力。本文控制方法为利用PLC与传动装置之间的Profibus-DP。
(2)PLC内部的信号滤波算法:
信号滤波在功能为输入信号的采样、储存,数据分析处理、滤波,信号输出等环节:
1)采样、存储环节:PLC系统接受模拟量信号后,进行可控周期、可控数量的采样,采样采取FIFO算法,保证数据的实时性。保证在任何时间段内采集存储的的数据都是新、近的。
2)数据处理排序环节:利用冒泡算法对采集的数据排序。
3)数据处理均值环节:去除N个大值、小值。对剩余的数据进行均值处理。
3滤波系统功能详细介绍:
考虑到数据采样的连续性以及在特定的时间段内要保留一定数量的连续的采样数据,在系统中定义一个FIFO数据链表,采样数据按照时间顺序依次进入链表,当链表数据个数N(可调)一定时,那么着N个采样值就是一段时间内的连续采样值。在采样过程中从频率根据具体情况进行调整。
采样数据的大值和小值在采样过程中有可能受到干扰,或者采集的数据与其它值有较大偏离,其采样度不如其他中间数据,在运算中将规定数量(可调)的值除去。采用冒泡算法对数据排序,然后分别除去两端的一定个数(可调)的大值和小值。后剩余的数据均值处理。
4方案模块化:
本次应用的特点就是将上述功能模块化集中在一个功能块FC中,任何时候只要调用此功能块,就可实现采样滤波功能,通过调整功能块参数(爪子),可以实现可变频率采样,
可变数量采样等数据滤波功能。本功能基于SiemensS7-400PLC系统设计,采用SCL编程语言,功能块参数描述如下:
bbbbb:
I_main:模拟量输入信号
S_EN:功能允许信号
S_TRG:采样允许信号
F_SEL:需要去除的值个数
S_NO:采样个数
S_ARR:采样寄存器
Output:
O_main:滤波后信号输出。
S_ok:采样滤波计算正常。
调用此功能块的程序如下:FC10为采样功能块
CALLFC10(
I_main:=MD300,
S_EN:=L20.0,
S_TRG:=L20.1,
F_SEL:=MW502,
S_NO:=MW504,
O_main:=MD404,
S_ok:=M506.0,
S_ARR:=DB10.ARR);
5应用体会
采用此滤波功能后,对速度相应要求相对较慢的张力数据采集有较好的滤波效果。本功能可以方便地修改采样周期,采样个数,特殊值去除个数等,尤其便于根据具体情况进行现场调试,提高现场工作效率。
飞锯机是一种对连续运动的高频焊管钢材进行定尺切断的自动化设备,可在焊管或型钢高速运动下实现自动跟踪锯切,是焊管生产线上后一道工序的生产设备,对产品的质量和生产效率有较大的影响。要地剪切快速运动中的管材,剪切工具与机组的运动协调,尤其是在机组速度变化时,生产工艺要求剪切工具与机组线速度保持同步跟踪的情况下来进行定尺剪切。
2工艺要求
根据生产过程及产品技术指标,对飞锯机基本工艺要求如下:
锯切过程中锯片和运行的管材同步,保证在锯切过程中,锯片既要绕锯轴转动(施加锯切力和锯切功率),又要与管材以相同的速度移动(保管材的被切断面平直且不至于打飞锯片,造成设备损毁和事故);飞锯机应能锯切不同的定尺长度;要保证锯切的切口平直。即在整个锯切过程中,锯片都应和钢管轴线垂直,并且要使切头部分不弯不扁。
3系统改造
飞锯系统改造之前采用的是继电器控制,其中接触器、行程开关、继电器等电器元件作为控制元件,其控制系统复杂,操作难度大,并且安装接线工作量大、修改控制策略难,维护量大,严重影响了正常生产。因此,飞锯切割控制系统成了制约生产的瓶颈。而采用性较高的plc组成的控制系统作为数据采集、控制回路、自动顺序操作和运算的主要设备。满足了系统性、稳定性和实时性的要求。
由plc控制小车启动并加速追踪焊管至与焊管等速时达到定尺点,夹具夹紧焊管,即将锯车与焊管连为一体,气缸驱动落锯、抬锯、完成锯切,夹具松开,小车减速,停车,返回原位。
工步的位置进行控制,这种控制方式的特点是动作准确,只要有一步没有完成,下一工步将不可能进行这就避免事故的发生。控制系统可以实现自动和手动的转化。
4基于fx2n的飞锯控制
飞锯控制系统的任务主要是控制一台主电机(7.5kw的三相异步电机)和四个电磁阀(分别控制小车的加速、钢管的夹紧、飞锯压下切割、小车返回),plc需要同时控制主电机和电磁阀的协调工作,完成切割工作。plc对通过继电器和接触器控制主电机带动飞锯旋转;人机界面由触摸屏来实现,通过触摸屏设置工作参数。
4.1硬件设计
plc的选择一般从基本性能、特殊功能和通信联网三方面考虑。选择的基本原则是在满足控制要求的前提下力争的性价比。对于飞锯机的控制系统而言,工艺过程固定、环境条件一般,维修量比较小等,所以选用整体式结构的plc机型比较合适。具体满足条件如下:
(1)i/o点的估算:触摸屏占用串口通信输入1个;一台异步电机、四个电磁阀占用开关量输出5个;系统启动、停止、急停按钮占用三个开关量输入,自动/手动转换开关一个、异步电机启动、停止按钮、夹紧、落锯按钮个一个,需要占用五个输入量,定尺信号占用一个输入量;总计i/o点共14个。
(2)plc性能和控制任务相适应:飞锯机割机控制系统是开关量控制的,多是顺序控制和多模式的自动控制,对控制速度要求不是很高。
根据上面的控制要求,本设计选用日本三菱公司的fx2n–24mr型plc,它是继电器输出,24v直流供电。它的i/o点数为30,其中dc输入点为16,继电器输出点为14。具有高速计数器输入、串行通信接口rs-232、标配usb端口等强大功能。适合于多台步进电机的控制,双串口可搭载触摸屏控制终端、简易的变频器串行控制。内置24v/500ma直流电源,可供外围设备使用,一体化紧凑型设计,容易安装,使用din导轨或便利的固定孔安装。
4.2软件设计
fx型plc可以用三菱公司提供的swopc-fxgp编辑软件用梯形图进行编程,此软件具有显示/监控功能和完善的调试、维护功能,我们可以运用此软件在bbbbbbs的环境中对plc进行编程调试,编程完成后通过rs232通讯电缆从pc下载到plc上,飞锯机工作过程中参数设置较多,参数之间密切关联,各动作之间有严格的逻辑关系,每工作方式均可采用手动和自动两种方式,plc通过采集现场信号来控制工作过程。整个程序的控制方式为顺序控制。
5结束语
本文所设计的plc飞锯控制系统已成功地应用于某高频焊管公司的生产线,运行结果表明,该系统满足其设计要求,具有操作方便、性强、数据完整、监控及时等优点,并大大地减轻了操作工人的劳动强度、缩短了操作时间,受到了操作人员、维护人员、管理人员的。该系统的成功设计,也为类似系统的旧设备改造提供了可取的经验。


