当前位置: 首页 > news >正文

半导体设备通信标准—secsgem v0.3.0版本使用说明文档(2)之GEM(SEMI 30)

文章目录

  • 1、处理器
    • 1.1、事件
  • 2、GEM 合规性
    • 2.1、状态模型
    • 2.2、 设备加工状态
    • 2.3、 文档
    • 2.4、 控制 (作员启动)
    • 2.5、 动态事件报告配置
    • 2.6、 跟踪数据收集
    • 2.7、 报警管理
    • 2.8、 远程控制
    • 2.9、 设备常量
    • 2.10、 工艺配方管理
    • 2.11、 物料移动
    • 2.12、 设备终端服务
    • 2.13、 时钟
    • 2.14、 限制监测
    • 2.15、 堆叠(或:缓冲)

SEMI 30

GEM 对设备的某些行为以及如何利用 SECS 消息来实现这些行为进行了定义。

1、处理器

{py:class}secsgem.gem.handler.GemHandler 继承了 {py:class}secsgem.secs.handler.SecsHandler 的功能(见 {doc}/secs/handler)。

为了区分主机和设备处理过程,有两种专门的 {py:class}secsgem.gem.handler.GemHandler 类型:
{py:class}secsgem.gem.hosthandler.GemHostHandler 和 {py:class}secsgem.gem.equipmenthandler.GemEquipmentHandler
如果您想要实现主机系统,请使用 GemHostHandler,如果想要实现设备系统,请使用 GemEquipmentHandler。

它会自动完成链路的整个设置与拆除工作。
传入的收集事件和终端消息会自动被接受并传播。
收集事件报告的设置也得到了简化。
它具备发送远程命令和处理进程程序的功能。

该处理程序还实现了并维护了一个通信状态,该状态在标准中有所定义。

>>> settings = secsgem.hsms.Settings(address="127.0.0.1", port=5000, connect_mode=secsgem.hsms.HsmsConnectMode.PASSIVE, device_type=secsgem.common.DeviceType.HOST)
>>> client = secsgem.GemHostHandler(settings)
>>>
>>> client.enable()
>>> client.waitfor_communicating()
True
>>> client.get_process_program_list()
['test1', 'test2']
>>> client.request_process_program('test1')
This is process program test1
>>> client.disable()

等待通信状态也可以异步完成

>>> def on_communicating(event, data):
...     print "Communicating"
...
>>> settings = secsgem.hsms.Settings(address="127.0.0.1", port=5000, connect_mode=secsgem.hsms.HsmsConnectMode.PASSIVE, device_type=secsgem.common.DeviceType.HOST)
>>> client = secsgem.GemHostHandler(settings)
>>> client.events.handler_communicating += on_communicating
>>>
>>> client.enable()
Communicating
>>> client.get_process_program_list()
['test1', 'test2']
>>> client.request_process_program('test1')
This is process program test1
>>> client.disable()

也可以使用处理程序发送和接收流/函数:

>>> f = secsgem.secs.functions.SecsS01F01()
>>> client.send_and_waitfor_response(f)
HsmsMessage({'header': HsmsHeader({device_id:0x0000, stream:01, function:02, p_type:0x00, s_type:0x00, system:0x75b78c3e, require_response:False}), 'data': '\x01\x02A\x06EQUIPMA\x06SV n/a'})

1.1、事件

GemHandler 定义了一些新的事件,这些事件可以通过使用 {py:class}secsgem.common.EventHandler 来接收:

事件名称描述
handler_communicatingConnection is setup–连接已设置
collection_event_receivedCollection event was received–收到 Collection 事件
terminal_receivedTerminal message was received–已收到终端消息

For an example on how to use these events see the code fragment in {doc}/secs/handler.

2、GEM 合规性

GEM 合规性声明

