重庆赣锋动力PACK线改造MES项目一期总结

客户现场有模组线和Pack线,我们主要是做Pack线的改造。

改造内容如下:

  1. 两个涂胶机的改造,由我司PLC和视觉工程师联合MES同事一起开发完成
  2. 其他设备运行数据以前是由plc采集读取上传给MOM系统,现在改为由我们mes接管

其他设备的数据采集方式如下

  1. 有上位机的,需要联系供应商理清之前与MOM的通信方式和交互逻辑:这其中有气密性测试设备、EOL测试设备、充放电测试设备、DTC故障清除设备等
  2. 没有上位机的,需要新开发上位机程序,具体工作如下:联系供应商,理清通信方式和交互逻辑。其中有博世拧紧枪、英格索兰拧紧枪

工作内容:

  1. 前期工作主要是协助沟通供应商,理清交互逻辑和通信方式
  2. 后面博世拧紧枪的上位程序由我来编写

其他设备的数据采集

  1. EOL测试设备:主要由两家供应商提供:德普电气和星云,通过ActiveMQ 消息队列来交互数据,其中有两个MQ:一个用来MES给设备下发条码,另一个由测试设备上传数据
  2. 激光打标机:供应商是大族激光,使用tcp连接,传递指定格式的数据,以ASCII格式传递,设备返回指定的OK格式,则自动进行激光打印
  3. 气密性测试设备:供应商是武汉精亦诚
    有两个数据库,mysql存储的是原始数据,access数据库里存储的是历史数据
    mysql里的数据在上传mes之后,会被删掉,会更改access里的 上传标识 时间 结果等字段
    access里的数据 客户需要定时清理
    桌面程序 管理员密码是0
    点击logo可以显示硬件调试界面
    流程:
    mes调用设备接口:http://10.24.155.212:8001/park=123456&ID=1010PK1PK1160
    8001端口固定 park是pack条码 ID是工位编码
    设备测试完成之后调用mes的接口

博世拧紧枪

拧紧技术服务商有这些:atlas 阿特拉斯、 Bosch Rexroth 博世力士乐、英格索兰 等
拧紧枪的通用协议叫:open protocol 开放协议,是atlas制定的,其他拧紧服务商大都有支持,只是其中细节不尽相同

博世拧紧枪在硬件上支持模块化组装,需要一根串口线连接博世控制器,然后安装BS350软件,用来配置拧紧枪,可以配置拧紧枪的拧紧程序,job作业、plc点位分配表
要使用开放协议需要在软件里启动开放协议

原来的博世拧紧枪控制使用的是plc直接控制,数据使用ftp上传至mom的服务器
现在改为全部使用开放协议来控枪和数据的上传

关于开放协议 open protocol

  1. tcp连接,一般使用4545端口
  2. 使用一串ASCCI格式的特定规则的字符来进行通讯交互
  3. 通信的命令叫MID,格式分为,头部,数据内容,固定结尾,具体参考开放协议标准文档
  4. tcp连接之后,需要通过指定的MID进行启动通信连接,否则直接发送其他命令是无效的
  5. 一般建议每个10秒进行心跳保活,通过指定MID 9999

博世拧紧枪的作业方式

  1. 可以使用拧紧程序来进行作业,这种方式需要上位程序通过命令来控制工具的使能,大概流程是:先下发激活工具的命令,然后下发拧紧程序号,在作业完成之后,需要主动下发禁用工具的命令,以此来完成一个作业的闭环。
  2. 使用job作业,这种方式上位程序只需要下发一个job号即可,打几颗螺丝由job里设置(最大ok数量),job开始之后,自动激活工具,作业完成时自动禁用工具。

我们采用job作业的方式:交互流程如下图:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的C#实现拧紧枪OpenProtocol开放式协议订阅的示例代码: ```csharp using System; using System.IO; using System.Net; using System.Net.Sockets; using System.Threading; namespace OpenProtocolSubscriber { public class OpenProtocolClient { private TcpClient client; private NetworkStream stream; private StreamReader reader; private StreamWriter writer; private Thread thread; private bool running; public event EventHandler<string> MessageReceived; public OpenProtocolClient(string ipAddress, int port) { client = new TcpClient(ipAddress, port); stream = client.GetStream(); reader = new StreamReader(stream); writer = new StreamWriter(stream); } public void Connect() { running = true; thread = new Thread(new ThreadStart(Receive)); thread.Start(); } public void Disconnect() { running = false; thread.Join(); client.Close(); } public void Subscribe(int messageId) { writer.WriteLine($"0015SUB_{messageId}"); writer.Flush(); } public void Unsubscribe(int messageId) { writer.WriteLine($"0015UNSUB_{messageId}"); writer.Flush(); } public void Receive() { while (running) { try { string message = reader.ReadLine(); MessageReceived?.Invoke(this, message); } catch (Exception ex) { Console.WriteLine(ex.Message); running = false; } } } } } ``` 该代码中OpenProtocolClient类实现了OpenProtocol开放式协议的订阅和消息接收功能,通过Subscribe方法可以订阅指定的消息ID,通过MessageReceived事件可以接收到服务器推送的消息。需要注意的是,该代码仅为示例代码,具体实现过程可能需要根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值