This document has only the specific information about the device connection settings and its address syntax.

Refer to the User Guide for more information on the Device Module.


Summary

The SCADA IEC870504 protocol driver implements comunication with IEDs (Intelligent Eletronic Devices), RTUs (Remote Terminal Units) and IO devices compatible with this protocol, acting as a master station.

Communication Driver Information
Driver nameIEC8705104
Assembly NameT.ProtocolDriver.IEC8705104
Assembly Version9.1.3.0
Available for LinuxFalse
Devices supported 

Any IED compatible with IEC-60870-5-104

Manufacturer

N/A (Not Applicable)

ProtocolProprietary over TCP/IP
Protocol options

Counters for sending protocol control messages

Multi-threading

User defined. Five threads per node by default

Max number of nodes

User defined

Communication block sizeMaxium 253 bytes
PC RequirementsEthernet port

Supported Object Data (ASDUs)

The protocol uses the same ASDUs defined for IEC-60870-5-101 as well as the same types of data objects. The major difference is that it is targeted only towards network uses, with TCP/IP as the transport layer instead of serial communication.

  • M_SP_NA: 1 - Single-point information;
  • M_DP_NA: 3 - Double-point information;
  • M_ST_NA: 5 - Step position;
  • M_BO_NA: 7 - Bitstring with 32 bits;
  • M_ME_NA: 9 - Measured value, normalized;
  • M_ME_NB: 11 - Measured value, scaled value;
  • M_ME_NC: 13 - Measured value Float;
  • M_IT_NA: 15 - Integrated totals;
  • C_SC_NA: 45 - Single command;
  • C_DC_NA: 46 - Double command;
  • C_RC_NA: 47 - Regulating step command;
  • C_SE_NA: 48 - Set point command, normalized value;
  • C_SE_NC: 50 - Set point command, 32 bits floating point;
  • C_BO_NA: 51 – Write 32 bit Bitstring.

It also uses all the 56-bit timestamp variants of the ASDUs above. The codes above are used when registering points, but if the slave IED sends variants with date and timestamp, the measures and states received will be placed on the quality and timestamp attributes of the correspondent points.



General Option

The IEC-60870-5-104 protocol is implemented in Master mode in which it communicates with IEDs that implement the slave IEC-870-5-104 protocol. Various parameterizations are available to accommodate different profiles of protocol implementations.

The Master has the following operating sequence:

On start or communication failure

  • Sends “Start of data transmission – STARTDT”;
  • Sends schedule, if sample time different from zero;
  • Does sample readings according to preset sample times (all classes);

On an infinity loop

  • Waits for unsolicited messages containing object data that has changed.
  • For each ”w” (configurable parameter) received messages, or after some time without receiving messages, sends an “acknowledgment” message with the sequence number of the last information message received.
  • Periodically, according to a preset timeout parameter, sends “Test Frames” massages in case no message has been received during this time.
  • On receiving a command request targeted to any remote IED, sends it according to command parameter details;



Channels Configuration

Protocol Options

  • t0 - Timeout of Connection establishment(s) – Maximum acceptable time, in seconds, for a TCP/IP connection attempt to a remote IED. After this time, the driver closes connection and attempts another connection. Values from 1 to 255 are allowed.
  • t1 - Timeout of send or test APDUs(s) – Maximum waiting time, in seconds, for sending a regular APDU or testing APDU after a START DT confirmation is received. Values from 1 to 255 are allowed.
  • t2 - Timeout for ack in case of no data(s) – Maximum waiting time, in seconds, for a pending acknowledgement before sending an acknowledgement for the last received message. A message will be sent with the sequence number of the last one received. Values from 1 to 255 are allowed. The t2 time must be shorter than t1.
  • t3 - Timeout for send test frames(s) Maximum waiting time, in seconds, for the arrival of any information (in case of a TCP-IP connection is already established) before sending a TEST-FR. Values allowed are from 1 to 255.
  • Password for commands To increase the security of sending commands, normally initiated only by a change in the state of a tag, it is possible here to specify a password of up to nine digits. The communication module will check, at the moment the command is received, this password against the current value of the EstimatedValue attribute tag involved in the command. Therefore, in the operation of sending a command through a window, script, etc. this number must be loaded in this attribute. The communication module, after executing the command, changes the value of EstimatedValue to ZERO. This verification does not occur if this option is left as zero.
  • Logging Level – You can choose from this list the logging mode created by the communication module.

