APP下载

电磁兼容用PLC汽车驾驶器电控单元的设计

2012-07-26

自动化仪表 2012年2期
关键词:执行器电控串口

李 潇

(中国计量科学研究院信息电子所,北京 100013)

0 引言

汽车电子化是现代汽车发展的重要标志。电子部件在整个汽车系统中的比重越来越大,这就对电子部件的可靠性和稳定性提出了很高的要求。如果由于电子部件的失效或干扰而造成车辆运行的失控,其后果不堪设想。因此,对汽车零部件和整车所进行的干扰和抗干扰的电磁兼容试验就显得尤为重要。

整车的辐射抗扰度测试需要在电波暗室中进行。测试时,使被测车辆处于行驶状态,在指定频段内使用经校准的场强照射被测车辆,观察在满足标准要求的各个场强强度等级下该车辆的运行是否受影响。

整车辐射抗扰度测试主要检验被测车辆是否会被外界较强的场强干扰,通常照射频段为9 kHz~2.5 GHz,场强最高可至100 V/m的照射强度。但在如此高的场强下,由人驾驶汽车会对人体造成较大伤害,因此,需要开发一种自动的、能够远程驾驶汽车的装置对汽车进行驾驶控制,完成辐射抗扰试验。

1 系统概述

汽车EMC测试驾驶系统是由电脑软件控制PLC电控单元,再由电控单元输出控制信号至气动控制器中的压缩空气比例控制阀,从而调节压缩空气,以此控制气动执行器驱动伸缩踏板来控制汽车驾驶。整套系统中的硬件包括压缩空气发生系统、PLC驾驶电控单元、气动控制器、气动执行器、紧急停止装置、电脑及串口光电转换器。

①压缩空气发生系统:能够产生足够洁净、干燥且能达到指定压强的压缩空气,为气动执行器提供动力。

②PLC驾驶电控单元:接收计算机发来的控制指令,将其转换成气动控制器需要的控制信号,从而控制执行器动作。

③气动控制器:包含多组压缩空气比例控制阀,根据输入的电信号对输入的指定压强的压缩空气进行调节,再输出至气动执行器。

④气动执行器:有3个由压缩空气驱动的伸缩踏板,分别对应汽车的离合、刹车和油门。该执行器放置在车内,由3个伸缩踏板即可完成对汽车的控制。

⑤紧急停止装置:由独立的光纤连接,与计算机控制分离,独立地对气动控制器的电源进行切断控制,保证在紧急情况下对气动执行器进行复位。

⑥计算机及串口光电转换器:运行控制程序,通过光纤发送指令至辅助驾驶电控单元,远程控制汽车驾驶。

整套系统大部分被安置在电波暗室的地下室内。其中,控制室中电脑串口发出的控制指令通过RS-232光纤收发器发送给比例阀电控单元。汽车EMC测试驾驶装置硬件系统构成如图1所示。

图1 系统硬件构成图Fig.1 Hardware composition of the system

为保证可靠性,并与国际测试机构保持一致,整个硬件系统中气动执行器和气动控制器均购买国外的成品组件。将气动执行器和气动控制器的气路连接后,输入压缩空气,并对比例控制阀输入变化的直流电压,即可控制3个踏板的伸缩行程。

2 PLC电控单元硬件设计

2.1 PLC电控单元设计要求

整个系统的设计思路是:由PC发射指令给电控单元,电控单元将PC指令转换为符合要求的模拟电压信号,然后输入至气动控制器,由其控制气动执行器相应踏板的伸缩。整套驾驶装置的核心和技术难点是控制软件和电控装置的设计。根据气动控制器中安装的气动比例控制阀的要求和气动执行器中伸缩踏板的数量,电控装置中除要包含同PC通信的部分外,还要有一个D/A模块,从而根据PC指令产生至少3组电压在0~5 V范围内精确可调的直流电压信号。由于汽车测试的高辐射和高速驾驶状态下的危险性,该电控装置须保证较高的控制精度和较强的稳定性。

