completata lettura allarmi
This commit is contained in:
@@ -139,10 +139,22 @@ namespace MTC_Adapter
|
||||
// 2 byte x speed da copiare...
|
||||
byte[] tmpByte = new byte[2];
|
||||
Buffer.BlockCopy(ncDevice.PLC_MemoryAreaV, 16, tmpByte, 0, 2);
|
||||
short v84 = BitConverter.ToInt16(tmpByte, 0);
|
||||
short v84 = BitConverter.ToInt16(tmpByte, 0);
|
||||
// lista allarmi PLC/CNC
|
||||
Byte v86 = ncDevice.PLC_MemoryAreaV[18]; // last alarm PLC
|
||||
#if false
|
||||
Byte v86 = ncDevice.PLC_MemoryAreaV[18]; // last alarm PLC: monotono incrementale (è un contatore da avvio?) --> non mi serve!!!
|
||||
#endif
|
||||
Byte v87 = ncDevice.PLC_MemoryAreaV[19]; // Allarme CN (almeno 1?!?)
|
||||
#if false
|
||||
if (v86 != 0)
|
||||
{
|
||||
sb.AppendLine(string.Format("v86: {0}", v86));
|
||||
}
|
||||
#endif
|
||||
if (v87 != 0)
|
||||
{
|
||||
sb.AppendLine(string.Format("v87: {0}", v87));
|
||||
}
|
||||
|
||||
// -------------------------------------------
|
||||
// recupero dati Feed/Speed/override
|
||||
@@ -157,7 +169,8 @@ namespace MTC_Adapter
|
||||
sb.AppendLine(string.Format("SpeedRate: {0} rpm", SpeedRate));
|
||||
// -------------------------------------------
|
||||
|
||||
// check allarmi?!?
|
||||
// copio allarmi in vettore generale AlarFlags (dove lo gestisce)...
|
||||
Buffer.BlockCopy(ncDevice.PLC_MemAreaAlarm_tmp, 0, AlarmFlags, 0, ncDevice.PLC_MemAreaAlarm_tmp.Length);
|
||||
|
||||
parentForm.dataMonitor = sb.ToString();
|
||||
}
|
||||
|
||||
@@ -33,8 +33,9 @@ namespace SCMCncLib
|
||||
{
|
||||
private UInt16 ReadNumber;
|
||||
private UInt16 WriteNumber;
|
||||
private UInt16 VAreaNumber;
|
||||
private UInt16 ETKAreaNumber;
|
||||
private UInt16 VAreaByteSize;
|
||||
private UInt16 ETKAreaByteSize;
|
||||
private UInt16 AlarmByteSize;
|
||||
|
||||
|
||||
private string SysLink = "";
|
||||
@@ -42,6 +43,7 @@ namespace SCMCncLib
|
||||
private int iChannel;
|
||||
private int iError;
|
||||
|
||||
|
||||
private string StatusAddressName;
|
||||
private TS_REG StatusAddress;
|
||||
|
||||
@@ -50,10 +52,10 @@ namespace SCMCncLib
|
||||
|
||||
private string VAreaAddressName;
|
||||
private TS_REG VAreaAddress;
|
||||
|
||||
|
||||
|
||||
private string ETKAreaAddressName;
|
||||
private TS_REG ETKAreaAddress;
|
||||
|
||||
/// <summary>
|
||||
/// Memorie a 4 byte (32 bit)
|
||||
/// </summary>
|
||||
@@ -61,15 +63,29 @@ namespace SCMCncLib
|
||||
public UInt32[] PLC_MemoryWrite;
|
||||
|
||||
/// <summary>
|
||||
/// memorie a 4 byte (32 bit)
|
||||
/// Area V: memoria temp di UINT di 4 byte (32 bit)
|
||||
/// </summary>
|
||||
public UInt32[] PLC_MemAreaV_tmp;
|
||||
/// <summary>
|
||||
/// Area ETK: memoria temp di UINT di 4 byte (32 bit)
|
||||
/// </summary>
|
||||
public UInt32[] PLC_MemAreaETK_tmp;
|
||||
/// <summary>
|
||||
/// memorie a 1 byte (8 bit)
|
||||
/// Area Allarmi: memoria temp di UINT di 4 byte (32 bit)
|
||||
/// </summary>
|
||||
public UInt32[] PLC_MemAreaAlarm_tmp;
|
||||
/// <summary>
|
||||
/// memorie a 1 byte (8 bit) x area V (status e valori vari)
|
||||
/// </summary>
|
||||
public Byte[] PLC_MemoryAreaV;
|
||||
/// <summary>
|
||||
/// memorie a 1 byte (8 bit) x area ETK (status e valori vari)
|
||||
/// </summary>
|
||||
public Byte[] PLC_MemoryAreaETK;
|
||||
/// <summary>
|
||||
/// memorie a 1 byte (8 bit) x area Allarmi (V[300] - 256 bit)
|
||||
/// </summary>
|
||||
public Byte[] PLC_MemoryAreaAllarmi;
|
||||
|
||||
// esa constants
|
||||
#region ESA_PLC_CONSTANTS
|
||||
@@ -156,8 +172,9 @@ namespace SCMCncLib
|
||||
//hack: metto fisso... OCCHIO son 4 byte x area SIM...
|
||||
ReadNumber = 265;
|
||||
WriteNumber = 265;
|
||||
VAreaNumber = 8;
|
||||
ETKAreaNumber = 8;
|
||||
VAreaByteSize = 32;
|
||||
ETKAreaByteSize = 32;
|
||||
AlarmByteSize = 32;
|
||||
#if false
|
||||
// store read and write number of bytes
|
||||
ReadNumber = Convert.ToUInt16(mwEngine.MemoryManager.NrByteToRead / 4);
|
||||
@@ -171,19 +188,25 @@ namespace SCMCncLib
|
||||
CommandsAddressName = fIni.ReadString("NC", "CommandsAddress", "SIMREAD[0]");
|
||||
VAreaAddressName= fIni.ReadString("NC", "VAreaAddress", "SIMREAD[0]");
|
||||
|
||||
// create read buffer
|
||||
/**************************************************
|
||||
* Creazione buffers letture memoria
|
||||
**************************************************/
|
||||
|
||||
// create read buffer 32bit
|
||||
PLC_MemoryRead = new UInt32[ReadNumber];
|
||||
// create write buffer
|
||||
// create write buffer 32bit
|
||||
PLC_MemoryWrite = new UInt32[WriteNumber];
|
||||
|
||||
// create VArea buffer
|
||||
PLC_MemAreaV_tmp = new UInt32[VAreaNumber];
|
||||
// create ETKArea buffer
|
||||
PLC_MemAreaETK_tmp = new UInt32[ETKAreaNumber];
|
||||
// creazione buffers a 32bit
|
||||
PLC_MemAreaV_tmp = new UInt32[VAreaByteSize/4];
|
||||
PLC_MemAreaETK_tmp = new UInt32[ETKAreaByteSize/4];
|
||||
PLC_MemAreaAlarm_tmp = new UInt32[AlarmByteSize/4];
|
||||
|
||||
// creo array duali in bytes...
|
||||
PLC_MemoryAreaV = new Byte[4 * VAreaNumber];
|
||||
PLC_MemoryAreaETK = new Byte[4 * ETKAreaNumber];
|
||||
|
||||
PLC_MemoryAreaV = new Byte[VAreaByteSize];
|
||||
PLC_MemoryAreaETK = new Byte[ETKAreaByteSize];
|
||||
PLC_MemoryAreaAllarmi = new Byte[AlarmByteSize];
|
||||
|
||||
|
||||
if (!Connect())
|
||||
Disconnect();
|
||||
@@ -322,28 +345,20 @@ namespace SCMCncLib
|
||||
// lettura buffer dal CN
|
||||
iError = read_regbuffer(ref StatusAddress, 0, ReadNumber, PLC_MemoryRead);
|
||||
|
||||
// devo definire posizione memorie Vcome TS_REG
|
||||
iError = read_regbuffer(ref VAreaAddress, 68, 32, PLC_MemAreaV_tmp);
|
||||
// leggo da posizione memorie Vcome TS_REG
|
||||
iError = read_regbuffer(ref VAreaAddress, 68, VAreaByteSize, PLC_MemAreaV_tmp);
|
||||
|
||||
//// !!!FARE!!! leggere ETK
|
||||
//iError = read_regbuffer(ref ETKAreaAddress, 68, 32, PLC_MemAreaETK_tmp);
|
||||
// leggo da posizione memorie ETK TS_REG
|
||||
iError = read_regbuffer(ref ETKAreaAddress, 68, ETKAreaByteSize, PLC_MemAreaETK_tmp);
|
||||
|
||||
|
||||
// leggo da posizione memorie Vcome TS_REG
|
||||
iError = read_regbuffer(ref VAreaAddress, 300, AlarmByteSize, PLC_MemAreaAlarm_tmp);
|
||||
|
||||
// copio in array a byte...
|
||||
Buffer.BlockCopy(PLC_MemAreaV_tmp, 0, PLC_MemoryAreaV, 0, 4 * VAreaNumber);
|
||||
Buffer.BlockCopy(PLC_MemAreaETK_tmp, 0, PLC_MemoryAreaETK, 0, 4 * ETKAreaNumber);
|
||||
|
||||
|
||||
#if false
|
||||
// se tutto ok leggo anche buffer V
|
||||
if (iError == 0)
|
||||
{
|
||||
iError = read_regbuffer(ref StatusAddress, 0, ReadNumber, PLC_MemoryAreaV);
|
||||
}
|
||||
#endif
|
||||
|
||||
//System.Buffer.BlockCopy(PLC_MemoryRead, 0, mwEngine.MemoryManager.ReadMemory, 0, mwEngine.MemoryManager.NrByteToRead);
|
||||
// set flag to inform graphic engine that data have been read from device
|
||||
//mwEngine.BufferRead = true;
|
||||
Buffer.BlockCopy(PLC_MemAreaV_tmp, 0, PLC_MemoryAreaV, 0, VAreaByteSize);
|
||||
Buffer.BlockCopy(PLC_MemAreaETK_tmp, 0, PLC_MemoryAreaETK, 0, ETKAreaByteSize);
|
||||
Buffer.BlockCopy(PLC_MemAreaAlarm_tmp, 0, PLC_MemoryAreaAllarmi, 0, AlarmByteSize);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user