0 引言
钕铁硼等永磁材料的粉末冶金工艺主要包括制粉、压制成型、烧结、后处理等,利用全密封的自动压机设备完成。在这一过程中,需要利用机械手将粉体材料压制成型后坯料夹持并搬运,码垛好后运送到烧结工位进行烧结。由于粉末压制成型毛坯非常容易碎裂并要求准确码垛,所以需要严格控制机械手的夹持力和位移;同时,为了满足不同尺寸成型块的生产要求,也需要在线监控、动态调整和设置机械手的位移、速度及加速度等相关参数。
SMC是世界*大的电动和气动元件供应商,其生产的电动执行器结构形式多样,主要分为推杆式、滑块式和夹爪式三种,不仅控制精度高,并且能够实现力或力矩的控制。因此可以用来制造压机中的机械手。而压机控制系统中常用PLC数字量输入输出点控制电动执行器动作,但不能监控其位置、速度等参数;同事受PLC自由端口数限制而不便于用PLC通信端口监控电动执行器。本文阐述利用昆仑通态触摸屏结合MCGS组态软件提供的高级开发工具开发的.mdr驱动构件,以modbus通信协议实现对SMC电动执行器构成的自动压机机械手进行在线监控、动态调整和设置相关参数的方法。
1 搬运码垛机械手装置简介
1.触摸屏;2.集线器;3.SMC控制器;4.SMC电动执行器-滑台;
5.SMC电动执行器-夹爪;6.钕铁硼压制毛坯;7.PLC
图1 搬运码垛机械手装置组成及控制原理
钕铁硼等永磁材料自动压机搬的搬运码垛机械手如图1所示,由1个电动滑台和1个电动夹爪构成,夹爪安装于滑台上,工作时夹爪以一定的力矩夹取脆弱的压制毛坯,滑台则可以**的把毛坯件搬运到预定位置完成码垛。原有机械手采用PLC的IO方式控制,将PLC的IO点与控制器的IO口相连。IO控制方式不能实现电动执行器参数的在线调整和电动执行器的在线监控,所以本文采用触摸屏通信控制的方式,如图1所示MCGS触摸屏的RS485通信端口通过集线器分别和各个电动执行器对应得控制器相连。自动压机工作过程中触摸屏按modbus协议实时向各个电动执行器发送命令,控制电动执行器执行预定动作。触摸屏与控制器通信时遵守modbus通信协议,通信帧如表1所示,主要包括设备地址、功能号、数据和CRC校验码4个部分。
表1 数据帧格式
设备地址部分主要用于区分控制器,由单个字节构成,范围:0~255。Modbus协议是一种主从式的协议,网络通信中每个控制器具备地址,使用前事先设置。
功能号是控制器执行命令的操作代码,包括按位读取、写入寄存器,读取和写入步数据,读取报警信息,读取状态信息和写入立即步等功能。
数据部分是指各个功能的操作数,包括所要操作的存储单元起始地址码,所要读取或写入的数据长度,所要读取或写入的数据内容。
crc校验码指数据帧的校验代码,保证通信可靠。SMC控制器参与通信时以crc-16标准的循环冗余校验,校验不通过控制器不接收数据同时也不回复任何信息。计算crc校验码有两种方法实现即查表法和计算法。综合考虑,采用可移植性好和计算量稍大的计算法实现校验。
以上通信帧的产生则是由MCGS中的设备驱动程序生成的,而MCGS组态环境提供了常用设备如西门子PLC等的驱动程序(即驱动构件),系统根据这些驱动构件的规定收发数据和控制总线的正常工作,但没有提供SMC控制器的驱动构件,需要使用者自己开发设计。
开发MCGS驱动构件主要是根据具体设备的通信协议定制响应的数据收发帧,和数据解析程序。目前常用的开发方法有两种:其一是借助VB、VC、Delphi等通用编程环境编写驱动程序,用规范的对链接与嵌入接口OLE将ActiveDLL构件挂接到MCGS环境中;另一种通过配套的MCGS脚本驱动开发驱动构件,直接将驱动构件添加到设备工具即可使用。后者使用配套的开发平台与组态软件借口更方便,具有开发步骤标准和驱动构件可移植性好的优点。因此本文采用后者,其开发步骤包括:定义设备属性、建立设备通道、编写设备命令和编辑设备脚本代码。除此之外在MCGS脚本开发工具环境的设备窗口树中还提供全局变量和自定义子函数目录,以方便用户灵活编程。
2 MCGS驱动构件开发
2.1 定义设备属性
设备属性规定表征设备特性的变量,即定义SMC电缸控制器添加到MCGS通用串口子设备后默认显示的属性,包括设备名称、注释、数据采样周期等参数,在此按默认参数可行。
2.2 定义设备通道
设备通道是专属于设备驱动的内部变量,通过设备通道驱动程序可以和实时数据库中的实时变量交换数据。组态时,该设备添加到父设备下则须将这些通道与组态环境下定义的实时数据库中的变量关联起来。据SMC控制器需求,至少需要添加如表2所示的通道。
表2 电动执行器设备通道
2.3 设备命令
设备命令即MCGS系统与子设备之间的方法接口。设备命令的编写类似于子函数的定义。利用MCGS脚本开发环境下提供的强大库函数可以方便地实现数据解析、数据处理、与MCGS系统的数据交换等功能。结合SMC通信控制的需求,设备命令的处理流程应包括如表3所示命令。
以下为启动电动执行器命令的示例代码:
‘设备命令servo_on()
‘功能:开启电动执行器
dimtarget_addrasinteger‘定义目标控制器地址暂存器
表3 电动执行器设备命
!DevClearBuff()’调用库函数,清空缓冲区
!GetIntChannelValueByName(“controller_addr”,target_addr)
‘调用内部函数获从设备通道中获得控制器目标地址
order_arry[0]=target_addr
'组建命令帧,电缸控制器地址为**字节or,der_arry()为全局数组,作为发送缓冲区
order_arry[1]=&H05'SMC控制器中定义的功能号
order_arry[2]=0'组建命此令帧将要写入的操作地址信息
order_arry[3]=&H19'操作目标控制器的Y19寄存器
order_arry[4]=&HFF‘控制器Y19寄存器写1order_arry[5]=00’smc电动执行器操作规定写法
crc_calcu(6)'计算校验码,入口参数为参与校验的数据长度(单位:字节)
!DevWriteAndReadByteArr(order_arry,8,return_bytes,8,300)
‘通过MCGS函数库调用MCGS触屏串口向目标控制器发送串行有效命令
其余设备命令的编写方法类似,根据不同的需要定制各种设备命令。
2.4 设备脚本
设备脚本包括采集脚本,单通道写脚本,初始化脚本,退出脚本。不同的设备脚本可以实现特定命令收发、数据解析、通道读写等功能,完成初始化、实时数据采集和后处理等任务。
初始化脚本和退出脚本执行使用设备前的初始化任务和退出使用前的任务,一般电动执行器使用过程中初始化并没有特定的初始化和退出处理。所以将初始化和退出脚本留白。
单通道写脚本是指单独操作某通道对应的实时数据,对于电动执行器该功能在方法接口中实现较为方便,因此单通道读写脚本也留白。
采集脚本的功能是:MCGS周期性的调用该段代码,不间断采集数据,实时监控变量的值。采集脚本的处理流程为:前处理组建命令帧发送读取命令等待接收返回消息解码数据传出。设备脚本的写法与设备命令的写法完全相同,只是调用的方式不同,设备命令以对象方法的形式在MCGS组态环境下被调用,而采集脚本由后台驱动程序周期性的调用。
3 人机交互界面HMI(HumanMachineInterface)设计
实际使用中,为了在线设置和监控电动执行器位移、加速度等参数,利用MCSG软件的画面编辑窗口设计完成了所需要的人机交互界面,如图2所示,包括按钮、输入/输出框等控件。
HMI中的控件和后台控制策略等要和所开发的驱动构件联系起来才能起作用,为此,需将所开发的驱动构件添加到MCGS组态环境的设备管理目录下,此后即可在画面窗口和运行策略中使用所开发的电动执行器驱动构件。对按钮、输入/输出框等控件的操作可以调用驱动构件的设备方法,改变实时数据库中相应的通道变量或执行相关操作。例如点击图2中触摸屏上的“回零”按钮,即可调用电动执行器的回零方法,按钮的“事件”中调用驱动构件的设备方法的代码为:com2.SMC_controller.return_origin()。
4 调试
图2 夹爪型电动执行器调试
为验证上述通信控制自动压机取料机械手的可行性,按照前文所述方法在实验室搭建调试系统,对SMC夹爪型电动执行器进行调试。结果表明该通信控制方法能满足夹爪自动取件、码垛功能。不仅能够通过触屏的输入输出框能方便地实现夹爪控制参数的在线修改,从而适应不同尺寸、不同强度的压制毛坯件,还能在线监控电动执行器的位移、速度等运行状态。
5 结束语
在MCGS脚本驱动开发环境下开发MCGS设备驱动构件,并利用该设备驱动进行触摸屏HMI设计。以通信方式实现钕铁硼永磁材料自动压机机械手的自动控制,不仅能在线修改SMC电动执行器的加持力、位移等控制参数,适应不同尺寸、不同压制强度的毛坯件的加持运输和码垛功能,还能对压机机械手的运动状态进行实时监视。实际运行表明该方法不仅经济而且方便可靠,已在钕铁硼永磁材料自动压机中成功运用并取得良好效果。
阀门网(www.365pv.com )友情提醒,转载请务必注明来源:阀门网!违者必究.
标签:MCGS SMC电动执行器 控制方法