Logging Level 
DebugAll messages are registered in the LOG.
InfoOnly Info, Warning and Error messages are registered in the LOG.
WarningOnly Warning and Error messages are registered in the LOG.
ErrorOnly Error messages are registered in the LOG.


The figure below shows the filling of these fields in the channel:

Settings

TCP/IP channels:

  • NodeConnections: Defines the maximum number of parallel requests that could be sent to each node (asynchronous communication).



Nodes Configuration

Each node is a server station (IED). User may set a single station per channel.

TCP/IP Communication

  • IP Address – IED's IP address must be specified.
  • Port – Number of port to be used. The standard defines port 2404 by default. User can use custom port numbers.

Parameters

  • CommonAddress – Application layer address.
  • Date sample time Period of time, in milliseconds, between two consecutive submissions of Date and Time for remote IED synchronization, if necessary. Zero is used to indicate that there is no need for synchronization. Note that the master should not synchronize IEDs synchronized by GPS.
  • General Interrogation (GI) sample time Period of time, in milliseconds, between two consecutive submissions of general interrogation requests to an IED. The IED responds by sending blocks of information, as many as are required to send all points.
  • w – Send ack after received w IFormatAPDUs – Number of information messages received spontaneously before sending an “acknowledgment” with the sequence number of last message received. The allowed values are between 1 and 32767.
  • k – Messages received to send state variable – Maximum allowed number of pending acknowledgements before slave stops sending new messages. It is recommended that "w" be at most two-thirds of the "k" value. Values between 1 and 32767 are allowed.
  • Clock Adjust – Can be set as “True” to adjust the clock on this server computer or “False” to make no adjustment. The module makes the adjustment by changing the machine time to match the one that came as the answer to a synchronization message sent. For this to be effective, the slave IED must answer with a time that comes, for example, from a GPS.
  • IED time bias from GMT  On SCADA, internally, all timestamps are stored with GMT (UTC) dates. IEDs usually send these dates also in GMT and no adjustment is required. The default for this option is zero. If in the current implementation the IEDs send the timestamps in their local time, the difference between this time and GMT time must be specified in this field. For example, in New York, the local time is 4 hours less than GMT. In this case, -4 should be specified in this table.
  • Tag for Comm status  In this field the name of an existing tag in the project can be indicated to show success/failure in communication from a functional point of view. When making requests, the module waits for a maximum of t2 seconds (defined in Protocol Options, above) to receive a response. In case of failure, the system sets the value of this tag to ZERO. In case of success, the system sets the value in this tag to ONE.
  • Test Command with Time tag56 (ms) Period of time in milliseconds between two consecutive submissions of an ASDU Test Command with a CP56 timetag, if necessary. Zero is used to indicate that there is no need for this test. This test facilitates for the server side to detect communication failures, and also serves to remove unsolicited messages received by the master.


The figure below shows the completion of these fields for the main station:


  • Backup Station – The same communications settings adjusted to an IED can be adjusted to a backup workstation (alternative IED) if there is one in the facility.



Points Configuration

General

Points can be input or output points. Input points, i.e. points that are acquired by the protocol, have basically two main parameters: point type and address. Output points are used for remote controls, and have an additional address parameter to specify an output operation. In a given IED, addresses are unique no matter what kind of point.

Point Types

The SCADA master mode implements:

  • Synchronizing remote IEDs through date and time sending;
  • General interrogation request;
  • Receiving unsolicited information frames due to data changes in a remote IED.
  • Time tag 56 bits long;
  • Digital single or double point command;
  • Select Before Operate Command;
  • Point Value Quality analysis (QDS);

The point types were implemented as their respective ASDUs objects defined in the standard (see list below).


M_SP_NA: 1 - Single-point information

Simple binary input point, assuming 0 or 1. The variants with “timetag” M_SP_TA (= 2) and M_SP_TB (= 30) are also considered in this type. In registration, only this type is used.


