Correzione lettura aree memoria!!! OK test 1h!!!
This commit is contained in:
@@ -29,9 +29,9 @@ namespace EsaCncLib
|
||||
public class EsaBaseMem
|
||||
{
|
||||
/// <summary>
|
||||
/// Dimensione in Byte dell'area di memoria
|
||||
/// Dimensione dell'area di memoria (numero oggetti)
|
||||
/// </summary>
|
||||
public UInt16 BiteSize { get; set; } = 0;
|
||||
public UInt16 MemorySize { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// Nome dell'area di memoria
|
||||
/// </summary>
|
||||
@@ -224,65 +224,65 @@ namespace EsaCncLib
|
||||
SCMA_MMan_CNT = new EsaDWordMem();
|
||||
SCMA_MMan_MNT = new EsaDWordMem();
|
||||
// aree FIXED secondo necessità: indicazione dimensione x impiego // rif aree reali ESA reale (commento successivo)
|
||||
SCMA_MMan_ACK.BiteSize = 4; // 32
|
||||
SCMA_MMan_STROBE.BiteSize = 4; // 32
|
||||
SCMA_MMan_WD.BiteSize = 1; // 1
|
||||
SCMA_MMan_status.BiteSize = 1; // 1
|
||||
SCMA_MMan_ALM.BiteSize = 32; // 32
|
||||
SCMA_MMan_MNUM.BiteSize = 2; // 2
|
||||
SCMA_MMan_MF.BiteSize = 20; // 20
|
||||
SCMA_MMan_SNUM.BiteSize = 2; // 2
|
||||
SCMA_MMan_SF.BiteSize = 10; // 10
|
||||
SCMA_MMan_TNUM.BiteSize = 2; // 2
|
||||
SCMA_MMan_TF.BiteSize = 10; // 10
|
||||
SCMA_MMan_OVR.BiteSize = 4; // 16
|
||||
SCMA_MMan_ANALOG.BiteSize = 128; // 128
|
||||
SCMA_MMan_CNT.BiteSize = 128; // 128
|
||||
SCMA_MMan_MNT.BiteSize = 131; // 131
|
||||
SCMA_MMan_ACK.MemorySize = 4; // 32
|
||||
SCMA_MMan_STROBE.MemorySize = 4; // 32
|
||||
SCMA_MMan_WD.MemorySize = 1; // 1
|
||||
SCMA_MMan_status.MemorySize = 1; // 1
|
||||
SCMA_MMan_ALM.MemorySize = 32; // 32
|
||||
SCMA_MMan_MNUM.MemorySize = 2; // 2
|
||||
SCMA_MMan_MF.MemorySize = 20; // 20
|
||||
SCMA_MMan_SNUM.MemorySize = 2; // 2
|
||||
SCMA_MMan_SF.MemorySize = 10; // 10
|
||||
SCMA_MMan_TNUM.MemorySize = 2; // 2
|
||||
SCMA_MMan_TF.MemorySize = 10; // 10
|
||||
SCMA_MMan_OVR.MemorySize = 4; // 16
|
||||
SCMA_MMan_ANALOG.MemorySize = 128; // 128
|
||||
SCMA_MMan_CNT.MemorySize = 128; // 128
|
||||
SCMA_MMan_MNT.MemorySize = 131; // 131
|
||||
|
||||
// indirizzo area IOT...
|
||||
SCMA_MMan_ACK.AddressName = "SCMA.ACK"; //fIni.ReadString("NC", "SCMA_AreaAddress_ACK", "SCMA.ACK");
|
||||
SCMA_MMan_STROBE.AddressName = "SCMA.STROBE";
|
||||
SCMA_MMan_WD.AddressName = "SCMA.WD";
|
||||
SCMA_MMan_status.AddressName = "SCMA.status";
|
||||
SCMA_MMan_ALM.AddressName = "SCMA.ALM";
|
||||
SCMA_MMan_MNUM.AddressName = "SCMA.MNUM";
|
||||
SCMA_MMan_MF.AddressName = "SCMA.MF";
|
||||
SCMA_MMan_SNUM.AddressName = "SCMA.SNUM";
|
||||
SCMA_MMan_SF.AddressName = "SCMA.SF";
|
||||
SCMA_MMan_TNUM.AddressName = "SCMA.TNUM";
|
||||
SCMA_MMan_TF.AddressName = "SCMA.TF";
|
||||
SCMA_MMan_OVR.AddressName = "SCMA.OVR";
|
||||
SCMA_MMan_ANALOG.AddressName = "SCMA.ANALOG";
|
||||
SCMA_MMan_CNT.AddressName = "SCMA.CNT";
|
||||
SCMA_MMan_MNT.AddressName = "SCMA.MNT";
|
||||
SCMA_MMan_ACK.AddressName = "scma.ACK"; //fIni.ReadString("NC", "SCMA_AreaAddress_ACK", "scma.ACK");
|
||||
SCMA_MMan_STROBE.AddressName = "scma.STROBE";
|
||||
SCMA_MMan_WD.AddressName = "scma.WD";
|
||||
SCMA_MMan_status.AddressName = "scma.status";
|
||||
SCMA_MMan_ALM.AddressName = "scma.ALM";
|
||||
SCMA_MMan_MNUM.AddressName = "scma.MNUM";
|
||||
SCMA_MMan_MF.AddressName = "scma.MF";
|
||||
SCMA_MMan_SNUM.AddressName = "scma.SNUM";
|
||||
SCMA_MMan_SF.AddressName = "scma.SF";
|
||||
SCMA_MMan_TNUM.AddressName = "scma.TNUM";
|
||||
SCMA_MMan_TF.AddressName = "scma.TF";
|
||||
SCMA_MMan_OVR.AddressName = "scma.OVR";
|
||||
SCMA_MMan_ANALOG.AddressName = "scma.ANALOG";
|
||||
SCMA_MMan_CNT.AddressName = "scma.CNT";
|
||||
SCMA_MMan_MNT.AddressName = "scma.MNT";
|
||||
|
||||
// Creazione buffers letture memoria
|
||||
SCMA_MMan_ACK.data = new UInt32[SCMA_MMan_ACK.BiteSize];
|
||||
SCMA_MMan_STROBE.data = new UInt32[SCMA_MMan_STROBE.BiteSize];
|
||||
SCMA_MMan_ALM.data = new UInt32[SCMA_MMan_ALM.BiteSize];
|
||||
SCMA_MMan_MNT.data = new UInt32[SCMA_MMan_MNT.BiteSize];
|
||||
SCMA_MMan_ANALOG.data = new UInt32[SCMA_MMan_ANALOG.BiteSize];
|
||||
SCMA_MMan_CNT.data = new UInt32[SCMA_MMan_CNT.BiteSize];
|
||||
SCMA_MMan_ACK.data = new UInt32[SCMA_MMan_ACK.MemorySize];
|
||||
SCMA_MMan_STROBE.data = new UInt32[SCMA_MMan_STROBE.MemorySize];
|
||||
SCMA_MMan_ALM.data = new UInt32[SCMA_MMan_ALM.MemorySize];
|
||||
SCMA_MMan_MNT.data = new UInt32[SCMA_MMan_MNT.MemorySize];
|
||||
SCMA_MMan_ANALOG.data = new UInt32[SCMA_MMan_ANALOG.MemorySize];
|
||||
SCMA_MMan_CNT.data = new UInt32[SCMA_MMan_CNT.MemorySize];
|
||||
|
||||
SCMA_MMan_WD.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_WD.BiteSize / 2)];
|
||||
SCMA_MMan_WD.data = new UInt16[SCMA_MMan_WD.BiteSize];
|
||||
SCMA_MMan_MF.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_MF.BiteSize / 2)];
|
||||
SCMA_MMan_MF.data = new UInt16[SCMA_MMan_MF.BiteSize];
|
||||
SCMA_MMan_SF.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_SF.BiteSize / 2)];
|
||||
SCMA_MMan_SF.data = new UInt16[SCMA_MMan_SF.BiteSize];
|
||||
SCMA_MMan_TF.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_TF.BiteSize / 2)];
|
||||
SCMA_MMan_TF.data = new UInt16[SCMA_MMan_TF.BiteSize];
|
||||
SCMA_MMan_MNUM.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_MNUM.BiteSize / 2)];
|
||||
SCMA_MMan_MNUM.data = new UInt16[SCMA_MMan_MNUM.BiteSize];
|
||||
SCMA_MMan_SNUM.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_SNUM.BiteSize / 2)];
|
||||
SCMA_MMan_SNUM.data = new UInt16[SCMA_MMan_SNUM.BiteSize];
|
||||
SCMA_MMan_TNUM.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_TNUM.BiteSize / 2)];
|
||||
SCMA_MMan_TNUM.data = new UInt16[SCMA_MMan_TNUM.BiteSize];
|
||||
SCMA_MMan_OVR.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_OVR.BiteSize / 4)];
|
||||
SCMA_MMan_OVR.data = new Byte[SCMA_MMan_OVR.BiteSize];
|
||||
SCMA_MMan_status.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_status.BiteSize / 4)];
|
||||
SCMA_MMan_status.data = new Byte[SCMA_MMan_status.BiteSize];
|
||||
SCMA_MMan_WD.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_WD.MemorySize / 2)];
|
||||
SCMA_MMan_WD.data = new UInt16[SCMA_MMan_WD.MemorySize];
|
||||
SCMA_MMan_MF.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_MF.MemorySize / 2)];
|
||||
SCMA_MMan_MF.data = new UInt16[SCMA_MMan_MF.MemorySize];
|
||||
SCMA_MMan_SF.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_SF.MemorySize / 2)];
|
||||
SCMA_MMan_SF.data = new UInt16[SCMA_MMan_SF.MemorySize];
|
||||
SCMA_MMan_TF.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_TF.MemorySize / 2)];
|
||||
SCMA_MMan_TF.data = new UInt16[SCMA_MMan_TF.MemorySize];
|
||||
SCMA_MMan_MNUM.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_MNUM.MemorySize / 2)];
|
||||
SCMA_MMan_MNUM.data = new UInt16[SCMA_MMan_MNUM.MemorySize];
|
||||
SCMA_MMan_SNUM.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_SNUM.MemorySize / 2)];
|
||||
SCMA_MMan_SNUM.data = new UInt16[SCMA_MMan_SNUM.MemorySize];
|
||||
SCMA_MMan_TNUM.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_TNUM.MemorySize / 2)];
|
||||
SCMA_MMan_TNUM.data = new UInt16[SCMA_MMan_TNUM.MemorySize];
|
||||
SCMA_MMan_OVR.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_OVR.MemorySize / 4)];
|
||||
SCMA_MMan_OVR.data = new Byte[SCMA_MMan_OVR.MemorySize];
|
||||
SCMA_MMan_status.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_status.MemorySize / 4)];
|
||||
SCMA_MMan_status.data = new Byte[SCMA_MMan_status.MemorySize];
|
||||
}
|
||||
|
||||
#if false
|
||||
@@ -333,12 +333,12 @@ namespace EsaCncLib
|
||||
// variabili di appoggio
|
||||
TS_REG newTsReg = currData.AddresReg;// new TS_REG();
|
||||
// effettuo lettura!
|
||||
iError = read_regbuffer(ref newTsReg, 0, currData.BiteSize, currData.tempData);
|
||||
iError = read_regbuffer(ref newTsReg, 0, currData.MemorySize, currData.tempData);
|
||||
currData.AddresReg = newTsReg;
|
||||
// ...e copio in array a byte...
|
||||
try
|
||||
{
|
||||
Buffer.BlockCopy(currData.tempData, 0, currData.data, 0, currData.BiteSize);
|
||||
Buffer.BlockCopy(currData.tempData, 0, currData.data, 0, currData.MemorySize);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
@@ -366,12 +366,12 @@ namespace EsaCncLib
|
||||
// variabili di appoggio
|
||||
TS_REG newTsReg = currData.AddresReg;
|
||||
// effettuo lettura!
|
||||
iError = read_regbuffer(ref newTsReg, 0, currData.BiteSize, currData.tempData);
|
||||
iError = read_regbuffer(ref newTsReg, 0, currData.MemorySize, currData.tempData);
|
||||
currData.AddresReg = newTsReg;
|
||||
// ...e copio in array a byte...
|
||||
try
|
||||
{
|
||||
Buffer.BlockCopy(currData.tempData, 0, currData.data, 0, currData.BiteSize*2);
|
||||
Buffer.BlockCopy(currData.tempData, 0, currData.data, 0, currData.MemorySize*2);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
@@ -397,7 +397,7 @@ namespace EsaCncLib
|
||||
// variabili di appoggio
|
||||
TS_REG newTsReg = currData.AddresReg;// new TS_REG();
|
||||
// effettuo lettura!
|
||||
iError = read_regbuffer(ref newTsReg, 0, currData.BiteSize, currData.data);
|
||||
iError = read_regbuffer(ref newTsReg, 0, currData.MemorySize, currData.data);
|
||||
currData.AddresReg = newTsReg;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user