时间:2024-05-22
□ 黄立波
上海电气集团自动化工程有限公司 上海 200233
新能源装配线是新能源制造领域中的重要设备,可以实现电芯、电机、电控等新能源部件的组装生产。随着我国工业装备技术的快速发展,对新能源装配线设备的高效、自动化、信息化、数字化提出了越来越高的要求。
在传统的非标自动化设备系统中,工程师通过编写特定的可编程序控制器程序,实现线体的控制。当线体需要进行升级改造,比如增加新的机型、增加新的设备、增加新的工位、修改工位的工艺流程时,都需要由工程师进行程序改造,调试后投入运行。为解决此痛点,项目在设计阶段决定使用配方技术,将线体建模、工艺流程、工艺参数等通过配方的形式,在上位机里进行配置。再在可编程序控制器里开发一套配方执行程序,上位机配置好的配方通过通信接口下发到可编程序控制器,交由可编程序控制器执行。这样,将来再要进行升级改造,只要没有超出系统设计预留的范围,都可以更新配方后直接执行,不需要更新底层程序代码。
本项目中,整套系统分为一条输送线、两套升降机、若干托盘,以及13个手动工位的装配设备。新能源装配线布局如图1所示。
▲图1 新能源装配线布局
设备装配工艺流程如图2所示。
▲图2 设备装配工艺流程
本项目使用工控机运行配方管理系统。
每个手动工位设备中含可编程序控制器、显示屏、按钮盒、电动拧紧枪、无线扳手、扫码枪、物料架等配套设备。
系统设有总控可编程序控制器,负责整个线体的运行。
每个人工工位有触摸屏一体机,负责工位配方运行状态的显示。
每个人工工位有扫码枪,负责工件编码的扫描,传递给可编程序控制器。
每个人工工位还有拧紧枪、按钮、指示灯等标准设备。
配方系统软件产生的数据需要进行保存、查询和分析,只有数据库可以胜任上述功能。根据需求,可以选择不同的数据库,不同的数据库有各自的特点和适宜的应用场合。在工业自动化领域,常用的数据库有Microsoft SQL Server、Microsoft Access、Oracle、MySQL、PostgreSQL、SQLite等,本系统使用MySQL数据库。
本项目中,使用数据库脚本SQL语言进行数据库的创建。脚本方式的好处是,当需要进行数据库的维护、更新、重构时,使用脚本更加迅速,不依赖于环境配置。如果需要将数据库升级或迁移到其它数据库,通过脚本可以快速实现。使用如下SQL脚本可以创建相关的配方数据表:
CREATE TABLE IF NOT EXISTS ′recipe′(
′id′ int NOT NULL AUTO_INCREMENT,
′pname′ varchar(50) NULL,
′packpn′ varchar(50) NULL,
′opname′ varchar(30) NULL,
′step′smallint NULL,
′stepname′ varchar(100) NULL,
′optype′ varchar(10) NULL,
′checkpn′ varchar(50) NULL,
′ttype′ smallint NULL,
′tindex′ smallint NULL,
′tcount′ smallint NULL,
′tpset′ smallint NULL,
′tsocket′ smallint NULL,
′cycletime′ int NULL,
PRIMARY KEY (′id′),
INDEX (′packpn′),
INDEX (′opname′)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
配方管理程序提供配方的编辑功能,可以查询、修改、删除已存在的配方,也可以新增或从Excel导入配方,还可以把已存在的配方导出为Excel文件。
配方管理程序主界面如图3所示,如果数据连接成功,将自动查询已有的产品名称和Pack PN列表。
▲图3 配方管理程序主界面▲图4 Kepware OPC主要配置内容
对于不同的可编程序控制器,与上位机之间的通信方式各有不同。新能源装配线项目选用了机械自动化领域应用最广的西门子可编程序控制器。西门子可编程序控制器与上位机之间的通信方式主要有OPC Server、SIMATIC NET、ProDave、LibNoDave、Snap7、ModbusTCP等。本项目使用OPC通信方式。
使用OPC通信方式主要有以下好处;① OPC是国际标准的数据通信方法,机制齐全;② 便于诊断;③ 可以置换为其它可编程序控制器。
本项目使用Kepware OPC,主要配置内容如图4所示。
一般开发OPC客户端程序有以下几种方式:① 使用OPCNetAPI,需要用到OPCNetAPI.dll,OPCNetAPI.Com.dll;② 使用自动化接口,需要用到OPCDAAuto.dll;③ 使用自定义接口,需要用到多个Wrapper,包括OpcRcw.Ae.dll、OpcRcw.Batch.dll、OpcRcw.Comn.dll、OpcRcw.Da.dll、OpcRcw.Dx.dll、OpcRcw.Hda.dll、OpcRcw.Sec.dll。
本项目使用第二种方式,配置步骤如下:① 从官网下载OPC自动化接口标准组件OPCDAAuto.dll;② 注册组件,将OPCDAAuto.dll复制到系统路径,对于64位Windows操作系统,一般复制到C:WindowsSysWOW64,在命令行下执行Regsvr32 C:WindowsSysWOW64OPCDAAuto.dll,注册该组件,直到出现提示DllRegisterServer在C:WindowsSysWOW64OPCDAAuto.dll已成功;③ 在C#工程中,添加对C:WindowsSysWOW64OPCDAAuto.dll的引用,添加引用后,工程环境将在项目目录下自动生成Interop.OPCAutomation.dll,并添加对其的应用。
经过以上步骤,客户端程序可以方便地和可编程序控制器建立通信,访问里面的数据,如下为这部分的C#典型代码:
using OPCAutomation;
private OPCServer m_server = null;
private OPCGroup m_group = null;
private OPCItem m_item1,m_item2;
m_server = new OPCServer();
m_server.Connect("Kepware.KEPServerEX.V5","192.168.10.10");
m_server.OPCGroups.DefaultGroupUpdateRate = 1000;
Assert(m_server.ServerState == (int)OPCServerState.OPCRunning));
m_group = m_server.OPCGroups.Add("OPCDevice");
m_item1 =m_group.OPCItems.AddItem("PLC01.OP010.STS_AlarmCode",1);
m_item2 =m_group.OPCItems.AddItem("PLC01.OP010.RCP_RecipeDownloadCtrl",2);
object objValueRead = null;
object objQuality = null;
object objTimeStamp = null;
m_item1.Read(OPC_DS_DEVICE,objValueRead,objQuality,objTimeStamp);
object objValueWrite = (int) 2;
m_item2.Write(objValueWrite);
…
m_server.Disconnect();
配方在可编程序控制器内运行,本项目使用了西门子S7-1200可编程序控制器。
配方运行程序控制流程的运行。在工件到达工位时,先进行流程的初始化,扫描工件类型,再向服务器请求下载当前类型的配方。工位根据配方步骤一条一条地执行,不同的步类型和运行参数决定了当前的运行方式。步的类型主要有扫描步、拧紧步、涂胶步、测试步、结束步等。配方运行程序流程如图5所示。
▲图5 配方运行程序流程
生产线客户端程序依赖于上运行的服务器程序,两者之间是客户端与服务器之间的关系。每台客户端可通过配置文件里的工位号参数,配置成不同的工位,独立运行,支持通用串行总线扫描枪。
客户端程序安装后,开机自动启动,自动连接服务器,自动连接扫描枪,提供手动输入条码和手动设置拧紧枪程序号功能,支持工位的启动、停止操作,支持报警状态显示和报警复位等。
软件启动后,将显示主页面,OP010-2页面界面如图6所示。
▲图6 OP010-2主页面界面▲图7 OP010-2工序参数界面
工序运行过程中,可编程序控制器执行配方运行程序,通过通信将当前工序的步数、类型、工序内容等参数传递给工序触摸屏,如图7所示。
笔者针对新能源电控装配线,设计配方系统,实现了工序的参数化运行。在非标自动化领域,传统的设备开发方法为当需要增加工序或设备时,总是由工程师进行程序修改和调试,这样需要花费大量的时间和精力,设备也无法快速投入生产。通过应用配方技术,采用配方化运行方式,可以大大提高设备的投入效率,维护也更为方便。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!