Added Candies management

This commit is contained in:
Nicola Carminati
2019-03-29 16:59:55 +00:00
parent f56dadf8ca
commit b1ce8f2299
5 changed files with 274 additions and 1 deletions
+69 -1
View File
@@ -1085,7 +1085,71 @@ namespace CMS_CORE_Library.Demo
return NO_ERROR;
}
public override CmsError PLC_WExpiredCandy(bool value)
{
bool newVal = false;
//Scrivo il dato
CmsError cmsError = MEM_RWBoolean(W, 0, EXP_CANDY_MEM.MemType, EXP_CANDY_MEM.Address, 0, ref value);
if (cmsError.IsError())
return cmsError;
else
{
//Leggo il dato
cmsError = PLC_RExpiredCandy(ref newVal);
if (cmsError.IsError())
return cmsError;
//Se i 2 dati coincidono ritorno OK
if (value == newVal)
return NO_ERROR;
else
return PLC_NOT_RUNNING_ERROR;
}
}
public override CmsError PLC_RExpiredCandy(ref bool value)
{
CmsError cmsError = MEM_RWBoolean(R, 0, EXP_CANDY_MEM.MemType, EXP_CANDY_MEM.Address, 0, ref value);
if (cmsError.IsError())
return cmsError;
return NO_ERROR;
}
public override CmsError PLC_WCandy(int value)
{
int newVal = 0;
//Scrivo il dato
CmsError cmsError = MEM_RWInteger(W, 0, CANDY_MEM.MemType, CANDY_MEM.Address, ref value);
if (cmsError.IsError())
return cmsError;
else
{
//Leggo il dato
cmsError = PLC_RCandy(ref newVal);
if (cmsError.IsError())
return cmsError;
//Se i 2 dati coincidono ritorno OK
if (value == newVal)
return NO_ERROR;
else
return PLC_NOT_RUNNING_ERROR;
}
}
public override CmsError PLC_RCandy(ref int value)
{
CmsError cmsError = MEM_RWInteger(R, 0, CANDY_MEM.MemType, CANDY_MEM.Address, ref value);
if (cmsError.IsError())
return cmsError;
return NO_ERROR;
}
#endregion PLC High-level data
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -3403,6 +3467,10 @@ namespace CMS_CORE_Library.Demo
internal static MEMORY_CELL ASSISTED_TOOLING_FINAL_VALUE = new MEMORY_CELL(MEMORY_TYPE.Demo, 469, 1);
internal static MEMORY_CELL UNIT_OF_MEASURE = new MEMORY_CELL(MEMORY_TYPE.Demo, 470, 1);
internal static MEMORY_CELL EXP_CANDY_MEM = new MEMORY_CELL(MEMORY_TYPE.Demo, 472, 1);
internal static MEMORY_CELL CANDY_MEM = new MEMORY_CELL(MEMORY_TYPE.Demo, 471, 1);
}
#endregion Memory addresses
+68
View File
@@ -1196,6 +1196,70 @@ namespace CMS_CORE_Library.Fanuc
return NO_ERROR;
}
public override CmsError PLC_WExpiredCandy(bool value)
{
bool newVal = false;
//Scrivo il dato
CmsError cmsError = MEM_RWBoolean(W, 0, EXP_CANDY_MEM.MemType, EXP_CANDY_MEM.Address,5, ref value);
if (cmsError.IsError())
return cmsError;
else
{
//Leggo il dato
cmsError = PLC_RExpiredCandy(ref newVal);
if (cmsError.IsError())
return cmsError;
//Se i 2 dati coincidono ritorno OK
if (value == newVal)
return NO_ERROR;
else
return PLC_NOT_RUNNING_ERROR;
}
}
public override CmsError PLC_RExpiredCandy(ref bool value)
{
CmsError cmsError = MEM_RWBoolean(R, 0, EXP_CANDY_MEM.MemType, EXP_CANDY_MEM.Address,5, ref value);
if (cmsError.IsError())
return cmsError;
return NO_ERROR;
}
public override CmsError PLC_WCandy(int value)
{
int newVal=0;
//Scrivo il dato
CmsError cmsError = MEM_RWInteger(W, 0, CANDY_MEM.MemType, CANDY_MEM.Address, ref value);
if (cmsError.IsError())
return cmsError;
else
{
//Leggo il dato
cmsError = PLC_RCandy(ref newVal);
if (cmsError.IsError())
return cmsError;
//Se i 2 dati coincidono ritorno OK
if (value == newVal)
return NO_ERROR;
else
return PLC_NOT_RUNNING_ERROR;
}
}
public override CmsError PLC_RCandy(ref int value)
{
CmsError cmsError = MEM_RWInteger(R, 0, CANDY_MEM.MemType, CANDY_MEM.Address, ref value);
if (cmsError.IsError())
return cmsError;
return NO_ERROR;
}
#endregion PLC High-level data
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -4514,6 +4578,10 @@ namespace CMS_CORE_Library.Fanuc
internal static MEMORY_CELL AXES_BUTTON_VISIBLE = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 3033, 16);
internal static MEMORY_CELL CANDY_MEM = new MEMORY_CELL(MEMORY_TYPE.Fanuc_D, 7222, 1);
internal static MEMORY_CELL EXP_CANDY_MEM = new MEMORY_CELL(MEMORY_TYPE.Fanuc_D, 7217, 1);
// Tool manager areas
internal static MEMORY_CELL MAGAZINE_ACTION = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4000, 16);
+5
View File
@@ -566,6 +566,11 @@ namespace CMS_CORE_Library
public abstract CmsError PLC_WScadaValue(string memIndex, SCADA_MEM_TYPE memType, object value);
public abstract CmsError PLC_RCandy(ref int value);
public abstract CmsError PLC_WCandy(int value);
public abstract CmsError PLC_RExpiredCandy(ref bool value);
public abstract CmsError PLC_WExpiredCandy(bool value);
#endregion PLC High-level data (to override)
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+67
View File
@@ -1206,6 +1206,71 @@ namespace CMS_CORE_Library.Osai
return cmsError;
}
public override CmsError PLC_WExpiredCandy(bool value)
{
bool newVal = false;
//Scrivo il dato
CmsError cmsError = MEM_RWBoolean(W, 0, EXP_CANDY_MEM.MemType, EXP_CANDY_MEM.Address, 0, ref value);
if (cmsError.IsError())
return cmsError;
else
{
//Leggo il dato
cmsError = PLC_RExpiredCandy(ref newVal);
if (cmsError.IsError())
return cmsError;
//Se i 2 dati coincidono ritorno OK
if (value == newVal)
return NO_ERROR;
else
return PLC_NOT_RUNNING_ERROR;
}
}
public override CmsError PLC_RExpiredCandy(ref bool value)
{
CmsError cmsError = MEM_RWBoolean(R, 0, EXP_CANDY_MEM.MemType, EXP_CANDY_MEM.Address, 0, ref value);
if (cmsError.IsError())
return cmsError;
return NO_ERROR;
}
public override CmsError PLC_WCandy(int value)
{
int newVal = 0;
//Scrivo il dato
CmsError cmsError = MEM_RWInteger(W, 0, CANDY_MEM.MemType, CANDY_MEM.Address, ref value);
if (cmsError.IsError())
return cmsError;
else
{
//Leggo il dato
cmsError = PLC_RCandy(ref newVal);
if (cmsError.IsError())
return cmsError;
//Se i 2 dati coincidono ritorno OK
if (value == newVal)
return NO_ERROR;
else
return PLC_NOT_RUNNING_ERROR;
}
}
public override CmsError PLC_RCandy(ref int value)
{
CmsError cmsError = MEM_RWInteger(R, 0, CANDY_MEM.MemType, CANDY_MEM.Address, ref value);
if (cmsError.IsError())
return cmsError;
return NO_ERROR;
}
#endregion PLC High-level data
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -4298,6 +4363,8 @@ namespace CMS_CORE_Library.Osai
internal static MEMORY_CELL M154_ACK = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4312, 1);
internal static MEMORY_CELL AXES_BUTTON_VISIBLE = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4320, 16);
internal static MEMORY_CELL CANDY_MEM = new MEMORY_CELL(MEMORY_TYPE.Osai_GW, 303, 1);
internal static MEMORY_CELL EXP_CANDY_MEM = new MEMORY_CELL(MEMORY_TYPE.Osai_GW, 302, 1);
// Tool manager areas
internal static MEMORY_CELL MAGAZINE_ACTION = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4350, 16);
+65
View File
@@ -1454,6 +1454,69 @@ namespace CMS_CORE_Library.Siemens
return cmsError;
}
public override CmsError PLC_WExpiredCandy(bool value)
{
bool newVal = false;
//Scrivo il dato
CmsError cmsError = MEM_RWBoolean(W, 0, EXP_CANDY_MEM.MemType, EXP_CANDY_MEM.Address, 5, ref value);
if (cmsError.IsError())
return cmsError;
else
{
//Leggo il dato
cmsError = PLC_RExpiredCandy(ref newVal);
if (cmsError.IsError())
return cmsError;
//Se i 2 dati coincidono ritorno OK
if (value == newVal)
return NO_ERROR;
else
return PLC_NOT_RUNNING_ERROR;
}
}
public override CmsError PLC_RExpiredCandy(ref bool value)
{
CmsError cmsError = MEM_RWBoolean(R, 0, EXP_CANDY_MEM.MemType, EXP_CANDY_MEM.Address, 5, ref value);
if (cmsError.IsError())
return cmsError;
return NO_ERROR;
}
public override CmsError PLC_WCandy(int value)
{
int newVal = 0;
//Scrivo il dato
CmsError cmsError = MEM_RWInteger(W, 0, CANDY_MEM.MemType, CANDY_MEM.Address, ref value);
if (cmsError.IsError())
return cmsError;
else
{
//Leggo il dato
cmsError = PLC_RCandy(ref newVal);
if (cmsError.IsError())
return cmsError;
//Se i 2 dati coincidono ritorno OK
if (value == newVal)
return NO_ERROR;
else
return PLC_NOT_RUNNING_ERROR;
}
}
public override CmsError PLC_RCandy(ref int value)
{
CmsError cmsError = MEM_RWInteger(R, 0, CANDY_MEM.MemType, CANDY_MEM.Address, ref value);
if (cmsError.IsError())
return cmsError;
return NO_ERROR;
}
#endregion PLC High-level data
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -5926,5 +5989,7 @@ namespace CMS_CORE_Library.Siemens
internal static MEMORY_CELL AXES_BUTTON_VISIBLE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 3044, 16);
internal static MEMORY_CELL MAGAZINE_ACTION = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 4000, 16);
internal static MEMORY_CELL CANDY_MEM = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 255, 120, 1);
internal static MEMORY_CELL EXP_CANDY_MEM = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 255, 92, 1);
}
}