internal void WriteRegister(ushort Address, float Value, bool SkipJournal = false) //запись в регистр с номером Address ushort значения Value //значение мощности в регистр надо писать в Вт/10, а интерфейс пользователя пишет в принимаемое на вход Value в кВт, поэтому данная реализация для случая записи значения мощности переводит принимаемое значение в Вт/10 //принимаемое Value типа float только для возможности писать значение мощности с дробной частью { if (!SkipJournal) { SystemHost.Journal.AppendLog(ComplexParts.ATU, LogMessageType.Note, string.Format("ATU @WriteRegister, address {0}, value {1}", Address, Value)); } if (m_IsATUEmulation) { return; } ushort value = 0; switch (Address) { case REG_POWER_VALUE: //в пересчёте на Вт/10 это гарантированно не больше, чем позволяет ushort 65535 value = (ushort)(Convert.ToUInt16(Value * 100)); break; default: value = (ushort)Value; break; } m_IOAdapter.Write16(m_Node, Address, value); }
internal void WriteRegister(ushort Address, ushort Value, bool SkipJournal = false) { if (!SkipJournal) { SystemHost.Journal.AppendLog(ComplexParts.SL, LogMessageType.Note, string.Format("VTM @WriteRegister, address {0}, value {1}", Address, Value)); } if (m_IsSLEmulation) { return; } m_IOAdapter.Write16(m_Node, Address, Value); }
internal void WriteRegister(ushort Address, ushort Value, bool SkipJournal = false) //запись в регистр с номером Address ushort значения Value { if (!SkipJournal) { SystemHost.Journal.AppendLog(ComplexParts.QrrTq, LogMessageType.Note, string.Format("QrrTq @WriteRegister, address {0}, value {1}", Address, Value)); } if (m_IsEmulation) { return; } m_IOAdapter.Write16(m_Node, Address, Value); }
internal void WriteRegister16(ushort node, ushort address, ushort value, bool skipJournal = false) { if (!skipJournal) { SystemHost.Journal.AppendLog(ComplexParts.Sctu, LogMessageType.Note, string.Format("Sctu @WriteRegister, address {0}, value {1}, node {2}", address, value, node)); } if (_isSctuEmulation) { if (address == REG_WORKPLACE_ACTIVATION_STATUS) { _WorkplaceActivationStatusRegisterValueEmulation = value; } return; } _ioAdapter.Write16(node, address, value); }