lib60870.NET  2.2.0
IEC 60870-5-101/104 Protocol Source Code Library for C#/.NET
lib60870.CS101 Namespace Reference

Classes

class  ApplicationLayerParameters
 
class  ASDU
 This class represents an application layer message. It contains some generic message information and one or more InformationObject instances of the same type. It is used to send and receive messages. More...
 
class  ASDUQueueException
 
class  BinaryCounterReading
 Binary counter reading. Used for tranmission of integrated totals. More...
 
class  Bitstring32
 
class  Bitstring32Command
 
class  Bitstring32CommandWithCP56Time2a
 
class  Bitstring32WithCP24Time2a
 
class  Bitstring32WithCP56Time2a
 
class  ClockSynchronizationCommand
 
class  CounterInterrogationCommand
 
class  CS101Master
 
class  CS101n104File
 Encapsulates a IFileProvider object to add some state information
 
class  CS101Slave
 CS 101 slave implementation (implements Slave interface) More...
 
class  DelayAcquisitionCommand
 
class  DoubleCommand
 
class  DoubleCommandWithCP56Time2a
 
class  DoublePointInformation
 Double point information object (M_DP_NA_1) More...
 
class  DoublePointWithCP24Time2a
 Double point information object with CP24Time2a time tag (M_DP_TA_1) More...
 
class  DoublePointWithCP56Time2a
 Double point information object with CP56Time2a time tag (M_DP_TB_1) More...
 
class  EndOfInitialization
 End of initialization information object (M_EI_NA_1) More...
 
class  EventOfProtectionEquipment
 Event of protection equipment information object (M_EP_TA_1) More...
 
class  EventOfProtectionEquipmentWithCP56Time2a
 Event of protection equipment information object with CP56Time2a time tag (M_EP_TD_1) More...
 
class  FileACK
 ACK file/section - F_AF_NA_1 (124) More...
 
class  FileCallOrSelect
 Call/Select directory/file/section - F_SC_NA_1 (122) More...
 
class  FileClient
 
class  FileDirectory
 File directory - F_DR_TA_1 (126) More...
 
class  FileLastSegmentOrSection
 Last segment/section - F_LS_NA_1 (123) More...
 
class  FileReady
 File ready - F_FR_NA_1 (120) More...
 
class  FilesAvailable
 
class  FileSegment
 File segment - F_SG_NA_1 (125) More...
 
class  FileServer
 
interface  IFileProvider
 
interface  IFileReceiver
 
interface  IMasterConnection
 Provides functions to be used in Slave callbacks to send data back to the master More...
 
class  InformationObject
 
class  IntegratedTotals
 Integrated totals information object (M_IT_NA_1) More...
 
class  IntegratedTotalsWithCP24Time2a
 Integrated totals information object with CP24Time2a time tag (M_IT_TA_1) More...
 
class  IntegratedTotalsWithCP56Time2a
 Integrated totals information object with CP56Time2a time tag (M_IT_TB_1) More...
 
class  InterrogationCommand
 
interface  IPrivateIOFactory
 
class  Master
 Common interface for CS104 and CS101 balanced and unbalanced master More...
 
class  MeasuredValueNormalized
 Measured value normalized information object (M_ME_NA_1) More...
 
class  MeasuredValueNormalizedWithCP24Time2a
 Measured value normalized with CP24Time2a time tag (M_ME_TA_1) More...
 
class  MeasuredValueNormalizedWithCP56Time2a
 Measured value normalized with CP56Time2a time tag (M_ME_TD_1) More...
 
class  MeasuredValueNormalizedWithoutQuality
 Measured value normalized without quality information object (M_ME_ND_1) More...
 
class  MeasuredValueScaled
 
class  MeasuredValueScaledWithCP24Time2a
 
class  MeasuredValueScaledWithCP56Time2a
 
class  MeasuredValueShort
 
class  MeasuredValueShortWithCP24Time2a
 
class  MeasuredValueShortWithCP56Time2a
 
class  OutputCircuitInfo
 Output circuit information of protection equipment According to IEC 60870-5-101:2003 7.2.6.12 More...
 
class  PackedOutputCircuitInfo
 
class  PackedOutputCircuitInfoWithCP56Time2a
 
class  PackedSinglePointWithSCD
 
class  PackedStartEventsOfProtectionEquipment
 
class  PackedStartEventsOfProtectionEquipmentWithCP56Time2a
 
class  ParameterActivation
 
class  ParameterFloatValue
 
class  ParameterNormalizedValue
 
class  ParameterScaledValue
 
class  PrivateInformationObjectTypes
 Hold a list of private information object (IO) types to be used for parsing More...
 
