Merge branch 'feature/S7Net' into develop
This commit is contained in:
@@ -636,9 +636,11 @@ namespace CMS_CORE_Library
|
||||
/// <summary>
|
||||
/// Write recipe updated MULTIPLE parameter
|
||||
/// </summary>
|
||||
/// <param name="updtParam"></param>
|
||||
/// <param name="newParameters">Oggetto parametri da aggiornare (from HMI)</param>
|
||||
/// <param name="nMaxParamWrite">num max parametri da scrivere singolarmente</param>
|
||||
/// <param name="delayParamWrite">delay in scriottura multi parametri singoli</param>
|
||||
/// <returns></returns>
|
||||
public abstract CmsError PLC_WRecipeParameters(Dictionary<int, int> newParameters);
|
||||
public abstract CmsError PLC_WRecipeParameters(Dictionary<int, int> newParameters, int nMaxParamWrite, int delayParamWrite);
|
||||
/// <summary>
|
||||
/// Confirm/Cancel recipe modifications
|
||||
/// </summary>
|
||||
|
||||
@@ -1268,7 +1268,7 @@ namespace CMS_CORE_Library.S7Net
|
||||
// If PLC is true --> reset
|
||||
if (readValue)
|
||||
{
|
||||
bool forceVal =false;
|
||||
bool forceVal = false;
|
||||
libraryError = MEM_RWBoolean(W, fixEndian, 0, strobeCell.MemType, strobeCell.Address, strobeByte, alarmBitId, ref forceVal);
|
||||
}
|
||||
|
||||
@@ -1742,13 +1742,13 @@ namespace CMS_CORE_Library.S7Net
|
||||
return libraryError;
|
||||
#endif
|
||||
|
||||
// FIXME TODO --> forzato tutto a true... eventualmente rivedere in futuro x processo caricatore vs processo principale
|
||||
bool forceValues = true;
|
||||
// FIXME TODO --> forzato tutto a true... eventualmente rivedere in futuro x processo caricatore vs processo principale
|
||||
bool forceValues = true;
|
||||
|
||||
if (forceValues)
|
||||
{
|
||||
processData.Visible = true;
|
||||
processData.Type = "WORK" ;
|
||||
processData.Type = "WORK";
|
||||
processData.IsSelected = true;
|
||||
processData.IsInAlarm = false;
|
||||
processData.CanLoadProgram = true;
|
||||
@@ -2098,9 +2098,11 @@ namespace CMS_CORE_Library.S7Net
|
||||
/// <summary>
|
||||
/// Write recipe updated MULTIPLE parameter
|
||||
/// </summary>
|
||||
/// <param name="updtParam"></param>
|
||||
/// <param name="newParameters">Oggetto parametri da aggiornare (from HMI)</param>
|
||||
/// <param name="nMaxParamWrite">num max parametri da scrivere singolarmente, default = 10</param>
|
||||
/// <param name="delayParamWrite">delay in scriottura multi parametri singoli, default = 20ms</param>
|
||||
/// <returns></returns>
|
||||
public override CmsError PLC_WRecipeParameters(Dictionary<int, int> newParameters)
|
||||
public override CmsError PLC_WRecipeParameters(Dictionary<int, int> newParameters, int nMaxParamWrite = 10, int delayParamWrite = 20)
|
||||
{
|
||||
// init variabili accessorie
|
||||
CmsError libraryError = NO_ERROR;
|
||||
@@ -2108,9 +2110,9 @@ namespace CMS_CORE_Library.S7Net
|
||||
int memIndex = 0;
|
||||
int packSize = 20;
|
||||
|
||||
// 2020.08.07
|
||||
// limite a 5 parametri x scrivere tutto (era 30)
|
||||
bool writeSingle = newParameters.Count < 5;
|
||||
|
||||
// 2020.09.03: ricevuto da chiamata, dovrebbe essere 5 parametri x scrivere tutto (era 30 prima di 2008.08.07)
|
||||
bool writeSingle = newParameters.Count < nMaxParamWrite;
|
||||
|
||||
// leggo da PLC a array di byte di appoggio...
|
||||
libraryError = MEM_RWByteList(R, 0, PARAMETER_DATA.MemType, PARAMETER_DATA.Address, PARAMETER_DATA.SubAddress, 0, PARAMETER_DATA.Size, ref currMem);
|
||||
@@ -2143,6 +2145,8 @@ namespace CMS_CORE_Library.S7Net
|
||||
libraryError = MEM_RWByteList(W, 0, PARAMETER_DATA.MemType, PARAMETER_DATA.Address, PARAMETER_DATA.SubAddress + packSize * (currParam.Id - 1) + 2, 0, 4, ref newMem);
|
||||
if (libraryError.IsError())
|
||||
return libraryError;
|
||||
// attendo x sicurezza...
|
||||
Thread.Sleep(delayParamWrite);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user