Start high level thermo methods

This commit is contained in:
Samuele Locatelli
2020-05-15 18:39:21 +02:00
parent d81c738ea1
commit 6ed6afe420
+68 -25
View File
@@ -71,6 +71,7 @@ namespace CMS_CORE_Library.S7Net
// Alarms data
private static Dictionary<int, string> PlcMessages;
#if false
private const string PLC_MESSAGES_FILE_PATH = "C:\\Program Files (x86)\\Siemens\\MotionControl\\oem\\sinumerik\\hmi\\lng\\";
@@ -106,6 +107,11 @@ namespace CMS_CORE_Library.S7Net
private bool EnableAxes;
// parametri specifici per THERMO
private static List<RecipeParam> thermoParamList;
// connessione S7
private CpuType tipoCpu = CpuType.S71500;
private short rack = 0;
private short slot = 1;
@@ -141,6 +147,7 @@ namespace CMS_CORE_Library.S7Net
Port = RemotePort;
// mesasggi generici PLC
PlcMessages = new Dictionary<int, string>();
thermoParamList = new List<RecipeParam>();
}
/// <summary>
@@ -170,6 +177,7 @@ namespace CMS_CORE_Library.S7Net
Port = RemotePort;
// mesasggi generici PLC
PlcMessages = new Dictionary<int, string>();
thermoParamList = new List<RecipeParam>();
}
public override CmsError NC_Connect()
@@ -474,11 +482,11 @@ namespace CMS_CORE_Library.S7Net
return FUNCTION_NOT_ALLOWED_ERROR;
}
#endregion Contructor & global methods
#endregion Contructor & global methods
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region High level methods
#region High level methods
// Get the processes-count configurated
public override CmsError NC_RProcessesNum(ref ushort ProcNumber)
@@ -630,11 +638,11 @@ namespace CMS_CORE_Library.S7Net
return FUNCTION_NOT_ALLOWED_ERROR;
}
#endregion High level methods
#endregion High level methods
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region PLC High-level data
#region PLC High-level data
public override CmsError PLC_RWManageWatchdog()
{
@@ -1719,11 +1727,11 @@ namespace CMS_CORE_Library.S7Net
return FUNCTION_NOT_ALLOWED_ERROR;
}
#endregion PLC High-level data
#endregion PLC High-level data
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region PROCESS (PATH) High-level data
#region PROCESS (PATH) High-level data
// Get the process Mode
public override CmsError PROC_RMode(ushort ProcNumber, ref PROC_MODE Mode)
@@ -2087,11 +2095,11 @@ namespace CMS_CORE_Library.S7Net
#endif
}
#endregion PROCESS (PATH) High-level data
#endregion PROCESS (PATH) High-level data
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region PROCESS-AXES (PATH) High-level data
#region PROCESS-AXES (PATH) High-level data
public override CmsError AXES_RInterpPosition(ushort channel, ref Dictionary<string, double> axes)
{
@@ -2407,11 +2415,11 @@ namespace CMS_CORE_Library.S7Net
#endif
}
#endregion PROCESS-AXES (PATH) High-level data
#endregion PROCESS-AXES (PATH) High-level data
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region NC Low-level function: single valiable in memory
#region NC Low-level function: single valiable in memory
//Read-Write a Boolean-Value inside the NC.
public override CmsError MEM_RWBoolean(bool bWrite, int Process, MEMORY_TYPE MemType, int MemTable, int MemIndex, int MemBit, ref bool Value)
@@ -2606,11 +2614,11 @@ namespace CMS_CORE_Library.S7Net
return FUNCTION_NOT_ALLOWED_ERROR;
}
#endregion NC Low-level function: single valiable in memory
#endregion NC Low-level function: single valiable in memory
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region Low level methods
#region Low level methods
public override CmsError MEM_RWByteList(bool bWrite, int Process, MEMORY_TYPE MemType, int MemTable, int MemIndex, int MemByteStart, int Number, ref List<byte> Values)
{
@@ -2912,11 +2920,11 @@ namespace CMS_CORE_Library.S7Net
return NO_ERROR;
}
#endregion Low level methods
#endregion Low level methods
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region NC Low-level function: Parameters
#region NC Low-level function: Parameters
public override CmsError NC_RParam(short Index, short Bit, ref bool Value)
{
@@ -2943,11 +2951,11 @@ namespace CMS_CORE_Library.S7Net
return FUNCTION_NOT_ALLOWED_ERROR;
}
#endregion NC Low-level function: Parameters
#endregion NC Low-level function: Parameters
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region File Management
#region File Management
/// <summary>
/// Get list of recipe (from local PC area)
@@ -3430,11 +3438,11 @@ namespace CMS_CORE_Library.S7Net
return path.Replace('\\', '/');
}
#endregion File Management
#endregion File Management
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region Siemens Tools Management
#region Siemens Tools Management
public override CmsError TOOLS_RConfiguration(ref ToolTableConfiguration config)
{
@@ -3581,11 +3589,11 @@ namespace CMS_CORE_Library.S7Net
return FUNCTION_NOT_ALLOWED_ERROR;
}
#endregion Siemens Tools Management
#endregion Siemens Tools Management
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region Nc Tool Manager
#region Nc Tool Manager
public override CmsError TOOLS_RMagazineConfig(ref List<NcMagazineConfigModel> config)
{
@@ -3687,11 +3695,11 @@ namespace CMS_CORE_Library.S7Net
return FUNCTION_NOT_ALLOWED_ERROR;
}
#endregion Nc Tool Manager
#endregion Nc Tool Manager
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region Subordinate Private Functions
#region Subordinate Private Functions
#if false
// Manage the Alarms - Called automatically on changes
@@ -3870,7 +3878,7 @@ namespace CMS_CORE_Library.S7Net
{
// completare nuove variabili (matricola macchina, seriale PLC, firmware PLC)
ConfChannelNo = 1;
Last_Static_Read = DateTime.Now;
Last_Static_Read = DateTime.Now;
Cnc_name = $"{currPLC.CPU}";
// FIXME
Cms_MachNumber = ""; // matricola macchina, DB604.DBB6720..6723
@@ -4043,10 +4051,45 @@ namespace CMS_CORE_Library.S7Net
}
}
#endregion Subordinate Private Functions
#endregion Subordinate Private Functions
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region THERMO high level data
public CmsError PLC_RRecipeParamList(bool onlyRT, ref List<RecipeParam> currParamList)
{
// refresh dati veloci / RT
refreshMemRecipeParameterRT();
// se richiesto NON SOLO RT faccio refresh anche dati "lenti"
if(!onlyRT)
{
refreshMemRecipeParameter();
}
// copio lista act in output...
currParamList = thermoParamList;
return NO_ERROR;
}
private void refreshMemRecipeParameterRT()
{
// leggo da PLC a array di byte di appoggio...
// converto a blocchi
// update oggetto thermoParamList...
}
private void refreshMemRecipeParameter()
{
// leggo da PLC a array di byte di appoggio...
// converto a blocchi
// update oggetto thermoParamList...
}
#endregion
}
@@ -4072,7 +4115,7 @@ namespace CMS_CORE_Library.S7Net
internal static MEMORY_CELL RISC_ESP_DATA = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 500, 9728, 1024);
internal static MEMORY_CELL RISC_OVP_DATA = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 500, 10752, 1024);
internal static MEMORY_CELL RISC_ICH_DATA = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 500, 11776, 4096);
// produzione
internal static MEMORY_CELL PROCESS_STATUS = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 605, 0, 2);