Abbozzato gestione StatusList.map

This commit is contained in:
Samuele E. Locatelli
2019-07-16 22:31:58 +02:00
parent fc778074ce
commit e277568dfc
6 changed files with 66 additions and 17 deletions
Vendored
+1 -1
View File
@@ -15,7 +15,7 @@ pipeline {
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
script {
withEnv(['NEXT_BUILD_NUMBER=397']) {
withEnv(['NEXT_BUILD_NUMBER=398']) {
// env.versionNumber = VersionNumber(versionNumberString : '2.1.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true)
env.versionNumber = VersionNumber(versionNumberString : '2.1.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
env.APP_NAME = 'SCMA'
+8 -5
View File
@@ -11,8 +11,6 @@ namespace SCMA
using AdapterCom;
using MTC;
using OPC_UA_REDIS;
using System.Xml;
using System.Xml.Serialization;
#region macro oggetti da istanziare a blocchi da configurazione XML
@@ -1370,9 +1368,9 @@ namespace SCMA
importFile(utils.nameRepRoleFile);
// ora leggo il file GENERATO di replacement... NON dando per scontato ci sia...
if (File.Exists(utils.nameRepRoleFileGen))
if (File.Exists(utils.nameRepRoleFileSOUR))
{
importFile(utils.nameRepRoleFileGen);
importFile(utils.nameRepRoleFileSOUR);
}
}
@@ -1717,7 +1715,12 @@ namespace SCMA
}
int totRighe = 0;
string fileName = string.Format(@"{0}\{1}", utils.confDir, utils.CRS("StatusListFilePath"));
// secondo protocollo scelgo quale file...
string fileName = utils.StatusListFile;
if (currGateway.protocollo == gwProtocol.SOURS)
{
fileName = utils.StatusListFileSOUR;
}
string linea;
totRighe = File.ReadLines(fileName).Count();
// creo un vettore della dimensione corretta... conta anche commenti tanto poi riduco...
+1 -1
View File
@@ -135,7 +135,7 @@
<Component Name="01">
<Property SymbolicName="Type" BrowseName="Type" DataType="ua:String" ValueRank="Scalar" Value="SPINDLE" />
<Property SymbolicName="Model" BrowseName="Model" DataType="ua:String" ValueRank="Scalar" Value="CMS-SPINDLE-01" />
<Variable SymbolicName="Status" BrowseName="Status" DataType="ua:String" ValueRank="Scalar" Units="Enum" />
<Variable SymbolicName="Status" BrowseName="Status" DataType="ua:String" ValueRank="Scalar" Units="Enum" CmsDataType="StatusList" CmsDataIndex="006" CmsDataOpt="BIT" />
<Variable SymbolicName="Distance" BrowseName="Distance" DataType="ua:Float" ValueRank="Scalar" Units="Krev" />
<Variable SymbolicName="ActiveTime" BrowseName="ActiveTime" DataType="ua:Float" ValueRank="Scalar" Units="h" />
<Variable SymbolicName="SpeedRate" BrowseName="SpeedRate" DataType="ua:UInt32" ValueRank="Scalar" Units="rpm" />
+8 -6
View File
@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Xml;
namespace SCMA
@@ -34,6 +30,9 @@ namespace SCMA
public class Variable : ouData
{
public string Units { get; set; }
public string CmsDataType { get; set; } = "";
public string CmsDataIndex { get; set; } = "";
public string CmsDataOpt { get; set; } = "";
}
public class Condition : ouData
{
@@ -200,7 +199,10 @@ namespace SCMA
BrowseName = string.Format(baseNS + ":" + currElement.Attributes["SymbolicName"].Value),
DataType = currElement.Attributes["DataType"].Value,
ValueRank = currElement.Attributes["ValueRank"].Value,
Units = currElement.Attributes["Units"].Value
Units = currElement.Attributes["Units"].Value,
CmsDataIndex = currElement.Attributes["CmsDataIndex"] == null ? "" : currElement.Attributes["CmsDataIndex"].Value,
CmsDataOpt = currElement.Attributes["CmsDataOpt"] == null ? "" : currElement.Attributes["CmsDataOpt"].Value,
CmsDataType = currElement.Attributes["CmsDataType"] == null ? "" : currElement.Attributes["CmsDataType"].Value
};
Variables.Add(newItem);
// controllo se ha dei child... nel caso aggiungo i child...
+24 -1
View File
@@ -1284,7 +1284,7 @@ namespace SCMA
// preparo file temp x generazione regole
StreamWriter fileOut;
// apro in scrittura il file x mettere le regole...
fileOut = new StreamWriter(utils.nameRepRoleFileGen);
fileOut = new StreamWriter(utils.nameRepRoleFileSOUR);
fileOut.WriteLine("#------------------------------------------------------------");
fileOut.WriteLine("# AUTO GENERATED Replacement Conf File");
fileOut.WriteLine("#------------------------------------------------------------");
@@ -1603,6 +1603,29 @@ namespace SCMA
fileOut.WriteLine("#------------------------------------------------------------");
// chiudo file regole!
fileOut.Close();
// compilo il file StatusList.SOUR.map
fileOut = new StreamWriter(utils.StatusListFileSOUR);
int numStatus = 0;
fileOut.WriteLine("#------------------------------------------------------------");
fileOut.WriteLine("# AUTO GENERATED StatusList File");
fileOut.WriteLine("#------------------------------------------------------------");
fileOut.WriteLine("");
// ricerca gruppi AUX
List<DataModel.Variable> selStatus = currDataModel.Variables.FindAll(x => x.CmsDataType.Equals("StatusList"));
foreach (var item in selStatus)
{
// compilo il file di conf...
fileOut.WriteLine($"{item.CmsDataIndex}|{item.BrowseName}|{item.CmsDataOpt}");
}
fileOut.WriteLine("");
fileOut.WriteLine("#------------------------------------------------------------");
fileOut.WriteLine($"# EOF: {numStatus} status added");
fileOut.WriteLine("#------------------------------------------------------------");
// chiudo file regole!
fileOut.Close();
}
else
{
+24 -3
View File
@@ -57,13 +57,34 @@ namespace SCMA
}
}
/// <summary>
/// File x regole di replacement GENERATED
/// File x regole di replacement generato ad hoc x SOUR / OPC-UA
/// </summary>
public static string nameRepRoleFileGen
public static string nameRepRoleFileSOUR
{
get
{
return string.Format(@"{0}\{1}", utils.confDir, utils.CRS("NameRepRolesList").Replace(".map", ".gen.map"));
return nameRepRoleFile.Replace(".map", ".SOUR.map");
}
}
/// <summary>
/// File StatusList
/// </summary>
public static string StatusListFile
{
get
{
return string.Format(@"{0}\{1}", utils.confDir, utils.CRS("StatusListFilePath"));
}
}
/// <summary>
/// File StatusList generato ad hoc x SOUR / OPC-UA
///
/// </summary>
public static string StatusListFileSOUR
{
get
{
return StatusListFile.Replace(".map", ".SOUR.map");
}
}