Update vers stabile SIM x parametri simulati
This commit is contained in:
+128
-12
@@ -809,8 +809,6 @@ namespace IOB_WIN
|
||||
utils.callUrl(urlSetM2IOB);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Chiede elenco dei task da eseguire
|
||||
/// - formato Json
|
||||
@@ -834,6 +832,24 @@ namespace IOB_WIN
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Stringa raw dei parametri da scrivere...
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
protected string getParamws2write()
|
||||
{
|
||||
string answ = "";
|
||||
if (checkServerAlive)
|
||||
{
|
||||
string url2call = $"{urlGetParams2Write}";
|
||||
if (verboseLog)
|
||||
{
|
||||
lgInfo("chiamata URL " + url2call);
|
||||
}
|
||||
answ = utils.callUrl(url2call);
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Cancella dal server i task eseguiti
|
||||
/// </summary>
|
||||
/// <param name="taskName"></param>
|
||||
@@ -1284,7 +1300,7 @@ namespace IOB_WIN
|
||||
Dictionary<string, string> taskDone = new Dictionary<string, string>();
|
||||
// recupero elenco delle cose da fare
|
||||
string resp = getTask2exe();
|
||||
if (resp != "")
|
||||
if (!string.IsNullOrEmpty(resp))
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -1359,6 +1375,8 @@ namespace IOB_WIN
|
||||
dataConf currMem = memMap.mMapWrite[item.Key];
|
||||
string addr = currMem.memAddr;
|
||||
taskVal = $"SET task: {item.Key} --> {item.Value} | mem: {currMem.memAddr} - {currMem.size} byte";
|
||||
// salvo il nuovo valore nella memoria... così prox invio lo trasmetterà
|
||||
memMap.mMapWrite[item.Key].value = item.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1387,15 +1405,21 @@ namespace IOB_WIN
|
||||
lgInfo($"Chiamata stopSetup: taskOk: {taskOk} | taskVal: {taskVal}");
|
||||
break;
|
||||
case taskType.setParameter:
|
||||
// i parametri me li aspetto come stringa composta paramName|paramvalue
|
||||
if (item.Value.Contains("|"))
|
||||
// richiedo da URL i parametri WRITE da popolare
|
||||
taskVal = processMemWriteRequests();
|
||||
// se restituiscce "" faccio altra prova...
|
||||
if (string.IsNullOrEmpty(taskVal))
|
||||
{
|
||||
string[] paramsJob = item.Value.Split('|');
|
||||
taskVal = $"REQUEST SET PARAMETERS: {paramsJob[0]} --> {paramsJob[1]}";
|
||||
}
|
||||
else
|
||||
{
|
||||
taskVal = $"WRONG REQUEST FOR SET PARAMETERS: {item.Value} doesnt contain pipe for splitting key/value";
|
||||
// i parametri me li aspetto come stringa composta paramName|paramvalue
|
||||
if (item.Value.Contains("|"))
|
||||
{
|
||||
string[] paramsJob = item.Value.Split('|');
|
||||
taskVal = $"REQUEST SET PARAMETERS: {paramsJob[0]} --> {paramsJob[1]}";
|
||||
}
|
||||
else
|
||||
{
|
||||
taskVal = $"WRONG REQUEST FOR SET PARAMETERS: {item.Value} doesnt contain pipe for splitting key/value";
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -1409,6 +1433,57 @@ namespace IOB_WIN
|
||||
|
||||
return taskDone;
|
||||
}
|
||||
/// <summary>
|
||||
/// Processa le richieste di scrittura memoria
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public virtual string processMemWriteRequests()
|
||||
{
|
||||
string answ = "";
|
||||
// li salvo nei parametri in memoria locale (ogni adapter DOVREBBE salvare POI sul VERO PLC)
|
||||
List<objItem> writeList = new List<objItem>();
|
||||
List<objItem> updatedPar = new List<objItem>();
|
||||
// recupero elenco delle cose da fare
|
||||
string resp = getParamws2write();
|
||||
if (!string.IsNullOrEmpty(resp))
|
||||
{
|
||||
try
|
||||
{
|
||||
writeList = JsonConvert.DeserializeObject<List<objItem>>(resp);
|
||||
// se ho da fare chiamo esecuzione..
|
||||
if (writeList.Count > 0)
|
||||
{
|
||||
foreach (var item in writeList)
|
||||
{
|
||||
// scrivo in memoria
|
||||
if (memMap.mMapWrite.ContainsKey(item.uid))
|
||||
{
|
||||
memMap.mMapWrite[item.uid].value = item.reqValue;
|
||||
// accodo in stringa taskVal...
|
||||
answ += $" | Parameter {item.uid} --> {item.reqValue}";
|
||||
// sistemo valori
|
||||
item.reqValue = "";
|
||||
// salvo in lista da ritrasmettere
|
||||
updatedPar.Add(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
answ += $" | Error: parameter {item.uid} not found";
|
||||
}
|
||||
}
|
||||
// invio su cloud parametri!
|
||||
string rawData = JsonConvert.SerializeObject(updatedPar);
|
||||
utils.callUrl($"{urlUpdateWriteParams}", rawData);
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
lgError($"Eccezione in processServerRequests:{Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Metodo generico di reset contapezzi...
|
||||
/// </summary>
|
||||
@@ -2068,6 +2143,25 @@ namespace IOB_WIN
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// URL per richiamo parametri da scrivere...
|
||||
/// </summary>
|
||||
public string urlGetParams2Write
|
||||
{
|
||||
get
|
||||
{
|
||||
string answ = "";
|
||||
try
|
||||
{
|
||||
answ = string.Format(@"http://{0}{1}{2}/getObjItems2Write/{3}", cIobConf.serverData.MPIP, cIobConf.serverData.MPURL, cIobConf.serverData.CMDALIVE, cIobConf.codIOB);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
lgError(exc, "Errore in composizione urlGetParams2Write");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// URL per richiamo task da eseguire...
|
||||
/// </summary>
|
||||
public string urlGetTask2Exe
|
||||
@@ -2194,7 +2288,29 @@ namespace IOB_WIN
|
||||
try
|
||||
{
|
||||
string machineName = Environment.MachineName;
|
||||
answ = string.Format(@"http://{0}{1}{2}/upsertObjItems/{3}", cIobConf.serverData.MPIP, cIobConf.serverData.MPURL, cIobConf.serverData.CMDALIVE, cIobConf.codIOB);
|
||||
string apiCall = "setObjItems";
|
||||
answ = string.Format(@"http://{0}{1}{2}/{3}/{4}", cIobConf.serverData.MPIP, cIobConf.serverData.MPURL, cIobConf.serverData.CMDALIVE, apiCall, cIobConf.codIOB);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
lgError(exc, "Errore in composizione urlSaveMemConf");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// URL per salvataggio in UPSERT dei PARAMETRI IOB scritti...
|
||||
/// </summary>
|
||||
public string urlUpdateWriteParams
|
||||
{
|
||||
get
|
||||
{
|
||||
string answ = "";
|
||||
try
|
||||
{
|
||||
string machineName = Environment.MachineName;
|
||||
string apiCall = "upsertObjItems";
|
||||
answ = string.Format(@"http://{0}{1}{2}/{3}/{4}", cIobConf.serverData.MPIP, cIobConf.serverData.MPURL, cIobConf.serverData.CMDALIVE, apiCall, cIobConf.codIOB);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
|
||||
+19
-19
@@ -523,7 +523,6 @@ namespace IOB_WIN
|
||||
private void decodeOtherData()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recupero programma in lavorazione
|
||||
/// </summary>
|
||||
@@ -535,23 +534,23 @@ namespace IOB_WIN
|
||||
return prgName;
|
||||
}
|
||||
/// <summary>
|
||||
/// Recupero dati override (da area G che è già stata letta...)
|
||||
/// Genera un valore random POSSIBILMENTE impiegando i valori min/max da conf memoria
|
||||
/// </summary>
|
||||
/// <param name="memName"></param>
|
||||
/// <returns></returns>
|
||||
public override Dictionary<string, string> getOverrides()
|
||||
protected string getSimVal(string memName)
|
||||
{
|
||||
Dictionary<string, string> outVal = new Dictionary<string, string>();
|
||||
// processo SOLO SE connected...
|
||||
if (connectionOk)
|
||||
Random rnd = new Random();
|
||||
int answ = 0;
|
||||
int minVal = 0;
|
||||
int maxVal = 100;
|
||||
if (memMap.mMapRead.ContainsKey(memName))
|
||||
{
|
||||
Random rnd = new Random();
|
||||
int feedOvr = rnd.Next(1, 100);
|
||||
int rapdOvr = rnd.Next(1, 120);
|
||||
outVal.Add("FEED_OVER", feedOvr.ToString());
|
||||
outVal.Add("RAPID_OVER", rapdOvr.ToString());
|
||||
|
||||
minVal = memMap.mMapRead[memName].minVal;
|
||||
maxVal = memMap.mMapRead[memName].maxVal;
|
||||
}
|
||||
return outVal;
|
||||
answ = rnd.Next(minVal, maxVal);
|
||||
return answ.ToString();
|
||||
}
|
||||
/// <summary>
|
||||
/// Recupero info sistema generiche
|
||||
@@ -571,15 +570,16 @@ namespace IOB_WIN
|
||||
// valore non presente in vers default... se gestito fare override
|
||||
Dictionary<string, string> outVal = new Dictionary<string, string>();
|
||||
Random rnd = new Random();
|
||||
int posX = rnd.Next(1, 1000);
|
||||
int posY = rnd.Next(1, 1000);
|
||||
int posZ = rnd.Next(1, 1000);
|
||||
outVal.Add("POS_X", posX.ToString());
|
||||
outVal.Add("POS_Y", posY.ToString());
|
||||
outVal.Add("POS_Z", posZ.ToString());
|
||||
// controllo conf memorie json (se ci sono...)
|
||||
try
|
||||
{
|
||||
if (memMap.mMapWrite.Count > 0)
|
||||
{
|
||||
foreach (var item in memMap.mMapWrite)
|
||||
{
|
||||
outVal.Add(item.Key, item.Value.value);
|
||||
}
|
||||
}
|
||||
if (memMap.mMapRead.Count > 0)
|
||||
{
|
||||
foreach (var item in memMap.mMapRead)
|
||||
|
||||
Vendored
+1
-1
@@ -16,7 +16,7 @@ pipeline {
|
||||
|
||||
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
|
||||
script {
|
||||
withEnv(['NEXT_BUILD_NUMBER=508']) {
|
||||
withEnv(['NEXT_BUILD_NUMBER=509']) {
|
||||
// env.versionNumber = VersionNumber(versionNumberString : '2.4.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true)
|
||||
env.versionNumber = VersionNumber(versionNumberString : '2.4.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
|
||||
env.APP_NAME = 'MAPO-IOB-WIN'
|
||||
|
||||
Reference in New Issue
Block a user