Board logo

标题: 嵌入式软PLC虚拟机在电气测试中应用 [打印本页]

作者: chenchao8848    时间: 2008-3-4 13:25     标题: 嵌入式软PLC虚拟机在电气测试中应用

在一些电子部件产品测试时,早先很多生产厂家都使用继电接触控制系统。该系统由分立元件组成,由于线路简单,元件控制精度不高,加上抗干扰能力级差,所以运行不够稳定,误动作频繁,使产品的测试和分析不准确。

  随着现代工艺的高精度要求,为了适应市场需求,采用可编程控制器对原继电电气控制系统进行改造,但由于各PLC厂家硬件模块和软件结构绝大多数都是专用的、互不兼容的,系统各模块间的交互方式、通信机制也各不相同,这使得控制系统相对独立、彼此封闭。随着技术的进步和市场竞争的加剧,这种专用体系结构的控制系统越来越暴露了其固有的缺陷。由于基于PC平台的软件PLC无需专门的编程器,可充分利用PC机的软硬件资源,直接采用梯形图或语言编程,具有良好的人机界面等优点,因此逐渐取代了硬件PLC,成为研究的热点。


作者: chenchao8848    时间: 2008-3-4 13:25

1、电气测试系统原理介绍

  该寿命测试系统能够利用定时器控制电子部件产品的动作频率,利用计时器来控制动作的次数,基本原理如图1所示。

电气测试基本原理

图1 电气测试基本原理

  PLC使用OMRON CQM1H-CPU11 PLC加上扩展模块,其I/O点数可达26个,可满足多路测试,利用控制动
作Relay的定时器和负载反馈Relay的定时器时间差进行判断产品或负载的不良状态,并对系统进行停机保护,实验完成后利用产品或负载在机械和电气方面的特性对其产品进行评价。

  其中,遮断保护、动作Relay和负载反馈Relay都是用PLC内部高精度定时器进行控制的,其原理都是用低电压控制高电压,实现高低压分离,保証了测试系统的安全性,这里的遮断保护用的是Fuji Electric Co.Ltd。JapanSC-13AA型接触器,耐压可达600V,单触点额定电流是32A,动作Relay和负载反馈Relay(也可以用光电耦合或电流互感器)都是用的OMRON的MY系列继电器。

  实际用DL750 scoper测量发现这两种精度都不是很高,误差往往有8-10ms。

  实际中对产品评价需要很多数据,需要测试很多产品,这样需要多独立回路,接线走线困难,而且会产生寄生电路,所以,从PLC产品的兼容性及测试成本考虑,采用目前先进的嵌入式软PLC技术,可大大缩短实验周期并降低成本。


作者: chenchao8848    时间: 2008-3-4 13:25

2、软PLC技术

  传统的PLC经过十几年的发展,技术已经非常成熟,以高速度、高稳定性、高性能在工业控制领域得到了广泛应用,与此同时,随着现代计算机技术和电子技术的发展,在工程方面逐渐表现出其缺点:传统的PLC厂商垄断市场,其产品户不兼容,缺少明确一致的标准,难以构建开放的硬件体系结构;各厂商产品的编程方法差别很大,技术专有性较强,工作人员培训时间长,造成PLC的性价比增长很缓慢。

  20世纪90年代中期,计算机和微电子技术的迅猛发展以及PLC的国际标准IEC61131的制定,产生了软PLC技术,所有"软PLC技术",就是用PC作为硬件支撑平台,利用软件实现标准硬件PLC的基本功能,也就是将PLC的控制功能封装在软件内,运行于PC的环境中,以PC为基础的控制系统,同时提供了PLC的相同功能,却具备了PC的各种优点。

  软PLC技术一般由开发系统和运行系统两个部分组成。开发系统运行在PC平台上,而运行系统则运行在嵌入式硬件平台上,一般而言,嵌入式硬件平台上都要运行某种嵌入式操作系统,比如μC/OS-II、μClinux等。

  现代开发系统的特点一般都是集成化开发环境,界面友好,易于使用。软PLC嵌入式系统是基于IEC61131国际标准的,所以必然要支持其中的几种语言,系统运行在嵌入式硬件平台上,负责解释执行由开发系统编译、链接后产生的目标文件,运行系统一般由运行内核、通信接口和系统管理三大部分组成,其设计和实现精度很高,它的执行效率将直接影响到系统在现场控制中的反应速度


