1 PBS系统的总体概述

1.1现代的汽车生产线中,

经常在涂装和总装之间需要预留一个车辆缓冲区(也就是一个临时的车辆存储区),通过这个缓冲存储区,上层可以通过生产计划任务来实现车辆按计划,按步骤,

有次序地进行生产。因此这个车辆存储区的意义将变得十分重大,它关系到整个生产系统的调度效率,生产节奏,以及产品质量等等。基于这个缓冲存储区,并且来

维护和监控这个存储区,我们把这个系统定义为PBS系统(PBS为Painted Body

Store的缩写)。PBS系统是连接汽车生产线的涂装和总装过程的一个中介缓存区。目前,PBS系统已在广州本田以及国内的少数几家汽车厂家中成功应用了。

1.2

PBS系统的车体存储和输送采用的是摩擦轮式的输送结构,在存储区中有4条车辆存储线,1条调度返回线(用于车辆的紧急调度)和1条上总装线(用于车辆从

PBS库中上件到总装线进行总体装配)。PBS系统由三套三菱Q系列的PLC进行控制,各PLC间通过三菱H网连接成网络,同时设有管理现场计算机,来实

现生产现场的车辆和空台车分布情况的实时监控,并能显示出存储区内的车体的生产信息(如车体的颜色,型号等等)。

1.3 与PBS系统相关的上下层结构简图a如下所示:

其中ERP是所有子系统的最顶级,ERP(Enterprise Resource

Planning)是企业资源规划的缩写,其中包括产品材料采购,产品研发和制造,MES (Manufacturing Execution

System是制造执行系统),产品销售,而MES主要包括焊装,涂装,和总装等。PBS是介于涂装和总装之间的部分,监控界面在现场管理计算机上,能和底层的PLC进行双向的通信,从而能够对现场进行控制,例如车辆调度,启动停止PBS系统等。

2 基于iFIX组态软件的监控界面的设计

在PBS生产监控系统中所用到的组态软件是GE

Fanuc公司生产的iFIX组态软件。iFIX的图形功能很强,支持多种图形格式,有可追加的图形库,内容丰富,界面的设计,网络的通信,数据库的管理变得十分方便和灵活。

2.1监控界面的设计

在PBS生产监控系统中主要包括以下几个界面:

1

监控系统主界面,用于操作人员或生产管理者在现场管理计算机上进行察看车库中所有车辆的信息以及各个部分所处的状态,比如说电机是否工作正常,一些现场操作盒是处于手动状态还是自动状态等等。主界面的目的是从部分上察看细节。

2 总览界面,是主界面中略去了一些次要的信息,是从系统的整体上进行监控系统是否运行正常。

3

报警界面,利用iFIX中的报警一览控件,将整个生产系统的所有报警进行统一的管理显示,并可以按照一定的顺序进行排序,报警的统计以及报警后的相应处理等等。

4 生产报表,利用组态软件中的水晶报表,通过生产报表可以很好的实现上层管理人员对系统进行管理。

5

车辆信息界面,是通过以太网从MES层的数据库中获得所需的信息(车体的颜色,车体的型号,重量,车辆入库出库时间等),并将信息显示在该界面中。

6车型跟踪界面,该界面的目的是对整个库区里的车辆进行实时的记录跟踪,并同时对SQL

SERVER数据库中的车辆跟踪表进行刷新,以便系统根据生产任务计划进行车辆的自动调度出库,如图b所示。

2.2 iFIX过程数据库PDB(Process Database)的建立

iFIX采用面向对象的数据库设计方法,数据库主要是以数据块的形式构成的,不同的数据块所实现的功能不同。可以将多个数据块按先后的顺序连接起来,就组

成了数据链。在数据链中,数据从一个数据块传递到下一数据块来实现一些功能的组合,数据链能够读取底层的数据,产生报警并自动完成某个过程。规模较大的过

程控制系统包括较多I/O点,用简单的数据块实现起来较为复杂,因此可以通过设计多个数据链,每一条链完成某一功能,或实现控制过程的某一特定功能,这样

就可以使问题简化。

在PBS系统设计中,为了读(写)PLC中设备的数值,采用了DI块(数字量输入块),DO块(数字量输出块),AI块(模拟量输入块)和PG块(程序块)等。

2.3 监控系统的事件调度

在实际中有一些任务希望在特定的时间或时间间隔进行,或过程发生变化时进行,这就是所谓的调度问题。在iFIX组态软件中有两种调度,分别是基于事件的调

度和基于时间的调度,为了调度这些任务,需要根据实际需求定义触发这些动作的时间或事件。下面的这段代码是判断某个车位有无车辆以及在各个条件下相应的做

何种操作。

事件调度脚本程序如下:

Private Sub Vehicle_OnTrue() // 调度事件发生条件

FIX32.FIX.STATE.F_CV为真时

Dim a as variant // 定义一个变量a用于存放从STATE中取出的值

Dim b as Boolean // 用于存放从DB中查到该车位有无车的标志位

