纤维铺放虚拟PLC控制系统设计

2016-07-10 08:07赵逍驰徐东亮
电子技术与软件工程 2016年8期

赵逍驰 徐东亮

摘 要:PLC技术是现代工程控制领域中最主要的应用技术之一,虚拟PLC技术则作为硬件PLC可编程控制器的有效替代技术,在控制领域拥有着越来越重要的地位。与此同时纤维自动铺放技术是复合材料制造领域中的关键制造技术,不仅能够合理降低加工成本,提高加工质量而且有益于纤维复合材料的广泛应用。纤维自动铺放运动过程的实现除了依附于硬件的支持,仍需要通过软件平台的建立对其运动过程进行验证,虚拟技术的实现则可以在生产加工前在虚拟平台上对机械设备进行合理仿真验证,尽量避免在生产实践中出现问题,导致加工不合理、工作效率低下等后果。对纤维自动铺放的运动过程进行虚拟PLC控制系统设计,为纤维铺放机的运动的实现提供了理论基础和直观验证,为后续的生产实践奠定基础。

【关键词】VC++编程平台 虚拟PLC技术 串口通信技术 纤维铺放机

复合材料纤维自动铺放成型技术以缠绕原有技术和自动铺带技术为基础进行改革推新提出的,早期应用于复合材料飞机的机身制造,现在已经成为一种成熟的复合材料成型技术。纤维铺放技术是现代工业中最为有效的复合材料的主要成型技术之一。本文主要针对纤维铺放的运动过程进行虚拟PLC控制系统设计,对纤维铺放机的运动实现提供理论基础和直观验证,为后续的生产实践奠定基础。

1 纤维铺放虚拟PLC控制系统总体设计

纤维自动铺放的虚拟PLC控制系统主要分为两个部分:上位机是虚拟PLC控制系统的设计,而下位机则是虚拟模型的可视化显示和虚拟控制的设计,同时在该设计中通过对通讯方式的了解和分析决定选用串口通讯的方式进行上下位机数据的有效传递。

上位机的虚拟PLC控制系统主要实现对STL控制代码的读取和编辑并显示其在对话框中的作用;实现对已经读取或编辑完成的STL代码进行有效信息的筛选和存储;对已经提取保存的有效信息进行逻辑分析和处理,可以通过PLC运行仿真模块对所设计的PLC程序进行验证,对出现不符合理论要求的程序进行改进并再次验证;将仿真结果无误的程序通过串口通讯的方式发送到下位机软件的功能。而下位机的主要功能是实现了接收和有效分析处理上位机串口模块所传递的控制数据,并通过三维模型的运动状况的可视化显示验证所设计程序的正确性;控制面板模块通过所接收的控制信息驱动可视化三维模型;可视化显示模块则通过VC++和OpenGL技术对STL格式的三维模型进行可视化显示并在接收运动控制指令时进行相应的运动过程并显示在该模块中。

2 虚拟PLC控制系统的设计

虚拟PLC控制系统的设计是该整体设计中的关键部分,关系到数据如何驱动纤维铺放模型在虚拟平台上的运动,使其按照所设计的要求和需要实现的功能进行可视化显示。在该模块设计中将上位机即虚拟PLC控制系统整体可分作四个模块:PLC指令读取和和指令编辑模块、PLC有效信息指令提取模块、PLC运行仿真模块、上位机串口通讯模块。

2.1 PLC逻辑算法解释

二叉树是数据结构的一种,其组成形式是由n个节点构成的有穷集合,并且每个结点至多仅有两棵子树,左子树、右子树,而且他们的次序不可以改变。其中只有一个特殊的节点被称作树根或者根节点。遍历是指将树的所有结点访问且仅访问一次。二叉树的遍历根据根节点遍历顺序的不同分为前序遍历、中序遍历和后序遍历。在我们以梯形图或者指令表等方式进行编写PLC控制程序后,PLC程序内部编译器需要对所编写的程序进行数据处理而得到我们所设计的输出结果从而可以达到驱动模型的目的,而PLC对数据的处理是与二叉树数据结构的后序遍历的数据处理方式相似。

2.2 虚拟PLC仿真运行

PLC仿真的作用就是对PLC指令的应用状况进行即时的监测,将PLC的输入输出实时的变化反应给操作者,这样操作者就可以根据所显示的输入和输出的状态和程序理论应达到的结果进行对比,对PLC所编写的程序进行测试和验证,及时改正编写时出现的错误,为硬件应用奠定理论基础,因此PLC仿真运行是不可缺少的组成部分。将输入触点和输出触点分别保存到对应的二维bool数组中,二维数组的参数分别表示其触点的字和位。将保存触点状态的数组初始值都设定为False,表示所有输入触点和输出触点均未被触发。在输入触点部分,我们通过MFC自带的控件添加了复选框和可以变化的图像对每一个输入触点进行表示,首先选中需要触发的输入触点的复选框,然后点击启动按钮,则该输入触点相应的图像颜色进行改变表示该触点已经被触发,此时经过已经编译好的逻辑运算过程对PLC程序进行解释,当再运行过程中某个输入输出触点状态发生变化时,其相对于的数组bool值也发生变化,并将输出触点的变化赋给相应的输出bool数组。在输出触点部分则同样添加了可变化的图像表示其触点的变化,如果其bool值发生改变,即由初始的0变为1,则代表该触点被触发,通过图像的直观改变可以看到输出触点的状态。复位按钮则可以将已经实现设计所体现的触点状态全部复位,恢复到初值状态,保证新的程序的运行和验证。

