6. CONFIGURABILITY PROVISIONS

Software tools and devices conforming to this specification shall satisfy the following requirements for configurability.

6.1 Software tools

Software tools shall be capable of utilizing the management capabilities of devices that are configured according to the functional equivalent of Figure 6.3-1.

EXAMPLE - The hostport value to access the management services in a remote device named m51568 would typically be represented as "m51568:61499" . If a Domain Name System (DNS) server were not available, but the remote device's Internet Protocol (IP) address were known to be 161.153.19.227 , the corresponding hostport value would be "161.153.19.227:61499" .

6.2 Device management services

The device management services to be implemented are provided by the functional equivalent of an instance of the DEV_MGR type shown in Figure 6.2-1. The types and semantics of the inputs and outputs of this type are identical to the correspondingly named inputs and outputs of the MANAGER type defined in subclause 3.3.2 of IEC 61499-1, with the following differences:

  1. The DST input designates the destination of the RQST input as follows:
  2. The RQST input and RESP outputs are encoded according to the Request and Response elements, respectively of the XML DTD given in subclause 6.4. The semantics of these elements shall be as defined in subclause 6.5.
  3. As illustrated in Figure 6.2-1, a REQ+ primitive input always results in a CNF+ primitive output, since the actual result including failure conditions is encoded in the RESP output. Similarly, a REQ- input always results in a CNF- output, since no management operation is attempted in this case. In particular, this means that, in an instance of the DM_KRNL function block type shown in Figure 6.3-2, an IND- primitive from the communication service interface will neither cause a management operation to be performed, nor will a response message be generated.

The sequences of service primitives for device management shall be as shown in Figure 6.2-1. The object denoted manager in these service sequences is an instance of class FBManager described in Annex C.2 of IEC 61499-1. This is the manager of the device or a contained resource depending on the value of the DST input.

6.3 Devices

Management of devices shall be accomplished by the functional equivalent of the configuration shown in Figure 6.3-1 in each device type. The DM_KRNL function block type used in this configuration is shown in Figure 6.3-2.

Suppliers of devices shall provide the equivalent of the value of the MGR_ID input of their instance of the RMT_DEV type shown in Figure 6.3-1, that is, the value of the hostport element defined in IETF RFC 1630 to be used for access to the device management services. This value will typically be "localhost:61499" . This value may be defined as part of a library element file for the device type, or may be configured through some means beyond the scope of this specification, for instance via a local serial port or configuration file.

6.4 FBMGT Document Type Definition (DTD)

The Request and Response elements defined in the FBMGT DTD represent the XML syntax for the RQST input and RESP output, respectively, of the DM_KRNL function block type. Explanations of the elements of this DTD, and (where applicable) references to the formal syntax for their attributes, are given in Table 6.4-2. Allowable combinations of elements, and constraints on their usage, are as given in Table 5.2 of IEC 61499-2 for the various device classes.

An example of the use of these elements is given in Annex B.