a = readvalue ( “Fix32.Fix.STATE.F_cv” ) //读取STATE标签中的值

If a = 1 then

b = state(1) //state为关系数据库中标志某个车位有无车辆的字段

if b = TRUE Then

User.Veh.Currentvalue = 1 // 该位置车辆可见,Veh是全局变量,判断车辆可见

PBS.Vehicle.Foregrount = Rvalue(1) // 将车的颜色设置成从数据库中查到的颜色

PBS.type.visible = True //标志车辆类型的文本type可见

PBS.type.captain = typename(1)//将该车位type与DB中typename相对应

end if

while a = 1 //等待着标签STATE中值的变化

a = readvalue ( “FIX32.FIX.STATE.F_CV“ )//不断的读取标签中的值

Doevents //允许操作系统处理等候在队列中的事件和信息

wend

end if

if a = 0 then

User.Veh.Currentvalue = 0 // 该位置的车辆不可见,Veh设置为0

PBS.type.visible = False // type不可见

End if

Call SeekDB( 1,2 ) // 更新关系数据库中的下一个位置,SeekDB是更新数据库表中记录的函数

End sub

3 PBS系统中MITSUBISHI Q PLC的简介

在PBS生产监控系统中底层所使用的是三菱公司生产的Q系列PLC,PLC Type 为:Q12H。QCPU主要具有如下新特点:

(1) 可控制较多的I/O 点;

(2)

可以实现高速处理;可编程控制器的部分类型,已经实现了高速处理。(例如当使用LD指令时,Q12HCPU,0.034μs);

(3) 通过与GX Developer 的高速通讯提高调试效率;

(4) 可提供AnS 系列I/O模块或特殊功能模块: 对于Q 系列,如果没有适当的模块,可通过使用QA1S65B/QA1S68B

扩展基板单元,AnS 系列I/O 模块或特殊功能模块也可用于QCPU。

4通信部分的设置

4.1 PLC中的网络参数设置

PBS系统和底层PLC间的通信方式采用的是OPC(OLE for Process Control)

,OPC的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁,PLC的通讯模块采用的是QJ71E71。

通信参数在PLC开发软件GX Developer 上进行设置,Network

parameters中的MELSECENT/Ethernet设置如下:

起始I/O号: 写入QJ71E71模块所插的I/O槽起始地址

网络号: 即Ethernet的network ID(例如:1)

操作设置: binary或ASCII,选binary

IP地址和数字格式: 选择一种格式并根据格式写入IP地址

运行中允许写入: 选中复选框表示运行中监视的变量值可修改

在开放设置中选定配置端口号:注意数字格式转换,如十六进制的2000表示的端口号为8192通讯格式选TCP,

unpassive,其余用默认设定即可。

4.2 在iFIX的过程数据库(PDB)中访问OPC Server

工作台能够使用一个OLE for Process

Control(OPC)服务器发送和接收数据。通过完成块的I/O驱动器域,您可以配置任何数据库块接收和发送OPC数据。

OPC地址语法如下所示:

ServerName; GroupName; ItemID; AccessPath

其中ServerName是OPC服务器的名字,GroupName是要访问的OPC组的名字,ItemID是要读写的OPC项目的名字。AccessPath是可选项,它指示服务器如何访问数据。

最终的配置如图c所示:

4.3 MelsecExplorer的设置

在实际生产中,通过MelsecExplorer软件来采集来自PLC的底层信号,再和PowerTool软件实现通信,将经过处理的信号最终传递给

iFIX过程数据库(来从底层进行信号采集)起到监控的效果。在MelsecExplorer中的Edit菜单下选择Ports选项,在General下

选择Ethernet,所进行的设置如图d所示:

其中各参数说明如下:

Protocol: 通信方式选用TCP/IP

Host: 默认为本机网络标识,这里是jonsonn

IP: 本机IP地址

Port: 计算机读数端口,设置为0即可

MELSEC IP: PLC以太网的IP地址,与用PLC编程软件设置的端口一致

MELSEC Port:

PLC的端口,与用PLC编程软件设置的端口一致,PLC的端口设置为1388。新建数据块,数据块需在所新建的端口下,并符合相应的PLC类型,在新建的数据块下建立所需要通讯的数据点。这样完成OPC

SERVER的设置,就可以用标准的OPC PowerTool来从底层PLC中读取数据了。

5总结

本文介绍了PBS系统的定义,用途以及发展。并在iFIX组态软件的基础上,以昌河铃木汽车为例从PBS生产监控系统界面的设计,过程数据库的建立,事件调度的设计等方面进行了论述。同时介绍了利用OPC

SERVER和三菱PLC开发软件进行一些配置,以及iFIX组态软件和底层PLC间通信实现所要进行的设置,最终实现了上层和底层可靠的通信并能实时的监控PBS库中的车辆状态。通过实际的调试运行,最终可靠的实现了车辆的可靠调度和跟踪显示记录等功能。

