SECS/GEM如何实现越南现场自定义消息

今天给大家解答一下大家长期的疑问,大家想知道SECS/GEM如何实现自定义消息

2025年越南半导体爆发,大量的国内设备厂商售卖设备过去。

由于生产的半导体产品不一样,现场是出现少量的自定义消息,采用金南瓜SECS/GEM成熟的方案,用户只需少量时间,按照例程抄到自己代码里面,简简单单就实现自定义消息了。

如果开发者用过SECS/GEM,按照格式只需使用到 listElement、listSplit俩条函数就能实现对所有SML解析和提取数据。

C++和C#、Labview等开发语言都是一样的做法

下面就提供一下现场的代码截图

cpp 复制代码
// 处理越南现场S3F103
void OnS3F103Message(IMCHandle *, int64 stream, int64 function, bool send_reply, 
	int64 transactionID, const char* TSN_data, const char* header, void *clientData)
{
	CSecsEquip* pSH = (CSecsEquip*)clientData;
	CLabviewSecsCallback* pHV = (CLabviewSecsCallback* )pSH->GetClientData();
	
	// 记录log
	string pLog = "收到S3F103数据,数据:";
	pLog += TSN_data;
	pHV->SaveLog(pLog);	

	// 处理
	vector<string> listData;
	listSplit(TSN_data, listData);
	if (listData.size() == 4)
	{
		pHV->SaveLog("解析S3F103数据没有问题,带的数据数量3个");	
		
		string pEQPID = listData[1];
		string pSUBEQPID = listData[2];
		string pINFO = listData[3];

		pSUBEQPID = listElement(pSUBEQPID, 1);

		pINFO = listElement(pINFO, 1);
		string pLotID = listElement(pINFO, 1, 1, 1);
		string pJobCommand = listElement(pINFO, 2, 1, 1);


		// 添加远程命令
		S3F103Data pS3F103Data;
		pS3F103Data.pSUBEQPID = pSUBEQPID;
		pS3F103Data.pLotID = pLotID;
		pS3F103Data.pJobCommand = pJobCommand;
	}

}
相关推荐
o盟3 分钟前
maven本地仓库有 总是去私仓中下载
java·maven·intellij-idea
苏生Susheng3 分钟前
【软件实施】Linux系统Shell脚本教程
linux·运维·服务器·chrome·spring boot·学习·实施
devpotato10 分钟前
Java 批量并发请求:从“能并发“到“结果按完成顺序可用“的三种写法与选型
java
曹牧11 分钟前
C#:文本文件读取
服务器·前端·c#
Ruiery14 分钟前
Linux 6.6内核 IOMMU 深度解析(七):DMA API 与 IOMMU 集成 — 从 dma_map_single 到 iommu_map
linux·运维·服务器
九月要晚安25 分钟前
达梦DW与AFC对比
数据库
实战派K8S&DB34 分钟前
如何在内网配置 TiDB 数据库 Agent
数据库·人工智能·分布式·tidb
snow@li38 分钟前
服务器运维:Alibaba Cloud Linux 4 LTS 64位 根目录全景深度解析文章
linux·运维·服务器
实战派K8S&DB40 分钟前
《基于 Dify + FastAPI + PyTiDB 搭建大模型驱动的 TiDB 智能运维 Agent》
运维·数据库·分布式·云原生·tidb·fastapi
SelectDB1 小时前
Apache Doris 5.0 年度版本前瞻(一):构建统一的多模湖仓实时分析平台
大数据·数据库·数据分析