WIP fanuc assisted tooling

This commit is contained in:
Lucio Maranta
2019-03-13 15:45:40 +00:00
parent 9ec6bd9ad2
commit 84eeb2b2a2
5 changed files with 42 additions and 12 deletions
+5
View File
@@ -999,6 +999,11 @@ namespace CMS_CORE_Library.Demo
return NO_ERROR;
}
public override CmsError PLC_WTerminateAssistedToolingProcedure()
{
return NO_ERROR;
}
private CmsError ResetStrobe(int bitId, int strobeByte, int ackByte, MEMORY_TYPE memType)
{
int n = 5;
+16 -10
View File
@@ -1134,12 +1134,7 @@ namespace CMS_CORE_Library.Fanuc
return cmsError;
// Write strobe to start procedure
bool strobe = true;
cmsError = MEM_RWBoolean(W, 1, ASSISTED_TOOLING_STROBE.MemType, ASSISTED_TOOLING_STROBE.Address, 0, ref strobe);
if (cmsError.IsError())
return cmsError;
return PLC_WStrobe(ASSISTED_TOOLING_FINAL_VALUE, ASSISTED_TOOLING_STROBE, 1);
return PLC_WStrobe(ASSISTED_TOOLING_FINAL_VALUE, ASSISTED_TOOLING_STROBE_ACTIVE, 1);
}
public override CmsError PLC_RAssistedToolingData(ref AssistedToolingModel data)
@@ -1150,8 +1145,10 @@ namespace CMS_CORE_Library.Fanuc
if (cmsError.IsError())
return cmsError;
// Bit:
// 0: ack 1: strobe 2: unload 3: load
// Check if the procedure is finished
if (GetBitValue(procFinalValue, 1))
if (GetBitValue(procFinalValue, 2))
{
List<ushort> values = new List<ushort>();
@@ -1162,10 +1159,10 @@ namespace CMS_CORE_Library.Fanuc
// Set action
ASSISTED_TOOLING_ACTION action = ASSISTED_TOOLING_ACTION.NONE;
if (GetBitValue(procFinalValue, 2))
if (GetBitValue(procFinalValue, 3))
action = ASSISTED_TOOLING_ACTION.UNLOAD;
if (GetBitValue(procFinalValue, 3))
if (GetBitValue(procFinalValue, 4))
action = ASSISTED_TOOLING_ACTION.EXCHANGE;
data = new AssistedToolingModel()
@@ -1180,7 +1177,16 @@ namespace CMS_CORE_Library.Fanuc
return NO_ERROR;
}
public override CmsError PLC_WTerminateAssistedToolingProcedure()
{
// Terminate procedure with ACK-STROBE method
CmsError cmsError = PLC_WStrobe(ASSISTED_TOOLING_STROBE_ACTIVE, ASSISTED_TOOLING_FINAL_VALUE, 2);
if (cmsError.IsError())
return cmsError;
return NO_ERROR;
}
#endregion PLC High-level data
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -4511,7 +4517,7 @@ namespace CMS_CORE_Library.Fanuc
internal static MEMORY_CELL MAGAZINES_TOOLING_CMD = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4217, 4);
internal static MEMORY_CELL ASSISTED_TOOLING_DATA = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4222, 7);
internal static MEMORY_CELL ASSISTED_TOOLING_STROBE = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4229, 1);
internal static MEMORY_CELL ASSISTED_TOOLING_STROBE_ACTIVE = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4229, 1);
internal static MEMORY_CELL ASSISTED_TOOLING_FINAL_VALUE = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4230, 1);
+2
View File
@@ -687,6 +687,8 @@ namespace CMS_CORE_Library
public abstract CmsError PLC_RAssistedToolingData(ref AssistedToolingModel data);
public abstract CmsError PLC_WTerminateAssistedToolingProcedure();
#endregion PROCESS (PATH, CHANNEL) data (to override)
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+5
View File
@@ -1060,6 +1060,11 @@ namespace CMS_CORE_Library.Osai
return NO_ERROR;
}
public override CmsError PLC_WTerminateAssistedToolingProcedure()
{
return NO_ERROR;
}
private CmsError PLC_WStrobe(MEMORY_CELL ackCell, MEMORY_CELL strobeCell, uint id)
{
CmsError cmsError;
+14 -2
View File
@@ -1314,9 +1314,13 @@ namespace CMS_CORE_Library.Siemens
public override CmsError PLC_RAssistedToolingData(ref AssistedToolingModel data)
{
return NO_ERROR;
return FUNCTION_NOT_ALLOWED_ERROR;
}
public override CmsError PLC_WTerminateAssistedToolingProcedure()
{
return FUNCTION_NOT_ALLOWED_ERROR;
}
private CmsError PLC_WStrobe(MEMORY_CELL ackCell, MEMORY_CELL strobeCell, uint id)
{
@@ -4109,7 +4113,15 @@ namespace CMS_CORE_Library.Siemens
// Manage the Alarms - Called automatically on changes
private void AlarmsChanged(Guid guid, Alarm[] alarms)
{
SiemensAlarms = alarms;
try
{
if (alarms != null)
SiemensAlarms = alarms.ToArray();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
private void NcLanguageChanged(string language)