ifix从sqlserver里读数据_基于GE Fanuc产品PBS汽车总装生产线监控系统设计相关推荐

  1. 基于 RFID 与 ZigBee 智能汽车装配生产线车模追溯系统设计

    一. 毕业设计(论文)的技术背景和设计依据: RFID(射频识别)技术是物联网的核心技术之一,它是一种非接触的自动识别技术,通过 射频信号自动识别目标对象并获得相关数据,作为条形码的无线版本,它在物流 ...

  2. 计算机集成制造系统 刊物界别,基于多传感器的高速CNC机床集成监控系统设计.pdf...

    基于多传感器的高速CNC机床集成监控系统设计.pdf 第 25卷第 12期 中 国 矿 业 Vo1.25.No.12 2016年 12月 CHINA M INING MAGAZINE Dec. 2O1 ...

  3. 基于蓝牙模块ROK101 007/1的小区监控系统设计

    基于蓝牙模块ROK101 007/1的小区监控系统设计 引言 蓝牙是一种正在发展中的短距离无线时分多址通信技术(也叫个域网技术),这是一种直接面对个人和商务的无线应用连接技术,并以其低成本.低功耗.高 ...

  4. python算法的三种描述是什么_基于Python的产品经理必备算法描述

    原标题:基于Python的产品经理必备算法描述 产品经理需要懂点算法,作者用案例描述了几种产品经理的必备算法. 未来的世界,一定是信息科技主导的世界.未来的任何产品,都离不开信息科技的支撑.不论你是哪 ...

  5. 3制造数据集_基于MBD的产品设计制造技术研究

    本篇节选自论文<基于MBD的产品设计制造技术研究>,发表于<中国电子科学研究院学报>第8卷第6期,作者为中国电子科技集团公司第14研究所专家朱建军.本文经授权转载自公众号学术p ...

  6. ifix从sqlserver里读数据_ifix连接SQL和读写EXCEL的方法

    ifix 连接 SQL 和读写 EXCEL 的方法 1228 人阅读 | 0 条评论 发布于: 2008-9-1 10:04:00 连 SQLSERVER Dim rsADO As ADODB.Rec ...

  7. ifix从sqlserver里读数据_Ifix学习(7)

    2019-11-2 这两天学习iFix成果小结一下: 1.画面框架模板 看了资料,再动手实验了一下,原来Ifix的概念或者说做法比较不一样,第一次走向导创建画面,选择一个预设配置(也可以修改)即可生成 ...

  8. ifix从sqlserver里读数据_IFIX读取SQL数据库

    Private Sub cmdreport_Click() If Me.TextBox1.Text = "" Then MsgBox " 请输入批号 " Exi ...

  9. catia里画铰链_基于CATIA的汽车门铰链三维造型设计

    在复杂的零件设计中,设计零部件要考虑到该零件与周边零件的搭接配合关系.在设计时,要将有配合关系的零件组合到一个组件(Product)中,所设计出来的零件在缺省装配位置上就处于该零件的正确位置,便于复杂 ...

最新文章

  1. R语言笔记5:控制结构
  2. 刚刚Sci-Hub和特朗普一样被永久封禁,Twitter官方:不得上诉
  3. 面试题:一条 sql 语句是如何经过 MySQL 的体系结构的?
  4. javaWeb项目中获取ip为 0:0:0:0:0:0:0:1
  5. C语言学习之编程实现:输入长方形的两个边长a, b和一个整数k。k=1时,输出长方形的周长 l; k=2时 ,输出长方形的面积s;当k=3时 , 输出长方形的周长1和面积s
  6. vuex的结构有哪些参数?
  7. 第一章 TCP/IP协议族
  8. java核心技术-NIO
  9. Linux文件夹打包发送到本地
  10. Silverlight.XNA(C#)跨平台3D游戏研发手记:(八)向Windows Phone移植之2D跨平台迁移
  11. 利于前台开发的两大工具flex和vue
  12. python 构造函数传参_C++和python混合编程之在python类构造函数中传参方法
  13. @import与link方式的区别
  14. 本周小结!(回溯算法系列三)
  15. 如何创建带有.的文件夹
  16. 练字第一方案失败,转向第二方案
  17. R语言检验独立性:卡方检验(Chi-square test)和费舍尔Fisher精确检验分析案例报告
  18. PlantUML——程序员画架构图都靠它
  19. 重做raid后,重启无法进入系统
  20. 已知树节点获取树的节点路径(js树节点路径)

热门文章

  1. 【Alpha阶段】第二次Scrum Meeting
  2. Hamming纠错原理
  3. arduino 水位传感器_Arduino教程┃数字传感器和模拟传感器的区别
  4. 数据结构——顺序表删除练习
  5. Android开发人员不得不收集的代码,面试心得体会
  6. 长期在电脑面前喝什么茶好
  7. 新书《Linux就是这个范儿》预售
  8. 总线与接口(内部总线、系统总线、外部总线)
  9. WordPress修改默认邮箱、用户名(图解)
  10. 用VISP+Opencv做相机到机械臂的标定