1IEC61850 DEFINITIONS ::= BEGIN 2 3GOOSEpdu ::= CHOICE { 4 gseMngtPdu [APPLICATION 0] IMPLICIT GSEMngtPdu, 5 goosePdu [APPLICATION 1] IMPLICIT IECGoosePdu, 6 ... 7} 8 9GSEMngtPdu ::= SEQUENCE { 10 stateID [0] IMPLICIT INTEGER, 11-- security [3] ANY OPTIONAL, 12 -- reserved for future definition 13 requestResp RequestResponse 14-- CHOICE { 15-- requests [1] IMPLICIT GSEMngtRequests, 16-- responses [2] IMPLICIT GSEMngtResponses 17-- } 18} 19 20RequestResponse ::= CHOICE { 21 requests [1] IMPLICIT GSEMngtRequests, 22 responses [2] IMPLICIT GSEMngtResponses 23} 24 25GSEMngtRequests ::= CHOICE { 26 getGoReference [1] IMPLICIT GetReferenceRequestPdu, 27 getGOOSEElementNumber [2] IMPLICIT GetElementRequestPdu, 28 getGsReference [3] IMPLICIT GetReferenceRequestPdu, 29 getGSSEDataOffset [4] IMPLICIT GetElementRequestPdu, 30 ... 31} 32 33GSEMngtResponses ::= CHOICE { 34 gseMngtNotSupported [0] IMPLICIT NULL, 35 getGoReference [1] IMPLICIT GSEMngtResponsePdu, 36 getGOOSEElementNumber [2] IMPLICIT GSEMngtResponsePdu, 37 getGsReference [3] IMPLICIT GSEMngtResponsePdu, 38 getGSSEDataOffset [4] IMPLICIT GSEMngtResponsePdu, 39 ... 40} 41 42GetReferenceRequestPdu ::= SEQUENCE { 43 ident [0] IMPLICIT VisibleString, -- size shall support up to 65 octets 44 offset [1] IMPLICIT SEQUENCE OF INTEGER, 45 ... 46} 47 48GetElementRequestPdu ::= SEQUENCE { 49 ident [0] IMPLICIT VisibleString, -- size shall support up to 65 octets 50 references [1] IMPLICIT SEQUENCE OF VisibleString, 51 ... 52} 53 54GSEMngtResponsePdu ::= SEQUENCE { 55 ident [0] IMPLICIT VisibleString, -- echos the value of the request 56 confRev [1] IMPLICIT INTEGER OPTIONAL, 57 posNeg PositiveNegative, 58-- CHOICE { 59-- responsePositive [2] IMPLICIT SEQUENCE { 60-- datSet [0] IMPLICIT VisibleString OPTIONAL, 61-- result [1] IMPLICIT SEQUENCE OF RequestResults 62-- }, 63-- responseNegative [3] IMPLICIT GlbErrors 64-- }, 65 ... 66} 67 68PositiveNegative ::= CHOICE { 69 responsePositive [2] IMPLICIT SEQUENCE { 70 datSet [0] IMPLICIT VisibleString OPTIONAL, 71 result [1] IMPLICIT SEQUENCE OF RequestResults 72 }, 73 responseNegative [3] IMPLICIT GlbErrors 74} 75 76RequestResults::= CHOICE { 77 offset [0] IMPLICIT INTEGER, 78 reference [1] IMPLICIT IA5String, 79 error [2] IMPLICIT ErrorReason 80} 81 82GlbErrors ::= INTEGER { 83 other(0), 84 unknownControlBlock(1), 85 responseTooLarge(2), 86 controlBlockConfigurationError(3) --, 87-- ... 88} 89 90ErrorReason ::= INTEGER { 91 other (0), 92 notFound (1) --, 93-- ... 94} 95 96IECGoosePdu ::= SEQUENCE { 97 gocbRef [0] IMPLICIT VisibleString, 98 timeAllowedtoLive [1] IMPLICIT INTEGER, 99 datSet [2] IMPLICIT VisibleString, 100 goID [3] IMPLICIT VisibleString OPTIONAL, 101 t [4] IMPLICIT UtcTime, 102 stNum [5] IMPLICIT INTEGER, 103 sqNum [6] IMPLICIT INTEGER, 104 simulation [7] IMPLICIT BOOLEAN DEFAULT FALSE, 105 confRev [8] IMPLICIT INTEGER, 106 ndsCom [9] IMPLICIT BOOLEAN DEFAULT FALSE, 107 numDatSetEntries [10] IMPLICIT INTEGER, 108 allData [11] IMPLICIT SEQUENCE OF Data --, 109-- security [12] ANY OPTIONAL 110 -- reserved for digital signature 111} 112 113UtcTime ::= OCTET STRING -- format and size defined in 8.1.3.6. 114 115TimeOfDay ::= OCTET STRING -- (SIZE (4 | 6)) 116FloatingPoint ::= OCTET STRING 117 118 119Data ::= CHOICE 120 { 121 -- context tag 0 is reserved for AccessResult 122 array [1] IMPLICIT SEQUENCE OF Data, 123 structure [2] IMPLICIT SEQUENCE OF Data, 124 boolean [3] IMPLICIT BOOLEAN, 125 bit-string [4] IMPLICIT BIT STRING, 126 integer [5] IMPLICIT INTEGER, 127 unsigned [6] IMPLICIT INTEGER, 128 floating-point [7] IMPLICIT FloatingPoint, 129 real [8] IMPLICIT REAL, 130 octet-string [9] IMPLICIT OCTET STRING, 131 visible-string [10] IMPLICIT VisibleString, 132 binary-time [12] IMPLICIT TimeOfDay, 133 bcd [13] IMPLICIT INTEGER, 134 booleanArray [14] IMPLICIT BIT STRING, 135 objId [15] IMPLICIT OBJECT IDENTIFIER, 136 ..., 137 mMSString [16] IMPLICIT MMSString, 138 utc-time [17] IMPLICIT UtcTime -- added by IEC61850 8.1 G3 139 } 140 141MMSString ::= UTF8String 142 143END 144