咨询电话
ENGLISH0755-88840386发布时间:2021-04-01 17:04:39 |来源:
国内外都有对袋装水泥自动装车系统的研究[1-4],基于国内外关于自动装车系统的研究成果和经验,本课题组研发的袋装水泥自动装车系统由水泥包运送系统、来包姿态转换机构、顶层移动系统、多自由度自动落包系统和收尘系统等功能模块组成,如图1所示。自动装车系统的控制系统由DSP主控板、控制上位机和用户触摸屏等组成,其中主控板直接控制机构运动,控制上位机通过串口和主控板远程连接,给主控板发送控制指令,用户触摸屏可用于装车信息的输入。研发自动装车系统的过程中,需要对其机构进行调试。对于设备调试,一般采用的方式是把电脑和主控板连接在一起,然后下载程序到主控板上进行调试。然而对于一台已经安装好的设备,能不能做到不需要额外设备,不增加额外连线,就能实现所有机构的调试呢?如果将对机构的调试功能加入到系统的控制上位机中,设计研发一种集控制和调试于一体的上位机,则能很好地解决这个问题。本文将主要研究集控制和调试于一体的袋装水泥自动装车系统的上位机软件设计,以及上位机如何和主控板之间通过串口实现通信。
1系统设计
整个控制系统由三部分组成,分别为控制上位机、用户触摸屏和主控板。控制上位机通过RS232串口通讯实现和主控板的通信,主控板接收到指令后控制各机构协同完成码包工作。基于DSP主控板和控制上位机上都有COM口,并且控制上位机开发平台提供了串口基本调用函数,所以通信方式采用串口通信方式,节省了开发底层通信协议的时间和工作量,可以将更多时间用在具体的通信方案的研究上。控制上位机和用户触摸屏都是昆仑通泰的触摸屏TPC1061TI,开发平台为MCGS组态软件,可以使用设备构件中的网络构件快速建立通信[5-7]。基于ModbusTCP协议,控制上位机实现了和用户触摸屏的通信,其中用户触摸屏为主机,发送装车基本信息到控制上位机,并从控制上位机获取装车进度信息。这种相当简单的建立通信方式,减少了通信开发难度,提高工作效率。
水泥包自动装车系统进行装车码垛时,首先由用户触摸屏向控制上位机发送装车信息,然后由控制上位机发送装车指令信息给主控板,主控板接收到指令信息后,启动水泥包自动装车系统完成机构初始化、车辆定位和车厢检测,并将机构状态信息,测量信息和码垛规划信息反馈给控制上位机,当主控板收到反馈的装车确认信息后,开始装车。开始装车后,主控板会定期向控制上位机发送装车进度信息,机构运行状态信息和故障信息等。控制上位机和用户触摸屏、主控板之间的关系如图2。
控制上位机作为自动装车系统的人机交互接口,除了要有控制主控板进行自动装车码垛的窗口界面外,还要有控制主控板对自动装车机的机构进行调试的窗口界面。这些被调试的机构包括来包姿态转换机构、顶层移动系统、多自由度自动落包系统等。因此上位机的主要功能是接收用户触摸屏信息,向主控板发送装车信息和指令,显示接收到的装车进度信息和机构状态信息,向主控送调试命令,显示接收到的机构运行参数信息等。
2软件功能设计
上位机软件是基于昆仑通泰MCGS组态软件开发的,主要窗口界面如图3和图4。有两种操作模式,分别是自动装车码垛模式和机构调试模式。
在自动装车码垛模式下,上位机要控制主控板进行自动装车码垛操作,首先上位机要获取装车基本信息,有两种方式:一种是从用户触摸屏获取,一种是在上位机的装车信息输入栏中直接输入。在获取装车基本信息后,向主控板发送装车信息。主控板接收到后,首先会控制自动装车机构进行机构初始化、车辆定位和车厢尺寸检测,并根据检测信息生成码垛规划,然后将这些信息反馈给上位机。上位机收到以上信息后,向主控板发送确认装车信息,主控板正式控制自动装车机构进行装车,并每隔一段时间向控制上位机发送装车进度信息,机构运行状态信息和故障报警信息。控制上位机收到装车进度信息后,会以数据和动画的模式显示在窗口界面上,接到故障报警信息后,会通过按“暂停”键和“停止”键向主控板发送中断操作和停止操作信号。如果主控板接收到这些信号,会暂停机构运行或者停止装车过程。这样的设计,使得整个自动装车码垛过程都实时可控,并因为动画等多种视觉的展现方式,使得操作者对操作对象的变化更加直观,遇到情况也能及时处理。
在机构调试模式下,上位机要向主控板发送针对某个机构的调试命令,首先要在窗口左侧一排按钮选中对应的调试机构,并输入调试参数,单击“开始”按键,向主控板发送调试命令。主控板接收到调试命令后,控制对应的机构完成运动,并将运动情况反馈给上位机,最后上位机会以统计数据和曲线等形式将结果显示在窗口界面上。
上位机软件功能设计有两个关键设计:
1)编写功能通用的用户策略模块。在MCGS组态软件不提供函数编写功能的情况下,当程序中多次需要实现相同的功能时,可以通过编写用户策略模块,调用用户策略模块来实现,如通用接收串口数据策略的编写。在控制自动装车过程中,上位机和主控板之间有多次通信,而且每一次通信的字节数都可能不同,因此,上位机通信策略模块可以这样设计,按单次通信接收字节数最大值定义接收变量成员数目,每一次调用该策略时,首先读取串口接收缓冲区有多少个字节,用变量存储,然后每次读取一个字节后,将该变量减一,当该变量等于零时,就完成了一次读取串口缓冲区的操作。
2)参考装车过程,分段编写程序代码。对于自动装车码垛窗口来说,装车正式开始前需要处理装车信息的输入和发送,车辆
测量信息和码垛规划信息的显示,确认装车的接收和反馈,装车正式开始后需要定时接收并显示装车进度信息、机构运行信息和刷新装车动画等。因为大部分程序会写在窗口循环脚本里面,并定期循环执行。所以在程序编写时,将整个装车过程的程序代码分为获取装车信息的代码段、提交装车信息后等待确认的代码段和正式装车后的代码段,并在每一段代码的入口处设置不同的判断条件。当上位机运行后,自动装车码垛窗口循环程序定期执行时,会根据判断条件,从而执行不同的代码段。这样的设计可以减少程序执行出错的概率和节省程序执行时间。
3通信设置
按系统设计要求,要建立上位机与用户触摸屏之间的通信和上位机与DSP主控板之间的通信。上位机和用户触摸屏的软件都是基于MCGS组态软件开发的。上位机组态时,由于MCGS组态软件提供了设备窗口,用户可以通过在设备窗口下挂接通用设备构件或者专用设备构件实现通信。具体的工作原理是MCGS组态软件集成了大量的外设通信驱动,用户在使用时,不用开发外设驱动,只需要调用相应的驱动,通过设置好通信参数,就能实现基于MCGS开发的软件与外设之间的数据通信[6],如图5所示。
设计控制上位机和用户触摸屏之间的通信步骤如下:
1)添加通信设备。将用户触摸屏设计为客户机,上位机设计为服务器。首先在设备组态窗口中,分别添加“通用TCP/IP父设备”作为父设备,然后对上位机添加“ModbusTCP/IP数据转发设备”作为子设备,对用户触摸屏添加“莫迪康ModbusTCP”作为子设备。
2)设置通信参数。分别设置好上位机和用户触摸屏的网络类型、本地IP地址、本地端口号、远程IP地址和远程端口号,以实现局域网组网。
3)建立设备通道和实时数据库的连接。上位机和用户触摸屏上地址相同的设备通道之间属于映射关系,所以当用户触摸屏上的某个设备通道连接的数据改变后,上位机上对应的映射通道的数据也发生改变,或者上位机上的设备通道连接的数据变化时,用户触摸屏上设备通道也会改变。在用户触摸屏上,将定义装车信息的变量与设备通道连接后,当设备运行后,输入装车信息后,上位机相应的设备通道就能收到装车信息。
要建立上位机和DSP主控板之间的串口通讯,有两种方式:方式一,在上位机组态设备窗口挂接“通用串口父设备”作为父设备,但MCGS软件本身没有提供DSP设备的驱动构件作为子设备,这需要另外开发;方式二,直接调用内置的嵌入式系统函数实现串口连接,如调用!SetSerialBaud(参数1,参数2)设置串口波特率,调用!SetSerialDataBi(t参数1,参数2)设置串口的数据位,调用!SetSerialStopBi(t参数1,参数2)设置串口的停止位,调用!SetSerialParityBi(t参数1,参数2)设置串口的校验位,调用!WriteSeria(l参数1,参数2)向串口写一个字节,调用!ReadSeria(l参数1)从串口读取一个字节。为了更快地完成串口通信的组建,本文采用方式二的串口通信方式。上位机运行时,首先设置好上位机串口通信参数,然后如果要发送数据,则将要发送的数据按字节写入到串口发送缓冲区,如果要接收数据,则从串口接收缓冲区读取数据。
上位机向主控板发送的数据格式如表1。一帧数据包括数据头、命令字、参数数据包和数据尾。主控板根据接收的一帧数据中的命令字判断数据的意义,并执行相应的命令。上位机接收主控板的数据格式如表2。控制上位机接收数据时,采用先将数据一次取出,然后在根据命令字判断意义的操作流程。
4结束语
本文设计的控制上位机已多次带到设备现场,对设备的多个机构进行了调试,并在机构调试窗口界面上用图表曲线的方式显示了调试对象的运动情况,实际地辅助了机构调试工作。这个集自动装车码垛控制和机构调试一体化的上位机软件达到了基本的设计目标。
作者:王亚军;李永新
深圳市卓禾仪器有限公司是一家专门从事称重仪表和全自动包装码垛生产线的研发及生产的高新技术企业,所生产的JY500系列称重显示控制器(包括配料秤仪表、皮带秤仪表、包装秤仪表、重量变送器等)高速高精度,使用寿命长。卓禾仪器有十数年的现场校验经验,在业内有良好的口碑,且有专门的售后工程师帮忙解决产品使用过程中遇到的技术问题,客户可以放心省心顺心的使用我司的产品。如果对我司的产品感兴趣,欢迎咨询。