GOOSE、SV属于链路层报文。能查看到此贴的都是要做或者做过该协议的朋友。在此就不详细描述协议报文的具体内容了。以下为脱离协议栈开发该部分的要点。
1.开发要点
1.配置文件的解析,配置文件可能是txt、ccd、cid、xml。本质还是通过代码对文件系统中的文件进行解析得到订阅和发布信息。github上有很多现有的代码片段可以参考。具体的订阅和发布信息必须采用适合自己平台的数据结构进行描述。
2.报文接收的协议栈接口,一定要防止网络风暴,数据接口必须采用FIFO或者FPGA进行接收。
轻量级操作系统(usos FreeOS rtthread threadx)必须借助lwip来实现,这个时候一定要关闭Mac芯片的硬件过滤功能。千万别用协议栈,协议栈太吃资源。
Linux必须采用raw_socket。vxworks也可采用最底层的方式。
3.解包时,应从接收报文的第一个字节解包。组包时,应从报文最后一部分往前组包,这样方便计算整体报文长度。
4.GOOSE的时标一定要满足要求,2、2、4、8必须满足。
SV的开发要点同上。
本文概述了在开发GOOSE和SV链路层报文处理时的关键点,包括配置文件解析、防止网络风暴的接口设计、数据结构选择以及如何正确处理报文时标,特别提到了不同操作系统平台的实现策略。

2万+

被折叠的 条评论
为什么被折叠?