NOTE - To provide compact messaging, the prolog and Misc* components used in the XML document production are not used in FBMGT messages since these components are implicit in the management context; thus, only the Request or Response element is transmitted as the management message.
Table 6.4-2 - FBMGT DTD Elements
Element
Attributes
Textual Syntax
(IEC 61499-1, Annex B)
Explanation
Request An XML-encoded management request.
ID A unique identifier for the Request/Response transaction.
Action The requested operation to be performed. See IEC 61499-1, Table 3.3.2-1.
Response An XML-encoded management response.
ID A unique identifier for the Request/Response transaction.
Reason A reason for failure to perform a requested action. If absent, the action has been successfully performed.
See Table 6.5-1.
NameList identifier {',' identifier} A list of FB type or data type names.
FBList fb_instance_reference {',' fb_instance_reference}
FBStatus See IEC 61499-1, Figure 3.3.3-1.
ByteData Implementation-dependent data, typically encoded in hexadecimal format.
VersionInfo The currently loaded or to be loaded version of a FB type or data type.
Organization The organization supplying this library element
Version The version identifier, for example, 1.2.
Date The release date of this version in YYYY-MM-DD format
FB A function block or resource instance as defined in IEC 61499-1.
Name fb_instance_reference The name of the FB or resource instance
Type fb_type_name The FB or resource type name
Connection An event connection, data connection or adapter connection.
Source See NOTE 1.
Destination See NOTE 1.
VarDeclaration A declaration of a variable.
Name input_variable_name | output_variable_name See NOTE 2.
Type data_type_name  
ArraySize See NOTE 3.
InitialValue See NOTE 4.
FBType An FBTypeDeclaration as described in IEC 61499-1-C.1.1.
Name fb_type_name
Event A declaration of an event interface.
Name event_input_name | event_output_name See NOTE 5.
Type event_type
With (input_variable_name {',' input_variable_name})
| (output_variable_name {',' output_variable_name})
See NOTE 6.
AdapterDeclaration A declaration of a plug or socket interface of a function block type.
Name plug_name | socket_name See NOTE 7.
Type adapter_type_name
AdapterType A declaration of an adapter interface type per IEC 61499-1-2.5
Name adapter_type_name
DataType See IEC 61131-3-2.3.
Name data_type_name
ASN1Tag ASN.1 tag per ISO/IEC 8824-5.8.
Class ASN.1 tag class per ISO/IEC 8824-5.8.
Number ASN.1 tag number per ISO/IEC 8824-5.8.
DirectlyDerivedType See IEC 61131-3 Tables 12 and 14, #1
BaseType elementary_type_name
InitialValue constant
EnumeratedType Same as NameList A comma-separated list of enumerated values.
InitialValue identifier If present, shall be one of the list elements.
SubrangeType See IEC 61131-3 Tables 12 and 14, #3
BaseType integer_type_name
InitialValue signed_integer
Subrange See IEC 61131-3 Tables 12 and 14, #3
LowerLimit signed_integer
UpperLimit signed_integer
ArrayType See IEC 61131-3 Tables 12 and 14, #4
BaseType non_generic_type_name
InitialValues array_initialization
StructuredType See IEC 61131-3 Tables 12, #5 and 14, #5 and #6
ArrayVarDeclaration See IEC 61131-3-2.3.3.
Name structure_element_name
Type array_type_name
InitialValues array_initialization
SubrangeVarDeclaration See IEC 61131-3-2.3.3.
Name structure_element_name
Type integer_type_name
InitialValue signed_integer
Parameter A parameter reference or value, or both. See IEC 61499-1, 2nd Edition, Table 8 and Annexes B.5 and B.3.
Reference parameter_reference The parameter reference.
Value constant | enumerated_value | array_initialization | structure_initialization The parameter value.

NOTE 1 - Depending on the context, the syntax of a Source or Destination element should correspond to the syntax of the respective element in one of the productions connection_end_point or accessed_data given in Annex B.5 of IEC 61499-1.

NOTE 2 - The productions input_variable_name and output_variable_name apply when the associated VarDeclaration element is part of an InputVars or OutputVars element, respectively.

NOTE 3- The syntax of this element when present shall be equivalent to the syntactic expression (subrange {',' subrange}) | integer {',' integer} , where the non-terminals subrange and integer are as defined in Annex B of IEC 61131-3. Each term of the second form is equivalent to the subrange 0..n-1 , where n is the value of the corresponding integer syntactic element. If this element is missing, the variable is not an array.

NOTE 4 - The syntax of this element is the syntax for initialization of the corresponding variable type as defined in Annex B.1.4.3 of IEC 61131-3.

NOTE 5 The terms event_input_name and event_output_name apply when the Event element is part of an EventInputs or EventOutputs element, respectively.

NOTE 6 The expressions (input_variable_name {',' input_variable_name}) and (output_variable_name {',' output_variable_name}) apply when the Event element is part of an EventInputs element or an EventOutputs element, respectively.

NOTE 7 - The terms plug_name and socket_name apply when the associated AdapterDeclaration element is part of a Plugs or Sockets element, respectively.

6.5 Request/Response semantics

The following rules shall apply to the use of the Request and Response elements defined in subclause 6.4 in the normal_request service sequence shown in Figure 6.2-1.

  1. The ID attribute of the Response element shall be identical to the ID attribute of the Request element to which the Response element refers.
  2. The absence of a Reason attribute in a Response element shall be used to indicate normal completion of the requested operation.
  3. The use of sub-elements in Request and Response elements, and the meaning of possible Reason attributes of the Response element when the requested operation fails, shall be as defined in Tables 6.5-1 and 6.5-2.
