Modbus logging with child component names, ver. 3.1.1606
This commit is contained in:
@@ -18,7 +18,8 @@ namespace TBF.Rig.Modbus.PressureMeter.Meret
|
||||
readonly PressureMeterCfg pressureMtrCfg;
|
||||
public IDrawingItem DrawingItem { get { return pressureMtrCfg as IDrawingItem; } }
|
||||
|
||||
readonly GenericDevices.IModbus modbus;
|
||||
Common.Modbus modbus;
|
||||
|
||||
double receivedPressure;
|
||||
|
||||
public bool MsrmntAvailable { get { return true; } }
|
||||
@@ -34,11 +35,6 @@ namespace TBF.Rig.Modbus.PressureMeter.Meret
|
||||
: base(cfg)
|
||||
{
|
||||
pressureMtrCfg = cfg as PressureMeterCfg;
|
||||
|
||||
modbus = (GenericDevices.IModbus)TbfComponents.FindComponent(cfg.ParentName, components);
|
||||
if (modbus == null) throw new Exception("Cannot find " + Name + " parent");
|
||||
|
||||
log.Warn(this.ToString());
|
||||
}
|
||||
|
||||
///
|
||||
@@ -46,17 +42,16 @@ namespace TBF.Rig.Modbus.PressureMeter.Meret
|
||||
///
|
||||
public override void Initialize()
|
||||
{
|
||||
modbus = TbfComponents.FindComponent(pressureMtrCfg.ParentName) as Common.Modbus;
|
||||
if (modbus == null) throw new Exception("Cannot find " + Name + " parent");
|
||||
|
||||
modbus.ComponentNames[pressureMtrCfg.ModbusAddress] = Name;
|
||||
ticketNumber = modbus.RegisterForPolling();
|
||||
log.FatalFormat("{0} initialized: {1}", Name, this);
|
||||
}
|
||||
|
||||
public void RunDeviceBefore()
|
||||
{
|
||||
if (pressureMtrCfg.DebugLevel == Config.Entities.DebugMode.Simulate ||
|
||||
pressureMtrCfg.DebugLevel == Config.Entities.DebugMode.FailureDuringOperation)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (modbus.ReceivedTelegrams[pressureMtrCfg.ModbusAddress].Count > 0)
|
||||
{
|
||||
byte[] telegram = modbus.ReceivedTelegrams[pressureMtrCfg.ModbusAddress].Dequeue();
|
||||
@@ -80,13 +75,11 @@ namespace TBF.Rig.Modbus.PressureMeter.Meret
|
||||
|
||||
public void RunDeviceAfter()
|
||||
{
|
||||
if (pressureMtrCfg.DebugLevel != Config.Entities.DebugMode.Simulate &&
|
||||
pressureMtrCfg.DebugLevel != Config.Entities.DebugMode.FailureDuringOperation &&
|
||||
modbus.IsMyTurn(ticketNumber))
|
||||
if (modbus.IsMyTurn(ticketNumber))
|
||||
{
|
||||
const byte Function = 4; /// Read input registers
|
||||
const ushort Address = 0; /// Pressure
|
||||
modbus.SendMessage((byte)pressureMtrCfg.ModbusAddress, Function, Address, 2);
|
||||
modbus.SendMessage((byte)pressureMtrCfg.ModbusAddress, Function, Address, 2, Name);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user