2016年7月27日

通过KEPWARE ODBC DRIVER和ADVANCED TAG实现数据库和PLC的双向通信

 

本文以实例介绍了一种方法,利用KEPWARE OPC SERVERODBC DRIVER驱动和ADVANCED TAGS插件中的LINK TAG模块,来实现数据库和PLC之间的双向通信,而无需借助任何的OPC CLIENT编程。

 

1.       MES将业务数据下发给接口表

下表DBIMES中的业务数据表,SHOP字段表示车间,VIN表示车号,DL_FLAG是数据处理状态标记,1表示数据已下发给接口:

 

下表DBXMES数据下载给PLC的接口表,DL_FLAGMES下载控制位,UL_FLAGPLC上传控制位:

 

2.       OPC将接口表数据同步给PLC交换区DB

首先建立指向MES数据库的ODBC DRIVER,如下图是DBX组映射了DBX表的数据:

 

我们可以通过OPC QUICK CLIENT来查看DBX这个表的实时数据:

 

然后我们需要从数据库向PLC同步下载控制位DL_FLAG

 

 

当本地B_DL_FLAG=1时,从MESPLC同步VIN号:

 

 

3.       PLC处理业务数据并更新状态

PLC读取本地的业务数据,完成之后,将本地的B_UL_FLAG设置为1

 

4.       OPCPLC控制位上传给MES接口表

OPC通过LINK TAGB_UL_FLAG同步给MES

 

 

MES数据库自动得到更新:

 

5.       复位

DL_FLAG=1UL_FLAG=1,表示数据下载及处理完成,MESDL_FLAG复位:

 

OPCDL_FLAG同步到PLC

当本地B_DL_FLAG=0时,PLCB_UL_FLAG复位:

 

 

然后OPC把本地B_UL_FLAG上传到MES数据库,双方控制位均已复位:

 

6.       握手时序图

下图是完整的握手时序图:

 

7.       应用范围

本方法可以应用于以下场合,部分代替OPC CLIENT开发使用:

1)       PLC上传数据很多,MES下发数据很少。

比如PMC设备监控模块,大部分数据是MES从设备PLC采集的位信号和模拟量数据,这些数据可以通过DATA LOGGER模块自动写入MES数据库。MES下行的数量主要是时间同步和班次等信息,数据量小,可以直接通过LINK TAGMES数据同步到PLC

2)       MESPLC之间有专用接口传递数据,也就是说MES只需要读、写少数几个固定的OPC TAG,那么此方法可以快速部署,使用LINK TAG实现双向读写。

 

8.       相关KEPWARE插件

1)       ODBC DRIVER:

 

 

 

2)       ADVACED TAG插件,包含LINK TAG功能:

 

 

 

 




 

2016年7月22日

一颗螺栓的旅程



本文试以螺栓的配送和装配为例,说明物流管理系统WMS和制造执行系统MES在高级制造中的应用及实现原理。
我们知道螺栓是发动机的一类关键零件,数量众多,其制造和装配工艺对发动机的整体质量有非常大的影响。
下表列出了此螺栓的关键流程控制点:
区域
工位或库位
作业内容
系统
仓库
WM100
存储整箱零件
WMS
配料区
WM200
把螺栓和弹簧、垫片配套打包
WMS
装配区
OP10
发动机过站后触发自动物料拉动
MES à WMS
OP20
装配螺栓,手工拉动物料
MES à WMS
OP30
螺栓手动预拧紧
MES
OP40
螺栓自动终拧紧
MES

下图是流程示意图:


下面我们从物料配送、装配、物料拉动这3个层面进行分析。

1.       物料配送

螺栓的配送包括3个大的步骤:
1)       把螺栓从供应商的货车上接收,拆包检验后用叉车送到仓库的指定存储区,库位WM100
2)       用叉车把螺栓从仓库送到配送工位WM200,工人在此工位把螺栓和配套的弹簧、垫片装在一起,放进周转托盘箱。
3)       使用自动牵引车AGV把配套的螺栓组件送到装配工位OP20
为了实现这一配送目的,我们需要在WMS中针对此螺栓定义以下BOM
料号
描述
库区
地址
BT0010
螺栓XXXX
10
WM100
BT0010
螺栓XXXX
20
WM200
BT0010
螺栓XXXX
30
OP20

2.       装配

螺栓的装配工艺包括3个工位:
1)       OP20,工人把螺栓装到对应的位置。假设有4组相同的螺栓,则使用数量为4
2)       OP30,工人使用拧紧枪对螺栓进行预拧紧操作。假设每个工位在MES系统中默认配置了8把枪,而此次操作应使用其中的1-4号枪,每把枪的扭矩区间都已事先校正。
3)       OP40,机器人自动使用拧紧枪进行终拧紧操作,拧紧顺序为1-4-3-2
那么MES中完整的物料配置信息为:
工位
物料号
数量
OP20
BT0010
4
OP30
BT0010
0
OP40
BT0010
0
当发动机来到OP20时,螺栓对应的料架灯会常亮,一直到工人取了4次件后,防错完成后熄灭。

MES中完整的拧紧防错配置信息为:
工位
1#枪次数
2#枪次数
3#枪次数
4#枪次数
5#枪次数
6#枪次数
7#枪次数
8#枪次数
拧紧顺序
OP30
1
1
1
1
0
0
0
0

OP40
1
1
1
1
0
0
0
0
1432XXXX
OP30工位,当1-4枪进行有效拧紧后,对应枪的防错完成,当4把枪都完成防错后,则此工位的拧紧防错完成,放行灯常亮。
OP40工位,机器人根据配置信息,按照1-4-3-2的顺序先以较小的扭矩进行拧紧,然后以较大的扭矩4枪一起拧紧。

3.       物料拉动

这里包含了两级物料拉动方式:1) 装配区拉动配料区;2) 配料区拉动仓库。
其中,装配区的拉动又分两种:1) OP10工位的自动拉动;2) OP20工位的手动拉动。
当发动机完成OP10工位的装配作业时,MES生成过站记录,然后同步给WMSWMS用看板或电子看板等提醒WM200工位的工人进行配料作业。
当发动机完成OP20工位的装配作业时,如果工人发现物料不够用了,可以用人工呼叫的方式进行拉动,呼叫信息通过WMS发送给配料区。
配料区拉动的逻辑是这样的:每次当AGV小车向装配区送料时,WMS自动扣除WM200的物料数量,当数量小于安全库存时,则自动把拉动信息发送到仓库配送人员的车载终端上,从而完成物料拉动的通知。