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.mfbz.cn/a/705360.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SAP 价格金额信息控制

1)migo / mb51/mb51/mb59 关于价格和金额的显示,需要权限控制,当权限对象F_BKPF_BUK,检查对应【公司代码】 和 ACTVT有03’的权限,如果没有03的权限,对应行的价格和金额显示为空 关于价格和金额的显示,需要权限控制&a…

Java——重载

一、重载(Overload) 1、重载是什么 方法重载(Method Overloading)是Java中实现多态的一种方式。它允许在同一个类中定义多个同名的方法,只要这些方法的参数列表不同。这些不同的参数列表可以通过不同的参数类型、参数…

【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版12(附带项目源码)

最终效果 系列导航 文章目录 最终效果系列导航前言UI框架先绘制一些常用UI面板,设置为预制件提示弹窗用户列表菜单输入框弹窗 创建各个面板的脚本控制代码控制菜单界面按钮事件 源码结束语 前言 本节主要实现UI框架调用不同的面板界面 UI框架 不懂UI框架的设计思路…

visdom使用时所遇的问题及解决方法

最近在用visdom进行可视化的过程中,虽然可有效的避免主机拒绝访问(该问题的解决方法,请参考深度学习可视化工具visdom使用-CSDN博客)即在终端输入python -m visom.server 1.训练过程中visdom出现ValueError: too many file descr…

Kali之metasploit学习

目标:尝试使用metasploit制作一个windows 后门(exe文件) 一:使用metasploit生成一个exe安装包。 二、将对应的可执行文件放入到目标机 python3 -m http.server 端口号: 模块化启动一个端口。 windows 证书管理工具&…

【UIDynamic-动力学-复习昨天的内容-预习今天的内容 Objective-C语言】

一、复习昨天的内容 1.昨天我们学了,核心动画,核心动画呢,它是作用于CALayer上的,所以,我们先说了CALayer,然后,说了一个核心动画的问题, 关于这个CALayer啊,这个Layer的一些基本的属性, 1)边框:testView.layer.borderWidth = 10;// 边框是border开头儿的 2)边…

VMware安装ubuntu22.4图文教程

一 、下载镜像 下载地址:Index of /ubuntu-releases/22.04.4/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 二、创建虚拟机 打开VMware点击左上角文件,创建新的虚拟机,打开后如下图: 下一步,镜像文件就是…

滚动条样式

/*滚动条*/ //滚动条没有滑块的轨道部分. ::-webkit-scrollbar-track-piece {background: #fff;border-radius: 0px;opacity: 1;border: 1px solid #D9D9D9; } //整个滚动条 ::-webkit-scrollbar {width: 8px;height: 8px;background-color: transparent; } //滚动条上的滚动滑…

java.nio.charset.UnmappableCharacterException

问题 java.lang.IllegalArgumentException: java.nio.charset.UnmappableCharacterException: Input length 1 解释为编码转换有问题 问题错在位置 非汉字存在 打包的时候就会报异常

HTML列表和表格标签

目录 1.列表标签 1.1无序列表 1.2有序列表 1.3定义列表 2. 表格标签、 2.1表格标签的属性 2.2合并单元格 1.列表标签 1.1无序列表 <ul>: [type 属性&#xff1a; disc( 实心圆点 )( 默认 ) 、 circle( 空心圆圈 ) 、 square( 实心方块 )] <li>: 列表中…

C语言| 编程获取数组的长度

用sizeof也可以获得整个数组在内存中所占的字节数。 总的字节数除以一个元素所占的字节数就是数组的总长度。 这样不管数组是增加还是减少元素&#xff0c;sizeof(a) /sizeof(a[0])都能自动求出数组的长度。 字符串中有一个strlen()函数可以求出字符数组中字符串的长度。 #inc…

【python】networkx库计算:特征向量中心度

目录 0.简介 1.前提 1&#xff09;ctrl R 唤出cmd 2&#xff09;安装networkx 3&#xff09;查看networkx版本 2.方法一&#xff1a;通过给出无向图计算特征向量中心度 1&#xff09;给出无向图&#xff0c;添加节点和边 2&#xff09;可以用以下代码将无向图用pyplot…

【每日一练】day3

✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天开心哦&#xff01;✨✨ &#x1f388;&#x1f388;作者主页&#xff1a; &#x1f388;丠丠64-CSDN博客&#x1f388; ✨✨ 帅哥美女们&#xff0c;我们共同加油&#xff01;一起…

透视环世物流:一个AI降本的产业典型样本

在过去的多年时间里&#xff0c;与其说低代码完成的数字原生的普惠&#xff0c;不如说其最强的能力恰是能帮助企业用最低的门槛、最高的效率构建出与自身适配的流程和业务应用&#xff0c;在底层帮助企业构建出一个被极致拆分和分子化的软件开发中台。 而透过环世物流&#x…

Prometheus——部署详解

目录 一、Prometheus Server端安装和相关配置 1.上传安装包并解压 2.配置系统启动文件 3.启动 二、部署Node Exporters监控系统指标 三、监控Mysql配置示例 1.Mysql服务器操作 2.Prometheus服务器操作 四、监控Nginx配置示例 1.在Nginx服务器操作 2.Prometheus服务器…

Nexus搭建maven私有仓库

目录 1.Nexus介绍 2.操作步骤 1.下载Nexus 2.安装和启动nexus 3.使用私服 1.登录管理员 2.私服介绍 1.配置参数认识 2.创建仓库 4.maven使用私库 1.安装maven 2.配置maven 3.在项目中打包部署和发布 5.向私库添加jar包 ​1.添加jar 2.使用jar 1.Nexus介绍 内网…

水泥行业超低排放简介

在当今社会&#xff0c;随着环保意识的不断提高&#xff0c;水泥行业作为重要的工业领域&#xff0c;其超低排放的实施范围及成效日益受到人们的关注。朗观视觉小编将从多个角度探讨水泥行业超低排放的实施范围&#xff0c;分析其背后的意义与影响&#xff0c;展望未来的发展趋…

【Linux】段错误(核心已转储)(core dumped)问题的分析方法

&#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。 &#x1f913; 同时欢迎大家关注其他专栏&#xff0c;我将分享Web前后端开发、人工智能、机器学习、深…

美摄科技匿名化处理解决方案,包含模糊、同色、马赛克、效果遮挡等各种形式

信息安全已成为企业发展中不可忽视的重要一环&#xff0c;随着信息安全法规的日益严格和公众对个人隐私保护意识的不断提高&#xff0c;企业如何在保障业务顺畅进行的同时&#xff0c;满足信息安全和隐私保护的要求&#xff0c;成为了亟待解决的问题。美摄科技凭借其强大的技术…

Stable Diffusion: ControlNet Canny检测

同样在ControlNet中&#xff0c;尝试换为Canny检测 拖放原始姿态图片。 勾选“启用”&#xff0c;“完美像素模式”&#xff0c;“允许预览” 控制类型选择“Canny(硬边缘&#xff09;” 预处理器选“canny”&#xff0c;会对原始姿态图片做Canny边缘检测 模型部分会自动选…