在一些电子部件产品测试时,早先很多生产厂家都使用继电接触控制系统。该系统由分立元件组成,由于线路简单,元件控制精度不高,加上抗干扰能力极差,所以运行不够稳定,误动作频繁,使产品的测试和分析不准确。随着现代工艺的高精度要求,为了适应市场需求,采用可编程控制器对原继电电气控制系统进行改造。但由于各PLC厂家硬件模块和软件结构绝大多数都是专用的、互不兼容的,系统各模块间的交互方式、通信机制也各不相同,这使得控制系统相对独立、彼此封闭。随着技术的进步和市场竞争的加剧,这种专用体系结构的控制系统越来越暴露了其固有的缺陷。由于基于PC平台的软件PLC无需专门的编程器,可以充分利用PC机的软硬件资源,直接采用梯形图或语言编程,具有良好的人机界面等优点,因此逐渐取代了硬件PLC,成为研究的热点。
1电气测试系统原理介绍
该寿命测试系统能够利用定时器控制电子部件产品的动作频率,利用计时器来控制动作的次数。基本原理如图1所示。
图1电气测试基本原理
PLC使用OMRON CQM1HCPU11 PLC加上扩展模块,其I/O点数可达256个,可满足多路测试。利用控制动作Relay的定时器和负载反馈Relay的定时器时间差进行判断产品或负载的不良状态,并对系统进行停机保护。实验完成后利用产品或负载在机械和电气方面的特性对其产品进行评价。
其中,遮断保护、动作Relay和负载反馈Relay都是用PLC内部高精度定时器进行控制的,其原理都是用低电压控制高电压,实现高低压分离,保证了测试系统的安全性。这里的遮断保护用的是Fuji Electric Co.Ltd.JapanSC13AA型接触器,耐压可达600 V,单触点额定电流是32 A;动作Relay和负载反馈Relay(也可以用光电耦合或电流互感器)都是用的OMRON[1]的MY系列继电器。
实际用DL750 scoper测量发现这两种精度都不是很高,误差往往有8~10 ms。
实际中对产品评价需要很多数据,需要测试很多产品,这样需要多独立回路,接线走线困难,而且会产生寄生电路。所以,从PLC产品的兼容性及测试成本考虑,采用目前先进的嵌入式软PLC技术,可大大缩短实验周期并降低成本。
2软PLC技术
传统的PLC经过几十年的发展,技术已经非常成熟,以高速度、高稳定性、高性能在工业控制领域得到了广泛的应用。与此同时,随着现代计算机技术和电子技术的发展,在工程方面逐渐表现出其缺点:传统的PLC厂商垄断市场,其产品互不兼容,缺少明确一致的标准,难以构建开放的硬件体系结构;各厂商产品的编程方法差别很大,技术专有性较强,工作人员培训时间长;造成PLC的性价比增长很缓慢[2]。
20世纪90年代中期,计算机和微电子技术的迅猛发展以及PLC的国际标准IEC61131的制定,产生了软PLC技术[3]。所谓“软PLC技术”,就是用PC作为硬件支撑平台,利用软件实现标准硬件PLC的基本功能。也就是将PLC的控制功能封装在软件内,运行于PC的环境中。以PC为基础的控制系统,同时提供了PLC的相同功能,却具备了PC的各种优点。
软PLC技术一般由开发系统和运行系统两个部分组成。开发系统运行在PC平台上,而运行系统则运行在嵌入式硬件平台上。一般而言,嵌入式硬件平台上都要运行某种嵌入式操作系统[4],比如μC/OSII、μClinux等。
现代开发系统的特点一般都是集成化开发环境,界面友好,易于使用。软PLC嵌入式系统是基于IEC61131国际标准的,所以必然要支持其中的几种语言。系统运行在嵌入式硬件平台上,负责解释执行由开发系统编译、链接后产生的目标文件。运行系统一般由运行内核、通信接口和系统管理三大部分组成。其设计和实现精度很高,它的执行效率将直接影响到系统在现场控制中的反应速度。
3嵌入式平台的虚拟运行系统
运行系统的结构组成如图2所示。系统管理器的主要任务是处理不同任务、协调程序执行及从I/O映像读写变量。
图2运行系统的结构组成
I/O接口可与本地I/O系统和远程I/O系统通信。通信接口使运行系统可以与开发系统或其他设备进行通信。内核解释器是运行系统的核心部分,负责解释执行由开发系统编译完成的PLC应用程序的目标代码。
运行系统可在多种支持平台上运行。它通过将数据区和代码区分离,实现程序的动态更新和代码的高效率动态下载。
(1) 在μClinux平台上实现软PLC虚拟机实现步骤
① 将梯形图的指令翻译成宏汇编并建立一个宏库;
② 把用户编写的梯形图程序编译成中间代码形式的PLM文件;
③ 将PLM文件转变为汇编程序;
④ 用汇编器汇编转变成功的汇编程序,将解释执行内部指令(PLM文件)转换为程序,汇编成机器码执行,实现PLC指令机器码执行方案,大大提高了指令执行速度,同时大大节约了内存空间;
⑤ 将PLC指令对应的机器码移植到嵌入式操作系统中执行。
(2) 运行系统的两大模块
运行系统主要由两大模块组成: ① 梯形图到机器码程序的转换;② 执行机器码文件。每个模块的功能如下:
① 梯形图到机器码程序的转换。首先把用户编写的梯形图程序编译成中间代码形式的PLM文件,然后将PLM文件转变为汇编程序,最后用汇编器汇编转变成功的汇编程序,产生机器码从而生成可执行的PLE文件。
② 执行机器码文件。将PLE文件嵌入配置好的执行环境中并执行,通过工控机的面版指示灯监测程序的正确性。
(3) 虚拟机总体设计
根据虚拟机的原理和执行机制,对虚拟机的机器码执行方案进行了总体设计,如图3所示。PLC文件是梯形图程序的保存文件,通过对PLC文件进行词法分析、语法分析和语义分析编译产生PLM文件;然后调用宏汇编库,并进行一系列的转换生成机器码,产生PLE文件;最后创建机器码运行环境来执行机器码。宏汇编库中是每个梯形图指令对应的宏汇编段。
图3虚拟运行总体设计框图
(4) 交叉开发调试算法研究
非嵌入式通常采用本机开发、本机调试、本机运行的开发方式;而嵌入式开发需要交叉开发,绝大多数采用宿主机开发、宿主机和目标机之间交叉调试、目标机运行的方式开发。
交叉开发调试算法:
① 在宿主机平台上编写程序代码;
② 固化监控器至目标机上;
③ 连接宿主机和目标机;
④ 编译链接应用程序,生成可执行代码;
⑤ 将可执行代码下载到目标机;
⑥ 使用交叉调试器进行调试;
⑦ 如果程序调试没有发现异常,转至;
⑧ 调试程序时发生错误,利用交叉调试器定位错误;
⑨ 修改错误代码;
⑩ 重复④~⑩;
将目标机程序固化在目标机上。
4嵌入式软PLC改造后的控制系统
以测试继电器TV5实验为例。其要求如下:每次测试5个继电器,每个继电器的动作频率是5 s开,5 s关。根据要求,试验最好的结果是每个继电器用6个TV负载,即每个TV负载是5 s开,55 s关。输入点有:开关,检出,复位M个,停止次数设定量N次,动作频率设定L个,常开/触点转换。其中,M=测试产品个数,N、L个数由实际需要确定。其算法如下:
◆ 设定一个循环周期,使累积误差最小;
◆ 在循环周期内设计动作时间和动作频率,以及动作次数;
◆ 设计相关联动、互锁、紧急停车和复位等功能;
◆ 执行动作与反馈根据产品相关标准进行比较,判定结果和设定中断程序。
采用模块化程序设计编程,各模块均由主程序调用,且为了程序不出误动作,还要考虑电流谐波和冲击对高电源的要求。用了算法优化设计,5个继电器每隔2 s一个动作,5个刚好10 s。其中一个动作频率程序如下:
LD 200.11 LD TIM000
ANDNOT TIM104 OR 200.01
TIMH(15) 000 #202 ANDNOT TIM400
LD TIM000 ANDNOT HR10.00
TIMH(15) 001 #200 ANDNOT HR10.01
LD TIM001 OUT 200.01
TIMH(15) 101 #200 LD 200.01
LD TIM101 TIMH(15) 400 #800
TIMH(15) 004 #200 LD 200.01
LD TIM004 TIMH(15) 401 #300
TIMH(15) 104 #198
与之对应的动作如下:
LD TIM401 LD TIM003
AND 200.00 ANDNOT TIM120
OUT 100.05 OUT 101.02
LD TIM110 LD TIM002
ANDNOT TIM410 ANDNOT TIM220
OUT 101.01 OUT 101.03
LD TIM321 OUT 101.05
ANDNOT TIM320 LD TIM007
OUT 101.04 ANDNOT TIM020
LD TIM006 OUT 101.06
ANDNOT TIM420
该程序检出判断程序如下:
LD TIM000 LD 200.06
OR 200.06 TIMH(15) 002 #2200
ANDNOT TIM111 LD TIM002
ANDNOT HR10.00 TIMH(15) 220 #700
ANDNOT HR10.01 LD 200.06
AND 200.00 TIMH(15) 321 #3200
OUT 200.06 LD TIM321
LD 200.06 TIMH(15) 320 #700
TIMH(15) 111 #5950 LD 200.06
LD 200.06 TIMH(15) 006 #4200
TIMH(15) 110 #200 LD TIM006
LD TIM110 TIMH(15) 420 #700
TIMH(15) 410 #700 LD 200.06
LD 200.06 TIMH(15) 007 #5200
TIMH(15) 003 #1200 LD TIM007
LD TIM003 TIMH(15) 020 #700
TIMH(15) 120 #700
由图4可知:启动时突入电流最大值约为55 A,突入时间约为54 ms,定常为8 A。
由图5可知:电流滞后电压约为0.9 ms,其功率因素为0.96。
图4TV负荷电压电流波形
图5电机电压和电流波形
实验结果与测试要求基本一致。如果不采用优化算法程序设计,则对电源要求很高,所以该控制系统可以应用实现,无形中降低了成本。
5改进后优点和维护
很明显,经过以上改进后有以下优势:
◆ 使用PLC后通用性大大提高,改进了以前单一PLC,并缩短了工作人员的培训周期;
◆ 用嵌入式软PLC代替传统的硬PLC,外部线路简化;
◆ 模块化可实现各种复杂的控制系统,方便地增加和改变控制功能;
◆ PLC可进行故障自动检测和报警显示,提高运行安全性,且便于检修;
◆ 便于群控制,提高运行效率;
◆ 更改控制方案时无需改动外部线路。
测试及维护需注意的事项:
◆ 为了提高系统效率并降低开销,尽量少用I/O;
◆ 要有紧急停车和适当联锁按钮环节;
◆ 输入和输出不能用同一电缆线;
◆ 直流电感性负载并联浪涌二极管,以延长触点的使用寿命;交流感性负载并联电容吸收器以降低噪声。
◆ 为保证控制系统工作的可靠性,做好接地、防尘、防油、防辐射工作。
结语
此系统可用于继电器、马达、电感、充电器等产品的测试。改进后仍存在以下几点缺陷:其一,如果负载断路,其本身并不能检测和保护;如果负载短路,产品在短时间内产生过电流,会造成产品破坏甚至威胁人身安全。其二,数据采集不全,不能实时监控。利用电流计可以弥补第一点的不足;采用数据采集卡可以实现实时数据采集。