M_DP_NA: 3 - Double-point information

Double input point which can assume states 0 to 3, and is usually used for signaling states of switches and circuit breakers. The variants with “timetag” M_DP_TA (= 4) and M_DP_TB (= 31) are also considered in this type. In registration, only this type is used.


M_ST_NA: 5 - Step position

Step value, ranging from -64 to +63, mainly used for transformer step position or other position information. The variants with “timetag” M_ST_TA (= 6) and M_ST_TB (= 32) are also considered in this type. In registration, only this type is used.


M_BO_NA: 7 - Bitstring with 32 bits

Status information as a binary string of 32 bits. SCADA makes no manipulation at all. The configuration is treated as a long number. The variants with “timetag” M_BO_TA (= 8) and M_BO_TB (= 33) ) are also considered in this type.


M_ME_NA: 9 - Measured value, normalized

Standard analog measurement using a 16-bit signal. Value between -32768 and +32767. It is calculated as a real number between 0 and 1 before being assigned to the tag in real time. Scaling should be used if it is intended to reproduce the value in engineering units. The variants with “timetag” M_ME_TA (= 10) and M_ME_TD (= 34) ) are also considered in this type. In registration, only this type is used.


M_ME_NB: 11 - Measured value, scaled value

Scalar analog measurement used for transmission of analog quantities. Also a 16-bit value between -32768 and 32767. The variants with “timetag” M_ME_TB (= 12) and M_ME_TE (= 35) are also considered in this type.


M_ME_NC: 13 - Measured value short floating point

Analog measurement in a fractional real number format, used for transmission of analog quantities. The measurements are 32-bit fields in the format IEEE STD 754, which implements floating-point numbers. The variants with “timetag” M_ME_TC (= 14) and M_ME_TF (= 36) are also considered in this type.


M_IT_NA: 15 - Integrated totals

Integer analog measurement signal. Measurements with a 32-bit integer. The variants with “timetag” M_IT_TB (= 16) and M_ME_TC (= 37) are also considered in this type.


C_SC_NA: 45 - Single command

Simple command to point (1 bit). Details of the command can be selected by clicking the button that is on the right side of the field. The number that is the command code resulting from the choice of details can also be entered directly. Each point will be statically parameterized in the POINTS table, in a way that one point must be configured for opening and another for closing one-bit switches.


C_DC_NA: 46 - Double command

Double command (2 bits). Details of the command can be selected by clicking the button on the right side of the field. It is also possible to enter the number that is the command code resulting from the choice of details directly. Each point will be statically parameterized in the POINTS table, in a way that one point must be configured for opening and another for closing two-bit switches.


C_RC_NA: 47 - Regulating step command

Command for setting step. Usually used to send pulses to step switching transformers up and down. Details of the command can be selected by clicking the button on the right side of the field. It is also possible to enter the number that is the command code resulting from the choice of details directly. Each point will be statically parameterized in the POINTS table, in a way that one point must be configured to step up and another one to step down the position of the transformer step.


C_SE_NA: 48 - Set point command, normalized value

Used to send set points of 16 bits normalized to IEDs that support this type of command. The value to be sent is the one indicated by the tag whose address was sent in the command.


C_SE_NC: 50 - Set point command, short floating point value

Used to send set points of 32 bits in an IEEE STD 764 floating-point format to IEDs that support this type of command. The value to be sent is that indicated by the tag whose address was sent in the command.


C_BO_NA: 51- Write Bitstring de 32 bits

Used to write binary state information as a 32-bit string on the IED server. No manipulation whatsoever is made by the driver. The setting is treated as a long unsigned number. The value to be sent is the one contained in the tag whose address was sent in the command, at that moment. The tag type must be “long” or AnalogInt, which is a 32-bit integer.


CMDSIGN - Command Signaling

This is an internal type to SCADA to allow configuration of a match between an output and an input tag, used to signal a command. When choosing the CMDSIGN type in the definition of the Address column, a different menu appears with the fields to define the necessary parameters.


The following figure shows the setting in the POINTS table. The signaling comes in tag A2.DJ.DJ, of type M_DP_NA. The two lines highlighted in yellow show definition of the signaling of commands with the same address (0510) and control code (0 - Open and 1 - Close).

