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(二)
发布评论