基于艾默生批控器自动装车系统的实现.docx_第1页
基于艾默生批控器自动装车系统的实现.docx_第2页
基于艾默生批控器自动装车系统的实现.docx_第3页
基于艾默生批控器自动装车系统的实现.docx_第4页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于艾默生批控器自动装车系统的实现 【摘要】为了实现某石化企业自动装车,减少人为干预的同时避免出现人为交易错误的发生,该系统以数据库为各平台交互信息的媒介,使用了艾默生DL8000批控器,用户只需要按部就班地刷卡,就能够实现整个自动装车流程,实现了该系统与地磅系统和ERP管理平台的无缝结合。 【关键词】wincc;SQL;ERP;modbus协议;opc;vbs 0 引言 系统使用西门子组态软件wincc的浏览器/服务器结构(即B/S架构),按照ERP的管理流程进行设计,主要硬件有:批控器、读卡器、串口服务器、防火墙、交换机、服务器、浏览器等组成,软件主要有: wincc、modbus网关、批控器编程组态软件ROC800以及数据库sql server等,需要接合系统有地磅系统和ERP管理平台。 1 系统设计的依据 1.1 自动装车业务流程: 1.1.1 生成订单:油(汽)款项汇款到帐,财务室制发交货单; 1.1.2 业务制信息卡:业务室获得交货单号后,为其分配鹤位,并制作加油(汽)卡; 1.1.3 门卫准入:到门卫刷卡核对订单和车辆信息,由门卫决定是否准入; 1.1.4 空车过磅(皮重):空车上秤房刷卡后记录该订单的皮重信息; 1.1.5 进入装车厂到指定鹤位刷卡:装车员连接好管线,现场人员按下确认、开始键后,批控器按照该交货单数量进行自动交付(流程详见vbs脚本1),直至批控器交付结束,记录该单流量计的流量重量; 1.1.6 二次过磅(毛重):罐车装满后,回到秤房刷卡后该单毛重信息,与皮重相减得到罐车净重; 1.1.7 核验放行:到门卫刷卡,经门卫核对是否超差,如超差需补齐差额,然后下发放行指令,同时回收信息卡,以备下次循环使用。 1.2 与本文有关的装车系统数据库结构 计算机名:zcxt ,Sql服务器名:zcxtwincc,数据库:sys。 表一、公共表和地磅卡号表 字段名 类型 字段名 类型 公共表 鹤位 字符 订单日期 日期 流量重量 浮点数 交货单号 字符 皮重 浮点数 车牌号 字符 称皮重时间 日期 客户名称 字符 毛重 浮点数 物料名称 字符 称毛重时间 日期 交货单数量 浮点数 净重 浮点数 读取标志 整数 地磅卡号表 制卡日期 日期 称编号 整数 完成标志 布尔值 卡号 整数 卡号 整数 密码 整数 1.3 与本文有关的批控器DL8000各寄存器的代码表(十进制) 表二: 状态位 (第几位bit) 描述 发油状态 (浮点数) 描述 指令 (浮点数) 描述 00 操作模式为手动 10 间歇停止报警 1 提示配方 04 配方已选定 13 批处理完成 3 提示添加剂 06 预置体积已回车确认 23 流量控制 5 超时操作 10 批正在进行 24 阀门关闭 6 批准交易 12 交易已结束 26 等待停泵 7 结束交易 13 批已结束 27 停泵 8 提示预置体积 14 批已中止(未启动) 28 等到一切停止 10 批准批 17 批已批准 29 批处理终止 13 结束批 18 交易已批准 32 批次结束 28 显示消息 19 已请求结束交易 33 等待阀门全关 48 复位设备 21 批已停止(可恢复) 38 交易结束 56 清除显示器 2 系统功能的实现 结合以上材料,首先批控器与读卡器通过modbus总线的方式连接到串口服务器上,再通过modbus网关传输给wincc,在wincc嵌入vb报表控件实现平台展示、存储和查询功能。用户的每一次刷卡都会将该订单按自动装车业务流程推进一步并将记录保存在“公共表”的读取标志中(ERP下发时初值为0)。鹤位上的自动交付则由wincc的vbs脚本来实现对12个鹤位人机交互过程控制,代码见Vbs脚本1,为实现秤房读卡器与地磅系统的结合,秤房的读卡器信息通过表“地磅卡号表”实时传递给地磅系统,详见Vbs脚本2,地磅系统通过卡号所绑定的订单自动连接到该订单的车辆信息,然后将对应的地磅信息更新到公共表中以供ERP管理平台、装车系统使用。与财务结合的日报和月报销量汇总由电子表格作为查询与统计工具以浏览器端查询“公共表”来完成。 2.1 部分vbs脚本 2.1.1 Vbs脚本1:某鹤位执行脚本,因为批控器与服务器使用modbus协议通讯,考虑发送接收的延时,所以设定时触发为2秒/次,即执行第一步两秒后执行第二步,以此类推,为使每次只执行一步,程序为倒序编写。由于篇幅有限保留流程注释,只写第八步。 Dim a, b, c, d, 单号, 读卡号, 读密码 , 实发油, kh,ddbh,hw 中间变量 批控器装车的交互过程如下代码步序用数字代替: 装车准备:如果批控器当前为手动,则需要将当前的批控器操作模式变成自动。 0:在鹤位上刷卡 提取该卡号对应订单信息。 1:指令写入1,写选择的配方序号1到配方选择寄存器,屏幕出现配方选择完成,请等待。 2:指令写入6,屏幕出现交易已授权,请等待,此时自动装车系统下发本次装车的预置量。 3:指令写入8,弹出预置画面。 4:经用户确认装车量后,按下回车键即状态位的第六个标志位(见表四)为1,指令写入10,屏幕显示准备装车画面,此时按Start键,用户便可以开始装车。 5:在正常进入发油的过程,发油状态为23这表明现场已经按下start。 6:装车中止的情况下,如需继续装,则按下Start键重新启动;如需放弃此次装车过程,再次按Stop键(即此键按两次),屏幕显示Batch Completed,此时再自动装车流程下,指令写入13,结束(取消)此批次。 7:指令写入7,屏幕显示Trans Ended,结束此次装车。 8:指令写入1 进入配方选择画面。 9:指令写入56来清除显示器,此时屏幕显示请等待,回0步,等待下次刷卡。 读卡号=(读卡号).read 读wincc变量,省略()前HMIRunt以下同 读密码=(读密码).read 单号=(交货单号).read 实发油=(实发油).read If (流程标志).Read =8)Then8 b=driver=sql server;server=zcxtwincc;uid=sa;密码=*pwd*;database=sys Set a = CreateObject(adcation = 3 a.Open连数据库下文将省略类似连接 Set c = CreateObject(AD公共表 Set 流量重量= & 实发油 & , 读取标志 = 5,Batch_done=1 WHERE (交货单号 =&单号&and 读取标志=4) c.Open ssql1, a Set d= CreateObject(ADdType = 1 d.CommandText = sSql1 Set c = d.Execute Set c = Nothing a.Close Set a = Nothing (流程标志).Write 9 End If 2.1.2 Vbs脚本2:刷卡器与地磅系统的对接,定时触发为2秒/次。 Dim cc1,rst1,sql1 ,cnn1, p1c,p1p,p2c,p2p p1c=(地磅卡号表).Read p1p=(地磅密码).Read sql1= UPDATE 地磅卡号表 Set 卡号 = &p1c&,密码 = &p1p&WHERE (称编号 = 1) End If 结束语 该装车系统既提供了现场的装车服务,又实现了数据的收集和共享

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论