辅助驾驶电控单元的设计要求如下:①响应速度快,输入指令后的响应时间应小于50 ms;②4组模拟量输出,每组可输出0~5 V可调直流电压,且量化精度大于等于12位;③模拟量输出稳定,电压抖动不超过0.1 V;④抗干扰能力强且稳定可靠,在电磁环境较恶劣的场合可正常工作;⑤能够通过RS-232接口同计算机通信。

根据以上设计要求,最终选定西门子S7-300型PLC主控单元及其相应模块进行电控单元设计。

2.2 PLC模块选型与组态

2.2.1 模块选型

根据设计要求,选定所需要的PLC功能模块,电控单元PLC模块的型号信息如表1所示[1]。

表1 型号信息Tab.1 Information of the PLC modules

①S7-300 CPU CPU312C模块是紧凑型CPU模块,带有1个RS-485接口,用于通信和程序下载。该模块自带有8个数字输入和输出端,集成32 kB主存储器,并支持最大8 MB的MMC卡扩展。在运行速度方面,位操作用时最少为 0.2 μs、字指令最少为0.4 μs、定点运算最少为 5 μs、浮点运算最少为 6 μs。

②电源模块PS3075A的最大输出电流为5 A,可输出3路24 V直流电压,并通过专用连接器同PLC各个模块相连。安全隔离符合EN 60950。

③ 模拟量输出模块SM3324×16,24 V输入,可输出4组16位的电压或电流信号,其取值范围可设定为±10 V、0~10 V、1~5 V、±20 mA、0~20 mA、4~20 mA;在0~10 V范围内误差限值为±0.02%,重复精度为±0.002%,负载阻抗(在额定输出范围内)电压输出最小1 kΩ,容性负载最大1 μF。

④ 通信模块CP340,使用RS-232串口通信协议,可使外部设备如电脑等访问PLC,并对其进行控制;也可通过该模块控制其他外部设备,如显示器、打印机等。

2.2.2 硬件组态

在对电控单元系统中所需要的所有PLC模块进行选择后,根据对控制系统的功能要求,确定系统的硬件配置。S7-300 PLC采用紧凑的、无槽位限制的模块化组合结构,因此,可将这些模块安装到同一导轨上。其中,导轨是一种专用的金属机架[2]。

硬件组态的任务就是在Step7 V5.4中生成一个与实际的硬件系统完全相同的系统。例如要生成网络、网络中各个站的机架和模块,以及设置各硬件组成部分的参数,即给参数赋值。所有模块的参数都用编程软件来设置。Step7为西门子专用的可编程逻辑控制器组态和编程的标准软件包[3]。在Step7中,对硬件组态完毕并确认无误后,使用编程电缆连接电脑和PLC的CPU模块,将组态信息下载至CPU的存储器中,以便让CPU能够识别并使用系统中的各个功能模块。

3 PLC电控单元程序设计

3.1 PLC 编程

3.1.1 PLC 程序功能分析

根据汽车驾驶装置的要求,由上位机PC通过串口发送指令至PLC,以独立发出3组可变电压信号,并由这些信号控制气动执行器动作。简而言之,PLC程序的设计任务是控制通信模块读取来自电脑的串口数据,PLC对这些信号进行识别,并根据这些信号控制模拟量输出模块的3个通道输出0~5 V的电压。PLC程序基本功能框图如图2所示。

图2 PLC程序功能分析框图Fig.2 Functional analysis of the PLC program functions

3.1.2 PLC 程序设计及调试

使用Step7进行编程有3种编程方式,分别为梯形图LAD、语句表STL和功能块图FBD。对于规模不大的程序来说,使用功能块图方式更为直观,这也是本文采用的程序设计方式。

