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

}
相关推荐
weelinking2 小时前
【2026】08_Claude与版本控制:Git协作技巧
数据库·人工智能·git·python·数据挖掘·交互·cloudera
黄焖鸡能干四碗6 小时前
固定资产管理系统建设方案和源码(Java源码)
大数据·数据库·人工智能·物联网·区块链
JoneBB7 小时前
ABAP Webservice连接
运维·开发语言·数据库·学习
解决问题no解决代码问题7 小时前
从乱码到脱敏导出:TiDB CSV 导出实战全指南
数据库
budingxiaomoli7 小时前
Spring IoC &DI
java·spring·ioc·di
Spider Cat 蜘蛛猫7 小时前
Springboot SSO系统设计文档
java·spring boot·后端
未若君雅裁7 小时前
MySQL高可用与扩展-主从复制读写分离分库分表
java·数据库·mysql
2401_867623987 小时前
CSS Flex布局中如何设置子元素间距_掌握gap属性的现代用法
jvm·数据库·python
月落归舟7 小时前
一篇文章了解Redis内存淘汰机制与过期Key清理
数据库·redis·mybatis
学习中.........7 小时前
从扰动函数的变化,感受红黑树带来的性能提升
java