金南瓜EAP库使用开发

前言

        最近做了 一个半导体公司的上位机开发。厂商要求要支持EAP通讯。

先了解一下EAP是什么吧?百度资料

EAP( Equipment Automation Program)设备自动化处理,工厂实现设备自动化生产和管理。

1. 机台状态数据收集,包括机台生产状态 空闲、生产、配置、出错等

2. 机台活动数据的收集处理和追踪追溯

3. 批次(Lot)校验、进站、出站、挂起

4. 配方管理,包括ID校验、选择、上传和下载

5. 警报管理,当机台发生故障时,记录出错信息,并通知相关人员进行处理

6. 条形码、RFID、SMART TAG读取器管理

7. 产品和生成材料信息追踪

8. 设备状态监控

 

 使用是SECS/GEM 协议

本文只是为了记录工作经验

1.金南瓜开发包了解

 

1.1 dll依赖库 

  这里有C#和C++的依赖文件,项目引用文件从这里找。引用时项目中只要引入一个文件,但其他文件也要同步在项目的BIN文件中。否则会提示找不到相关文件的 错。

x86 文件里有HostViewApp.exe这个程序是用于连接我们程序测试使用的。这里有一个点要知道 我们程序是服务端,厂商是客户端。我们先提供服务,厂商在网络中检测到我们后会主动建产连接。这个程序就可以做为一个客户端测试工具来连接测试。

2.1 配置工具里有几个文件要配置。

这里是有一个配置工具程序但不好。简单一点的方法是把目录里的文件找到。复制进行就可以了。

 图上的.csv文件就是配置文件了。

简单介绍一下:

Alarm.csv 报警配置

EC.csv 这个文件没有用到

Event.csv 事件配置

EventReport.csv 事件与报告的关系

FormatPP.csv  配方相关

ReportVid.csv 报告与变量的关系,这里配置时要注意顺序。这里变量从左到右的顺序要和程序里从上到下的顺序一行。否刚EAP厂商那里取到的值是错的。

SV.csv 变量配置

这里的数据从哪里来,当然厂商提供的了。

厂商会提供一个表格里面有所有他们要我们机器提供的各种数据和事件等。

通迅-一体针焊接-221210.xlsx

如图:

 上图的 数据说明 Event List 事件,Variables List 变量,Report 报告,Remote Command List 命令,Remote Command Parameter List 这里有配方名称参数名,Alarm List 报警列表

 

 

   

Event List 事件 复制到上面提到的 金南瓜 配置文件 Event.csv,

Variables List 变量 复制到上面提到的 金南瓜 配置文件 SV.csv,

Report 报告 将这里的报告ID和 Variables List 里的关联关系整理到ReportVid.csv文件中,

关系从厂商的文件里找

 金南瓜配置文件下图

 

Remote Command List 命令,

Remote Command Parameter List 这里有配方名称参数名,

Alarm List 报警列表 同上复制到Alarm.csv 报警配置文件中

了解完这些就可以开始工作了。

2.开发。

1.项目引用。

我事先把文件从 【dll依赖库\x64】目录里把所有文件都复制到了SemisecsEap目录中。所以我从这里引用。选择 SecsEquipNET.dll 文件。点确定。如下图

 这一步很重要。把SemisecsEap目录中的所有文件和文件夹都复制到项目的BIN文件下,和项目的DLL文件放在一起。

接下来是写代码了。

我自己对代码整洁是有要求的,所以我喜欢把这一类的代码写在一个类里,这样好维护。

这个类要和项目的UI层界面进行交互,如显示消息,切换配方,变更程序状态等。要控制到按钮相关的UI元素。所以我是把文件放在UI层创建了文件夹和一个类文件来写。如图:

 主要代码也不是我写的,从金南瓜提供的示例代码里复制。

2023.8.31 SDK开发包\例程代码\C#\简易EquipViewAppNet

这个是我的目录。

打开示例项目文件。EquipViewAppNet.sln 可以复制 SecsAppView.cs 这个文件的代码。

如果你喜欢我整理后的代码也可以复制我的代码:我的代码和你的项目不一样可能会报错。我有些方法你没有,这个问题你要自己处理了。

2.测试程序

路径:2023.8.31 SDK开发包\dll依赖库\x86\HostViewApp.exe

 这是打开的界面。输入 我们程序里配置的服务地址、端口、Device ID是设备ID 这些和服务端的配置一样就可以连接了。把启用日志也选择上。

 

 连接成功。

 

