当前位置:文档之家› 基于组态软件的模块化生产线控制系统

基于组态软件的模块化生产线控制系统

《工业控制计算机)2008年21卷第12期
15
基于组态软件的模块化生产线控制系统
Control System of Modularization Product Line Based on Configuration Software
方 成 陈富林(南京航空航天大学机电学院,江苏南京210016)
摘要 为了提高模块生产线的装配速度,针时模块的特点,提出了研发以物料传输自动化为主的柔性生产线来适应模块装配 需要。该生产线控制系统主要由工控机与西门子公司的PLC200系列组成。通过组态软件监控界面连接PLC来监控各个 工位和运动小车的状态。使用组态软件进行监控画面的编制,实现装配线的实时监控、数据采集与处理。系统结构简单,实 用性好,应用性强。 关键词:组态软件。PLc,实时监控,人机界面
豳2变■传输圈
工位状态的扫描由专门的动作负责,触发时间设为1s,也
就是说每秒都要扫描数据控工位状态表。
strsql="select’from G_State where(G—Position=1)一 Set ca=CreateObject("ADODB.Connection”)
ca.ConnectionString=strcn
Set splace=HMIRuntime.Tags PC_splace")
//起始位置
Set dplace=HMIRuntime.Tags("C_dplace") ∥目标位置
Set c_move=HMIRuntime.Tags(弋011avE一 //触发变量 Set position=HMIRuntime.Tags(”c_position")//位置变量 Set state=HMIRuntime.Tags rn_state")//小车状态变量
本项目是通过Profibus—DP网络采集各个工位的状态,由 WinCC V6收集这些数据,并保存到数据库中。根据模型文件及 生产计划,生成产品状态表。当工位的状态发生改变时,根据产 品的加工状态做出调度。调度的结果保存到送料小车控制表中, 小车根据控制表的变化执行调度命令,最终实现对产品装配的 调度。整个调度程序通过WinCC中的VBS脚本来实现。 2.1数据库表的设计
TD一400C(文本显示器),操作人员通过TD-4∞C实现与主站
的信息交换。
工位1是物料出人工位,用于工控机进行管理。工控机通过 网卡连接主站,通过USB接口连接条码打印机,通过RS232连 接读码器。此工控机运行“装卸位管理软件”,进行零件的信息编 码、零件信息与操作信息的上传和下载、装卸姿态的指示等操作。 2控制系统调度的实现
Keywords:cotime monitor,HIM
某模块品种较多,批量较小,设计变化快,交货期短。根据模 块特点和生产情况,决定研发以物料传输自动化为主的柔性生 产线,来适应模块装配需要。该生产线由可转位的自动化物料仓 库、自动化送料小车、以及11个操作工位组成。
嚣。一嘲睇一_‘童。旆。磐~教导。…
姐40 位置lr
314
0 0
a 口
膏度
l∞


圈4位置变■组态
当调度程序生成小车命令时将触发模拟小车运动动作:
Car_move.bac。
以下为脚本变量与WjnCC变量的连接:
Set product_name=HMIRuntirne.Tags("C_producLnam的,/产品名称
cn.Open Set rs=CreateObject("ADODB.Recordset")
FS.open strsql,cn.3,3 y1 1=rs(『,Req”) G1一req.Value=y1 1 G1-req.Write
//数据库工位状态表打开 //读人相应数据
//数值存人v\finCC内部变量
首先在画面中画出一个小车的模型(我们简单地以一个矩 形代表物料输送小车),在其几何属性中,“位置X”和变量 “C—position”建立连接。也就是说小车的模型X座标将根据变 量“C—position”的变化而变化。如图4所示。
<工业控制计算机)2008年21卷第12期
17
胜I耕l
一矩膏 嬲口 ■邑 徉式 饵‘ 苴它 曩苑
yl 2=rs(”Fin”、
G1jin.Value=y12 G1jin.Write
crl.close
//关闭连接
调度动作介绍:除个别通用动作外,每个工位对应独自的触
发动作,以工位2为例,主要动作有:
万方数据
田3工位1的完成漉程田 3小车运动的监控
为了在监控画面中仿真小车执行调度命令,动画演示是必 不可少的。利用WinCC的图形编辑器和脚本编辑器,就可以实 现小车运动的监控。
万方数据
16
基于组态软件的模块化生产线控制系统
Idle:工位空闲,可以申请加工,也可以继续空闲; Work_time:此工位总加工时间,是调度信息之一,如工位2 和工位4的加工内容相同,而工位2的总加工时间大于工位4 的总加工时间,调度系统优先给工位4分配工件; Times:总加工次数,表示在次工位加工过的零件总数,同样 在加工内容相同的情况下,加工次数小的优先分配工件。 (2)小车任务表(T_DO_LIST) 小车任务表是调度系统和自动化小车之间的通信表,是小 车执行调度结果的根据。正确发送命令小车才能正常运行。 C_TASKID:任务号,主键,小车执行任务的编号; C_MATERIAL:物料号,小车运送产品标号; c-SPLACE:小车运送产品的源位置; c-DPLACE:小车运送产品的目标位置; D-DATETlME:El期时间; N_ERROR:设备故障,O为正常,1为出现故障; N—STATE:运行状态位。当为1时小车可以执行次命令;当 为2是小车正在执行命令,小车任务表禁止更新;当为6时表示 任务表可以更新,此时可以写入调度命令;写入新的命令时同时 更新次标志位为1。 除以上数据表外还有产品加工状态表、产品工序表、产品列 表、工作时间表、用户表等不一一介绍。 2-2调度规则 本文设计的调度程序可以随时添加新的加工任务,调度程 序循环扫描工位状态,根据工位状态和未加工零件情况生成调 度命令。 2.3调度程序流程介绍 根据前面的调度规则,使用WinCC中的脚本编辑器编写调 度程序。因为VBS脚本不断扫描各个动作的是否满足触发条 件,所以各个动作并非顺序执行,和PLc程序的执行相仿。 每个工位的状态通过PLC传给WinCC外部变量,当其发 生变化时触发相应的动作,其状态就会写入数据库。编写专门的 动作扫描数据库中的工位状态表,在通过内部变量传送给各个 工位的响应动作。调度命令的触发过如图2所示。

G2_req.bac:负责触发工位请求命令; G2-fin.bac:负责触发工位完成命令; G2_set_pre_state.bac:负责触发工位完成后对一些状态 的设置; G2_movel.bac:负责触发工序优先级相同的工序没有完 全加工完的情况下。生成物料小车运动命令; G2_move2.bac:负责触发工序优先级相同的工序完全加 工完的情况下,生成物料小车运动命令; G2_time.bac:负责统计工位2工作时间; G2_work_times.bac:负责统计工位2工作次数。 2.3.1对通用工位(工位2-工位1 1)上料请求的响应流程 请求动作程序的工作流程如下:程序不断扫描工位状态,当 有工位提出上料申请时,触发上料申请动作(例如:工位2提出 上料申请,触发工位2上料动作G2_req.bac)。然后搜索产品加 工状态表,查看是否有工件需要申请上料的工位进行加工。如果 没有继续扫描,如果有选取优先级最高的工件,并判断此前的工 序是否加工完成,如果以上条件满足,判断小车状态是否可用, 如果不可用,继续扫描等待;如果可用,进行一些参数设置后生 成小车运动指令。 2.3.2对通用工位(工位2一工位”)加工完成触发的流程 完成动作触发流程:扫描工位状态,如果某工位发出完成信 号,为了调度工件到下个加工工位或回库,首先判断小车是否空 闲,如果小车不可用,则工件在次工位等待,此工位不能申请上料; 如果小车可用,判断加工工件的下个工序所用的工位是否申请。如 果没有申请。则工件回库。如果申请工件直接到下个加工工位。 2.3.3工位1的请求流程图 工位1负责上料下料和翻转,与其他工位有所不同,流程如 图3所示。系统运行时,可以根据需要添加产品。添加的产品名 称可能与正在加工的产品名称相同,这就要求我们为每个产品 生成唯一的信息。与其他上料申请有所不同的是,这个工位负责 工件的上下料和翻转,所以对申请命令要加以判断。 工位1的完成触发命令与通用工位类似,这里不一一介绍。
现场数据是调度的依据,数据的变化需要实时存储到数据 库中。在系统重新运行后也要求系统能够恢复到原来的状态,所 以中间数据也要存储到数据库中,数据库表的设计显得尤为重 要。本系统主要包括以下几个表:
(1)工位状态表(G_State) 工位状态表是用来存储各个工位的状态信息,包括请求、完 成信息,工位使用的次数。工位使用的时间,以及正在加工的产 品名、产品所属套的套号和件号。 各个属性的含义如下: G—Position:工位号,对应1—1 1工位,可作为工位状态表的 主键; Product_name:产品名,如A10005; SeLnum:加工零件所属套的套号。如属于第二套; Num:加工零件所属套中对应的件号,如第2套共有5件, 正在加工的是第2套的第3件,则Set__num=2,Nurn=3; Req:请求上料位标志位,当Req=l时表示此工位请求上 料,调度程序可以为次工位分配零件,当调度程序为其分配任务 后置0; Fin:加工完成标志位,当产品装配完成后,通知调度系统, 产品等待下到工序,或由小车送回存储库;
位置运算数据流图如图5所示。
splace:为小车的起点位置;dplace./|、车目标位置;position:
为了实现对装配线的合理调度,必须选择合适的控制技术。 以本研究课题为例。装配线包括11个装配工位。1个输送小车, 1个自动回转库,2台工控机,只有采用适当的传输控制技术,才 能组成一个完整的控制体系,才能正确执行调度命令,从而实现 装配的自动化。
相关主题