程序运行后,首先由CP340读取计算机发出的指令。对于CP340的串口控制功能,Step7中的系统功能块(SFB)已包含有RS-232收发功能块,系统命名为FB2和FB3。由于使用中并不需要信息反馈,所以,这里只采用接收功能块FB2,符号名为‘I_REV’,并创建一个数据块DB1为其背景数据块,同时,再创建一个数据块DB10,用于存放其从计算机接收到的字符串。

EN_R为接收触发端,故使用 M1.1地址上的‘TRUE’值触发;R为复位端,使用 M1.2地址上的‘FALSE’值忽略;而NDR和ERROR端也用‘FALSE’值忽略。LADDR端为CP340起始地址。DB_NO为接收数据块的号,这里使用DB10,故将DB_NO设为10。DBB_NO为DB10的起始地址,这里设为0。LEN为接收数据的最大长度[4]。由于接收到的串口数据为字符串型,而模拟模块输出指定的电压值,因此,需要给其模块地址发送一个整数型的数据。Step7中并没有集成有将字符串数据转换为整数型数据的函数,故需要自行编写。加上预留端口,共有4组电压输出,故应有4组字符输入,为方便操作且加快发送速度,将4组字符整合为一组字符串输入。向模拟量输出模块的物理地址赋值,0~27648的整数值即可控制输出模块输出电压在0~5 V范围内变化。所以,电脑输出的字符串为“00000000000000000000”至“27648276482764827648”,以控制模拟模块4组0~5 V的输出[5]。

将接收到的包含20个字符的字符串输入至DB10中,预先定义的一个4×5的二维数组“REC_DATAS”,再通过“字符串型转整数型”函数 FC1(CHAR TO INT),将各个字符转换为整数。最后,使用“字符串转整数”函数FB1(STRING5 TO INT),将二维数组的4行字符转换为4组5位的整数,并将其保存在DB11(“RETURN”)中指定的变量中。其中,FB1是以调用FC1来实现功能的。将FB1输出的5位整数存入DB11中后,通过赋值功能块,将DB11(“RETURN”)中的变量发送给模拟量模块SM332的指定通道的地址,即可使该通道输出需要的电压值。加上预留的通道,实际有4组变量的输出,即对FB1,FC1须进行多次调用才可满足要求。根据以上程序设计方案,得到完整的程序执行流程如图3所示。

图3 程序执行流程图Fig.3 Flowchart of the execution of program

最后,当PLC程序下载完毕后,整个运行程序存储在PLC中CPU单元上的一个MMC卡中。

进行调试时,首先将CP340模块上的RS-232口与计算机的串口相连接。打开计算机和PLC的电源,同时将PLC上CPU模块312C上的运行开关由“Stop”开至“Run”,使PLC处于运行模式,此时,PLC已开始顺序并重复执行OB1块中的代码。

在计算机上运行串口调试软件。根据使用的端口和在硬件组态时对CP340设置的参数,将串口的参数设置为串口号COM4、波特率9600 bit/s、校验位EVEN(偶校验)、数据位8位、停止位1位。

在点击“打开串口”之前,CP340上的SF灯亮起,表示连接异常;当打开串口后,SF灯熄灭。此时,PLC各个模块没有明显故障出现。

在发送数据区写入“00000000000000000000”字符串并发送时,CP340上的接收指示灯闪烁一次,使用万用表测量SM332各个输出通道的直流电压,均为0 V。此时,再输入“27648276482764827648”并发送,经测量,各通道电压均为10 V左右,说明程序运行基本成功。为保证各个通道输出对应准确,且输出电压准确,对不同通道和电压值进行试验,其结果如表2所示。

表2 PLC输出电压调试结果Tab.2 Result of PLC output voltage test

3.2 上位机控制程序设计

由于本文的重点在于PLC电控单元本身的设计,故对上位机程序设计仅作简要介绍。上位机PC端控制软件直接面向用户,要求操作方式和界面尽可能直观且友好。此外,整个汽车辅助装置是用于汽车测试中的辅助系统,测试员的精力主要放在测试上;同时,汽车运行时功率较大,操作本身具有一定的风险性。所以,软件的操作要尽可能地简单易用,甚至需要包含一些自动化功能。

根据以上这些要求,PC端软件应具备以下几个功能特征:①能够访问计算机串口,并通过串口发送数据;②可通过图形化的方式直观地控制各个伸缩器的动作;③可对整个界面进行锁定,以防止非测试人员误操作;④可通过软件对执行器进行紧急复位;⑤可对各个踏板的调节进行自动操作。

整套上位机控制程序在Microsoft Visual Studio 2005中的VB.net环境下完成设计和编译。

其中,串口通信功能为程序的核心所在。程序的最终目的是能够通过计算机串口发送一个字符串指令给PLC,在VB.net中已有现成的Serial Port控件可以使用。该控件已包含了对串口的底层控制和常用的通信功能,包括波特率的设置、校验位的设置、数据收发及端口开关等,使用十分方便,足够应对数据量小且对速率要求不是很高的场合。

首先将serial port控件拖入窗体设计器,并将该控件命名为MyPort[6]。然后在主程序中添加一个串口初始化函数‘OpenCom’。该函数对串口的名称、波特率、数据位、终止位、奇偶校验位和端口开关状态都进行了设置。IsOpen为TRUE时,执行该函数,即为打开端口,并对端口各个参数进行初始化[7]。其代码如下。

当调节踏板行程变量时,通过代码‘MyPort.Write(SumControlCmd)’,即可将命令字符串变量‘SumControlCmd’发送给PLC。

4 结束语

由于整车辐射抗扰度电磁兼容测试具有高场强、高速度和多状态等特点,使用PLC为核心设计的汽车EMC测试驾驶装置的电控单元,可极大地提高该系统的可靠性和稳定性,同时也适用于恶略的电磁环境中,这是整车辐射抗扰度电磁兼容测试所必须的试验条件。由于PLC编程简便,模块使用灵活,且设计时留有备用的端口,可为今后系统维护和升级提供极大的便利。

在整个系统的设计中,数据通信使用光纤进行传输,极大地避免了EMC测试中的干扰问题。目前,整套系统已投入使用,整个PLC控制器运行可靠稳定,在测试中,可以实现汽车精确可靠的驾驶控制。

[1]刘美俊.西门子S7系列PLC的应用与维护[M].北京:机械工业出版社,2008:30-50.

[2]李刚.应用STEP7进行PLC控制的编程方法和技巧[J].现代企业文化,2008,81(5):120 -122.

[3]边春元,程立英,任双艳,等.实例解析S7-300/400PLC[M].北京:机械工业出版社,2008:81-83.

[4]高来顺,何惠平.用CP340实现工业PC对矿井提升机的监控[J].电气传动自动化,2001,23(4):40 -42.

[5]张其武,张玉林,王颖,等.Siemens CP340模块与单片机的ASCII协议通信的实现[J].山东大学学报:工学版,2005,35(z):115 -118.

[6]刘金星,刘维亭,庄肖波,等.基于CP340通讯模块的船舶机舱监控系统设计与应用[J].微计算机信息,2006,22(4 -1):37-39.

[7]张继燕,王海瑞,李婷.自动称重系统中PLC与上位机串口通信的实现[J].自动化与信息工程,2008(2):26-27.

猜你喜欢

执行器电控串口
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
浅谈AB PLC串口跟RFID传感器的通讯应用
基于EM9000工控板高性能双串口通信模型设计与实现
高锁螺母自动化安装机器人末端执行器设计
X-431实测篇2010年奔驰B200空调执行器电机学习
飞机装配预连接紧固件自动化安装末端执行器设计
船舶电子设备串口数据的软件共享方法
延迟不确定马尔科夫跳变系统的执行器和传感器故障同时估计方法
ECAS空气悬架电控系统介绍
东风雪铁龙C5各电控系统电路图解析(九)——ESP电控系统上篇