Table 6.5-1 -Request elements and Response Reason codes
Request Reason code
Action Sub-element
Any Any INVALID_DST: The DST input of the DEV_MGR function block does not name a valid destination for the request.
NOT_READY: The manager is not in a state that enables it to process the request.
UNSUPPORTED_CMD: The requested operation is not supported by the manager.
INVALID_OBJECT: Invalid sub-element or attribute syntax not covered by other, more specific Reason codes
INVALID_OPERATION: The specified action is not a valid operation on the specified sub-element.
OVERFLOW: A previous transaction is still pending.
See NOTE 3.
CREATE FB UNSUPPORTED_TYPE: The requested FB type is not known to the manager.
INVALID_STATE or INVALID_OPERATION: The requested FB or resource cannot be created in its containing resource or device.
INVALID_STATE or DUPLICATE_OBJECT: An FB instance already exists with the specified name. See NOTE 5.
Connection NO_SUCH_OBJECT: One or both of the connection end points cannot be found.
INVALID_STATE or DUPLICATE_OBJECT: The specified connection already exists. See NOTE 5.
FBType
AdapterType
DataType
UNSUPPORTED_TYPE: A type does not exist for a variable or adapter sub-element.
INVALID_STATE or DUPLICATE_OBJECT: A library element type already exists with the specified name. See NOTE 5.
DELETE FB NO_SUCH_OBJECT: No FB instance of the specified type can be found with the specified instance name.
INVALID_STATE: The FB instance is not in the STOPPED or KILLED state.
Connection NO_SUCH_OBJECT: One or both of the connection end points cannot be found.
FBType
AdapterType
DataType
UNSUPPORTED_TYPE: A library element of the specified type does not exist with the given type name.
INVALID_STATE: At least one instance of the specified type still exists.
INVALID_OPERATION: The specified type is undeletable.
START
STOP
KILL
RESET
FB NO_SUCH_OBJECT: No FB instance of the specified type can be found with the specified instance name.
INVALID_STATE: The FB instance is not in a state from which the specified operation can be performed.
START
STOP
None INVALID_STATE: The resource is not in a state from which the specified operation can be performed (see NOTE 4).
READ Parameter NO_SUCH_OBJECT: The parameter Reference cannot be found. See NOTE 1.
WRITE Parameter
Source = <Data>
Destination = <Location>
NO_SUCH_OBJECT: The parameter Reference cannot be found.
INVALID_OBJECT:: The Value format is not correct for data to be written to the referenced parameter. See NOTE 2.

Table 6.5-2 - QUERY Request and Response elements

Request sub-element Normal Response sub-element Abnormal Response Reason codes
FB
(Name != "*"
AND
Type != "*")
FBStatus NO_SUCH_OBJECT: No FB instance of the specified type can be found with the specified instance name.
FB
(Name != "*"
AND
Type = "*")
FB NO_SUCH_OBJECT: No FB instance can be found with the specified instance name.
FB
(Name = "*"
AND
Type != "*")
FBList: A list (may be empty) of names of all managed instances of the specified type. UNSUPPORTED_TYPE: The specified FB type is not supported.
FB
(Name = "*"
AND
Type = "*")
FBList: A list (may be empty) of names of all managed FB instances.
Connection
(Source != "*"
AND
Destination = "*")
EndpointList: A list of the destinations of all connections originating at the specified source. INVALID_OBJECT: The source specification is not a hierarchical name.
Connection
(Source = "*"
AND
Destination != "*")
EndpointList: A list of the sources of all connections terminating at the specified destination. INVALID_OBJECT: The destination specification is not a hierarchical name.
Connection
(Source = "*"
AND
Destination = "*")
Connection* : A list (may be empty) of all event and data connections in the addressed device or resource. None.
Connection
(Source != "*"
AND
Destination != "*")
None. NO_SUCH_OBJECT: The specified connection does not exist.
FBType | DataType
| AdapterType

(No sub-elements,
Name <> "*")
FBType | DataType | AdapterType:
The declaration of the library type with the specified name.
UNSUPPORTED_TYPE: The requested library type is not known to the manager.
FBType | DataType
| AdapterType

(No sub-elements,
Name = "*")
NameList: A list of names of all library elements of the specified type. UNSUPPORTED_TYPE: There are no library elements of the specified type.
Last updated: 2014-09-30.
©2011,2014 Holobloc Inc.
Licensed under the Academic Free License version 3.0
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the U.S. or other countries.