class  QualifierOfInterrogation
 
class  QualityDescriptor
 
class  QualityDescriptorP
 QDP - Quality descriptor for events of protection equipment according to IEC 60870-5-101:2003 7.2.6.4 More...
 
class  ReadCommand
 
class  ResetProcessCommand
 
class  ScaledValue
 
class  SectionReady
 Section ready - F_SR_NA_1 (121) More...
 
class  SetpointCommandNormalized
 
class  SetpointCommandNormalizedWithCP56Time2a
 
class  SetpointCommandQualifier
 
class  SetpointCommandScaled
 
class  SetpointCommandScaledWithCP56Time2a
 
class  SetpointCommandShort
 
class  SetpointCommandShortWithCP56Time2a
 
class  SingleCommand
 
class  SingleCommandWithCP56Time2a
 
class  SingleEvent
 
class  SinglePointInformation
 
class  SinglePointWithCP24Time2a
 
class  SinglePointWithCP56Time2a
 Single point with CP56Time2a timestamp (M_SP_TB_1) More...
 
class  Slave
 
class  StartEvent
 SPE - Start events of protection equipment according to IEC 60870-5-101:2003 7.2.6.11 More...
 
class  StatusAndStatusChangeDetection
 
class  StepCommand
 
class  StepCommandWithCP56Time2a
 
class  StepPositionInformation
 Step position information object (M_ST_NA_1) More...
 
class  StepPositionWithCP24Time2a
 Step position information object with CP24Time2a time tag (M_ST_TA_1) More...
 
class  StepPositionWithCP56Time2a
 Step position information object with CP56Time2a time tag (M_ST_TB_1) More...
 
class  TestCommand
 
class  TestCommandWithCP56Time2a
 
class  TransparentFile
 Simple implementation of IFileProvider that can be used to provide transparent files. Derived classed should override the TransferComplete method. More...
 

Enumerations

enum  CauseOfTransmission {
  PERIODIC = 1, BACKGROUND_SCAN = 2, SPONTANEOUS = 3, INITIALIZED = 4,
  REQUEST = 5, ACTIVATION = 6, ACTIVATION_CON = 7, DEACTIVATION = 8,
  DEACTIVATION_CON = 9, ACTIVATION_TERMINATION = 10, RETURN_INFO_REMOTE = 11, RETURN_INFO_LOCAL = 12,
  FILE_TRANSFER = 13, AUTHENTICATION = 14, MAINTENANCE_OF_AUTH_SESSION_KEY = 15, MAINTENANCE_OF_USER_ROLE_AND_UPDATE_KEY = 16,
  INTERROGATED_BY_STATION = 20, INTERROGATED_BY_GROUP_1 = 21, INTERROGATED_BY_GROUP_2 = 22, INTERROGATED_BY_GROUP_3 = 23,
  INTERROGATED_BY_GROUP_4 = 24, INTERROGATED_BY_GROUP_5 = 25, INTERROGATED_BY_GROUP_6 = 26, INTERROGATED_BY_GROUP_7 = 27,
  INTERROGATED_BY_GROUP_8 = 28, INTERROGATED_BY_GROUP_9 = 29, INTERROGATED_BY_GROUP_10 = 30, INTERROGATED_BY_GROUP_11 = 31,
  INTERROGATED_BY_GROUP_12 = 32, INTERROGATED_BY_GROUP_13 = 33, INTERROGATED_BY_GROUP_14 = 34, INTERROGATED_BY_GROUP_15 = 35,
  INTERROGATED_BY_GROUP_16 = 36, REQUESTED_BY_GENERAL_COUNTER = 37, REQUESTED_BY_GROUP_1_COUNTER = 38, REQUESTED_BY_GROUP_2_COUNTER = 39,
  REQUESTED_BY_GROUP_3_COUNTER = 40, REQUESTED_BY_GROUP_4_COUNTER = 41, UNKNOWN_TYPE_ID = 44, UNKNOWN_CAUSE_OF_TRANSMISSION = 45,
  UNKNOWN_COMMON_ADDRESS_OF_ASDU = 46, UNKNOWN_INFORMATION_OBJECT_ADDRESS = 47
}
 The cause of transmission (COT) More...
 
enum  DoublePointValue { INTERMEDIATE = 0, OFF = 1, ON = 2, INDETERMINATE = 3 }
 
enum  NameOfFile : ushort {
  DEFAULT = 0, TRANSPARENT_FILE = 1, DISTURBANCE_DATA = 2, SEQUENCES_OF_EVENTS = 3,
  SEQUENCES_OF_ANALOGUE_VALUES = 4
}
 Name of file (NOF) - describes the type of a file More...
 
