SECS/GEM 底层协议解析

SECS是什么?

SEMI电子半导体联盟,为实现设备与工厂系统的快速对接数据,状态,配方,程序的标准化协议,SECS具有多个版本,本文主要介绍E5协议 HSMS通信方式,设备端的处理流程(Passive模式)。

SECS关键字

  • Host 主机一般指向工厂控制系统
  • EQP 单机设备
  • Active 在Tcp通信中主动连接对方的(可理解为客户端)
  • Passive 被动等待对方连接(可理解为服务器)
  • Device ID 设备标识
  • CEID 事件编号
  • SVID 设备状态编号
  • VID 设备变量ID
  • RPTID 报告编号
  • PPID 配方编号
  • ALCD 报警清除或者报警设置
  • ALID 报警编号
  • ALTX 报警文本

SECS的流和功能

Secs按照功能大类用Stream标识 按照具体功能Fucntion的方式标识

Stream编号功能名称Stream编号功能名称
1设备状态10终端服务
2设备控制与诊断-I11主机文件服务
3原料状态12晶元定位
4原料控制13数据集传输
5意外处理14对象服务
6数据采集15配方管理
7加工程序控制16加工管理
8控制程序输出17设备控制与诊断-II
9系统错误18子系统控制与数据

具体功能可以查看文末链接下。

S1F1,S1F2举例

S1F1 询问对方可以连接。
S1F2 应答对方是否可以连接。
SECS采用这样一问一答的形式,又问必有答。
发送者发送奇数 响应者发送偶数。

SECS 协议与报文

Secs 报文以16进制方式显示
rsp - 响应
req - 请求

Tcp连接是状态转换

  1. Not Connected 未建立连接状态
  2. Not Selected 已建立连接但为接受到selecte.rsp
  3. Selected 可以发送Secs的消息状态

报文格式

Message Length: 报文总长度减去自身占的4个字节(低位在后)
Message Header: 报文头占用10字节
Message Text: 具体消息内容

报文头详解(Message Header)

序号指从左到右字节的顺序

序号标识内容
01Session ID up相当于设备标识高字节,单机设备固定不变
02Session ID low相当于设备标识低字节,单机设备固定不变
03Stream不同消息不同例如S1则是1
04Function不同消息不同例如F1则是1
05PType消息编码格式 HSMS固定0
06SType取值可参考下面表格
07-10System Bytes标识一次通信

连接状态报文

类型报文长度报文头报文内容
select.req00 00 00 0AFF FF 00 00 00 01 System Bytes
select.rsp00 00 00 0AFF FF 00 00 00 02 System Bytes
LinkTest.req00 00 00 0AFF FF 00 00 00 05 System Bytes
LinkTest.rsp00 00 00 0AFF FF 00 00 00 06 System Bytes

System Bytes 标识每一次消息的标签占4字节,响应时可以依据发送者报文头最后4字节,发送可生成不重复的4个字节。
select.req 请求进入selected状态
select.rsp 回应可以进入selected状态
LinkTest.req 发送测试请求 主要是判断是否网络正常
LinkTest.rsp 回应对方请求

 SECS-II 报文格式

上图是数据项头部(Item Header/IH)定义,分为数据项的长度字节和格式字节,数据项头部的长度范围是 2-4个字节,其格式如图 4-11 所示。

格式字节:数据项头部的第1个字节是格式字节,它定义了数据项的格式和表示数据项长度的字节数,第 1、2 位表示长度字节的个数,其取值范围是 1-3,第 3-8 位定义了数据项的格式,即数据项的数据类型,目前 SECS-II 协议一共定义了 16 种数据项类型代码,它们的取值和含义如下面表 4.5 所示。

长度字节:数据项头部的第2~4字节是长度字节,数据项头部的长度由长度字节数决定,长度字节数的取值表示长度字节的个数,长度字节根据的长度字节数取值表示的是 8/16/24 位无符号整数,它表示数据项内容(Item Body/IB)的长度。 

 下面是一个消息格式的解析案例:

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

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

相关文章

Oracle 打开钱包 ORA-28368: cannot auto-create wallet

ORA-28368: cannot auto-create wallet 开启钱包抱错,看下钱包信息 SQL> select * from v$encryption_wallet;WRL_TYPE -------------------- WRL_PARAMETER -------------------------------------------------------------------------------- STATUS ------…

Java开发者也能看懂的大模型应用开发实践!!!

前言 做AI大模型应用的开发其实Java也能写,那么本文就一个Java开发者的立场,构建实现一个最基础的大模型应用系统。 而大模型应用系统其实在目前阶段,可能应用最广的还是RAG领域,因此,本文也是通过在RAG领域的基础架…

PostgreSql中使用to_char函数、date()函数可能会导致索引无法充分利用,导致查询速度无法提升

今天在处理接口请求速度慢的问题,惊奇的发现加了索引,但还是请求很忙。由于card_stop_info表有300w条数据,这时候关联查询非常慢,于是我加上匹配项索引,但是发现依然没有改变速度。。这时候去搜了一下才知道pgsql的to_…

Python提取PowerPoint演示文稿表格保存到文本及Excel文件

PowerPoint作为广泛使用的演示工具,常被用于展示各类数据报告和分析结果,其中,表格以其直观性和结构性成为阐述数据关系的不二之选。然而,在数据分析、文档归档或跨平台分享的场景下,幻灯片中的表格功能难以满足需求&a…

Qt全局快捷键QGlobalHotKey的自研之路

这两天对Qt的快捷键格外感兴趣。 前两天在使用QHotKey的过程中,发现不能定义小键盘键盘码,自己二次修改了该库之后已经可以设置小键盘快捷键了。文章在这里:Qt第三方库QHotKey设置小键盘数字快捷键。 昨天突发奇想:目前所有的快…

