/// <summary> /// Получить настройки сети счетчика (сегмент #66) /// </summary> /// <returns>настройки сети счетчика</returns> public NetworkConfig GetNetworkConfig() { const byte Segment = 66; const UInt16 Offset = 0; const byte Len = 3; NetworkConfig res = default; try { SegmentRead(Segment, Offset, Len, out byte[] answ); res.Addr = answ[0]; res.Divisor = ToUint16(ArrayPart(answ, 1, 2)); ChangeCmdStatus(StringsTable.GetNetOk); } catch (OblikSegException) { string mes = StringsTable.GetNetworkConfigErr; ChangeCmdStatus(mes); throw new OblikCmdException(mes); } return(res); }
/// <summary> /// Установить настройки сети счетчика (сегмент #67) /// </summary> /// <param name="nc">Настройки сети счетчика</param> public void SetNetworkConfig(NetworkConfig nc) { const byte Segment = 67; const UInt16 Offset = 0; byte[] Buf = NetworkConfigToByte(nc); try { SegmentWrite(Segment, Offset, Buf); //Меняем настройку сети класса в соответствии с новой настройкой if (_ConParams.Address != 0) { _ConParams.Address = nc.Addr; _ConParams.Baudrate = 115200 / nc.Divisor; ChangeCmdStatus(StringsTable.SetNetOK); } } catch (OblikSegException) { string mes = StringsTable.SetNetworkConfigErr; ChangeCmdStatus(mes); throw new OblikCmdException(mes); } }