3 虚拟PLC系统通信原理

为了实现与下位机中可控的纤维自动铺放设备的三维模型进行信息的交互,本设计中我们选用串口通信的方式。而对于串口通讯,一般采用多线程串口CSerialPort类和MSComm控件两种方式,完成基于串口程序的编写。多线程串口编程工具CSerialPort类是由RemonSpekreijse提供的免费串口类[5],与MSComm控件编写串口通讯的方式相对比,可以减少我们在框架编写的复杂程度,而且这个类打包时,不需要再多余加入其它的文件,而且所含有的函数都是可知的,允许我们根据我们设计的要求进行进一步的改造,通过对这个类进行必要的改造,可以帮助我们完成所需要的设计任务。我们在该设计中选用多线程串口CSerialPort类进行串口通讯模块的编程设计。

在利用多线程串口CSerialPort类完成对串口通信框架的搭建和编写后,需要考虑按照规定的格式从串口发送出去数据及从接收到的数据中提取重要信息,基于该目的,需要通过编写串口通讯协议来满足设计中的要求。在普遍被接受的用户层协议中,我们可以将协议分为两大类,即完整型和简单型协议。在纤维自动铺放的虚拟PLC控制系统的设计中,下位机所接收的信息主要是用来驱动可视化的三维模型,使其按照指令进行运动的仿真过程。而根据两种用户层协议特点的对比,选用简单的自定义通讯协议来编写串口通讯所需要的协议。

4 纤维铺放虚拟PLC控制的实现

4.1 铺放机模型的可视化显示

因为纤维铺放机的结构相对比较复杂,其中零件较多而且装配关系相对繁琐,显然不适用于传统设计方法。而对于较复杂的三维模型,我们则可以借助第三方软件来辅助我们进行设计显示,这样模型的完整性和真事性可以通过更好的处理。所以选择首先在三维软件中对纤维自动铺放机进行三维建模和处理,因为需要在OpenGL环境下进行可视化显示,将所设计好的模型以固定格式进行导出,STL文件作则为快速成型中主要使用的、由大量的三角面片连接所组成的一种文件。其模型的精度随三角面片的数量增加而增加。STL格式文件只包含三角面片的基本信息,而并不含有材质、颜色、光照等附属信息,因此对其信息的提取也相对容易同时也能很好的体现三维模型的状态,所以在设计中选用STL格式导出。随后在OpenGL环境下再通过内部函数的调用对所需要导入的模型格式进行解释,最终实现三维模型的可视化显示。

4.2 纤维铺放虚拟PLC控制的具体实现

下位机根据接收并拆包上位机所打包发送的数据信息驱动可视化的三维模型运动,三维模型的运动则通过控制接口状态的改变和相应函数参数的改变而相应的变化。在下位机整体设计中除了下位机的通讯端口外,还设计了运动控制面板用来显示虚拟输入端口的状态,通过对上位机发送来的数据包进行拆包,将所设计的输入端口的状态通过改变控制接口bool值的状态在控制面板上进行及时显示。

5 结论

本文对纤维铺放虚拟PLC控制系统进行了设计,并在VC++平台上进行了程序的开发。选择以虚拟串口的方式建立上位机和下位机的通讯通道,并且对上位机和下位机分别进行了功能解释并加以实现。所设计的虚拟系统可以在条件成熟下可以实现对硬件系统的有效替换,通过虚拟的PLC来控制其运动,这样可以在脱离硬件的情况下完成对纤维自动铺放机模型的驱动,可以更直观的在虚拟平台下观察到纤维自动铺放机的运动规律以及工作状态,为实现其的生产应用以及后续的研究奠定坚固基础。

参考文献

[1]王志辉,吕佳.纤维铺放头机构的研究[J].机械工程师,2007(12):93-94.

[2]Erickson,K.T.Programmable logic controllers.Potentials, IEEE.1996,15(1):14-17.

[3]吉冬梅.数据结构中二叉树的生成及遍历非递归算法浅析[J].办公自动化,2010(02):30-31.

作者简介

赵逍驰(1991-),男,辽宁省盘锦市人。现为武汉理工大学机电学院硕士研究生在读。研究方向为材料制造装备与控制技术。

作者单位

武汉理工大学机电工程学院 湖北省武汉市 430070