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;
	}

}
相关推荐
GBASE4 小时前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
像我这样帅的人丶你还6 小时前
Java 后端详解(四):分页与搜索
java·javascript·后端
她的男孩6 小时前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构
tntxia7 小时前
Mybatis的日志输入
java
亦暖筑序8 小时前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式
用户2986985301411 小时前
Java 实现 Word 文档加密与权限解除
java·后端
Yeats_Liao12 小时前
14:Servlet中的页面跳转-Java Web
java·后端·架构
未秃头的程序猿12 小时前
告别"if-else地狱"!Java 21模式匹配,代码优雅了10倍
java·后端·面试
鹤望兰67512 小时前
字节跳动国际支付-后端开发-三面面经
java
Flittly12 小时前
【AgentScope Java新手村系列】(14)人机交互
java·spring boot·spring