lib60870.NET  2.2.0
IEC 60870-5-101/104 Protocol Source Code Library for C#/.NET
lib60870.CS101.Master Class Referenceabstract

Common interface for CS104 and CS101 balanced and unbalanced master More...

Inheritance diagram for lib60870.CS101.Master:

Public Member Functions

abstract void SendInterrogationCommand (CauseOfTransmission cot, int ca, byte qoi)
 Sends the interrogation command. More...
 
abstract void SendCounterInterrogationCommand (CauseOfTransmission cot, int ca, byte qcc)
 Sends the counter interrogation command (C_CI_NA_1 typeID: 101) More...
 
abstract void SendReadCommand (int ca, int ioa)
 Sends a read command (C_RD_NA_1 typeID: 102). More...
 
abstract void SendClockSyncCommand (int ca, CP56Time2a time)
 Sends a clock synchronization command (C_CS_NA_1 typeID: 103). More...
 
abstract void SendTestCommand (int ca)
 Sends a test command (C_TS_NA_1 typeID: 104). More...
 
abstract void SendTestCommandWithCP56Time2a (int ca, ushort tsc, CP56Time2a time)
 Sends a test command with CP56Time2a time (C_TS_TA_1 typeID: 107). More...
 
abstract void SendResetProcessCommand (CauseOfTransmission cot, int ca, byte qrp)
 Sends a reset process command (C_RP_NA_1 typeID: 105). More...
 
abstract void SendDelayAcquisitionCommand (CauseOfTransmission cot, int ca, CP16Time2a delay)
 Sends a delay acquisition command (C_CD_NA_1 typeID: 106). More...
 
abstract void SendControlCommand (CauseOfTransmission cot, int ca, InformationObject sc)
 Sends the control command. More...
 
abstract void SendASDU (ASDU asdu)
 Sends an arbitrary ASDU to the connected slave More...
 
abstract void GetFile (int ca, int ioa, NameOfFile nof, IFileReceiver receiver)
 Gets the file. More...
 
abstract ApplicationLayerParameters GetApplicationLayerParameters ()
 Get the application layer parameters used by this master instance More...
 
abstract void SetReceivedRawMessageHandler (RawMessageHandler handler, object parameter)
 Sets the raw message handler for receoved messages More...
 
abstract void SetSentRawMessageHandler (RawMessageHandler handler, object parameter)
 Sets the sent message handler for sent messages. More...
 

Protected Attributes

bool debugOutput
 

Properties

bool DebugOutput [get, set]
 

Detailed Description

Common interface for CS104 and CS101 balanced and unbalanced master

Member Function Documentation

◆ GetApplicationLayerParameters()

abstract ApplicationLayerParameters lib60870.CS101.Master.GetApplicationLayerParameters ( )
pure virtual

Get the application layer parameters used by this master instance

Returns
used application layer parameters

Implemented in lib60870.CS104.Connection, and lib60870.CS101.CS101Master.

◆ GetFile()

abstract void lib60870.CS101.Master.GetFile ( int  ca,
int  ioa,
NameOfFile  nof,
IFileReceiver  receiver 
)
pure virtual

Gets the file.

Parameters
caCa.
ioaIoa.
nofNof.
receiverReceiver.

Implemented in lib60870.CS104.Connection, and lib60870.CS101.CS101Master.

◆ SendASDU()

abstract void lib60870.CS101.Master.SendASDU ( ASDU  asdu)
pure virtual

Sends an arbitrary ASDU to the connected slave

Parameters
asduThe ASDU to send

Implemented in lib60870.CS104.Connection, and lib60870.CS101.CS101Master.

◆ SendClockSyncCommand()

abstract void lib60870.CS101.Master.SendClockSyncCommand ( int  ca,
CP56Time2a  time 
)
pure virtual

Sends a clock synchronization command (C_CS_NA_1 typeID: 103).

Parameters
caCommon address
timethe new time to set
Exceptions
ConnectionExceptiondescription

Implemented in lib60870.CS104.Connection, and lib60870.CS101.CS101Master.

◆ SendControlCommand()

abstract void lib60870.CS101.Master.SendControlCommand ( CauseOfTransmission  cot,
int  ca,
InformationObject  sc 
)
pure virtual

Sends the control command.

The type ID has to match the type of the InformationObject!

C_SC_NA_1 -> SingleCommand C_DC_NA_1 -> DoubleCommand C_RC_NA_1 -> StepCommand C_SC_TA_1 -> SingleCommandWithCP56Time2a C_SE_NA_1 -> SetpointCommandNormalized C_SE_NB_1 -> SetpointCommandScaled C_SE_NC_1 -> SetpointCommandShort C_BO_NA_1 -> Bitstring32Command