enum  SelectAndCallQualifier : byte {
  DEFAULT = 0, SELECT_FILE = 1, REQUEST_FILE = 2, DEACTIVATE_FILE = 3,
  DELETE_FILE = 4, SELECT_SECTION = 5, REQUEST_SECTION = 6, DEACTIVATE_SECTION = 7
}
 
enum  LastSectionOrSegmentQualifier : byte {
  NOT_USED = 0, FILE_TRANSFER_WITHOUT_DEACT = 1, FILE_TRANSFER_WITH_DEACT = 2, SECTION_TRANSFER_WITHOUT_DEACT = 3,
  SECTION_TRANSFER_WITH_DEACT = 4
}
 
enum  AcknowledgeQualifier {
  NOT_USED = 0, POS_ACK_FILE = 1, NEG_ACK_FILE = 2, POS_ACK_SECTION = 3,
  NEG_ACK_SECTION = 4
}
 
enum  FileError {
  DEFAULT = 0, REQ_MEMORY_NOT_AVAILABLE = 1, CHECKSUM_FAILED = 2, UNEXPECTED_COMM_SERVICE = 3,
  UNEXPECTED_NAME_OF_FILE = 4, UNEXPECTED_NAME_OF_SECTION = 5
}
 
enum  FileErrorCode {
  SUCCESS, TIMEOUT, FILE_NOT_READY, SECTION_NOT_READY,
  UNKNOWN_CA, UNKNOWN_IOA, UNKNOWN_SERVICE, PROTOCOL_ERROR,
  ABORTED_BY_REMOTE
}
 
enum  StepCommandValue { INVALID_0 = 0, LOWER = 1, HIGHER = 2, INVALID_3 = 3 }
 Regulating step command state (RCS) according to IEC 60870-5-101:2003 7.2.6.17 More...
 
enum  EventState { INDETERMINATE_0 = 0, OFF = 1, ON = 2, INDETERMINATE_3 = 3 }
 
enum  TypeID {
  M_SP_NA_1 = 1, M_SP_TA_1 = 2, M_DP_NA_1 = 3, M_DP_TA_1 = 4,
  M_ST_NA_1 = 5, M_ST_TA_1 = 6, M_BO_NA_1 = 7, M_BO_TA_1 = 8,
  TypeID.M_ME_NA_1 = 9, M_ME_TA_1 = 10, M_ME_NB_1 = 11, M_ME_TB_1 = 12,
  M_ME_NC_1 = 13, M_ME_TC_1 = 14, M_IT_NA_1 = 15, M_IT_TA_1 = 16,
  M_EP_TA_1 = 17, M_EP_TB_1 = 18, M_EP_TC_1 = 19, M_PS_NA_1 = 20,
  M_ME_ND_1 = 21, M_SP_TB_1 = 30, M_DP_TB_1 = 31, M_ST_TB_1 = 32,
  M_BO_TB_1 = 33, M_ME_TD_1 = 34, M_ME_TE_1 = 35, M_ME_TF_1 = 36,
  M_IT_TB_1 = 37, M_EP_TD_1 = 38, M_EP_TE_1 = 39, M_EP_TF_1 = 40,
  C_SC_NA_1 = 45, C_DC_NA_1 = 46, C_RC_NA_1 = 47, C_SE_NA_1 = 48,
  C_SE_NB_1 = 49, C_SE_NC_1 = 50, C_BO_NA_1 = 51, C_SC_TA_1 = 58,
  C_DC_TA_1 = 59, C_RC_TA_1 = 60, C_SE_TA_1 = 61, C_SE_TB_1 = 62,
  C_SE_TC_1 = 63, C_BO_TA_1 = 64, M_EI_NA_1 = 70, C_IC_NA_1 = 100,
  C_CI_NA_1 = 101, C_RD_NA_1 = 102, C_CS_NA_1 = 103, C_TS_NA_1 = 104,
  C_RP_NA_1 = 105, C_CD_NA_1 = 106, C_TS_TA_1 = 107, P_ME_NA_1 = 110,
  P_ME_NB_1 = 111, P_ME_NC_1 = 112, P_AC_NA_1 = 113, F_FR_NA_1 = 120,
  F_SR_NA_1 = 121, F_SC_NA_1 = 122, F_LS_NA_1 = 123, F_AF_NA_1 = 124,
  F_SG_NA_1 = 125, F_DR_TA_1 = 126, F_SC_NB_1 = 127
}
 

Functions