# RocketMQ 实战:模拟电商网站场景综合案例(十一)

RocketMQ 实战:模拟电商网站场景综合案例(十一) 一、RocketMQ 实战:模拟电商网站场景综合案例-- web 端项目开发 1、在 shop-order-web 工程模块中,创建 Controller 类 OrderControllre.java /*** shop\shop-order…

DBeaverUE Mac版:数据库管理新纪元,一键掌控所有数据

DBeaverUE for Mac是一款卓越的数据库管理软件,专为Mac用户设计,提供了一套高效、稳定且全面的数据库解决方案。以下是关于这款插件的详细介绍: 1. 强大的数据库支持 DBeaverUE for Mac支持多种数据库系统,包括但不限于MySQL、Po…

电脑自带录屏在哪?电脑录屏,4个详细方法

在现代社会中,越来越多的人需要在电脑上录制视频,比如录制游戏操作、制作教学视频、演示文稿等等。因此,电脑录屏成为了一项非常重要的功能。那么电脑自带录屏在哪?本文将带领大家看看可以使用哪些方法进行录屏。 录屏方法一&…

比人工快100倍!给3D模型用上轻量化,老爷机也能起飞!!!!!!

3D可视化开发,考虑最多的要素,当属模型加载流畅度和应用性。但面对单位的电脑、不能升级硬盘的笔记本等,可能还是无法体会到模型丝滑加载的畅快。 况且3D模型数据、格式等,也在不断发展扩充,昔日手工就能“调教”的3D…

centos7.5安装Node.js 20.5.1后报段错误(吐核)

centos7.5安装Node.js 20.5.1后报段错误 缘起 开发要求安装Node.js 20.5.1以解决dependencyCheck扫描出来的各种安全问题。安装过程 1、 下载安装Node.js 20.5.1 wget https://nodejs.org/download/release/v20.5.1/node-v20.5.1-linux-x64.tar.gztar -xzf node-v20.5.1-li…

linxu-Ubuntu系统上卸载Kubernetes-k8s

如果您想从Ubuntu系统上卸载Kubernetes集群,您需要执行以下步骤: 1.关闭Kubernetes集群: 如果您的集群还在运行,首先您需要使用kubeadm命令来安全地关闭它: sudo kubeadm reset在执行该命令后,系统会提示…

【OceanBase诊断调优】 —— DDL时报磁盘不足问题排查

1. 背景 由于在4.x的部分版本中,我们对于一些ddl操作还存在磁盘空间放大问题,本文主要介绍了这一类问题的排查。 2. 问题排查 2.1 整体排查链路 2.2 问题现象 DDL过程中报磁盘空间不足,需要确认是否符合预期,如果是符合预期&a…

客厅3d模型素材下载哪家好?

客厅是家庭生活中最重要的空间之一,承载着家人的欢聚、交流和休息。而客厅3D模型让家居设计师更好的完成设计布局和设计规划,为用户呈现出一个更加真实的家居空间。那么客厅3d模型素材下载哪家好? 1、建e网的3D模型库不仅数量庞大,而且质量上…

高考后志愿填报信息采集系统制作指南

在高考的硝烟散去之后,每位学生都面临着一个重要的任务——志愿填报。老师们如何高效、准确地收集和整理这些信息,成为了一个棘手的问题。难道我们只能依赖传统的手工登记方式,忍受其繁琐和易错吗? 易查分是一个简单易用的在线工具…

Kaggle -- Multi-Class Prediction of Obesity Risk

使用简单的决策树进行分类,代码如下: import pandas as pd import numpy as np from sklearn.preprocessing import OneHotEncoder from sklearn.model_selection import train_test_splitdf pd.read_csv("train.csv")df[Gender] df[Gender…

Word同行内的文字如何左右分别对齐

先打开标尺(视图-标尺) 开右边,选一个制表位置,比如我选34 切回开始,点段落段落右下角 然后 然后 我修改为35(因为“6月13日”总共3个字符) 在文字中间按下Tab键,效果如下

流程设计的基本步骤

背景 公司为什么要流程,已经有专门章节进行阐述; 什么是流程,已经有专门章节进行专门阐述; 那么接下来这个章节讨论,流程设计的基本步骤,那么谁来设计流程呢,让一个部门的员工来设计一份流程…

【嵌入式DIY实例】-Nokia 5110显示DHT11/DHT22传感器数据

Nokia 5110显示DHT11/DHT22传感器数据 文章目录 Nokia 5110显示DHT11/DHT22传感器数据1、硬件准备2、代码实现2.1 显示DHT11数据2.2 显示DHT22数据本文介绍如何将 ESP8266 NodeMCU 开发板 (ESP-12E) 与 DHT11 数字湿度和温度传感器以及诺基亚 5110 LCD 连接。 NodeMCU 从 DHT11…

某国资集团数据治理落地,点燃高质量发展“数字引擎”

​某国有资产经营控股集团为快速提升集团的内控管理能力和业务经营能力,以数字化促进企业转型的信息化建设势在必行。集团携手亿信华辰开启数据治理项目,在数据方面成功解决“哪里来、怎么盘、怎么管、怎么用”的问题,不断推动企业数字化转型…

Kali Linux 2022.2 发布,包含 10 个新工具和WSL 改进

Offensive Security发布了Kali Linux 2022.2,这是2022年的第二个版本,具有桌面增强功能,有趣的愚人节屏幕保护程序,WSL GUI改进,终端调整,最重要的是,新的工具! Kali Linux是一个Li…