摘要
本文主要讲述了西门子S7-1200系列CPU在汽车内饰产品检验上的应用。结合S7-1200 CPU的优秀性能和TIA Portal V10.5的编程平台,实现了对产品的检验,同时通过TCP方式采集保存检测数据,并能在同一平台上对不同产品进行检测。
关键词:S7-1200;TIA Portal V10.5;定位控制;TCP方式采集数据
To the top of the page项目简介
这是一个技改项目,原项目是采用单片机加上数据采集卡控制一个带步进电机的测试台,其主要应用目的是用于模拟汽车遮阳板上的镜盖反复开合,并将在开合过程中不同位置时得到的力矩值通过数据采集卡采集并发送给上位计算机,从而获取整个开合过程的曲线,再根据试验的次数等数据来判定测试样本是否合格。然而,在实际应用中,用户发现原方案在使用中存在步进电机发生失步的现象,从而影响测试结果的准确性。用户决定将控制系统改成PLC,在与用户经过反复论证之后,最终采用了西门子最新的SIMATIC S7-1200系列PLC。
To the top of the page工艺流程介绍
主要的工艺流程如图1所示,S7-1200通过高速脉冲输出控制步进电机运动,步进电机驱动丝杆上所安装的开合测试装置,实现往复运动。步进电机所带的旋转编码器将当前的运动位置反馈给PLC,同时开合测试装置上的力矩传感器则将当前位置的力矩以模拟量形式传送给PLC,PLC则将这2组采集到的实时数据按照一定顺序存储在内部的数据块中,当完成一次开合运动之后,就将这个运动过程中的所采集数据发送给上位机,并在上位机的界面上描绘出本次运动相关采集数据的曲线。如此周而复始,当完成一定次数的规定动作后,即完成了样本的测试工作,根据样本试验次数的不同,上位机还需要将特定次数的采集数据保存成Excel文件以便日后查看,同时用户也能以手动方式保存任意一次的采集数据。
To the top of the page方案确立
本项目从机械结构上看相对简单,因此S7-200 CPU224-XP和S7-1200 CPU1214都能很好地完成步进电机控制,高速数据采集等控制任务。但是,由于单个测试动作的周期很短,最大周期只有6秒钟左右,而整个测试过程较长,需要几百上千次的重复周期性动作,数据的采集周期仅为5ms,那么一个动作周期下来,采集到的数据约为1200个,4800字节,因此高频率周期性实时的高速的数据传送是本项目的一个最大的技术难点之一。S7-200在不增加CP模块的情况下只能利用本机的RS485接口来完成通讯任务,RS485接口是半双工的,最高串行通讯波特率为115.2K,每次通讯传送的字节数上限255个字节,那么这些数据需要近20次的通讯才能传送完毕,因此数据传送过程复杂,传送效率低下,数据传送的可靠性不能保证。而S7-1200则可以直接利用本机集成的PN接口,RJ45接口,100M全双工,支持TCP/UDP通讯,一次通讯最大数据交换能力为8K字节,可以通过标准网线与上位机进行直连,本项目涉及的数据可以在一个测试周期内一次传送完毕,并且还有能力出错再发,确保数据传送的效率及可靠性。虽然S7-200也可以通过扩展CP243-1通讯模块来实现上述功能,但S7-1200集成的优势及成本上的差距是显而易见的,最终S7-1200成为本项目PLC选型的最佳选择。 在上位机方面,原考虑采用WinCC作为监控及数据采集分析软件,但经过一些研究发现,如果根据用户所要求的技术参数,是根本不能满足应用要求的。如前所述,因为测试的运动行程相对较短,运动速度也比较高,同时为了描绘出比较真实的曲线,必须增加采样的次数与频率,这导致采样周期远远小于WinCC的采样时间。如果考虑3秒钟的采样曲线显示时间,那上位机必须在3秒钟之内完成数据的接收,自动保存及图形描绘这几项主要任务,每6秒钟一个工作周期,同时还要兼顾常规的操作及用户对于数据的随机查询及即时保存任务,因此这也是本项目的另一个重大的技术难点。经过多次的实验验证及对方案的反复论证,最终采用如下系统方案:⑴由S7-1200实现测试运动的控制,数据的高速采集,本地存放,及利用集成的PN接口实现与上位机TCP/UDP通讯,传送采样数据包。⑵用VB开发一个专用的数据处理程序,通过以太网接口接收S7-1200发送的采样数据,保存数据,根据采样数据描绘测试过程曲线。⑶利用WinCC作为操作界面主平台,完成测试系统工作参数的设置,常规逻辑操作,以及一些过程数据的显示等,同时作为主界面调用专用的数据处理程序,把两者有效的集成在一起,使用户不认为这是2个不同的应用。
To the top of the page产品硬件配置
由于属于改造项目,测试台的机械部分包括步进电机几乎没有更改,只是加装了一个寻参的接近开关。电气部分,用户自己装配了一个小型的电气控制箱,主体就是一个CPU1214 DC/DC/DC,硬件的连接主要就是步进电机控制信号,步进电机的位置反馈编码器信号,力矩测量信号,以及用于控制启停和急停的信号。上位机部分使用的是安装了WinCC组态软件的普通商用电脑。
To the top of the page软件开发
表格1,IO分配表
Fig1,IO List
PLC程序的开发主要分为三部分,⑴步进电机的控制,⑵高速数据的采集,⑶与上位机的通讯。
第一部分,步进电机的控制主要利用的是TIA Portal软件中集成的工艺对象中的轴控制功能来实现的。根据TIA Portal 软件提供的导向,把项目中的机械数据输入相关参数,我们可以十分便捷完成运动轴的组态。主要的参数包括选择硬件接口,脉冲数,速比,脉冲反馈,极限位置,寻参方式等等。由于步进轴不支持实际物理位置的反馈,因此本项目中又另外定义了一个高速计数器的输入作为步进电机实际运动位置的反馈输入,根据项目实际情况进行设置。界面如图2所示
运动轴组态完之后,就可以利用软件自带的运动控制库中的功能块进行编程了,对应的功能块的说明都能在帮助中找到,这给初次接触这些功能块的编程员提供了很大的帮助,同时西门子还提供了专门的电子文档详细介绍了这个功能。在这个项目中,采用的是轴的绝对定位功能,使用的控制功能块是MC_MoveAbsolute,如图3所示。这个项目中测试的产品是遮阳板中的镜盖开合能力,因此步进电机需要来回运动,速度和运动的距离及位置都可以在上位机上进行设置,同时到达指定位置后,并不是马上反向运动,而是会有一个小的停顿。
通过轴功能中加速度参数的调整,可以使步进电机在最短时间内达到设定转速,同时又不会失步,从而保证了测试运动的可靠性。
第二部分,高速数据采集也是本项目能够顺利实施的重要环节,最初的方案是采用时间中断进行数据采集,每5毫秒采集一次数据,S7-1200可以很轻松地实现,然而在试运行的过程中发现,测试行程及速度的不同,固定周期的数据采集往往遗漏了测试过程中一些关键位置点的数据,从而容易造成曲线的失真。又经过反复的论证,在确定了测试装置可能的最大的运动速度及连续2个采样位置的可能的最小间隔之后,我们转而采取了位置中断的数据采集方式,虽然运算量增加的许多,但在规定参数范围内,S7-1200还是能够出色的完成数据的采集任务,反复试验的效果也很好,用户也认可了此方案。如图4所示,在每次中断的时候,当时的力矩以及对应的位置都很被送入数据块中。
第三部分,当测试工件往复一次运动之后,PLC需要将这次运动过程中采集到的数据发送到上位机去,这本项目中采用的是TCP通信,PLC程序中调用的是TSEND_C功能块,具体的连接参数设置如图5所示
在调用功能块的时候,如图6所示,只要设置好通信长度,以及发送数据块的地址,当需要发送时,用上升沿触发发送请求即可。
上位机的VB数据处理程序的通讯部分,其主体就是利用 WinSock 控件与PLC建立通讯连接,并通过用户数据文报协议 (UDP)或者传输控制协议 (TCP)进行数据交换。这两种协议都可以用来创建客户与服务器应用程序。在运行时WinSock 控件只在后台运行。本项目中我们使用的是TCP协议与PLC通讯。TCP是基于连接的协议,即数据传输前必须先建立连接,这也是上面提到的TSEND_C功能块的主要功能之一。
具体通讯过程如下:VB数据处理程序通过PLC 的IP地址和指定的端口号,与PLC建立通讯寻连接。PLC在采集测试样本往复运动一次的过程数据后,通过TSEND_C通讯功能块将采样数据发送给上位机的VB数据处理程序。VB数据处理程序通过WinSock 控件在后台接收到TCP数据包后,根据设定的数据格式提取采样数据,并将提取到的采样数据保存成格式数据文件,同时这些采样数据也被输入到趋势曲线显示控件中,由趋势曲线显示控件把测试过程曲线显示在屏幕上。除了系统自动保存规定的数据以外,用户也可实时地手动保存任意一次的采样数据。
To the top of the page项目结果
该项目是我公司第一个以S7-1200为主控制器来实施的小型综合性项目,实施以来,已稳定运行1年多,达到了技改的目的,得到了用户的认可与好评,同时也充分体现了S7-1200优越性能与可靠性。
To the top of the page应用体会
高速数据采集及图形处理一直都是单片机,PC数据采集卡等专用设备的应用领域,本次项目改造是西门子小型PLC在这个应用领域的一次十分有益的尝试,并且取得了很好的效果,开发周期短,产品性能可靠,工作稳定,易于操作维护,适合批量生产,这表明随着技术的不断进步,以S7-1200为代表的小型PLC的技术能力又有了突飞猛进,完全有能力在一些以前没有涉及的新的应用领域取得应用上的突破,开拓新的应用市场。
To the top of the page作者简介
张琼靓 上海大华总线电气技术有限公司 电气控制工程师
王禄斌 上海大华总线电气技术有限公司 应用软件工程师
黄 岑 上海大华总线电气技术有限公司 自动化系统工程师