汽车驻车制动自动装调系统软件开发

2019-10-10 03:52桂兵昌覃光许何耀华王志威李魏魏
数字制造科学 2019年3期
关键词:参数设置驻车串口

卢 磊,桂兵昌,覃光许,何耀华,王志威,李魏魏

(1.武汉理工大学汽车工程学院,湖北 武汉 430070;2.上汽通用五菱汽车股份有限公司技术中心,广西 柳州 545007)

驻车制动自动调整系统用于汽车总装生产线上驻车制动系统的调整,其作用是取代人工调整,自动完成调整、检测等工序[1-2]。传统的车辆驻车制动器调整为人工调整,很难满足企业对于调整结果一致性的需求。因此,研发符合汽车总装生产要求的驻车制动自动装调系统,实现汽车驻车制动系统装调生产的自动化是一种必然趋势和客观需要,是解决人为因素对汽车驻车制动装调质量影响的重要途径[3-5]。

自动装调不受操作者主观因素影响,装调精度更高。为了实现自动装调功能,需针对系统硬件组成进行需求分析,寻求合适的控制方法,完成系统软件开发,实现自动装调系统各模块的功能,保证系统稳定可靠运行。

1 驻车制动自动装调系统分析

1.1 驻车制动自动装调系统硬件组成

驻车制动自动装调系统硬件部分由控制设备,驻车制动手柄操纵机构,调整螺母拧紧机构,数据采集和处理装置以及辅助机构组成[6-7]。PLC与搭载LabVIEW的工控机为系统的控制设备,工控机作为上位机,实时监控PLC的运行状态,PLC主要负责伺服电机的运动控制;驻车制动手柄操纵机构与调整螺母拧紧机构协同工作来完成装调流程;数据采集和处理装置由扭矩传感器、变送器组成,共同完成装调过程中的信号采集和处理工作;辅助机构负责辅助其他装置完成相应功能。

1.2 驻车制动自动装调系统需求分析

驻车制动自动装调系统运行时,需要操作者手动录入车辆VIN码,安装好设备并按下“启动”开关,待装调过程完成后拆卸装备即可,装调流程均由软件部分控制相应机构完成。以下从系统功能的角度进行需求描述:

(1)安装设备前,需要将车辆VIN码录入系统,装调完成后包含在装调结果中。

(2)设备安装到位,检测到“启动”开关被触发后,系统能自动开始装调流程。

(3)装调过程中,系统能根据传感器反馈的力矩信号控制相关硬件设备协调工作,指示灯需实时显示装调状态。

(4)装调完成后,需将装调结果按照指定格式存储至本地数据库,同时上传到生产网络。

(5)系统需具备装调参数设置以及装调结果查询功能。

结合装调流程与系统的功能需求,得出系统的数据流图如图1所示。

图1 系统数据流图

2 系统软件设计

系统的软件设计需要对系统的软件结构按照功能进行模块划分,完成各个功能模块的软件设计,再将各个模块进行集成,完成整体软件设计。按照功能可将驻车制动自动装调系统的软件结构划分为通信模块、主控制模块、流程控制模块、数据管理模块和参数设置模块。

2.1 通信模块设计

要实现上位机与下位机的信息交互,需要通信程序结合相应的硬件设备共同完成。系统采用三菱FX-2NPLC,接口为RS485,PC端为RS232接口,可通过添加RS232-RS485转换器来实现串口通信。

在LabVIEW编程中,系统利用虚拟仪器软件规范VISA(virtual instrument software architecture) 实现串行通信[8]。其串口通信的主要步骤包括:初始化端口,读写端口和关闭端口。

首先使用“VISA配置串口”函数,配置串口通信的端口号、波特率、停止位、校验、数据位等参数。然后利用“VISA写入”函数和“VISA读取”函数进行数据的写入和读取[9-10]。

为了检测数据发送的状态,进行“VISA写入”后,利用属性节点检测串口中的数据位数,通过“VISA读取”函数读取缓冲区的数据。可根据数据的最高位是否为空字符串判断数据是否已成功发送,数据发送成功后关闭串口释放缓冲区。

PC端与PLC之间串口通信协议的格式如表1所示,一段完整的命令帧由控制字符STX(02H)、命令码(CMD)、数据段、控制字符ETX(03H)以及和校验码五部分组成。其中控制字符STX(02H)与ETX(03H)分别表示正文的开始和结束。命令码用来区分读取和写入操作,规定读取时为E00,写入时为E10。数据段只在执行写入命令时添加,执行读取命令时不添加。位数用来区分数据类型,规定16位数据对应的代码为02,32位数据对应的代码为04。首地址的计算方法由地址数据类型来决定,X,Y,M,D的地址偏移量均不相同,发送给PLC的首地址由用户输入的地址与地址偏移量经过几何运算得到。校验和由命令码(CMD)、数据段、控制字符ETX等3部分的ASCII相加的结果最低两位得到。

指令在LabVIEW中按照表1中的格式编写好,然后通过串口发送给PLC,PLC接收指令后,按照指定格式返回数据。

