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

}
相关推荐
小白勇闯网安圈4 小时前
Django 响应对象、文件上传与类视图
数据库·django·sqlite
努力的小雨4 小时前
同一份 SQL 跑多套环境:Ksql 变量怎么用才安全
数据库
嘻哈∠※5 小时前
0061基于 SpringBoot 的投稿与稿件处理系统设计与实现
java·spring boot·后端
科技绘图5 小时前
快鲸GEO vs 传统AI搜索优化:全链路自动化与高效内容生产在转化闭环上的对比
数据库·人工智能·自动化
ltl5 小时前
数据库作为 LLM 记忆体:语义缓存、RAG 与一致性
数据库
ltl5 小时前
WAL 与崩溃恢复:ARIES 协议怎么跑通
数据库
ltl5 小时前
TEE 数据库:EnclaveDB、Oblivious 原语与机密 SQL
数据库
我是谁??5 小时前
Ubuntu22.04更换清华源
linux·运维·服务器
白狐_7986 小时前
408数据结构第8章:排序②——性质对比秒杀、场景选择与外部排序
java·数据结构·算法
圣殿骑士-Khtangc6 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang