You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
781 lines
30 KiB
Plaintext
781 lines
30 KiB
Plaintext
![]()
8 years ago
|
--
|
||
|
-- Part of the ASN.1-Specification for MMS
|
||
|
-- tries to include only those parts relevant for IEC 61850
|
||
|
-- source: http://www.nettedautomation.com/standardization/iso/tc184/sc5/wg2/mms_syntax/Version1999/mms_syntax.html
|
||
|
|
||
|
ASN1 { iso standard 9506 part(2) mms-general-module-version(2) } DEFINITIONS ::= BEGIN
|
||
|
|
||
|
MMSpdu ::= CHOICE {
|
||
|
confirmed-RequestPDU [0] IMPLICIT Confirmed-RequestPDU,
|
||
|
confirmed-ResponsePDU [1] IMPLICIT Confirmed-ResponsePDU,
|
||
|
confirmed-ErrorPDU [2] IMPLICIT Confirmed-ErrorPDU,
|
||
|
unconfirmed-PDU [3] IMPLICIT Unconfirmed-PDU,
|
||
|
rejectPDU [4] IMPLICIT RejectPDU,
|
||
|
initiate-RequestPDU [8] IMPLICIT Initiate-RequestPDU,
|
||
|
initiate-ResponsePDU [9] IMPLICIT Initiate-ResponsePDU,
|
||
|
initiate-ErrorPDU [10] IMPLICIT Initiate-ErrorPDU,
|
||
|
conclude-RequestPDU [11] IMPLICIT Conclude-RequestPDU
|
||
|
}
|
||
|
|
||
|
Confirmed-RequestPDU ::= SEQUENCE {
|
||
|
invokeID Unsigned32,
|
||
|
service ConfirmedServiceRequest
|
||
|
}
|
||
|
|
||
|
ConfirmedServiceRequest ::= CHOICE {
|
||
|
getNameList [1] IMPLICIT GetNameList-Request,
|
||
|
read [4] IMPLICIT Read-Request,
|
||
|
write [5] IMPLICIT Write-Request,
|
||
|
getVariableAccessAttributes [6] GetVariableAccessAttributes-Request,
|
||
|
defineNamedVariableList [11] IMPLICIT DefineNamedVariableList-Request,
|
||
|
getNamedVariableListAttributes [12] GetNamedVariableListAttributes-Request,
|
||
![]()
8 years ago
|
deleteNamedVariableList [13] IMPLICIT DeleteNamedVariableList-Request,
|
||
![]()
8 years ago
|
fileOpen [72] IMPLICIT FileOpen-Request,
|
||
|
fileRead [73] IMPLICIT FileRead-Request,
|
||
|
fileClose [74] IMPLICIT FileClose-Request,
|
||
|
fileDelete [76] IMPLICIT FileDelete-Request,
|
||
![]()
8 years ago
|
fileDirectory [77] IMPLICIT FileDirectory-Request
|
||
![]()
8 years ago
|
}
|
||
|
|
||
|
Unconfirmed-PDU ::= SEQUENCE {
|
||
|
service UnconfirmedService
|
||
|
}
|
||
|
|
||
|
UnconfirmedService ::= CHOICE {
|
||
|
informationReport [0] IMPLICIT InformationReport
|
||
|
}
|
||
|
|
||
|
Confirmed-ResponsePDU ::= SEQUENCE {
|
||
|
invokeID Unsigned32,
|
||
|
service ConfirmedServiceResponse
|
||
|
}
|
||
|
|
||
|
ConfirmedServiceResponse ::= CHOICE {
|
||
|
getNameList [1] IMPLICIT GetNameList-Response,
|
||
|
read [4] IMPLICIT Read-Response,
|
||
|
write [5] IMPLICIT Write-Response,
|
||
|
getVariableAccessAttributes [6] IMPLICIT GetVariableAccessAttributes-Response,
|
||
|
defineNamedVariableList [11] IMPLICIT DefineNamedVariableList-Response,
|
||
|
getNamedVariableListAttributes [12] IMPLICIT GetNamedVariableListAttributes-Response,
|
||
![]()
8 years ago
|
deleteNamedVariableList [13] IMPLICIT DeleteNamedVariableList-Response,
|
||
![]()
8 years ago
|
fileOpen [72] IMPLICIT FileOpen-Response,
|
||
|
fileRead [73] IMPLICIT FileRead-Response,
|
||
|
fileClose [74] IMPLICIT FileClose-Response,
|
||
|
fileDelete [76] IMPLICIT FileDelete-Response,
|
||
![]()
8 years ago
|
fileDirectory [77] IMPLICIT FileDirectory-Response
|
||
![]()
8 years ago
|
}
|
||
|
|
||
|
|
||
|
Confirmed-ErrorPDU ::= SEQUENCE {
|
||
|
invokeID [0] IMPLICIT Unsigned32,
|
||
|
modifierPosition [1] IMPLICIT Unsigned32 OPTIONAL,
|
||
|
serviceError [2] IMPLICIT ServiceError
|
||
|
}
|
||
|
|
||
|
|
||
|
ServiceError ::= SEQUENCE {
|
||
|
errorClass [0] CHOICE {
|
||
|
vmd_state [0] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- vmd-state-conflict (1),
|
||
|
-- vmd-operational-problem (2),
|
||
|
-- domain-transfer-problem (3),
|
||
|
-- state-machine-id-invalid (4)
|
||
|
-- },
|
||
|
application_reference [1] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- aplication-unreachable (1),
|
||
|
-- connection-lost (2),
|
||
|
-- application-reference-invalid (3),
|
||
|
-- context-unsupported (4)
|
||
|
-- },
|
||
|
definition [2] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- object-undefined (1),
|
||
|
-- invalid-address (2),
|
||
|
-- type-unsupported (3),
|
||
|
-- type-inconsistent (4),
|
||
|
-- object-exists (5),
|
||
|
-- object-attribute-inconsistent (6)
|
||
|
-- },
|
||
|
resource [3] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- memory-unavailable (1),
|
||
|
-- processor-resource-unavailable (2),
|
||
|
-- mass-storage-unavailable (3),
|
||
|
-- capability-unavailable (4),
|
||
|
-- capability-unknown (5)
|
||
|
-- },
|
||
|
service [4] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- primitives-out-of-sequence (1),
|
||
|
-- object-state-conflict (2),
|
||
|
-- pdu-size (3),
|
||
|
-- continuation-invalid (4),
|
||
|
-- object-constraint-conflict (5)
|
||
|
-- },
|
||
|
service_preempt [5] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- timeout (1),
|
||
|
-- deadlock (2),
|
||
|
-- cancel (3)
|
||
|
-- },
|
||
|
time_resolution [6] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- unsupportable-time-resolution (1)
|
||
|
-- },
|
||
|
access [7] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- object-access-unsupported (1),
|
||
|
-- object-non-existent (2),
|
||
|
-- object-access-denied (3),
|
||
|
-- object-invalidated (4)
|
||
|
-- },
|
||
|
initiate [8] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- version-incompatible (1),
|
||
|
-- max-segment-insufficient (2),
|
||
|
-- max-services-outstanding-calling-insufficient (3),
|
||
|
-- max-services-outstanding-called-insufficient (4),
|
||
|
-- service-CBB-insufficient (5),
|
||
|
-- parameter-CBB-insufficient (6),
|
||
|
-- nesting-level-insufficient (7)
|
||
|
-- },
|
||
|
conclude [9] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- further-communication-required (1)
|
||
|
-- },
|
||
|
cancel [10] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- invoke-id-unknown (1),
|
||
|
-- cancel-not-possible (2)
|
||
|
-- },
|
||
|
file [11] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- filename-ambiguous (1),
|
||
|
-- file-busy (2),
|
||
|
-- filename-syntax_Error (3),
|
||
|
-- content-type-invalid (4),
|
||
|
-- position-invalid (5),
|
||
|
-- file-acces-denied (6),
|
||
|
-- file-non-existent (7),
|
||
|
-- duplicate-filename (8),
|
||
|
-- insufficient-space-in-filestore (9)
|
||
|
-- },
|
||
|
others [12] IMPLICIT INTEGER
|
||
|
},
|
||
|
additionalCode [1] IMPLICIT INTEGER OPTIONAL,
|
||
|
additionalDescription [2] IMPLICIT VisibleString OPTIONAL
|
||
|
-- serviceSpecificInformation [3] CHOICE
|
||
|
-- {
|
||
|
-- obtainFile [0] IMPLICIT ObtainFile_Error,
|
||
|
-- start [1] IMPLICIT Start_Error,
|
||
|
-- stop [2] IMPLICIT Stop_Error,
|
||
|
-- resume [3] IMPLICIT Resume_Error,
|
||
|
-- reset [4] IMPLICIT Reset_Error,
|
||
|
-- deleteVariableAccess [5] IMPLICIT DeleteVariableAccess_Error,
|
||
|
-- deleteNamedVariableList [6] IMPLICIT DeleteNamedVariableList_Error,
|
||
|
-- deleteNamedType [7] IMPLICIT DeleteNamedType_Error,
|
||
|
-- defineEventEnrollment_Error [8] DefineEventEnrollment_Error,
|
||
|
-- fileRename [9] IMPLICIT FileRename_Error
|
||
|
-- this one is neither in this ASN nor in the IMPORTS
|
||
|
-- additionalService [10] AdditionalServiceError
|
||
|
-- } OPTIONAL
|
||
|
}
|
||
|
|
||
|
|
||
|
TimeOfDay ::= OCTET STRING (SIZE(4|6))
|
||
|
|
||
|
BasicIdentifier ::= VisibleString ( FROM
|
||
|
("A"|"a"|"B"|"b"|"C"|"c"|"D"|"d"|"E"|"e"|"F"|"f"|
|
||
|
"G"|"g"|"H"|"h"|"I"|"i"|"J"|"j"|"K"|"k"|"L"|"l"|
|
||
|
"M"|"m"|"N"|"n"|"O"|"o"|"P"|"p"|"Q"|"q"|"R"|"r"|
|
||
|
"S"|"s"|"T"|"t"|"U"|"u"|"V"|"v"|"W"|"w"|"X"|"x"|
|
||
|
"Y"|"y"|"Z"|"z"|"$"|"_"|"0"|"1"|"2"|"3"|"4"|"5"|
|
||
|
"6"|"7"|"8"|"9") ) (SIZE(1..32))
|
||
|
|
||
|
|
||
|
Identifier ::= VisibleString
|
||
|
|
||
|
Integer8 ::= INTEGER(-128..127)
|
||
|
Integer16 ::= INTEGER(-32768..32767)
|
||
|
Integer32 ::= INTEGER(-2147483648..2147483647)
|
||
|
|
||
|
Unsigned8 ::= INTEGER(0..255)
|
||
|
Unsigned16 ::= INTEGER(0..65535)
|
||
|
Unsigned32 ::= INTEGER(0..4294967295)
|
||
|
|
||
|
ObjectName ::= CHOICE {
|
||
|
vmd-specific [0] IMPLICIT Identifier,
|
||
|
domain-specific [1] IMPLICIT SEQUENCE {
|
||
|
domainID Identifier,
|
||
|
itemID Identifier
|
||
|
},
|
||
|
aa-specific [2] IMPLICIT Identifier
|
||
|
}
|
||
|
|
||
|
|
||
|
ObjectClass ::= CHOICE {
|
||
|
basicObjectClass [0] IMPLICIT INTEGER
|
||
|
-- {
|
||
|
-- namedVariable (0),
|
||
|
-- scatteredAccess (1),
|
||
|
-- namedVariableList (2),
|
||
|
-- namedType (3),
|
||
|
-- semaphore (4),
|
||
|
-- eventCondition (5),
|
||
|
-- eventAction (6),
|
||
|
-- eventEnrollment (7),
|
||
|
-- journal (8),
|
||
|
-- domain (9),
|
||
|
-- programInvocation (10),
|
||
|
-- operatorStation (11),
|
||
|
-- dataExchange (12), ---- Shall not appear in minor version 1
|
||
|
-- accessControlList (13) ---- Shall not appear in minor version 1 or 2
|
||
|
-- }
|
||
|
}
|
||
|
|
||
|
MMSString ::= VisibleString
|
||
|
|
||
|
|
||
|
Initiate-RequestPDU ::= SEQUENCE {
|
||
|
localDetailCalling [0] IMPLICIT Integer32 OPTIONAL,
|
||
|
proposedMaxServOutstandingCalling [1] IMPLICIT Integer16,
|
||
|
proposedMaxServOutstandingCalled [2] IMPLICIT Integer16,
|
||
|
proposedDataStructureNestingLevel [3] IMPLICIT Integer8 OPTIONAL,
|
||
|
initRequestDetail [4] IMPLICIT SEQUENCE {
|
||
|
proposedVersionNumber [0] IMPLICIT Integer16,
|
||
|
proposedParameterCBB [1] IMPLICIT ParameterSupportOptions,
|
||
|
servicesSupportedCalling [2] IMPLICIT ServiceSupportOptions
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Initiate-ResponsePDU ::= SEQUENCE {
|
||
|
localDetailCalled [0] IMPLICIT Integer32 OPTIONAL,
|
||
|
negotiatedMaxServOutstandingCalling [1] IMPLICIT Integer16,
|
||
|
negotiatedMaxServOutstandingCalled [2] IMPLICIT Integer16,
|
||
|
negotiatedDataStructureNestingLevel [3] IMPLICIT Integer8 OPTIONAL,
|
||
|
initResponseDetail [4] IMPLICIT SEQUENCE {
|
||
|
negotiatedVersionNumber [0] IMPLICIT Integer16,
|
||
|
negotiatedParameterCBB [1] IMPLICIT ParameterSupportOptions,
|
||
|
servicesSupportedCalled [2] IMPLICIT ServiceSupportOptions
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Initiate-ErrorPDU ::= ServiceError
|
||
|
|
||
|
Conclude-RequestPDU ::= NULL
|
||
|
|
||
|
|
||
|
RejectPDU ::= SEQUENCE
|
||
|
{
|
||
|
originalInvokeID [0] IMPLICIT Unsigned32 OPTIONAL,
|
||
|
rejectReason CHOICE
|
||
|
{
|
||
|
confirmed-requestPDU [1] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- unrecognized-service (1),
|
||
|
-- unrecognized-modifier (2),
|
||
|
-- invalid-invokeID (3),
|
||
|
-- invalid-argument (4),
|
||
|
-- invalid-modifier (5),
|
||
|
-- max-serv-outstanding-exceeded (6),
|
||
|
-- max-recursion-exceeded (8),
|
||
|
-- value-out-of-range (9)
|
||
|
-- },
|
||
|
|
||
|
confirmed-responsePDU [2] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- unrecognized-service (1),
|
||
|
-- invalid-invokeID (2),
|
||
|
-- invalid-result (3),
|
||
|
-- max-recursion-exceeded (5),
|
||
|
-- value-out-of-range (6)
|
||
|
-- },
|
||
|
|
||
|
confirmed-errorPDU [3] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- unrecognized-service (1),
|
||
|
-- invalid-invokeID (2),
|
||
|
-- invalid-serviceError (3),
|
||
|
-- value-out-of-range (4)
|
||
|
-- } ,
|
||
|
|
||
|
unconfirmedPDU [4] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- unrecognized-service (1),
|
||
|
-- invalid-argument (2),
|
||
|
-- max-recursion-exceeded (3),
|
||
|
-- value-out-of-range (4)
|
||
|
-- },
|
||
|
|
||
|
pdu-error [5] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- unknown-pdu-type (0),
|
||
|
-- invalid-pdu (1),
|
||
|
-- illegal-acse-mapping (2)
|
||
|
-- },
|
||
|
|
||
|
cancel-requestPDU [6] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- invalid-invokeID (1)
|
||
|
-- },
|
||
|
|
||
|
cancel-responsePDU [7] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- invalid-invokeID (1)
|
||
|
-- },
|
||
|
|
||
|
cancel-errorPDU [8] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- invalid-invokeID (1),
|
||
|
-- invalid-serviceError (2),
|
||
|
-- value-out-of-range (3)
|
||
|
-- },
|
||
|
|
||
|
conclude-requestPDU [9] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- invalid-argument (1)
|
||
|
-- },
|
||
|
|
||
|
conclude-responsePDU [10] IMPLICIT INTEGER,
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- invalid-result (1)
|
||
|
-- },
|
||
|
|
||
|
conclude-errorPDU [11] IMPLICIT INTEGER
|
||
|
-- {
|
||
|
-- other (0),
|
||
|
-- invalid-serviceError (1),
|
||
|
-- value-out-of-range (2)
|
||
|
-- }
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
GetNameList-Request ::= SEQUENCE {
|
||
|
objectClass [0] ObjectClass,
|
||
|
objectScope [1] CHOICE {
|
||
|
vmdSpecific [0] IMPLICIT NULL,
|
||
|
domainSpecific [1] IMPLICIT Identifier,
|
||
|
aaSpecific [2] IMPLICIT NULL
|
||
|
},
|
||
|
continueAfter [2] IMPLICIT Identifier OPTIONAL
|
||
|
}
|
||
|
|
||
|
|
||
|
GetNameList-Response ::= SEQUENCE {
|
||
|
listOfIdentifier [0] IMPLICIT SEQUENCE OF Identifier,
|
||
|
moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE
|
||
|
}
|
||
|
|
||
|
|
||
|
TypeSpecification ::= CHOICE {
|
||
|
-- typeName [0] ObjectName,
|
||
|
typeDescription TypeDescription
|
||
|
}
|
||
|
|
||
|
AlternateAccess ::= SEQUENCE OF CHOICE {
|
||
|
unnamed AlternateAccessSelection
|
||
|
-- named [5] IMPLICIT SEQUENCE {
|
||
|
-- componentName [0] CHOICE {
|
||
|
-- basic BasicIdentifier,
|
||
|
-- extended ExtendedIdentifier
|
||
|
-- },
|
||
|
-- access AlternateAccessSelection
|
||
|
-- }
|
||
|
}
|
||
|
|
||
|
AlternateAccessSelection ::= CHOICE {
|
||
|
|
||
|
selectAlternateAccess [0] IMPLICIT SEQUENCE {
|
||
|
accessSelection CHOICE {
|
||
|
component [0] CHOICE {
|
||
|
basic BasicIdentifier --,
|
||
|
--extended ExtendedIdentifier
|
||
|
}, -- component
|
||
|
index [1] IMPLICIT Unsigned32, -- 1 array element
|
||
|
indexRange [2] IMPLICIT SEQUENCE { -- array elements
|
||
|
lowIndex [0] IMPLICIT Unsigned32,
|
||
|
numberOfElements [1] IMPLICIT Unsigned32
|
||
|
},
|
||
|
allElements [3] IMPLICIT NULL -- all array elements
|
||
|
},
|
||
|
alternateAccess AlternateAccess
|
||
|
},
|
||
|
selectAccess CHOICE {
|
||
|
component [1] CHOICE {
|
||
|
basic BasicIdentifier --,
|
||
|
--extended ExtendedIdentifier
|
||
|
}, -- component
|
||
|
index [2] IMPLICIT Unsigned32, -- 1 array element
|
||
|
indexRange [3] IMPLICIT SEQUENCE { -- array elements
|
||
|
lowIndex [0] IMPLICIT Unsigned32,
|
||
|
numberOfElements [1] IMPLICIT Unsigned32
|
||
|
},
|
||
|
allElements [4] IMPLICIT NULL -- all array elements
|
||
|
}
|
||
|
}
|
||
|
|
||
|
AccessResult ::= CHOICE {
|
||
|
failure [0] IMPLICIT DataAccessError,
|
||
|
success Data
|
||
|
}
|
||
|
|
||
|
|
||
|
Data ::= CHOICE {
|
||
|
-- context tag 0 is reserved for AccessResult
|
||
|
array [1] IMPLICIT SEQUENCE OF Data,
|
||
|
structure [2] IMPLICIT SEQUENCE OF Data,
|
||
|
--boolean [3] IMPLICIT BOOLEAN,
|
||
|
bool [3] IMPLICIT BOOLEAN,
|
||
|
bit-string [4] IMPLICIT BIT STRING,
|
||
|
integer [5] IMPLICIT INTEGER,
|
||
|
unsigned [6] IMPLICIT INTEGER, -- shall not be negative
|
||
|
floating-point [7] IMPLICIT FloatingPoint,
|
||
|
-- [8] is reserved
|
||
|
octet-string [9] IMPLICIT OCTET STRING,
|
||
|
visible-string [10] IMPLICIT VisibleString,
|
||
|
--generalized-time [11] IMPLICIT GeneralizedTime,
|
||
|
binary-time [12] IMPLICIT TimeOfDay,
|
||
|
--bcd [13] IMPLICIT INTEGER, ---- shall not be negative
|
||
|
--booleanArray [14] IMPLICIT BIT STRING,
|
||
|
--objId [15] IMPLICIT OBJECT IDENTIFIER,
|
||
|
--...,
|
||
|
mMSString [16] IMPLICIT MMSString,
|
||
|
utc-time [17] IMPLICIT UtcTime -- added by IEC61850 8.1 G3
|
||
|
}
|
||
|
|
||
|
|
||
|
FloatingPoint ::= OCTET STRING
|
||
|
|
||
|
DataAccessError ::= INTEGER
|
||
|
--{
|
||
|
-- object-invalidated (0),
|
||
|
-- hardware-fault (1),
|
||
|
-- temporarily-unavailable (2),
|
||
|
-- object-access-denied (3),
|
||
|
-- object-undefined (4),
|
||
|
-- invalid-address (5),
|
||
|
-- type-unsupported (6),
|
||
|
-- type-inconsistent (7),
|
||
|
-- object-attribute-inconsistent (8),
|
||
|
-- object-access-unsupported (9),
|
||
|
-- object-non-existent (10),
|
||
|
-- object-value-invalid (11)
|
||
|
--}
|
||
|
|
||
|
|
||
|
VariableAccessSpecification ::= CHOICE {
|
||
|
listOfVariable [0] IMPLICIT VariableDefs,
|
||
|
variableListName [1] ObjectName
|
||
|
}
|
||
|
|
||
|
VariableDefs ::= SEQUENCE OF SEQUENCE {
|
||
|
variableSpecification VariableSpecification,
|
||
|
alternateAccess [5] IMPLICIT AlternateAccess OPTIONAL
|
||
|
}
|
||
|
|
||
|
VariableSpecification ::= CHOICE {
|
||
|
name [0] ObjectName
|
||
|
-- address [1] Address,
|
||
|
-- variableDescription [2] IMPLICIT SEQUENCE {
|
||
|
-- address Address,
|
||
|
-- typeSpecificationTypeSpecification
|
||
|
-- },
|
||
|
|
||
|
-- the following element is present only to support the services
|
||
|
-- defined in annex E
|
||
|
-- scatteredAccessDescription [3] IMPLICIT ScatteredAccessDescription,
|
||
|
-- invalidated [4] IMPLICIT NULL
|
||
|
}
|
||
|
|
||
|
Read-Request ::= SEQUENCE {
|
||
|
specificationWithResult [0] IMPLICIT BOOLEAN DEFAULT FALSE,
|
||
|
variableAccessSpecification [1] VariableAccessSpecification
|
||
|
}
|
||
|
|
||
|
Read-Response ::= SEQUENCE {
|
||
|
variableAccessSpecification [0] VariableAccessSpecification OPTIONAL,
|
||
|
listOfAccessResult [1] IMPLICIT SEQUENCE OF AccessResult
|
||
|
}
|
||
|
|
||
|
Write-Request ::= SEQUENCE {
|
||
|
variableAccessSpecification VariableAccessSpecification,
|
||
|
listOfData [0] IMPLICIT SEQUENCE OF Data
|
||
|
}
|
||
|
|
||
|
Write-Response ::= SEQUENCE OF CHOICE {
|
||
|
failure [0] IMPLICIT DataAccessError,
|
||
|
success [1] IMPLICIT NULL
|
||
|
}
|
||
|
|
||
|
InformationReport ::= SEQUENCE {
|
||
|
variableAccessSpecification VariableAccessSpecification,
|
||
|
listOfAccessResult [0] IMPLICIT SEQUENCE OF AccessResult
|
||
|
}
|
||
|
|
||
|
GetVariableAccessAttributes-Request ::= CHOICE {
|
||
|
name [0] ObjectName
|
||
|
-- address [1] Address
|
||
|
}
|
||
|
|
||
|
GetVariableAccessAttributes-Response ::= SEQUENCE {
|
||
|
mmsDeletable [0] IMPLICIT BOOLEAN,
|
||
|
-- address [1] Address OPTIONAL,
|
||
|
typeDescription [2] TypeDescription
|
||
|
-- accessControlList [3] CHOICE {
|
||
|
-- basic BasicIdentifier,
|
||
|
-- extended ExtendedIdentifier
|
||
|
-- } OPTIONAL,
|
||
|
-- meaning [4] ObjectName OPTIONAL
|
||
|
}
|
||
|
|
||
|
DefineNamedVariableList-Request ::= SEQUENCE {
|
||
|
variableListName ObjectName,
|
||
|
listOfVariable [0] IMPLICIT VariableDefs
|
||
|
}
|
||
|
|
||
|
DefineNamedVariableList-Response ::= NULL
|
||
|
|
||
|
GetNamedVariableListAttributes-Request ::= ObjectName -- VariableListName
|
||
|
|
||
|
GetNamedVariableListAttributes-Response ::= SEQUENCE {
|
||
|
mmsDeletable [0] IMPLICIT BOOLEAN,
|
||
|
listOfVariable [1] IMPLICIT VariableDefs
|
||
|
-- accessControlList [2] CHOICE {
|
||
|
-- basic BasicIdentifier,
|
||
|
-- extended ExtendedIdentifier
|
||
|
-- } OPTIONAL
|
||
|
}
|
||
|
|
||
|
|
||
|
DeleteNamedVariableList-Request ::= SEQUENCE {
|
||
|
scopeOfDelete [0] IMPLICIT INTEGER DEFAULT 0,
|
||
|
-- {
|
||
|
-- specific (0),
|
||
|
-- aa-specific (1),
|
||
|
-- domain (2),
|
||
|
-- vmd (3)
|
||
|
-- } DEFAULT specific,
|
||
|
listOfVariableListName [1] IMPLICIT SEQUENCE OF ObjectName OPTIONAL,
|
||
|
domainName [2] CHOICE {
|
||
|
basic BasicIdentifier --,
|
||
|
--extended ExtendedIdentifier
|
||
|
} OPTIONAL
|
||
|
}
|
||
|
|
||
|
DeleteNamedVariableList-Response ::= SEQUENCE {
|
||
|
numberMatched [0] IMPLICIT Unsigned32,
|
||
|
numberDeleted [1] IMPLICIT Unsigned32
|
||
|
}
|
||
|
|
||
![]()
8 years ago
|
FileOpen-Request ::= SEQUENCE {
|
||
|
fileName [0] IMPLICIT FileName,
|
||
|
initialPosition [1] IMPLICIT Unsigned32
|
||
|
}
|
||
|
|
||
|
FileOpen-Response ::= SEQUENCE {
|
||
|
frsmID [0] IMPLICIT Integer32,
|
||
|
fileAttributes [1] IMPLICIT FileAttributes
|
||
|
}
|
||
|
|
||
|
FileRead-Request ::= Integer32 -- FRSM ID
|
||
|
|
||
|
FileRead-Response ::= SEQUENCE {
|
||
|
fileData [0] IMPLICIT OCTET STRING,
|
||
|
moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE
|
||
|
}
|
||
|
|
||
|
FileClose-Request ::= Integer32 -- FRSM ID
|
||
|
|
||
|
FileClose-Response ::= NULL
|
||
|
|
||
|
FileDelete-Request ::= FileName
|
||
|
|
||
|
FileDelete-Response ::= NULL
|
||
|
|
||
![]()
8 years ago
|
FileDirectory-Request ::= SEQUENCE {
|
||
|
fileSpecification [0] IMPLICIT FileName OPTIONAL,
|
||
|
continueAfter [1] IMPLICIT FileName OPTIONAL
|
||
|
}
|
||
|
|
||
|
FileDirectory-Response ::= SEQUENCE {
|
||
|
listOfDirectoryEntry [0] SEQUENCE OF DirectoryEntry,
|
||
|
moreFollows [1] IMPLICIT BOOLEAN DEFAULT FALSE
|
||
|
}
|
||
|
|
||
|
DirectoryEntry ::= SEQUENCE {
|
||
|
fileName [0] IMPLICIT FileName,
|
||
|
fileAttributes [1] IMPLICIT FileAttributes
|
||
|
}
|
||
|
|
||
|
FileAttributes ::= SEQUENCE {
|
||
|
sizeOfFile [0] IMPLICIT Unsigned32, -- in octets
|
||
|
lastModified [1] IMPLICIT GeneralizedTime OPTIONAL
|
||
|
}
|
||
|
|
||
|
FileName ::= SEQUENCE OF GraphicString
|
||
|
|
||
![]()
8 years ago
|
TypeDescription ::= CHOICE {
|
||
|
array [1] IMPLICIT SEQUENCE {
|
||
|
packed [0] IMPLICIT BOOLEAN DEFAULT FALSE,
|
||
|
numberOfElements [1] IMPLICIT Unsigned32,
|
||
|
elementType [2] TypeSpecification
|
||
|
},
|
||
|
structure [2] IMPLICIT SEQUENCE {
|
||
|
packed [0] IMPLICIT BOOLEAN DEFAULT FALSE,
|
||
|
components [1] IMPLICIT SEQUENCE OF SEQUENCE {
|
||
|
componentName [0] IMPLICIT Identifier OPTIONAL,
|
||
|
componentType [1] TypeSpecification
|
||
|
}
|
||
|
},
|
||
|
|
||
|
-- Simple Size Class
|
||
|
--boolean [3] IMPLICIT NULL,
|
||
|
bool [3] IMPLICIT NULL,
|
||
|
bit-string [4] IMPLICIT Integer32, -- BIT-STRING
|
||
|
integer [5] IMPLICIT Unsigned8, -- INTEGER
|
||
|
unsigned [6] IMPLICIT Unsigned8, -- UNSIGNED
|
||
|
floating-point [7] IMPLICIT SEQUENCE {
|
||
|
format-width Unsigned8, -- number of bits of
|
||
|
-- floating point value
|
||
|
-- including sign, exponent,
|
||
|
-- and fraction
|
||
|
exponent-width Unsigned8 -- size of exponent in bits
|
||
|
},
|
||
|
|
||
|
-- [8] is reserved
|
||
|
octet-string [9] IMPLICIT Integer32, -- OCTET-STRING
|
||
|
visible-string [10] IMPLICIT Integer32, -- VISIBLE-STRING
|
||
|
-- generalized-time [11] IMPLICIT NULL, ---- GENERALIZED-TIME
|
||
|
binary-time [12] IMPLICIT BOOLEAN, -- BINARY-TIME
|
||
|
-- bcd [13] IMPLICIT Unsigned8, ---- BCD
|
||
|
-- objId [15] IMPLICIT NULL,
|
||
|
--...,
|
||
|
mMSString [16] IMPLICIT Integer32, -- MMS String
|
||
|
utc-time [17] IMPLICIT NULL -- from IEC61850 8.1 G.2
|
||
|
}
|
||
|
|
||
|
UtcTime ::= OCTET STRING (SIZE (8))
|
||
|
|
||
|
|
||
|
ParameterSupportOptions ::= BIT STRING
|
||
|
--{
|
||
|
-- str1 (0), str2 (1), vnam (2), valt (3), vadr (4), vsca (5), tpy (6), vlis (7), real (8), cei (10)
|
||
|
--}
|
||
|
|
||
|
ServiceSupportOptions ::= BIT STRING
|
||
|
-- {
|
||
|
-- status (0),
|
||
|
-- getNameList (1),
|
||
|
-- identify (2),
|
||
|
-- rename (3),
|
||
|
-- read (4),
|
||
|
-- write (5),
|
||
|
-- getVariableAccessAttributes (6),
|
||
|
-- defineNamedVariable (7),
|
||
|
-- defineScatteredAccess (8),
|
||
|
-- getScatteredAccessAttributes (9),
|
||
|
-- deleteVariableAccess (10),
|
||
|
-- defineNamedVariableList (11),
|
||
|
-- getNamedVariableListAttributes (12),
|
||
|
-- deleteNamedVariableList (13),
|
||
|
-- defineNamedType (14),
|
||
|
-- getNamedTypeAttributes (15),
|
||
|
-- deleteNamedType (16),
|
||
|
-- input (17),
|
||
|
-- output (18),
|
||
|
-- takeControl (19),
|
||
|
-- relinquishControl (20),
|
||
|
-- defineSemaphore (21),
|
||
|
-- deleteSemaphore (22),
|
||
|
-- reportSemaphoreStatus (23),
|
||
|
-- reportPoolSemaphoreStatus (24),
|
||
|
-- reportSemaphoreEntryStatus (25),
|
||
|
-- initiateDownloadSequence (26),
|
||
|
-- downloadSegment (27),
|
||
|
-- terminateDownloadSequence (28),
|
||
|
-- initiateUploadSequence (29),
|
||
|
-- uploadSegment (30),
|
||
|
-- terminateUploadSequence (31),
|
||
|
-- requestDomainDownload (32),
|
||
|
-- requestDomainUpload (33),
|
||
|
-- loadDomainContent (34),
|
||
|
-- storeDomainContent (35),
|
||
|
-- deleteDomain (36),
|
||
|
-- getDomainAttributes (37),
|
||
|
-- createProgramInvocation (38),
|
||
|
-- deleteProgramInvocation (39),
|
||
|
-- start (40),
|
||
|
-- stop (41),
|
||
|
-- resume (42),
|
||
|
-- reset (43),
|
||
|
-- kill (44),
|
||
|
-- getProgramInvocationAttributes (45),
|
||
|
-- obtainFile (46),
|
||
|
-- defineEventCondition (47),
|
||
|
-- deleteEventCondition (48),
|
||
|
-- getEventConditionAttributes (49),
|
||
|
-- reportEventConditionStatus (50),
|
||
|
-- alterEventConditionMonitoring (51),
|
||
|
-- triggerEvent (52),
|
||
|
-- defineEventAction (53),
|
||
|
-- deleteEventAction (54),
|
||
|
-- getEventActionAttributes (55),
|
||
|
-- reportEventActionStatus (56),
|
||
|
-- defineEventEnrollment (57),
|
||
|
-- deleteEventEnrollment (58),
|
||
|
-- alterEventEnrollment (59),
|
||
|
-- reportEventEnrollmentStatus (60),
|
||
|
-- getEventEnrollmentAttributes (61),
|
||
|
-- acknowledgeEventNotification (62),
|
||
|
-- getAlarmSummary (63),
|
||
|
-- getAlarmEnrollmentSummary (64),
|
||
|
-- readJournal (65),
|
||
|
-- writeJournal (66),
|
||
|
-- initializeJournal (67),
|
||
|
-- reportJournalStatus (68),
|
||
|
-- createJournal (69),
|
||
|
-- deleteJournal (70),
|
||
|
-- getCapabilityList (71),
|
||
|
-- fileOpen (72),
|
||
|
-- fileRead (73),
|
||
|
-- fileClose (74),
|
||
|
-- fileRename (75),
|
||
|
-- fileDelete (76),
|
||
|
-- fileDirectory (77),
|
||
|
-- unsolicitedStatus (78),
|
||
|
-- informationReport (79),
|
||
|
-- eventNotification (80),
|
||
|
-- attachToEventCondition (81),
|
||
|
-- attachToSemaphore (82),
|
||
|
-- conclude (83),
|
||
|
-- cancel (84)
|
||
|
-- }
|
||
|
|
||
|
|
||
|
|
||
|
END
|