Parameters
cotCause of transmission (use ACTIVATION to start a control sequence)
caCommon address
scInformation object of the command
Exceptions
ConnectionExceptiondescription

Implemented in lib60870.CS104.Connection, and lib60870.CS101.CS101Master.

◆ SendCounterInterrogationCommand()

abstract void lib60870.CS101.Master.SendCounterInterrogationCommand ( CauseOfTransmission  cot,
int  ca,
byte  qcc 
)
pure virtual

Sends the counter interrogation command (C_CI_NA_1 typeID: 101)

Parameters
cotCause of transmission
caCommon address
qccQualifier of counter interrogation command
Exceptions
ConnectionExceptiondescription

Implemented in lib60870.CS104.Connection, and lib60870.CS101.CS101Master.

◆ SendDelayAcquisitionCommand()

abstract void lib60870.CS101.Master.SendDelayAcquisitionCommand ( CauseOfTransmission  cot,
int  ca,
CP16Time2a  delay 
)
pure virtual

Sends a delay acquisition command (C_CD_NA_1 typeID: 106).

Parameters
cotCause of transmission
caCommon address
delaydelay for acquisition
Exceptions
ConnectionExceptiondescription

Implemented in lib60870.CS104.Connection, and lib60870.CS101.CS101Master.

◆ SendInterrogationCommand()

abstract void lib60870.CS101.Master.SendInterrogationCommand ( CauseOfTransmission  cot,
int  ca,
byte  qoi 
)
pure virtual

Sends the interrogation command.

Parameters
cotCause of transmission
caCommon address
qoiQualifier of interrogation (20 = station interrogation)
Exceptions
ConnectionExceptiondescription

Implemented in lib60870.CS104.Connection, and lib60870.CS101.CS101Master.

◆ SendReadCommand()

abstract void lib60870.CS101.Master.SendReadCommand ( int  ca,
int  ioa 
)
pure virtual

Sends a read command (C_RD_NA_1 typeID: 102).

This will send a read command C_RC_NA_1 (102) to the slave/outstation. The COT is always REQUEST (5). It is used to implement the cyclical polling of data application function.

Parameters
caCommon address
ioaInformation object address
Exceptions
ConnectionExceptiondescription

Implemented in lib60870.CS104.Connection, and lib60870.CS101.CS101Master.

◆ SendResetProcessCommand()

abstract void lib60870.CS101.Master.SendResetProcessCommand ( CauseOfTransmission  cot,
int  ca,
byte  qrp 
)
pure virtual

Sends a reset process command (C_RP_NA_1 typeID: 105).

Parameters
cotCause of transmission
caCommon address
qrpQualifier of reset process command
Exceptions
ConnectionExceptiondescription

Implemented in lib60870.CS104.Connection, and lib60870.CS101.CS101Master.

◆ SendTestCommand()

abstract void lib60870.CS101.Master.SendTestCommand ( int  ca)
pure virtual

Sends a test command (C_TS_NA_1 typeID: 104).

Not required and supported by IEC 60870-5-104.

Parameters
caCommon address
Exceptions
ConnectionExceptiondescription

Implemented in lib60870.CS104.Connection, and lib60870.CS101.CS101Master.

◆ SendTestCommandWithCP56Time2a()

abstract void lib60870.CS101.Master.SendTestCommandWithCP56Time2a ( int  ca,
ushort  tsc,
CP56Time2a  time 
)
pure virtual

Sends a test command with CP56Time2a time (C_TS_TA_1 typeID: 107).

Parameters
caCommon address
tsctest sequence number
timetest timestamp
Exceptions
ConnectionExceptiondescription

Implemented in lib60870.CS104.Connection, and lib60870.CS101.CS101Master.

◆ SetReceivedRawMessageHandler()

abstract void lib60870.CS101.Master.SetReceivedRawMessageHandler ( RawMessageHandler  handler,
object  parameter 
)
pure virtual

Sets the raw message handler for receoved messages

Parameters
handlerHandler/delegate that will be invoked when a message is received
parameterwill be passed to the delegate

Implemented in lib60870.CS104.Connection, and lib60870.CS101.CS101Master.

◆ SetSentRawMessageHandler()

abstract void lib60870.CS101.Master.SetSentRawMessageHandler ( RawMessageHandler  handler,
object  parameter 
)
pure virtual

Sets the sent message handler for sent messages.

Parameters
handlerHandler/delegate that will be invoked when a message is sent<
parameterwill be passed to the delegate

Implemented in lib60870.CS104.Connection, and lib60870.CS101.CS101Master.


The documentation for this class was generated from the following file: