IEC61850笔记--开源代码libIEC61850(二)

编程知识 行业动态 更新时间:2024-06-13 00:20:14

IEC61850标准学习和调试,测试的记录文档,主要参考了IEC61850标准文档,《IEC61850应用入门(第二版)》,开源代码libIEC61850及libIEC61850说明文档。

IEC61850标准内容参考IEC61850标准文档,以及IEC61850标准介绍文档《IEC 61850应用入门》。

代码分析

libIEC61850作为一个网络通信协议代码,遵循基本的网络通信协议构架,服务端包括socket,bind,listen,select,recv,send等操作。分别对这些操作在代码中的调用层次进行说明,介绍只涉及mms服务端的网络构架。

socket & bind
main
->IedServer_start
->MmsServer_startListeningThreadless
->IsoServer_startListeningThreadless
->setupIsoServer
->TcpServerSocket_create
->socket & bind


listen
main
->IedServer_start
->MmsServer_startListeningThreadless
->IsoServer_startListeningThreadless
->setupIsoServer
-> ServerSocket_listen
->listen


FD_SET
main
-> IedServer_start
-> singleThreadedServerThread(Thread_create)
-> IedServer_waitReady
-> MmsServer_waitReady

-> IsoServer_waitReady
-> Handleset_addSocket
-> FD_SET


select
main
-> IedServer_start
-> singleThreadedServerThread(Thread_create)
-> IedServer_waitReady
-> MmsServer_waitReady
-> IsoServer_waitReady
-> Handleset_waitReady
->select


recv
main
-> IedServer_start
-> singleThreadedServerThread(Thread_create)
-> MmsServer_handleIncomingMessages(select)
-> IsoServer_processIncomingMessages
-> handleIsoConnectionsThreadless
-> handleClientConnections
-> IsoConnection_handleTcpConnection
-> CotpConnection_readToTpktBuffer
-> Socket_read
->recv


send
main
-> IedServer_start
-> singleThreadedServerThread(Thread_create)
-> MmsServer_handleIncomingMessages(select)
-> IsoServer_processIncomingMessages
-> handleIsoConnectionsThreadless
-> handleClientConnections
-> IsoConnection_handleTcpConnection(recv)
-> CotpConnection_sendConnectionResponseMessage
-> sendBuffer
-> Socket_write
-> send

更多推荐

IEC61850笔记--开源代码libIEC61850(二)

本文发布于:2023-03-29 14:11:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/3545360548b07224389f4e069442ed57.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:开源   代码   笔记

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!