delegate IFileReceiver FileReadyHandler (object parameter, int ca, int ioa, NameOfFile nof, int lengthOfFile)
 File ready handler. Will be called by the slave when a master sends a FILE READY (file download announcement) message to the slave. More...
 
delegate void DebugLogger (string message)
 
delegate bool ASDUReceivedHandler (object parameter, int slaveAddress, ASDU asdu)
 Handler that is called when a new ASDU is received More...
 
delegate bool InterrogationHandler (object parameter, IMasterConnection connection, ASDU asdu, byte qoi)
 Handler for interrogation command (C_IC_NA_1 - 100). More...
 
delegate bool CounterInterrogationHandler (object parameter, IMasterConnection connection, ASDU asdu, byte qoi)
 Handler for counter interrogation command (C_CI_NA_1 - 101). More...
 
delegate bool ReadHandler (object parameter, IMasterConnection connection, ASDU asdu, int ioa)
 Handler for read command (C_RD_NA_1 - 102) More...
 
delegate bool ClockSynchronizationHandler (object parameter, IMasterConnection connection, ASDU asdu, CP56Time2a newTime)
 Handler for clock synchronization command (C_CS_NA_1 - 103) More...
 
delegate bool ResetProcessHandler (object parameter, IMasterConnection connection, ASDU asdu, byte qrp)
 Handler for reset process command (C_RP_NA_1 - 105) More...
 
delegate bool DelayAcquisitionHandler (object parameter, IMasterConnection connection, ASDU asdu, CP16Time2a delayTime)
 Handler for delay acquisition command (C_CD_NA:1 - 106) More...
 
delegate bool ASDUHandler (object parameter, IMasterConnection connection, ASDU asdu)
 Handler for ASDUs that are not handled by other handlers (default handler) More...
 

Enumeration Type Documentation

◆ CauseOfTransmission

The cause of transmission (COT)

◆ NameOfFile

enum lib60870.CS101.NameOfFile : ushort
strong

Name of file (NOF) - describes the type of a file

◆ StepCommandValue

Regulating step command state (RCS) according to IEC 60870-5-101:2003 7.2.6.17

◆ TypeID

enum lib60870.CS101.TypeID
strong
Enumerator
M_ME_NA_1 

Measured Value, normalized value

Function Documentation

◆ ASDUHandler()

delegate bool lib60870.CS101.ASDUHandler ( object  parameter,
IMasterConnection  connection,
ASDU  asdu 
)

Handler for ASDUs that are not handled by other handlers (default handler)

◆ ASDUReceivedHandler()

delegate bool lib60870.CS101.ASDUReceivedHandler ( object  parameter,
int  slaveAddress,
ASDU  asdu 
)

Handler that is called when a new ASDU is received

◆ ClockSynchronizationHandler()

delegate bool lib60870.CS101.ClockSynchronizationHandler ( object  parameter,
IMasterConnection  connection,
ASDU  asdu,
CP56Time2a  newTime 
)

Handler for clock synchronization command (C_CS_NA_1 - 103)

◆ CounterInterrogationHandler()

delegate bool lib60870.CS101.CounterInterrogationHandler ( object  parameter,
IMasterConnection  connection,
ASDU  asdu,
byte  qoi 
)

Handler for counter interrogation command (C_CI_NA_1 - 101).

◆ DelayAcquisitionHandler()

delegate bool lib60870.CS101.DelayAcquisitionHandler ( object  parameter,
IMasterConnection  connection,
ASDU  asdu,
CP16Time2a  delayTime 
)

Handler for delay acquisition command (C_CD_NA:1 - 106)

◆ FileReadyHandler()

delegate IFileReceiver lib60870.CS101.FileReadyHandler ( object  parameter,
int  ca,
int  ioa,
NameOfFile  nof,
int  lengthOfFile 
)

File ready handler. Will be called by the slave when a master sends a FILE READY (file download announcement) message to the slave.

◆ InterrogationHandler()

delegate bool lib60870.CS101.InterrogationHandler ( object  parameter,
IMasterConnection  connection,
ASDU  asdu,
byte  qoi 
)

Handler for interrogation command (C_IC_NA_1 - 100).

◆ ReadHandler()

delegate bool lib60870.CS101.ReadHandler ( object  parameter,
IMasterConnection  connection,
ASDU  asdu,
int  ioa 
)

Handler for read command (C_RD_NA_1 - 102)

◆ ResetProcessHandler()

delegate bool lib60870.CS101.ResetProcessHandler ( object  parameter,
IMasterConnection  connection,
ASDU  asdu,
byte  qrp 
)

Handler for reset process command (C_RP_NA_1 - 105)