Modbus modified, UniCB Init. modified, RunDeviceAfter() called in reversed order, ver. 3.1.1597
This commit is contained in:
@@ -36,10 +36,10 @@ namespace TBF.Rig.Modbus.UltrasoundLevelMeter
|
||||
/// <summary>Measurement time stamp when MsrmntState == MsrmntState.Valid</summary>
|
||||
int msrmntTimeStamp;
|
||||
|
||||
int ticketNumber; /// 1 .. number of devices registered for regular polling
|
||||
|
||||
public LevelMeter()
|
||||
{
|
||||
}
|
||||
|
||||
public LevelMeter() { }
|
||||
|
||||
public LevelMeter(Generic.IComponentCfg cfg, IList<Generic.IComponent> components)
|
||||
: base(cfg)
|
||||
@@ -72,6 +72,7 @@ namespace TBF.Rig.Modbus.UltrasoundLevelMeter
|
||||
}
|
||||
|
||||
msrmntState = MsrmntState.Busy;
|
||||
ticketNumber = modbus.RegisterForPolling();
|
||||
|
||||
log.FatalFormat("Successfully initialized device {0}", ToString());
|
||||
}
|
||||
@@ -124,11 +125,13 @@ namespace TBF.Rig.Modbus.UltrasoundLevelMeter
|
||||
Debug.WriteLine(line);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
byte[] msg = new byte[8]; /// Buffer for data to send
|
||||
|
||||
if ((StateMachine.Time % 3) == 0) /// Each 3 seconds
|
||||
public void RunDeviceAfter()
|
||||
{
|
||||
if (myCfg.DebugLevel != Config.Entities.DebugMode.Simulate &&
|
||||
myCfg.DebugLevel != Config.Entities.DebugMode.FailureDuringOperation &&
|
||||
modbus.IsMyTurn(ticketNumber))
|
||||
{
|
||||
///
|
||||
/// Read distance, level, quantity, percentage and temperature in IEEE754 (DWORD-s)
|
||||
@@ -137,17 +140,15 @@ namespace TBF.Rig.Modbus.UltrasoundLevelMeter
|
||||
UInt16 count = 5;
|
||||
|
||||
/// Prepare data to be sent
|
||||
byte[] msg = new byte[8]; /// Buffer for data to send
|
||||
msg[0] = myCfg.ModbusAddress;
|
||||
msg[1] = 3; /// CMD =
|
||||
msg[2] = (byte)(regAddr >> 8); /// Control Word Hi
|
||||
msg[3] = (byte)(regAddr & 0xFF); /// Control Word Lo
|
||||
msg[4] = (byte)(count >> 8); /// Serial Com Reference Hi
|
||||
msg[5] = (byte)(count & 0xFF); /// Serial Com Reference Lo
|
||||
|
||||
modbus.SendMessage(msg);
|
||||
}
|
||||
else if ((StateMachine.Time % 3) == 1) /// Each 3 seconds
|
||||
{
|
||||
|
||||
/////
|
||||
///// Read STATUS1
|
||||
/////
|
||||
@@ -155,17 +156,15 @@ namespace TBF.Rig.Modbus.UltrasoundLevelMeter
|
||||
//UInt16 count = 1;
|
||||
|
||||
///// Prepare data to be sent
|
||||
//byte[] msg = new byte[8]; /// Buffer for data to send
|
||||
//msg[0] = myCfg.ModbusAddress;
|
||||
//msg[1] = 3; /// CMD =
|
||||
//msg[2] = (byte)(regAddr >> 8); /// Control Word Hi
|
||||
//msg[3] = (byte)(regAddr & 0xFF); /// Control Word Lo
|
||||
//msg[4] = (byte)(count >> 8); /// Serial Com Reference Hi
|
||||
//msg[5] = (byte)(count & 0xFF); /// Serial Com Reference Lo
|
||||
|
||||
//modbus.SendMessage(msg);
|
||||
}
|
||||
else if ((StateMachine.Time % 3) == 2) /// Each 3 seconds
|
||||
{
|
||||
|
||||
/////
|
||||
///// Read distance, level, quantity, percentage and temperature in IEEE754 (DWORD-s)
|
||||
/////
|
||||
@@ -173,18 +172,17 @@ namespace TBF.Rig.Modbus.UltrasoundLevelMeter
|
||||
//UInt16 count = 10;
|
||||
|
||||
///// Prepare data to be sent
|
||||
//byte[] msg = new byte[8]; /// Buffer for data to send
|
||||
//msg[0] = myCfg.ModbusAddress;
|
||||
//msg[1] = 3; /// CMD =
|
||||
//msg[2] = (byte)(regAddr >> 8); /// Control Word Hi
|
||||
//msg[3] = (byte)(regAddr & 0xFF); /// Control Word Lo
|
||||
//msg[4] = (byte)(count >> 8); /// Serial Com Reference Hi
|
||||
//msg[5] = (byte)(count & 0xFF); /// Serial Com Reference Lo
|
||||
|
||||
//modbus.SendMessage(msg);
|
||||
}
|
||||
}
|
||||
|
||||
public void RunDeviceAfter() { }
|
||||
public void StopDevice() { }
|
||||
public void StopDevice2() { }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user