表1 PLC命令帧格式

2.2 主控制模块设计

系统主控制模块采用LabVIEW与PLC联合控制的方式,利用搭载LabVIEW的PC作为上位机,PLC作为下位机。系统的主控制模块需要实现的功能有:保证设备准备就绪后装调流程才能开始,不会因为工人误碰开关而出现设备尚未准备就绪而设备开始运转的情况;保证设备可靠运行,在系统异常的情况下能正常急停与复位。

设备准备就绪的标志为设备上安装的接近开关被触发,且车辆的VIN码已成功录入系统。设备上的物理开关连接到PLC的输入端口,接近开关被触发后,PLC中相对应的软元件X10状态发生改变;扫码枪扫描的车辆VIN码信息通过串口进入工控机后,进行格式验证,验证合格的VIN码通过通知器发送出去,将与之对应的VIN码通知器接收端接收到信息作为VIN码成功录入系统的标志。VIN码成功录入后,PC端向PLC发送指令(将M2置1)。PLC中X10与M2都被触发时,准备指示灯被点亮,系统可以继续运行后续程序。

系统的可靠运行还需要合理的急停复位机制,系统的急停复位控制过程如图2所示,急停及复位程序的优先级高于系统其他控制程序,一旦系统检测到急停状态变化,强行中止运行其他控制程序,系统运行急停复位控制循环。

急停复位的程序分为两部分,分别位于PC端与PLC中,二者通过串口通信程序实现信息交互。PLC直接控制电机的运转与指示灯的状态,系统发生急停时,PLC能及时关闭电机使能,复位指示灯及相关软元件的状态。同时,PC端也需要启动急停机制,关闭LabVIEW中的其他程序,运行急停复位程序。

图2 系统急停与复位控制流图

在LabVIEW中,急停功能的实现是通过将急停做成布尔元件,再将其加入到各个模块的while循环中,作为循环的结束条件。急停状态开启时,各个模块的循环便被无条件终止,从而达到急停优先级最高的目的。在PLC中,需要添加急停开关的软元件X11以及表示急停状态的辅助继电器M30。将X11的常开和常闭开关添加到各个子程序的运行条件中,急停状态开启时,各个模块就会直接被终止运行,M30为急停状态标志,用于控制急停与复位子程序的运行。

2.3 流程控制模块设计

系统设备准备就绪后,按下“启动”开关,装调流程开始。系统的装调流程是根据装调工艺要求设定的,PLC控制两个伺服电机协调工作,根据扭矩传感器反馈的信号来实现精确控制,装调流程的步骤如表2所示。

进行装调流程时,主电机(制动手柄操纵机构中的电机)需要来回正反转,完成制动手柄的上抬和下放操作;副电机(调整螺母操纵机构中的电机)正转两次分别完成调整螺母的预拧紧与终拧紧操作,根据扭矩传感器反馈的信号判断是否已完成拧紧操作。

电机的运转可以通过PLC向伺服驱动器发送带方向的脉冲信号来实现,对应的指令是PLSYd1d2Y1(其中d1为脉冲频率,d2为脉冲数,Y1为脉冲输出端口)。由于主电机需要来回正反转,为使程序简化,可将脉冲发送指令置于PLC的主程序中,由开关量M100和M101来控制。M100和M101分别负责开启和关闭脉冲发送指令,同时清空指令脉冲计数器内的数据。流程控制部分的子程序运行到需要电机运转时,只需开启电机的使能,再将M100置1即可,电机运行到指定位置后,将M101置1,进行下一步操作。

表2 装调流程步骤

装调流程的控制采用倒序编程的思路,装调流程在流程控制的梯形图中运行的顺序为从下向上,与程序的扫描方向相反。表2中第5、第6步操作对应的梯形图如图3所示,M19与M20分别控制电机的正转与反转。主程序调用流程控制模块的程序后,M19与M101已被置1,将设定脉冲数D280的值赋给D104,选定旋转方向为正向,再回到主程序,通过PLSY指令发送脉冲,通过D8142高速计数器记录已发射的指令脉冲数量,当已发送的脉冲数达到设定值时,M101被置1,且M20已被置1,开始执行电机反转部分的程序。

图3 电机运转控制

2.4 数据管理模块设计

装调过程中,力矩传感器不断采集数据,传感器的信号经过中间装置处理后,由PLC的A/D转换模块完成转换,再经过滤波操作后,被存储在D28中,D28中的数据即为实时力矩。装调过程进行到表2中第8步完成时,传感器会将瞬时力矩值记录在D30中,D30中的数据即为检测力矩。

LabVIEW通过通信模块读取实时力矩与检测力矩的值,经过数据类型的转换,将实时力矩显示在前面板上。检测力矩作为装调结果的一项指标,需要与车辆VIN码、测试时间等信息一起被存储下来。数据存储的路径有2条,一是存储至本地数据库,二是上传至生产网络。

