X4 Help Center
7.5 7.4 German English
Auto Light Dark
Auto Light Dark
7.5 7.4 German English

IEC 61850 Client

This adapter connects to an MMS server and reads the device and node information.

The connector thus provides a basic interface for the internationally established communication standard IEC 61850 for the automation of switchgears. It acts as a client and can receive messages as classic client-server communication.

Properties

Operation

Defines the operation executed by the adapter

Possible values:

  • RequestServerNodes: Search for certain devices and/or nodes and read the values

  • RequestServerModel: Query the device and node directory for the MMS server and output it as XML

Parameters

Adapter

Main adapter class (do not change!)

Possible values: de.softproject.integration.adapter.iec.IEC61850 : Main class (default)

address

The MMS server's IP address or host name

Possible values: Any valid string (e. g. 192.168.1.1)

port

The MMS server's port number

Possible values: Any integer

authenticationParameter

Optional login parameter to log onto the MMS server

responseTimeout

Time limit for the server request in milliseconds

Possible values:

  • Any integer

  • 0: No time limit

  • 20000: Cancel server request after 20 seconds

messageFragmentTimeout

Time limit between two incoming data packages in milliseconds

Possible values:

  • Any integer

  • 0: No time limit

  • 20000: Cancel connection after 20 seconds

maxTPDU

Sets the maximum TPDU (Transfer Protocol Data Unit)

Possible values: Any integer

maxMMSPDU

Sets the maximum MMS PDU

Possible values: Any integer between 64 and 65000

Status values

1 (successful)

The request was successful and a result was returned

-1 (failed)

The request failed due to a technical error

Input

Operation RequestServerModel

The operation RequestServerModel doesn't require any input XML document.

Operation RequestServerNodes

The operation RequestServerNodes expects an input XML document, which is structured as follows:

XML
<RootElement>
	<!-- @Fc is optional; @ObjectReference is required -->
	<Node ObjectReference="ied1lDevice1/LPHD1"/>		<!-- Returns all nodes and devices within ied1lDevice1/LPHD1 -->
	<Node ObjectReference="ied1lDevice1/LPHD1" Fc="MX"/><!-- Returns all nodes and devices within ied1lDevice1/LPHD1 with the function code MX  -->
</RootElement>


Output

Operation RequestServerModel

The operation RequestServerModel returns an XML document, which is structured as follows:

XML
<?xml version="1.0" encoding="UTF-8"?>
<ServerModel>
	<LogicalDevice Name="ied1lDevice1" ObjectReference="ied1lDevice1">
		<LogicalNode Name="LLN0" ObjectReference="ied1lDevice1/LLN0">
			<FcDataObject Name="Mod" ObjectReference="ied1lDevice1/LLN0.Mod"
				Fc="ST">
				<BdaQuality Name="q" ObjectReference="ied1lDevice1/LLN0.Mod.q"
					Fc="ST" />
				<BdaTimestamp Name="t" ObjectReference="ied1lDevice1/LLN0.Mod.t"
					Fc="ST" />
			</FcDataObject>
			<FcDataObject Name="Beh" ObjectReference="ied1lDevice1/LLN0.Beh"
				Fc="ST">
				<BdaInt32 Name="stVal" ObjectReference="ied1lDevice1/LLN0.Beh.stVal"
					Fc="ST" />
				<BdaQuality Name="q" ObjectReference="ied1lDevice1/LLN0.Beh.q"
					Fc="ST" />
				<BdaTimestamp Name="t" ObjectReference="ied1lDevice1/LLN0.Beh.t"
					Fc="ST" />
			</FcDataObject>
		</LogicalNode>
	</LogicalDevice>
</ServerModel>

Operation RequestServerNodes

The operation RequestServerNodes returns an XML document, in which the corresponding node of the input XML is extended by the response:

XML
<?xml version="1.0" encoding="UTF-8"?>
<RootElement>
	<Node ObjectReference="ied1lDevice1/LPHD1" Fc="MX">
		<NoResult />
	</Node>
	<Node ObjectReference="ied1lDevice1/LPHD1" Fc="DC">
		<LogicalNode Name="LPHD1" ObjectReference="ied1lDevice1/LPHD1">
			<FcDataObject Name="PhyNam" ObjectReference="ied1lDevice1/LPHD1.PhyNam"
				Fc="DC">
				<BdaVisibleString Name="vendor"
					ObjectReference="ied1lDevice1/LPHD1.PhyNam.vendor" Fc="DC" Value=""
					MaxLength="255" StringValue="" />
			</FcDataObject>
		</LogicalNode>
	</Node>
	<Node ObjectReference="ied1lDevice1/LPHD1">
		<LogicalNode Name="LPHD1" ObjectReference="ied1lDevice1/LPHD1">
			<FcDataObject Name="PhyHealth" ObjectReference="ied1lDevice1/LPHD1.PhyHealth"
				Fc="ST">
				<BdaInt32 Name="stVal" ObjectReference="ied1lDevice1/LPHD1.PhyHealth.stVal"
					Fc="ST" Value="0" />
				<BdaQuality Name="q" ObjectReference="ied1lDevice1/LPHD1.PhyHealth.q"
					Fc="ST" Value="AAA=" Overflow="false" Inconsistent="false"
					Validity="GOOD" OperatorBlocked="false" Inaccurate="false" OldData="false"
					Oscillatory="false" BadReference="false" Failure="false"
					Substituted="false" OutOfRange="false" Test="false" />
				<BdaTimestamp Name="t" ObjectReference="ied1lDevice1/LPHD1.PhyHealth.t"
					Fc="ST" Value="AAAAAAAAAAA=" Date="1970-01-01T00:00:00Z"
					LeapSecondsKnown="false" ClockNotSynchronized="false" TimeAccuracy="0"
					ClockFailure="false" />
			</FcDataObject>
			<FcDataObject Name="Proxy" ObjectReference="ied1lDevice1/LPHD1.Proxy"
				Fc="ST">
				<BdaBoolean Name="stVal" ObjectReference="ied1lDevice1/LPHD1.Proxy.stVal"
					Fc="ST" Value="false" />
				<BdaQuality Name="q" ObjectReference="ied1lDevice1/LPHD1.Proxy.q"
					Fc="ST" Value="AAA=" Overflow="false" Inconsistent="false"
					Validity="GOOD" OperatorBlocked="false" Inaccurate="false" OldData="false"
					Oscillatory="false" BadReference="false" Failure="false"
					Substituted="false" OutOfRange="false" Test="false" />
				<BdaTimestamp Name="t" ObjectReference="ied1lDevice1/LPHD1.Proxy.t"
					Fc="ST" Value="AAAAAAAAAAA=" Date="1970-01-01T00:00:00Z"
					LeapSecondsKnown="false" ClockNotSynchronized="false" TimeAccuracy="0"
					ClockFailure="false" />
			</FcDataObject>
			<FcDataObject Name="PhyNam" ObjectReference="ied1lDevice1/LPHD1.PhyNam"
				Fc="DC">
				<BdaVisibleString Name="vendor"
					ObjectReference="ied1lDevice1/LPHD1.PhyNam.vendor" Fc="DC" Value=""
					MaxLength="255" StringValue="" />
			</FcDataObject>
		</LogicalNode>
	</Node>
</RootElement>