华中科技大学硕士学位论文110kV变电站综合自动化系统中101规约通信的实现姓名:唐先河申请学位级别:硕士专业:电工理论与新技术指导教师:孙开放2011-01-06IIEC60870-5-101IEC60870101VisualStudio2008SQLSever2008C#101101Socket101101ASDUC#SQLServerAPISQLServer101SocketASDUIIAbstractSubstationautomationsystemisclassifiedtofunction-orientedcentralizedautomationsystemandthehierarchicalobject-orienteddistributedautomationsystem.Usedinthedesignofcentralizedsubstationautomationsystem,fromtheback-plane,thetotalcontrolunit(front-end)andtelemetry,remotecontrolunitwithfocusgroupscreeninstalled.Powersystemcommunicationprotocolisthelanguageofpowersysteminformationtransmission,IEC60870-5-101asthestatuteoftheIEC60870protocolsuitebasictelecontroltaskssupportingstandard,hasbecomethemaincommunicationstandardsinschedulinggridsub-stations,knownastheremotecommunicationprotocolofofficialinternationalstandards.101protocoldesignedinthiscommunicationsoftwareisbyVisualStudio2008andSQLSever2008developmentenvironment,theuseofC#language.Firstly,theframeformatofthe101protocolanddatatransmissionisanalyzedindetail,andaccordingtothespecificcommunicationprocess101protocoltocompletethedynamicmodel.Then,thedesignmethodusingSocketprogramming,toachievetheestablishmentofthelinklayer,sothattheback-planecanachievedataasynchronoustransferwiththefront-end.Thenthearticlediscussesindetailtheapplicationlayer101protocol,thecoreoftheStatuteof101ASDUobjectprogrammingandhowtosenddataframepack,unpackthedataframeofC#sourcecodeanalysis.Finally,proceduresandfunctionsofinterfacefurtherintroduction.Software,databasesynchronizationwithSQLServer,providingaclearandpreservationoftheformusedtoquerythedataofsubstationautomationsystem,includingtelemetry,remote,remoteconnections,remotedata,remotecontrolwindowdirectlywiththeimplementationoftheremotecontrolcommandatanypointNo.,timesynchronizationwiththeAPIfunctiontoachievetheaccesstoSQLServerdatabase,andanalysisofthemonitoringwindowdisplaysthemessage,debuggingresultsarecorrect.Keywords:SubstationAutomationSystem;101Protocol;Socket-basedProgramming;ASDUObject_____(“√”)111.1,,,,[2](1)110kV110kV(2)110kV21.11.11./2.3.4.5.MODEM36.1.257IECTC57IEC608705IEC60870-5-11IEC60870-5-22IEC60870-5-33IEC60870-5-44IEC60870-5-45IEC60870-5-101IEC60870-5-102IEC60870-5-103IEC60870-5-104IEC60870-5-1014IEC60870-5IEC61334IEC60870-5-101IEC60870-5-104IEC60870-5-1021.3101VisualStudio2008SQLServer2008101101ASDU101TCP/IP1.4110kVIEC60870VisualStudio2008SQL5Sever2008C#SQL101101ACD112TCP/IPTCP/IPSocketSocket101ASDU622.1VS2008C#2.1.1VS2008VisualStudio2008WebXMLWebServicesVisualStudio2008ASP.NETWebVisualStudio2008VisualStudio2008VisualStudio2008VisualStudio2008(LINQ)VisualStudio2008.NETFramework.NETFramework2.03.03.5VisualStudio2008VisualStudio2008WebWindowsVistaOffice2007SQLServer2008WindowsServer2008VisualStudio2008WebASP.NETAJAXWeb[43]72.1.2C#C#20007.NETC#.NETC#C#C++VisualBasicDelphiJavaC#CC++VBC++C#ECMAISOC#C++PascalJavaVBC#Internet.NETC#C#.NETC#C#.NETC#.NET(CLS)C#C#C#C#82.2SQLSeverSQL2.2.1MicrosoftSQLSeverSQLServerSQLServer2008SQLServer2008SQLServer2008(LINQ)C#VisualBasic.NETSQLLINQ.NETADO.NET(LINQSQL)ADO.NET(LINQ)ADO.NET(LINQ)SQLServer2008LINQSQLLINQSQLServer2008SQLServer2008[29]2.2.2SQLSQLStructureQueryLanguage9AccessFoxproOrcaleSQLServerSQLSQLIBM1981SQLOracleSybaseInformixSQLServerVisualFoxporoPowerBuilderSQLSQLSQLSQLMicrosoftOracleIBMSQLLinuxSQL4DQL(DataQueryLanguage)DML(DataManipulationLanguage)DDL(DataDefinitionLanguage)DCL(DataControlLanguage)1031013.1101IEC60870-5-101DL/T634-2002IEC60870-5-101101110kV1011013.1.1101(1)(2)(3)3.1.2101IEC101ISO-OSI101EPA3.111ITU-TV.24ITU-TV.283.21013.1IEC60870-5-1013.2IEC60870-5-2ASDU123.3IEC60870IEC6087055IEC60870-5-4IEC60870-5-3(7)IEC60870-5-2IEC60870-5-1(2)ITU-T(1)3.33.1.31011013.13.23.168HLL68HCLASDUCS16H3.210HCACS16HASDUASDU3.3ASDU(1)=64H(2)7ASDU=01H(3)06H(4)ASDU13(5)(6)ASDU3.4ASDU3.1.41011013(1)/14(2)/0110(3)//3.21011013.2.1(1)(2)3.3D7D6D5D4D3D2D1D0RESPRMFCBFCV1)RES02)PRM103)FCBFCB15FCB4)FCVFCV=0FCB5)3.43.4FCV0/01/02/3/14056-78/09/010/1111/2112-1314-15(3)3.5D7D6D5D4D3D2D1D0RESPRMACDDFC1)RESPRM2)ACD1ACD=113)DFCDFC=14)3.63.2.2FCB163.6012-56-7891011121314153.2.3SQ=11ACD=1123.2.4111117ACD113.2.522123.2.63.73.7D7D6D5D4D3D2D1D0S/EQURESDCS01QUQU=0DCSDCS01DCS203123.2.7183.5213.51011941014.1TCP/IPIEC101TCP/IPTCP/IPSocketSocketTCP/IPSocketTCP/IPSocketAPISocketTCPIEC101TCP/IPTCP/IPSocket(1)SocketBind()SocketListen()(2)Connect()(3)SocketSocketLinsten()Socket(4)Socketsocket(5)Receive()SocketSend()Socket20Socket()TCPBind()Listen()Accept()Receive()Send()Close()TCPSocket()Connect()Send()Receive()Close()4.1Socket4.2101Socket4.2.1MicrosoftVisualStudioSocketSocketTCP/IP214.2.2101SocketSocketSocket(1)SocketSocket_listener=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);//socketIPV4TCP/IPIPEndPointlocalEP=newIPEndPoint(address,port);//(IP)listener.Bind(localEP);//listener.Listen(100);//Socketsocket.Connect(HostEP)(2)ThreadacceptWorkThread=newThread(AcceptWorkThread);//acceptWorkThread.Start();//privatevoidAcceptWorkThread()//{while(true){Socketsocket=listener.Accept();//Socketso