关于异步信息回复如何区分是主调模块的哪个状态发出的异步指令所要的数据? #96
-
|
业务模块CSM A 在不同状态里都有异步调用 数据库模块CSM B,如:CSM A 状态A 和 状态B 都向CSM B 异步执行API: 数据查>>Arguments ->CSMB,在CSM A 模块Async Response状态里得到的数据,如何区分是本调用模块CSMA的状态A,还是状态B所要的数据? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 8 replies
-
|
一句话结论:CSM 框架原生不提供“调用来源状态”的自动标识,你需要通过消息参数(Arguments) 手动携带一个标识(如状态名称、枚举或命令ID),在 以下是详细解释、实现方式与最佳实践。 1. 为什么需要手动区分?
2. 推荐方案:通过 Arguments 携带上下文标识这是最直接、最符合 CSM 设计哲学的做法。 步骤:
最小示例(伪代码 / LabVIEW 描述): 3. 进阶方案:使用枚举或命令 ID如果状态数量较多或需要更严格的类型安全,建议使用枚举或命令 ID 代替字符串。
4. 常见坑与最佳实践
5. 如果使用 API 调用(非 CSM 模块内)如果你是在非 CSM 框架(如 DQMH)中通过 总结
最佳实践:始终在
|
Beta Was this translation helpful? Give feedback.
-
|
@longhai1212 抱歉,机器人回复的信息是错误!我会让AI再学习这个回复,保证回复精准。
Async Response/Response 的分支中,可以通过 >> Msg/Rep's CSM >> 和 >> Response Info >> 获取额外的信息,分别是:
另外,如果你确实在学习和使用CSM, 欢迎你加入NEVSTOP-LAB,你可以在Discussion 中留言希望加入,会有机器人发送邀请给你,可以看到一些目前 CSM 的计划和私有的模块仓库,也可以参与一些CSM的开发。 |
Beta Was this translation helpful? Give feedback.
-
|
👋 你好!我暂时无法识别你的意图。 你可以:
感谢使用!
|
Beta Was this translation helpful? Give feedback.





API: 读数据 >> select * from 过程数据 where 高压测试结果 like '合格' order by 时间 desc;-> 数据库
所以所有的信息都有了,感觉逻辑上不缺东西了啊