利用PC上的MySQL存储装调结果,先将装调结果的各种信息放到簇中,通过通知器发送出去。数据管理部分的子VI接收到装调结果后,对簇进行解绑,再按照MySQL规定的特定格式编写语句,用“连接字符串”函数将装调结果信息与格式语句连接成字符串命令。在与MySQL建立连接后,将命令语句发送出去,装调结果就会以表格的形式被存储在本地数据库中。

装调结果查询模块中,查询方式有两种,按照装调结果查询与按照VIN码上下限查询,两种查询方式均需输入装调时间的上下限以缩小数据筛选范围。模块将操作者输入的查询信息,按照MySQL对应的数据查询语句格式编写命令语句,将其发送到MySQL中,便能得到想要查询的装调结果,装调结果的相关信息以表格的形式显示在前面板上。

装调结果上传生产网络是依托于TCP网络连接完成的,通知器接收到装调结果后,利用“平化至XML”函数将装调结果的数据类型转换为XML格式,方便进行数据交换。确定远程端口的名称及地址后,打开TCP网络连接,将转换后的数据写入TCP网络连接。为方便后期查验传输情况,将数据写入TCP网络连接后,从TCP网络连接中读取字节,将发送与读取的数据,地址及端口名称等信息生成日志文件,存储于PC的磁盘中。

2.5 参数设置模块设计

进行参数设置时,基于LabVIEW与PLC之间的通信协议,LabVIEW程序可以直接对PLC中各个软元件的状态进行读取,快速实现相应参数值的修改。程序分为3部分,即参数名称的选定、参数的写入和参数的读取。

图4为参数设置程序的写入模块。读取模块与之类似,区别在于读写标志位不同。程序采用在while循环里面嵌套一个事件结构的方式来实现,事件结构的3个分支分别为“参数名称”值改变,“写入”值改变及“读取”值改变。在“参数名称”值改变的分支下将选定参数对应的软元件编号赋给“PLC地址”这一中间变量;在“写入”和“读取”值改变的分支下分别通过LabVIEW与PLC之间的通信协议对所选定的参数进行写入和读取操作。

图4 参数设置程序的写入模块

2.6 密码验证模块

出于生产安全的考虑,在参数设置之前需要添加密码验证模块,只能由特定人员进行参数的设置。密码验证模块如图5所示。设计思路为:将需要设置的密码写入一个文本文件中,将文本文件隐藏起来,读取文本文件中的内容,并与输入的密码进行比对,密码正确的情况下才能对参数设置的子VI进行调用,否则提示密码错误。

图5 密码验证模块

2.7 扫码模式切换

系统录入车辆VIN码信息是通过扫码枪扫描条形码实现的,而扫码枪故障或是条形码无法识别则会引起车辆VIN码录入失败,从而造成装调过程无法正常进行。为了消除车辆VIN码信息录入不正常对装调过程的影响,需添加车辆VIN码手动录入的模式。添加手动模式后,当扫码枪无法正常录入车辆VIN时,便可将VIN码信息录入模式切换至手动输入模式,由操作者直接将车辆VIN码信息手动输入系统。VIN码录入控制过程如图6所示。

图6 VIN码录入控制过程

3 实验验证

为测试驻车制动系统软件的性能,将设计好的软件与系统硬件部分结合起来,应用到实际的工作环境中,进行软件的功能测试和性能测试。

实验过程为:操作者首先利用扫码枪扫描车辆VIN码,将其录入系统;然后将设备按照规范安装到位,触发接近开关;其次按下“启动”开关,观察指示灯状态,待装调过程完成后按照规范拆卸设备;最后在PC端进行参数修改及装调结果查询的操作。

车辆VIN码正常录入系统,按下“启动”开关后,系统能正常完成装调流程并通过指示灯实时显示当前状态;整个装调流程耗时43.5 s,满足企业生产节拍要求;装调结果在合格范围内,经生产线专用检测工具检测为合格;装调结果能正常保存至本地数据库及生产网络,系统能正常完成装调参数读写以及记录查询操作。系统主界面显示如图7所示。

图7 系统主界面

以上实验表明,该系统运行状况良好,能满足汽车制造企业对于驻车制动自动装调系统的基本功能要求。

4 结论

(1)结合驻车制动自动装调系统硬件组成及生产线装调工艺要求对软件部分进行了需求分析,并按照功能将其模块化。

(2)完成了软件结构中各个功能模块的设计与编码,实现了各模块的基本功能。对系统的软件部分进行了维护,系统运行的可靠性得以提升。

(3)结合系统的硬件部分,完成了系统的实车实验,实验结果表明,软件部分能满足系统的基本功能要求,具有一定的工业应用价值。

猜你喜欢
参数设置驻车串口
驻车操纵手柄噪音的分析和改进
浅谈AB PLC串口跟RFID传感器的通讯应用
奔驰9速自动变速器驻车止动爪的功能原理简介
逃生疏散模拟软件应用
蚁群算法求解TSP中的参数设置
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式
RTK技术在放线测量中的应用
小型驻车制动检验坡台可行性分析
基于STM32处理器的大棚温湿度监控系统设计