2026-03-28 11:53:07
摘要:一、SECS/GEM
1. SECS/GEM通信
Semiconductor Equipment Communication Standard/Generic Equipment Model(半导体通用设备通信标准/通用设备模型)是半导体制造设备之间进行通信的标准协议。它定义了一套标准消息格式和通信规则,以便设备能够有效地与制造执行系统(MES)或工厂自动化系统进行通信和数据交换。
主要用于半导体制造设备,如晶圆加工机、封装机、测试设备等。这些设备需要通过SECS/GEM协议与工厂自动化系统进行数据交换和控制。
在高度自动化的半导体制造厂中,CIM(Computer Integrated Manufacturing【计算机整合制造】) 统一管理各设备的生产流程,并随时监控设备过程的状态,以减少过程失误进而降低成本及提升产品的质量。但随着过程的不同,各设备有着不同特性的差异且各制造商所提供的设备也不尽相同,因此增加CIM自动化管理的困难与复杂程度。软件集成自动化存在的主要问题是在不同的设备供应商之间没有标准的通讯协议。设备供应商不向半导体生产商开放通讯协议及接口软件,这使得半导体生产商不得不建立他们自己的软件“连接”,导致了项目费用的巨大增加。
SECS/GEM是由国际半导体设备与材料协会(SEMI)的会员一起构建的连接性标准。应用于在设备和工厂管理系统间的通讯标准。是半导体的设备接口协议,用于设备到主机的数据通讯。经过引入SECS/GEM,制造可以搜集更多的信息,SECS/GEM使设备和主机中心可以畅通无阻地停止通讯,从而完成智能工厂自动化。
2. 仿真环境
SEComSimulator — 需要.NET Framework 3.5
SECS Emulator 功能上是一样 建议使用上面的
WireShark / TCP调试助手(报文测试)
3. SECS/GEM结构与流程
协议结构
通信方式:RS232(SerialPort)、TCP/IP(Socket—IP地址 Port 进行Connect)
通信流程-HSMS
4. 消息报文主体结构
Message Length (4 Bytes)
Message Header (10 Bytes)
Message Text (0 to ~ 8 Mbytes)……
阅读全文
2026-03-21 23:00:32
摘要:一、三菱PLC协议
1. 三菱PLC设备
PLC以及相关通信模块:FX、Q、R、L、A
通信模块:C24、E71
2. 三菱PLC存储区与访问规则
3. 通信协议
MC协议:
公开
支持Ascii以及二进制两种数据格式
协议体系:串口:1C、2C、3C、4C 以太网:4E、3E、1E
Modbus、MX-Component
请求流程,WireShark监控通信过程,McProtocol库测试使用:仿真环境验证
(1)建立TCP连接 Scoket Connect
(2)执行相关操作 读、写
字节序:
小端 byte[] bytes {低 高 _ _ _ _ } 报文中的字节序小端模式
123 0x00,0x7B bytes[0]=0x7B bytes[1]=0x00
4. 功能操作分类
读
成批读出:字、位 :指定一个地址 D0 指定一个数量 返回相关数据 连续请求数据
字单位的随机读出 :不连续的地址请求 D0 D100 W10 每个地址读一个长度
多块成批读出 :不连续的地址 地址带长度 位按字处理?
写
成批写入:字、位
随机写入:字、位
多块成批写入
5. 成批读出报文
// 发送批量读取请求报文:0401
// 按字从 D05 地址开始请求 3个地址的数据
// D存储区,一个地址就是一个字(两个字节)
// 3*2=6个字节的数据响应返回
// 按位从 M10 地址开始请求5个地址的数据 10 - 0A 00 00
// M存储区,按位进行地址分配(ON/OFF)
// 3个字节 M10 M11 M12 M13 M14
// 0x11 0x00 0x10
//
// *******按位从X123地址请求********
// 起始地址 123 00 01 23 - 0x23 0x01 0x00
//
// 按字从 M10 地址开始 请求20个地址的数据 M10 M11 M12 ..... M29
// 一个字存16个状态 20-》需……
阅读全文
2026-03-14 12:28:34
摘要:一、欧姆龙协议
1. 欧姆龙通信设备
PLC:系列 CS系列、CJ系列、CP系列、NJ/NX系列
微型:CPM1A、CPM2A、CP1H、CP1L
小型:CPM2C、CQM1H、CJ1M
中型:C200H、CJ1、CS1
大型:CV、CS1D
运动控制器:NJ、NX等
2. 欧姆龙PLC存储区
存储区分类
CIO:I/O继电器区、DM:数据区
WR:工作区,内部继电器
HR:保持继电器
AR:是模拟通道
C:计数器 、 T:定时器
访问规则
最小存储单位是Word 2字节
bit、Word、Dword
访问地址: 字
0.0 CIO0.1 CIO0.15 D100 W100 W100.2
支持Modbus协议/OPC
3. FINS串口通信
特点
文档支持
Commands(5-1-1)
Memory Area(5-2-2)
End Codes(5-1-3)
PLC 默认存储 大端
请求
响应
报文格式
static void FINS_Serial_Test()
{
SerialPort serialPort = new SerialPort(COM1);
serialPort.Open();
string unit_num = 23;
ushort byte_addr = 100;
byte bit_addr = 0;
ushort count = 5;
string cmd = $@{unit_num}FA000000000010182 +
${byte_addr.ToString(X4)}{bit_addr.ToString(X2)}{count.ToString(X4)};
// 计算 FCS 校验
var fcs = FCS(cmd);
cmd += fcs;
// * \r
cmd += *\r;
byte[] req = Encoding.ASCII.GetBytes(cmd);
serialPort.Write(req, 0, req.Length);
byte[] resp = new byte[serialPort.BytesToRead……
阅读全文
2026-03-08 19:23:54
摘要:一、西门子S7协议
1. 西门子PLC设备
PLC:系列 LOGO、200、200Smart、300、400、1200、1500
2. 西门子PLC存储区
存储区分类
I:输入、Q:输出、AI:模拟量输入、V/DB:变量存储区 Modbus 线圈状态Q 输入线圈I 输入寄存器AI 保持型寄存V
AQ:模拟量输出、M:位存储区、T:定时器存储区、C:计数器存储区、HC:高速计数器、AC:累加器、SM:特殊存储器、L:局部存储区、S:顺序控制继电器 S7
访问规则
类型:bit、Byte、Word、Dword 对应数组
访问地址:最小存储是字节
I0.0 Q1.3 MB10 MW10 M10.0 VW100 V100.1 DB1.DBX100.5 位地址最大:7
3. 通信协议
Modbus协议/OPC
功能有限 NModbus4
S7
私有协议,非公开
功能强大,大部分功能都能完成
通信模式:主从(客/服,单边通信)、伙伴(双边通信,PLC-PLC)
请求流程,可以使用 Wireshark 监控通信过程,S7.NET库测试使用/sharp7
建立TCP连接 Socket.Connect
发送访问请求 COTP
交换通信信息 Setup Communication
执行相关操作 ….
4. S7COMM-COTP报文
COTP报文
第一次交互
请求与响应
byte[] bytes = new byte[] {
// TPKT
0x03,
0x00,
0x00,0x16,
// COTP
0x11,
0xe0, // 表示连接请求
0x00,0x00,
0x00,0x01,
0x00,
// 0xc0
0xc0,
0x01,
0x0a,// 2的10次方 1024
// 0xc1 通信源对应的相关配置 PC
0xc1,
0x02,
0x10, // S7双边模式 也可以选择01- PG 02 OP
0x00, // 不需要设置机架和插槽
// 0xc2
0xc2,
……
阅读全文
2026-03-07 19:08:21
摘要:一、Modbus协议
**1. Modbus通信方式与分类 **
串口 RS485(一主多从),不同的报文格式:
ModbusAscii(ASCII字符方式进行发送)
ModbusRTU(Remote Terminal Unit)
以太网(TCP点对点),报文格式一样。RTU over TCP 以TCP的方式发送RTU的报文
ModbusTCP
ModbusUDP
其他连接方式:byte[] 协议
2. Modbus协议下的数据存储
数据存储中的位bit (bool)、字节byte(8个位)、字Word(2个字节,16位)、双字DWord(2个字,4个字节,32位),C#中的数据显示:数据类型、显示格式
内存分区与功能:硬盘分区、功能码
存储区
对象类型
访问类型(针对程序)
存储区标识
说明
可用功能码
线圈状态
单个bit
读写
0XXXX
通过应用程序改变这种类型数据
读01 写 05 15
输入线圈
单个bit
只读
1XXXX
I/O系统提供这种类型数据
读02
输入寄存器
16-位 字
只读
3XXXX
I/O系统提供这种类型数据
读04
保持寄存器
16-位 字 2个字节
读写
4XXXX
通过应用程序改变这种类型数据
读03 写 06 16
Modbus功能码补充说明:
功能码 16进制
名称
功能
01
读线圈状态
读位(读N个bit)---读从机线圈寄存器,位操作
02
读输入离散量
读位(读N个bit)---读离散输入寄存器,位操作
03
读多个保持型寄存器
读整型、字符型、状态字、浮点型(读N个words)---读保持寄存器,字节操作
04
读多个输入寄存器
读整型、状态字、浮点型(读N个words)---读输入寄存器,字节操作
05
写单个线圈
写位(写一个bit)---写线圈寄存器,位操作
06
写单个保持寄存器
写整型、字符型、状态字、浮点型(写一个word)---写保持寄存器,字节操作
07
读取异常状态
取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定,用户逻辑可以将这些线圈定义,以说明从机状态,短报文适宜于迅速读取状态
08
回送诊断校验
把诊断校验报文送从机,以对通信处理进行评鉴
09
编程(只用于4……
阅读全文