DEcodifica correttamente testata file DataModel.xml
This commit is contained in:
Vendored
+1
-1
@@ -15,7 +15,7 @@ pipeline {
|
||||
|
||||
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
|
||||
script {
|
||||
withEnv(['NEXT_BUILD_NUMBER=386']) {
|
||||
withEnv(['NEXT_BUILD_NUMBER=387']) {
|
||||
// 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'
|
||||
|
||||
@@ -1,127 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace OPC_UA_REDIS
|
||||
{
|
||||
/// <summary>
|
||||
/// Classe per serializzazione / deserializzazione del datamodel x le informazioni necessarie x ADAPTER OPC-UA 2.1+
|
||||
/// </summary>
|
||||
public class DataModelClass
|
||||
{
|
||||
|
||||
#region oggetti di base
|
||||
|
||||
public class Component
|
||||
{
|
||||
public string name { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Classe di base oggetti OPC-UA in Datamodel da deserializzare
|
||||
/// </summary>
|
||||
public class ouBaseObj
|
||||
{
|
||||
[XmlAttribute]
|
||||
//[XmlAttribute("SymbolicName")]
|
||||
public string SymbolicName { get; set; }
|
||||
[XmlAttribute("BrowseName")]
|
||||
public string BrowseName { get; set; }
|
||||
[XmlAttribute("DataType")]
|
||||
public string DataType { get; set; }
|
||||
[XmlAttribute("ValueRank")]
|
||||
public string ValueRank { get; set; }
|
||||
}
|
||||
|
||||
public class ouProperty: ouBaseObj
|
||||
{
|
||||
[XmlAttribute("Value")]
|
||||
public string Value { get; set; }
|
||||
}
|
||||
|
||||
public class ouVariable: ouBaseObj
|
||||
{
|
||||
[XmlAttribute("Units")]
|
||||
public string Units { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region area oggetti deserializzazione
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto più esterno ModelDesign
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
[XmlRoot("ModelDesign")]
|
||||
public class ModelDesign
|
||||
{
|
||||
public Machine Machine;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto più esterno Machine
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class Machine
|
||||
{
|
||||
/// <summary>
|
||||
/// Property Model
|
||||
/// </summary>
|
||||
public ouProperty Model { get; set; }
|
||||
/// <summary>
|
||||
/// Property Manufacturer
|
||||
/// </summary>
|
||||
public ouProperty Manufacturer { get; set; }
|
||||
/// <summary>
|
||||
/// Property Serial
|
||||
/// </summary>
|
||||
public ouProperty Serial { get; set; }
|
||||
/// <summary>
|
||||
/// Property Type
|
||||
/// </summary>
|
||||
public ouProperty Type { get; set; }
|
||||
/// <summary>
|
||||
/// Property BuildYear
|
||||
/// </summary>
|
||||
public ouProperty BuildYear { get; set; }
|
||||
/// <summary>
|
||||
/// Variable Status
|
||||
/// </summary>
|
||||
public ouVariable Status { get; set; }
|
||||
/// <summary>
|
||||
/// Variable Alarm
|
||||
/// </summary>
|
||||
public ouVariable Alarm { get; set; }
|
||||
/// <summary>
|
||||
/// Variable Emergency
|
||||
/// </summary>
|
||||
public ouVariable Emergency { get; set; }
|
||||
/// <summary>
|
||||
/// Variable Power
|
||||
/// </summary>
|
||||
public ouVariable Power { get; set; }
|
||||
/// <summary>
|
||||
/// Variable Mode
|
||||
/// </summary>
|
||||
public ouVariable Mode { get; set; }
|
||||
/// <summary>
|
||||
/// Variable ActiveTime
|
||||
/// </summary>
|
||||
public ouVariable ActiveTime { get; set; }
|
||||
|
||||
#if false
|
||||
public Component cnc
|
||||
{
|
||||
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -55,7 +55,6 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AdapterRed.cs" />
|
||||
<Compile Include="DataModelClass.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="DataItemRed.cs" />
|
||||
<Compile Include="redUtil.cs" />
|
||||
|
||||
@@ -1530,34 +1530,10 @@ namespace SCMA
|
||||
file = new StreamReader(fileName);
|
||||
// leggo file...
|
||||
string rawDataModel = file.ReadToEnd();
|
||||
#if false
|
||||
// deserializzo x inizializzare il mio adapter...
|
||||
XmlSerializer serializer = new XmlSerializer(typeof(DataModelClass.ModelDesign));//, new XmlRootAttribute("ModelDesign"));
|
||||
StringReader stringReader = new StringReader(rawDataModel);
|
||||
var outObj = ((DataModelClass.ModelDesign)serializer.Deserialize(stringReader));
|
||||
DataModelClass.Machine currMachine = outObj.Machine;
|
||||
// !!!FARE!!!
|
||||
#endif
|
||||
|
||||
// test deserializzazione nuova...
|
||||
#if false
|
||||
var currMachine = ModelDesign.Deserialize(fileName);
|
||||
#endif
|
||||
|
||||
string testFile = string.Format(@"{0}\TestData.xml", utils.confDir);
|
||||
|
||||
|
||||
var decodedObj = CompXML.Deserialize(testFile);
|
||||
|
||||
#if false
|
||||
using (var sr = new StreamReader(testFile))
|
||||
{
|
||||
var xs = new XmlSerializer(typeof(CompXML));
|
||||
var responseData = (CompXML)xs.Deserialize(sr);
|
||||
Console.WriteLine("Got {0} channel resources", responseData.Machine.channel.resources.Count);
|
||||
}
|
||||
#endif
|
||||
|
||||
var decodedObj = DataModelXML.Deserialize(testFile);
|
||||
var currMachine = DataModelXML.Deserialize(fileName);
|
||||
|
||||
// pre-processo datamodel...
|
||||
currGateway.DataModel = xmlSanitize(rawDataModel);
|
||||
|
||||
@@ -1,16 +1,7 @@
|
||||
<ModelDesign>
|
||||
<Machine>
|
||||
<channel>
|
||||
<resources>
|
||||
<resource name="x" refresh_interval="180">... text ...</resource>
|
||||
<resource name="y" refresh_interval="180">..text..</resource>
|
||||
<resource name="z" refresh_interval="180">... text ...</resource>
|
||||
</resources>
|
||||
</channel>
|
||||
<Data>
|
||||
<Property SymbolicName="Model" BrowseName="Model" DataType="ua:String" ValueRank="Scalar" Value="ANTARES26/15-PX5" />
|
||||
<Property SymbolicName="Manufacturer" BrowseName="Manufacturer" DataType="ua:String" ValueRank="Scalar" Value="CMS Industries" />
|
||||
<Variable SymbolicName="Emergency" BrowseName="Emergency" DataType="ua:Boolean" ValueRank="Scalar" Units="Bool" />
|
||||
</Data>
|
||||
<Property SymbolicName="Model" BrowseName="Model" DataType="ua:String" ValueRank="Scalar" Value="ANTARES26/15-PX5" />
|
||||
<Property SymbolicName="Manufacturer" BrowseName="Manufacturer" DataType="ua:String" ValueRank="Scalar" Value="CMS Industries" />
|
||||
<Variable SymbolicName="Emergency" BrowseName="Emergency" DataType="ua:Boolean" ValueRank="Scalar" Units="Bool" />
|
||||
</Machine>
|
||||
</ModelDesign>
|
||||
@@ -18,18 +18,25 @@ namespace SCMA
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
[XmlRoot("ModelDesign")]
|
||||
public class CompXML
|
||||
public class DataModelXML
|
||||
{
|
||||
#if false
|
||||
[XmlElement("Machine")]
|
||||
public Modules Machine { get; set; }
|
||||
public Modules Machine { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlArray("Machine")]
|
||||
//[XmlArrayItem("Property")]
|
||||
[XmlArrayItem("Property", Type = typeof(Property))]
|
||||
[XmlArrayItem("Variable", Type = typeof(Variable))]
|
||||
public ouData[] PVData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Serializzazione XML dell'oggetto conf dell'adapter
|
||||
/// </summary>
|
||||
/// <param name="file"></param>
|
||||
/// <param name="c"></param>
|
||||
public static void Serialize(string file, CompXML c)
|
||||
public static void Serialize(string file, DataModelXML c)
|
||||
{
|
||||
// prima provo a creare il file vuoto...
|
||||
if (!File.Exists(file))
|
||||
@@ -53,11 +60,11 @@ namespace SCMA
|
||||
/// </summary>
|
||||
/// <param name="file"></param>
|
||||
/// <returns></returns>
|
||||
public static CompXML Deserialize(string file)
|
||||
public static DataModelXML Deserialize(string file)
|
||||
{
|
||||
XmlSerializer xs = new XmlSerializer(typeof(CompXML));
|
||||
XmlSerializer xs = new XmlSerializer(typeof(DataModelXML));
|
||||
StreamReader reader = File.OpenText(file);
|
||||
CompXML c = (CompXML)xs.Deserialize(reader);
|
||||
DataModelXML c = (DataModelXML)xs.Deserialize(reader);
|
||||
reader.Close();
|
||||
return c;
|
||||
}
|
||||
@@ -69,7 +76,7 @@ namespace SCMA
|
||||
public static string rawXml(string file)
|
||||
{
|
||||
string answ = "";
|
||||
XmlSerializer xs = new XmlSerializer(typeof(CompXML));
|
||||
XmlSerializer xs = new XmlSerializer(typeof(DataModelXML));
|
||||
StreamReader reader = File.OpenText(file);
|
||||
answ = reader.ReadToEnd();
|
||||
reader.Close();
|
||||
@@ -83,7 +90,7 @@ namespace SCMA
|
||||
[XmlElement]
|
||||
public Channel channel { get; set; }
|
||||
|
||||
[XmlArray("Data")]
|
||||
[XmlArray("Machine")]
|
||||
//[XmlArrayItem("Property")]
|
||||
[XmlArrayItem("Property", Type = typeof(Property))]
|
||||
[XmlArrayItem("Variable", Type = typeof(Variable))]
|
||||
@@ -146,7 +146,7 @@
|
||||
<Compile Include="AdapterGeneric.cs" />
|
||||
<Compile Include="AdapterDemo.cs" />
|
||||
<Compile Include="AdapterFanuc.cs" />
|
||||
<Compile Include="CompXML.cs" />
|
||||
<Compile Include="DataModelXML.cs" />
|
||||
<Compile Include="ModelDesignConf.cs" />
|
||||
<Compile Include="MainForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
|
||||
Reference in New Issue
Block a user