The protocol module uses these two lines to create a static list with all matches on the node. Their information does not create new points in real time.



Nothing else is required for setup. With this list, the module will automatically call the transaction creation and verification methods.

This Command Signaling feature can be used only for C_SC_NA and C_DC_NA digital commands and M_DP_NA and M_SP_NA digital signals.

Point Address

The completion of point addresses is done in the engineering environment, on Edit → Devices → Points.

The Address field to be filled in when registering a point is what the standard calls the Information Object Address. This is a 3-byte number that does not repeat for a given IED (node), the address being assigned by the IED manufacturer.

As shown in the figure below, a click on the row of the address column opens a window to select the type and address of the point. A click on the type opens a window with all types of points supported:


To select Type:

?

Command Parameter

The command parameter is a one-byte code which details what and how the server IED should execute the command. In this implementation, as the user registers a point typed as command output, this field shows up to receive this code. If the users know the code, then they can just type it in the field. Otherwise, they must click the button to the right of field for displaying the window with the actions and details available.

The codes generated by choosing the items in the window parameter setting command are formed by calculating the sum of two parts (A and B), where the first part indicates the action, and the second the details of the transaction, as defined below.


For Single Command C_SC_NA

1

Turn off

(A)

2

Turn on

(A)

4

Short Pulse

(B)

8

Long Pulse

(B)

12

Persistent Signal

(B)


For Double Command C_DC_NA:

1

 Turn off

(A)

2

Turn on

(A)

4

Short Pulse

(B)

8

Long Pulse

(B)

12

Persistent Signal

(B)


For Voltage Regulation C_RC_NA:

1

Down

(A)

2

Up

(A)

4

Short Pulse

(B)

8

Long Pulse

(B)

12

Persistent Signal

(B)


The remaining options are the Select type command - just select the device to be controlled; or the Execute type command - send the proper action command. In case the Select command is chosen, add 128 to the code obtained from the sum of the parts A and B.


Example: code = 9 in a simple command means Long Pulse to Turn on the remote device.


In order to set up the SCADA with output parameters, follow the procedure below:

  1. Click the right border of the address once to show three command parameters in the command tab:
    1. Type
    2. Address
    3. Command parameter

And the command options:

    1. Trip
    2. Close
    3. Execute
    4. Select

      2. Select the desired options and by clicking on the left green arrow, the binary value corresponding to the selection will be loaded in the command parameter:


      3. If detailing the type of signal to be sent is necessary, before clicking the left green arrow, click Details and, as in the figure below, select the type of the output signal:

Access Type

Since this is a communication module in master mode (server), it requires a few specific characteristics of its own in order to parameterize the Access Type field in the Points table:

For reading-type points:

  • M_SP_NA: 1 - Single-point information;
  • M_DP_NA: 3 - Double-point information;
  • M_ST_NA: 5 - Step position;
  • M_BO_NA: 7 - Bitstring with 32 bits;
  • M_ME_NA: 9 - Measured value, normalized;
  • M_ME_NB: 11 - Measured value, scaled value;
  • M_ME_NC: 13 - Measured value Float;
  • M_IT_NA: 15 - Integrated totals.

The Access Type must be defined with:

  • ReadOnStartup = On (Note that it is important to perform a general reading when starting);
  • ReadPooling = Always;
  • ReadPoolongRate: 500 mili
  • WriteEvent = Changed;
  • AccepUnsolictited = On;


For command-type commands:

  • C_SC_NA: 45 - Single command;
  • C_DC_NA: 46 - Double command;
  • C_RC_NA: 47 - Regulating step command;
  • C_SE_NA: 48 - Set point command, normalized value;
  • C_SE_NC: 50 - Set point command, 32 bits floating point;
  • C_BO_NA: 51- Write Bitstring of 32 bits.


The Access Type must be defined with:

  • ReadPooling = Never;
  • WriteEnable = On
  • WriteEvent = Changed;

Driver Revision History

IEC8705104 Revision History
Version Notes
9.1.3.0Initial release on new documentation standards.

In this section...

  • No labels