开源

SECS/GEM 的库市面上是有开源软件可选的。例如:

Python:

bparzella/secsgem

kenta-shimizu/pysemisecs

C#:

mkjeff/secs4net

Java:

kenta-shimizu/secs4java8

资料

基础知识了解:

https://blog.csdn.net/jxb_memory/category_9885599.html

视频资料:

https://www.bilibili.com/video/BV1MU4y1v7hT/?spm_id_from=333.999.0.0&vd_source=b670da3ecf6c8ddc9d65e67a875bde18

实践过程

对于新了解的协议还是比较好奇的,特别是Go中没有其实现。(工业软件中Go还是没有什么可以插足的)

闲来无事,对基础协议进行一定量的开发,算是对协议的一个了解过程。其中,解析协议内容使用库wolimst/lib-secs2-hsms-go。另外的操作就是对TCP连接的管理,以及针对协议中提到的几个Timeout时间,体现在协议中。在此基础就能实现大体协议的内容。

ID间的联系:

ID关系图示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DeviceID(SessionID):用于Host识别的设备号。

CEID:event ID 即事件ID

SVID:设备状态变量ID

ECID:设备常量ID

VID :变量ID

RPTID:report ID 即上报ID

PPID:recipe ID 即配方ID(工艺ID)

CHIPID:芯片ID

在实际做库的过程中,可以将各类数据都转化到一个层级进行管理,用各类map都搜集起来,这样数据的读和取都是统一对此层级负责的,也是只能从这层数据中拿到操作的,数据一致性也有所保证。


至于Go中直接调用Python,或其他语言编成库等形式,应该也是可以尝试的。