completata review x lettura FLOAT (posizione assi)
This commit is contained in:
@@ -147,6 +147,32 @@ namespace MTC_Adapter
|
||||
parentForm.commPlcActive = false;
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// wrapper chiamata lettura/scrittura MULTI Float...
|
||||
/// </summary>
|
||||
/// <param name="bWrite"></param>
|
||||
/// <param name="MemType">main address (1499/1500)</param>
|
||||
/// <param name="memIndex"></param>
|
||||
/// <param name="MATRICE Value"></param>
|
||||
/// <returns></returns>
|
||||
public bool SIEMENSMemRW_Float(bool bWrite, int MemType, Int32 memIndex, ref float[] Value)
|
||||
{
|
||||
bool answ = false;
|
||||
if (SIEMENS_ref.Connected)
|
||||
{
|
||||
try
|
||||
{
|
||||
parentForm.commPlcActive = true;
|
||||
answ = SIEMENS_ref.S_RW_Real(bWrite, MemType, memIndex, ref Value);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
lg.Error(string.Format("Eccezione in SIEMENSMemRW_DWord: {0}{1}", Environment.NewLine, exc));
|
||||
}
|
||||
}
|
||||
parentForm.commPlcActive = false;
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// struttura dati SIEMENS x ALL DYN DATA
|
||||
@@ -391,7 +417,7 @@ namespace MTC_Adapter
|
||||
if (utils.CRB("readAllTop"))
|
||||
{
|
||||
// copio la memoria allarmi dalla memoria top...
|
||||
Buffer.BlockCopy(MemBlockTop, memIndexMST, MemBlock_MST, 0, MemBlock_MST.Length );
|
||||
Buffer.BlockCopy(MemBlockTop, memIndexMST, MemBlock_MST, 0, MemBlock_MST.Length);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -976,9 +1002,13 @@ namespace MTC_Adapter
|
||||
// leggo le posizioni SINO ai 16 assi permessi...
|
||||
|
||||
int memIndex = 0;
|
||||
// leggo TUTTI i primi 284 byte...
|
||||
inizio = DateTime.Now;
|
||||
SIEMENSMemRW_DWord(R, baseMemAx, memIndex, ref axisPosData);
|
||||
|
||||
// !!!FARE!!! leggere un MACRO blocco di dati (multi) x dati assi....
|
||||
|
||||
// MODIFICA: leggo float direttamente x posizione assi...
|
||||
float[] axisPosFloat = new float[axisPosData.Length];
|
||||
SIEMENSMemRW_Float(R, baseMemAx, memIndex, ref axisPosFloat);
|
||||
if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-AXIS_POS", MemBlockTop.Length), DateTime.Now.Subtract(inizio).Ticks);
|
||||
|
||||
for (int i = 0; i < currAdpConf.nAxis; i++)
|
||||
@@ -986,8 +1016,8 @@ namespace MTC_Adapter
|
||||
// per sicurezza try-catch
|
||||
try
|
||||
{
|
||||
// popolo valori... ipotesi CENTESIMI di mm...
|
||||
newPos = axisPosData[i] / 100;
|
||||
// popolo valori... ipotesi MILLESIMI di mm... CONVERSIONE BigEndianness
|
||||
newPos = axisPosFloat[i];// axisPosData[i] / 1000;
|
||||
|
||||
// manca LOAD assi
|
||||
#if false
|
||||
|
||||
Reference in New Issue
Block a user