1.获取事件列表

 2.事件记录,日志

 

 3.报警

 4.远程命令

 主要用于【配方切换】

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/687416.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C#】WebSoket 演示(使用websocket-sharp库)

Example 3服务器 Example1 客户端 示例3 此源代码片段包含了如何使用WebSocketSharp库来创建一个HTTP服务器,并提供WebSocket服务。 分析整个代码,我们可以归纳出以下关键信息: 导入了一系列重要的命名空间,包括系统配置、加密库、…

MyBatis——使用MyBatis完成CRUD

CRUD&#xff1a;Create Retrieve Update Delete 1、insert <insert id"insertCar">insert into t_car(id,car_num,brand,guide_price,produce_time,car_type)values(null,1003,五菱宏光,30.0,2020-09-18,燃油车); </insert> 这样写显然是写死的&#…

HaDoop Hive

目录 1.VMware 的配置 2.JDK的部署 3.防火墙&#xff0c;SElinux&#xff0c;时间同步设置 4.云平台 5.阿里云 6.UCloud 7.Hadoop理论 7.1 Hadoop理论 7.2 VMware Hadoop实践 7.3集群部署常见问题解决 7.4 云服务器上 Hadoop实践 7.5 HDFS 的 shell 7.6…

TVM简介

TVM FGPA,CPU, GPU 1.什么是TVM&#xff1f; 是一个支持GPU&#xff0c;CPU&#xff0c;FPGA指令生成的开源编译器框架 2.特点 基于图和算符结构来优化指令生成&#xff0c;最大化硬件执行效率。其中使用了很多方法 来改善硬件执行速度&#xff0c;包括算符融合、数据规划…

指代消解类方法梳理

概念&#xff1a; MLM&#xff1a;带遮罩的语言模型 NSP&#xff1a;单句预测&#xff0c;任务包括两个输入序列 SBO&#xff1a;分词边界目标 1.spanBERT&#xff0c;2019 spanBERT是对bert从分词到文本跨度的优化&#xff0c;主要有两方面的优化&#xff1a;&#xff08…

Llama 3 是怎么回事?Arena 数据分析

4 月 18 日,Meta 发布了他们最新的开放权重大型语言模型 Llama 3。从那时起,Llama 3-70B 就在 English Chatbot Arena 排行榜上迅速上升,拥有超过 50,000 次对战。Meta 的这一非凡成就对开源社区来说是个好消息。在这篇博文中,我们旨在深入探讨为什么用户将 Llama 3-70b 与 GPT…

代码随想录——二叉树的层序遍历Ⅱ(Leetcode107)

题目链接 层序遍历&#xff08;队列&#xff09; /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, Tre…

开源直播电商系统(仿抖音电商模式)

当下&#xff0c;传统的图文电商模式正在走向没落&#xff0c;以“抖音”为首的直播电商模式备受用户追捧&#xff0c;它具有直观与互动的特点&#xff0c;拥有传统电商所不具备的优势。而且&#xff0c;当前正是直播电商的红利期&#xff0c;很多主播和品牌商都通过直播电商业…

mac苹果电脑卡顿反应慢如何解决?2024最新免费方法教程

苹果电脑以其稳定的性能、出色的设计和高效的操作系统&#xff0c;赢得了广大用户的喜爱。然而&#xff0c;随着时间的推移&#xff0c;一些用户会发现自己的苹果电脑开始出现卡顿、反应慢等问题。这不仅影响使用体验&#xff0c;还会影响工作效率。那么&#xff0c;面对这些问…

luceda ipkiss教程 67:修改器件端口名

如果要替换线路中的器件&#xff0c;但是要替换的器件端口名称又不一样&#xff0c;那该怎么办呢&#xff1f;去对应改线路中端口的名称太过繁琐&#xff0c;这就需要需要器件的端口名&#xff0c;如&#xff1a; 改y分束器的端口名 改了端口名称&#xff0c;线路中的器件就可…

Redis不同数据类型value存储

一、Strings redis中String的底层没有用c的char来实现&#xff0c;而是使用SDS数据结构( char buf[])。 缺点:浪费空间 优势: 1.c字符串不记录自身的长度&#xff0c;所以获取一个字符串长度的复杂度是O(N),但是SDS记录分配的长度alloc,已使用长度len&#xff0c;获取长度的…

​​​【收录 Hello 算法】第 5 章 栈与队列

第 5 章 栈与队列 Abstract 栈如同叠猫猫&#xff0c;而队列就像猫猫排队。 两者分别代表先入后出和先入先出的逻辑关系。 本章内容 5.1 栈5.2 队列5.3 双向队列5.4 小结