internal SetpointCommandShortWithCP56Time2a(ConnectionParameters parameters, byte[] msg, int startIndex) : base(parameters, msg, startIndex) { startIndex += parameters.SizeOfIOA + 5; /* skip IOA + float + QOS*/ this.timestamp = new CP56Time2a(msg, startIndex); }
internal Bitstring32CommandWithCP56Time2a(ConnectionParameters parameters, byte[] msg, int startIndex) : base(parameters, msg, startIndex) { startIndex += parameters.SizeOfIOA + 4; /* skip IOA + bitstring */ this.timestamp = new CP56Time2a(msg, startIndex); }
public EventOfProtectionEquipmentWithCP56Time2a(int ioa, SingleEvent singleEvent, CP16Time2a elapsedTime, CP56Time2a timestamp) : base(ioa) { this.singleEvent = singleEvent; this.elapsedTime = elapsedTime; this.timestamp = timestamp; }
internal SetpointCommandNormalizedWithCP56Time2a(ConnectionParameters parameters, byte[] msg, int startIndex) : base(parameters, msg, startIndex) { startIndex += parameters.SizeOfIOA + 3; /* skip IOA */ this.timestamp = new CP56Time2a(msg, startIndex); }
internal StepCommandWithCP56Time2a(ConnectionParameters parameters, byte[] msg, int startIndex) : base(parameters, msg, startIndex) { startIndex += parameters.SizeOfIOA + 1; /* skip IOA + DCQ*/ timestamp = new CP56Time2a(msg, startIndex); }
public PackedStartEventsOfProtectionEquipmentWithCP56Time2a(int objectAddress, StartEvent spe, QualityDescriptorP qdp, CP16Time2a elapsedTime, CP56Time2a timestamp) : base(objectAddress) { this.spe = spe; this.qdp = qdp; this.elapsedTime = elapsedTime; this.timestamp = timestamp; }
/// <summary> /// Sends a test command with CP56Time2a time (C_TS_TA_1 typeID: 107). /// </summary> /// <param name="ca">Common address</param> /// <param name="tsc">test sequence number</param> /// <param name="time">test timestamp</param> /// <exception cref="ConnectionException">description</exception> public void SendTestCommandWithCP56Time2a(int ca, ushort tsc, CP56Time2a time) { ASDU asdu = new ASDU(parameters, CauseOfTransmission.ACTIVATION, false, false, (byte)parameters.OriginatorAddress, ca, false); asdu.AddInformationObject(new TestCommandWithCP56Time2a(tsc, time)); SendASDUInternal(asdu); }
internal ClockSynchronizationCommand(ConnectionParameters parameters, byte[] msg, int startIndex) : base(parameters, msg, startIndex, false) { startIndex += parameters.SizeOfIOA; /* skip IOA */ /* parse CP56Time2a (time stamp) */ newTime = new CP56Time2a(msg, startIndex); }
public PackedOutputCircuitInfoWithCP56Time2a(int objectAddress, OutputCircuitInfo oci, QualityDescriptorP qdp, CP16Time2a operatingTime, CP56Time2a timestamp) : base(objectAddress) { this.oci = oci; this.qdp = qdp; this.operatingTime = operatingTime; this.timestamp = timestamp; }
/// <summary> /// Sends a clock synchronization command (C_CS_NA_1 typeID: 103). /// </summary> /// <param name="ca">Common address</param> /// <param name="time">the new time to set</param> /// <exception cref="ConnectionException">description</exception> public void SendClockSyncCommand(int ca, CP56Time2a time) { ASDU asdu = new ASDU(parameters, CauseOfTransmission.ACTIVATION, false, false, (byte)parameters.OriginatorAddress, ca, false); asdu.AddInformationObject(new ClockSynchronizationCommand(0, time)); SendASDUInternal(asdu); }
internal TestCommandWithCP56Time2a(ConnectionParameters parameters, byte[] msg, int startIndex) : base(parameters, msg, startIndex, false) { startIndex += parameters.SizeOfIOA; /* skip IOA */ tsc = msg[startIndex++]; tsc += (ushort)(msg[startIndex++] * 256); time = new CP56Time2a(msg, startIndex); }
public IntegratedTotalsWithCP56Time2a(ConnectionParameters parameters, byte[] msg, int startIndex, bool isSequence) : base(parameters, msg, startIndex, isSequence) { if (!isSequence) { startIndex += parameters.SizeOfIOA; /* skip IOA */ } startIndex += 5; /* BCR */ timestamp = new CP56Time2a(msg, startIndex); }
internal StepPositionWithCP56Time2a(ConnectionParameters parameters, byte[] msg, int startIndex, bool isSequence) : base(parameters, msg, startIndex, isSequence) { if (!isSequence) { startIndex += parameters.SizeOfIOA; /* skip IOA */ } startIndex += 2; /* skip VTI + quality*/ /* parse CP24Time2a (time stamp) */ timestamp = new CP56Time2a(msg, startIndex); }
internal Bitstring32WithCP56Time2a(ConnectionParameters parameters, byte[] msg, int startIndex, bool isSequence) : base(parameters, msg, startIndex, isSequence) { if (!isSequence) { startIndex += parameters.SizeOfIOA; /* skip IOA */ } startIndex += 5; /* value + quality */ /* parse CP56Time2a (time stamp) */ timestamp = new CP56Time2a(msg, startIndex); }
internal MeasuredValueScaledWithCP56Time2a(ConnectionParameters parameters, byte[] msg, int startIndex, bool isSequence) : base(parameters, msg, startIndex, isSequence) { if (!isSequence) { startIndex += parameters.SizeOfIOA; /* skip IOA */ } startIndex += 3; /* scaledValue + QDS */ /* parse CP56Time2a (time stamp) */ timestamp = new CP56Time2a(msg, startIndex); }
/// <summary> /// 解析 /// </summary> /// <param name="parameters"></param> /// <param name="msg"></param> /// <param name="startIndex"></param> /// <param name="isSequence"></param> internal DoublePointWithCP56Time2a(ConnectionParameters parameters, byte[] msg, int startIndex, bool isSequence) : base(parameters, msg, startIndex, isSequence) { if (!isSequence) { startIndex += parameters.SizeOfIOA; /* skip IOA */ } startIndex += 1; /* skip DIQ */ /* parse CP56Time2a (time stamp) */ timestamp = new CP56Time2a(msg, startIndex); }
internal EventOfProtectionEquipmentWithCP56Time2a(ConnectionParameters parameters, byte[] msg, int startIndex, bool isSequence) : base(parameters, msg, startIndex, isSequence) { if (!isSequence) { startIndex += parameters.SizeOfIOA; /* skip IOA */ } singleEvent = new SingleEvent(msg [startIndex++]); elapsedTime = new CP16Time2a(msg, startIndex); startIndex += 2; /* parse CP56Time2a (time stamp) */ timestamp = new CP56Time2a(msg, startIndex); }
internal PackedStartEventsOfProtectionEquipmentWithCP56Time2a(ConnectionParameters parameters, byte[] msg, int startIndex, bool isSequence) : base(parameters, msg, startIndex, isSequence) { if (!isSequence) { startIndex += parameters.SizeOfIOA; /* skip IOA */ } spe = new StartEvent(msg [startIndex++]); qdp = new QualityDescriptorP(msg [startIndex++]); elapsedTime = new CP16Time2a(msg, startIndex); startIndex += 2; /* parse CP56Time2a (time stamp) */ timestamp = new CP56Time2a(msg, startIndex); }
internal PackedOutputCircuitInfoWithCP56Time2a(ConnectionParameters parameters, byte[] msg, int startIndex, bool isSequence) : base(parameters, msg, startIndex, isSequence) { if (!isSequence) { startIndex += parameters.SizeOfIOA; /* skip IOA */ } oci = new OutputCircuitInfo(msg[startIndex++]); qdp = new QualityDescriptorP(msg[startIndex++]); operatingTime = new CP16Time2a(msg, startIndex); startIndex += 2; /* parse CP56Time2a (time stamp) */ timestamp = new CP56Time2a(msg, startIndex); }
/// <summary> /// 发送时钟同步命令(103)Sends a clock synchronization command (C_CS_NA_1 typeID: 103). /// <para>只用于站端没有GPS的情况</para> /// <para>使用104进行同步时,无须测量通道延时</para> /// </summary> /// 传送原因: /// 控制方向 /// 6: 激活 /// 监视方向 /// 7: 激活确认 /// 10 激活终止 /// 44 未知的类型标识 /// 45 未知的传送原因 /// 46 未知的应用服务数据单元公共地址 cot /// 47 未知的信息对象地址 /// <param name="ca">公共地址Common address</param> /// <param name="time">时间日期the new time to set</param> /// <exception cref="ConnectionException">description</exception> public void SendClockSyncCommand(int ca, CP56Time2a time) { Frame frame = new T104Frame(); EncodeIdentificationField(frame, TypeID.C_CS_NA_1, 1, CauseOfTransmission.ACTIVATION, ca); EncodeIOA(frame, 0); frame.AppendBytes(time.GetEncodedValue()); if (debugOutput) { Console.WriteLine("Encoded C_CS_NA_1 with " + frame.GetMsgSize() + " bytes."); } sendIMessage(frame); }
public MeasuredValueScaledWithCP56Time2a(int objectAddress, int value, QualityDescriptor quality, CP56Time2a timestamp) : base(objectAddress, value, quality) { this.timestamp = timestamp; }
/// <summary> /// 创建 /// </summary> /// <param name="ioa"></param> /// <param name="value"></param> /// <param name="quality"></param> /// <param name="timestamp"></param> public DoublePointWithCP56Time2a(int ioa, DoublePointValue value, QualityDescriptor quality, CP56Time2a timestamp) : base(ioa, value, quality) { this.timestamp = timestamp; }
public Bitstring32CommandWithCP56Time2a(int objectAddress, UInt32 bitstring, CP56Time2a timestamp) : base(objectAddress, bitstring) { this.timestamp = timestamp; }
public SetpointCommandScaledWithCP56Time2a(int objectAddress, ScaledValue value, SetpointCommandQualifier qos, CP56Time2a timestamp) : base(objectAddress, value, qos) { this.timestamp = timestamp; }
public SetpointCommandShortWithCP56Time2a(int objectAddress, float value, SetpointCommandQualifier qos, CP56Time2a timestamp) : base(objectAddress, value, qos) { this.timestamp = timestamp; }
public StepPositionWithCP56Time2a(int ioa, int value, bool isTransient, CP56Time2a timestamp) : base(ioa, value, isTransient) { Timestamp = timestamp; }
public SingleCommandWithCP56Time2a(int ioa, bool command, bool selectCommand, int qu, CP56Time2a timestamp) : base(ioa, command, selectCommand, qu) { this.timestamp = timestamp; }
public ClockSynchronizationCommand(int ioa, CP56Time2a newTime) : base(ioa) { this.newTime = newTime; }
public DoubleCommandWithCP56Time2a(int ioa, int command, bool select, int quality, CP56Time2a timestamp) : base(ioa, command, select, quality) { this.timestamp = timestamp; }
public StepCommandWithCP56Time2a(int ioa, StepCommandValue command, bool select, int quality, CP56Time2a timestamp) : base(ioa, command, select, quality) { this.timestamp = timestamp; }