基本 GEM 要求实现符合 GEM 标准t
State ModelsYes ✓No
Equipment Processing StatesNoNo
Host-Initiated S1,F13/F14 ScenarioYes ✓Yes ✓
Event NotificationYes ✓Yes ✓
On-Line IdentificationYes ✓Yes ✓
Error MessagesYes ✓Yes ✓
DocumentationYes ✓No
Control (Operator Initiated)Yes ✓No
其他功能实现符合 GEM 标准t
Establish CommunicationsYes ✓Yes ✓
Dynamic Event Report ConfigurationYes ✓No
Variable Data CollectionYes ✓Yes ✓
Trace Data CollectionNoNo
Status Data CollectionYes ✓Yes ✓
Alarm ManagementYes ✓No
Remote ControlYes ✓Yes ✓
Equipment ConstantsYes ✓No
Process RecipeManagementNoNo
Material MovementNoNo
Equipment Terminal ServicesYes ✓Yes ✓
ClockNoNo
Limits MonitoringNoNo
SpoolingNoNo
Control (Host-Initiated)Yes ✓Yes ✓

2.1、状态模型

  • 虽然实现了通信和控制状态模型, 尤其是控制状态模型需要返工。

2.2、 设备加工状态

  • 尚未实现

2.3、 文档

  • 文档尚未完成.

2.4、 控制 (作员启动)

  • 尚未实现 ONLINE LOCAL/REMOTE 的持久性.
  • 最终的 UI(或硬件)需要此 UI 所需的按钮 部分.

2.5、 动态事件报告配置

报告定义、报告与事件的关联以及启用状态的持久化功能尚未实现。

2.6、 跟踪数据收集

  • 尚未实现。

2.7、 报警管理

“启用/禁用状态和报告定义的持久化功能尚未实现。”

2.8、 远程控制

启动和停止远程命令必须实现才能符合 GEM 标准。目前仅提供了虚拟函数。

2.9、 设备常量

  • 设备常量的持久化尚未实现。
  • 将设备状态限制在“安全”范围内尚未实现?
  • 设备常量变更收集事件尚未实现。

2.10、 工艺配方管理

  • 尚未实现。

2.11、 物料移动

  • 尚未实现。

2.12、 设备终端服务

该用户界面(UI)需求无法通过该库来实现。

2.13、 时钟

(注:此内容似乎是一个单独的词汇或

  • 尚未实现。

2.14、 限制监测

  • 尚未实现。

2.15、 堆叠(或:缓冲)

  • 尚未实现。

相关文章:

  • 零基础上手Python数据分析 (15):DataFrame 数据排序与排名 - 快速定位关键数据
  • 【leetcode hot 100 136】只出现一次的数字
  • openlayer的基本使用(区域绘制、点线绘制、手动绘制轨迹)
  • 【LaTeX】Misplaced alignment tab character . ^^I
  • 如何下载免费地图数据?
  • GKI 介绍
  • C++算法(9):数组作为函数参数,注意事项与实践
  • 【C++算法】61.字符串_最长公共前缀
  • 利用 Python 和 AI 技术创作独特的图像艺术作品
  • Flutter 与原生通信
  • SAP系统交货已完成标识
  • Redis(一) - Redis安装教程(Windows + Linux)
  • 数据结构与算法入门 Day 0:程序世界的基石与密码
  • 前端ES6基本语法,以及前端项目模板vue-admin-template和后端进行对接(跨域问题的解决)
  • 如何解除Excel只读状态?4种方法全解析
  • 人工智能——梯度提升决策树算法
  • Mitmproxy 11 发布 —— 完整支持 HTTP/3!
  • 特性(Attribute)
  • 大模型Benchmark评估体系解析
  • 网络威胁情报 | 威胁情报工具
  • 网站做电子公章违法吗/大一网页设计作业成品
  • 企业网络营销推广方案策划范文/seo网络排名优化方法
  • 指纹锁在什么网站做宣传好/网推接单平台有哪些
  • 做网站的博客/高级seo课程
  • 做公司网站需要准备什么/seo外包是什么
  • 毕业设计代做网站jsp/地推是什么