作者: chenchao8848    时间: 2008-3-4 13:26

3、嵌入式平台的虚拟运行系统

  运行系统的结构组成如图2所示。系统管理器的主要任务是处理不同任务、协调程序执行及从I/O映象读写变量。I/O接口可与本地I/O系统和远程I/O系统通信。通信接口使运行系统可以与开发系统或其他设备进行通信。内核解释器是运行系统的核心部分,负责解释执行由开发系统编译完成的PLC应用程序的目标代码。

运行系统的结构组成

图2 运行系统的结构组成

  运行系统可在多种支持平台上运行,它通过将数据区和代码区分离,实现程序的动态更新和代码的高效率动态下载。


作者: chenchao8848    时间: 2008-3-4 13:26

1)在μClinux平台上实现软PLC虚拟机实现步骤

(2)运行系统的两大模块

  运行系统主要由两大模块组成:1)梯形图到机器码程序的转换;2)执行机器码文件。每个模块的功能如下:

  1)梯形图到机器码程序的转换。首先把用户编写的梯形图程序编译成中间代码形式的PLM文件,然后将PLM文件转变为汇编程序,最后用汇编器汇编转变成功的汇编程序,产生机器码从而生成可执行的PLE文件。

  2)执行机器码文件。将PLE文件嵌入配置好的执行环境中并执行,通过工控机的面版指示灯监测程序的正确性。


作者: chenchao8848    时间: 2008-3-4 13:26

(3)虚拟机总体设计

  根据虚拟机的原理和执行机制,对虚拟机的机器码执行方案进行了总体设计,如图3所示。PLC文件是梯形图程序的保存文件,通过对PLC文件进行词法分析、语法分析和语义分析编译产生PLM文件,然后调用宏汇编库,并进行一系列的转换生成机器码,产生PLE文件;最后创建机器运行环境来执行机器码,宏汇编库中是每个梯形图指令对应的宏汇编段。

虚拟运行总体设计框图

图3 虚拟运行总体设计框图


作者: chenchao8848    时间: 2008-3-4 13:26

4)交叉开发调试算法研究

 
 非嵌入式通常采用本机开发、本机调试、本机运行的开发方式;而嵌入式开发需要交叉开发,绝大多数采用宿主机开发、宿主机和目标机之间交叉调试、目标机运行的方式开发。

  交叉开发调试算法:


作者: chenchao8848    时间: 2008-3-4 13:27

4、嵌入式软PLC改造后的控制系统

  以测试继电器TV5实验为例。其要求如下:每次测试5个继电器,每个继电器的动作频率是5s开,5s关。根据要求,试验最好的结果是每个继电器用6个TV负载,即每个TV负载是5s开,55s管。输入点有:开关,检出,复位M个,停止次数设定量N次,动作频率设定L个,常开/触点转换。其中,M=测试产品个数,N、L个数由实际需要确定。其算法如下:

  采用模块化程序设计编程,各模块均由主程序调用,且为了程序不出误动作,还要考虑电流谐波和冲击对高电源的要求。用了算法优化设计,5个继电器每隔2s一个动作,5个刚好10s。其中一个动作频率程序如下:

程序

  与之对应的动作如下:

程序

  该程序检出判断程序如下:

程序

TV负荷电压电流波形

图4 TV负荷电压电流波形

  由图4可知:启动时突入电流最大值约为55A,突入时间约为54ms,定常为8A。

电机电压和电流波形

图5 电机电压和电流波形

  由图5可知:电流滞后电压约为0.9ms,其功率因素为0.96。

  实验结果与测试要求基本一致。如果不采用优化算法程序设计,则对电源要求很高,所以该控制系统可以应用实现,无形中降低了成本。


作者: chenchao8848    时间: 2008-3-4 13:27

5、改进后优点和维护

  很明显,经过以上改进后有以下优势:

  为保证控制系统工作的可靠性,做好接地、防尘、访油、防辐射工作。

  结语

  此系统可用于继电器、马达、电感、充电器等产品的测试。改进后仍存在以下几点缺陷:其一,如果负载断路,其本身并不能检测和保护;如果负载短路,产品在短时间内产生过电流,会造成产品破坏甚至威胁人身安全。其二,数据采集不全,不能实时监控。利用电流计可以弥补第一点的不足;采用数据采集卡可以实现实时数据采集。


作者: CDZPJX    时间: 2008-6-19 11:54

不错






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0