From efb5c1d44b357551c1643ddfd4bdb56e61cda94a Mon Sep 17 00:00:00 2001 From: Lucio Maranta Date: Mon, 4 Feb 2019 17:03:12 +0000 Subject: [PATCH] Fix --- CMS_CORE_Library/Demo/Nc_Demo.cs | 192 +++++++++++++++---------- CMS_CORE_Library/Fanuc/Nc_Fanuc.cs | 126 ++++++++-------- CMS_CORE_Library/Nc.cs | 4 +- CMS_CORE_Library/Osai/Nc_Osai.cs | 26 ++-- CMS_CORE_Library/Siemens/Nc_Siemens.cs | 66 ++++++++- CMS_CORE_Library/Utils/Nc_Utils.cs | 1 - 6 files changed, 267 insertions(+), 148 deletions(-) diff --git a/CMS_CORE_Library/Demo/Nc_Demo.cs b/CMS_CORE_Library/Demo/Nc_Demo.cs index 56321a3..17d9677 100644 --- a/CMS_CORE_Library/Demo/Nc_Demo.cs +++ b/CMS_CORE_Library/Demo/Nc_Demo.cs @@ -589,41 +589,6 @@ namespace CMS_CORE_Library.Demo return NO_ERROR; } - private CmsError PLC_RSoftKeys(MEMORY_CELL softKeyStatusMemory, MEMORY_CELL softKeysClickableMemory, ref List softKeys) - { - softKeys = new List(); - List readValue = new List(); - - int memorySizeToRead = (softKeyStatusMemory.Size + softKeysClickableMemory.Size); - // Offset between status and clicable data - int offset = softKeyStatusMemory.Size * 8; - - // Read on data from memory - CmsError cmsError = MEM_RWIntegerList(R, 0, - softKeyStatusMemory.MemType, - softKeyStatusMemory.Address, - memorySizeToRead / 4, - ref readValue); - - if (cmsError.IsError()) - return cmsError; - - bool[] bits = new BitArray(readValue.ToArray()).Cast().ToArray(); - - // Convert array into structured data - for (ushort i = 0; i < bits.Count() / 2; i++) - { - softKeys.Add(new SoftKeysModel() - { - Id = (uint)i + 1, - Value = bits[i], - Active = bits[i + offset] - }); - } - - return NO_ERROR; - } - public override CmsError PLC_WNcSoftKey(uint id) { // Check id range @@ -774,42 +739,7 @@ namespace CMS_CORE_Library.Demo return NO_ERROR; } - - private CmsError ResetStrobe(int bitId, int strobeByte, int ackByte, MEMORY_TYPE memType) - { - int n = 5; - bool readValue = false; - bool writeValue = false; - CmsError cmsError; - do - { - // Check ACK - cmsError = MEM_RWBoolean(R, 0, memType, ackByte, bitId, ref readValue); - if (cmsError.IsError()) - return cmsError; - - // If true reset strobe - if (readValue == true) - { - // Reset strobe - cmsError = MEM_RWBoolean(W, 0, memType, strobeByte, bitId, ref writeValue); - if (cmsError.IsError()) - return cmsError; - // Exit from cycle - n = 0; - } - else - { - // Decrement - n--; - // Wait befor next cycle - Thread.Sleep(20); - } - } while (n > 0); - - return cmsError; - } - + public override CmsError PLC_ROperatorInputIsNeeded(ref List value) { byte val = 0; @@ -850,11 +780,52 @@ namespace CMS_CORE_Library.Demo return MEM_RWByte(W, 0, MEMORY_TYPE.Demo, procAddress, 0, ref approxymatedVal); } - public override CmsError PLC_RM154Data(ref List value, ref bool MTCCmd) + public override CmsError PLC_RM154Data(ref List data, ref bool MTCOnOff) + { + MTCOnOff = false; + CmsError cmsError = MEM_RWBoolean(R, 0, MTCONNECT_ONOFF.MemType, MTCONNECT_ONOFF.Address, MTCONNECT_ONOFF.SubAddress, ref MTCOnOff); + if (cmsError.IsError()) + return cmsError; + + byte val = 0; + cmsError = MEM_RWByte(R, 0, MTCONNECT_DATA_NEEDED.MemType, MTCONNECT_DATA_NEEDED.Address, 0, ref val); + if (cmsError.IsError()) + return cmsError; + + // Convert a byte to an array of booleans + bool[] bits = ByteToBits(val); + string[] parameters; + string tmpStr = ""; + + for (uint processId = 1; processId <= MAX_PROCESS_NUMBER; processId++) + { + if (bits[processId - 1]) + { + // Parse parameters + parameters = ExtractM154ParametersFromNcCodeLine(tmpStr); + data.Add(new M154DataModel() + { + Process = processId, + IsNeeded = bits[processId - 1], + Parameters = new string[] + { + "MTC", + "Partid", + "55" + } + }); + + } + } + + return NO_ERROR; + } + + public override CmsError PLC_W154ManageAck(int processId) { return NO_ERROR; } - + public override CmsError PLC_RScadaValue(string memIndex, SCADA_MEM_TYPE memType, ref object value) { string[] index = memIndex.Split('.'); @@ -959,6 +930,77 @@ namespace CMS_CORE_Library.Demo return NO_ERROR; } + private CmsError ResetStrobe(int bitId, int strobeByte, int ackByte, MEMORY_TYPE memType) + { + int n = 5; + bool readValue = false; + bool writeValue = false; + CmsError cmsError; + do + { + // Check ACK + cmsError = MEM_RWBoolean(R, 0, memType, ackByte, bitId, ref readValue); + if (cmsError.IsError()) + return cmsError; + + // If true reset strobe + if (readValue == true) + { + // Reset strobe + cmsError = MEM_RWBoolean(W, 0, memType, strobeByte, bitId, ref writeValue); + if (cmsError.IsError()) + return cmsError; + // Exit from cycle + n = 0; + } + else + { + // Decrement + n--; + // Wait befor next cycle + Thread.Sleep(20); + } + } while (n > 0); + + return cmsError; + } + + private CmsError PLC_RSoftKeys(MEMORY_CELL softKeyStatusMemory, MEMORY_CELL softKeysClickableMemory, ref List softKeys) + { + softKeys = new List(); + List readValue = new List(); + + int memorySizeToRead = (softKeyStatusMemory.Size + softKeysClickableMemory.Size); + // Offset between status and clicable data + int offset = softKeyStatusMemory.Size * 8; + + // Read on data from memory + CmsError cmsError = MEM_RWIntegerList(R, 0, + softKeyStatusMemory.MemType, + softKeyStatusMemory.Address, + memorySizeToRead / 4, + ref readValue); + + if (cmsError.IsError()) + return cmsError; + + bool[] bits = new BitArray(readValue.ToArray()).Cast().ToArray(); + + // Convert array into structured data + for (ushort i = 0; i < bits.Count() / 2; i++) + { + softKeys.Add(new SoftKeysModel() + { + Id = (uint)i + 1, + Value = bits[i], + Active = bits[i + offset] + }); + } + + return NO_ERROR; + } + + #endregion PLC High-level data /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -3235,7 +3277,9 @@ namespace CMS_CORE_Library.Demo internal static MEMORY_CELL OPERATOR_INPUT_NEEDED = new MEMORY_CELL(MEMORY_TYPE.Demo, 450, 1); internal static MEMORY_CELL OPERATOR_INPUT_RESPONSE = new MEMORY_CELL(MEMORY_TYPE.Demo, 451, 1); - internal static MEMORY_CELL MTCONNECT_DATA_NEEDED = new MEMORY_CELL(MEMORY_TYPE.Demo, 452, 1); + + internal static MEMORY_CELL MTCONNECT_DATA_NEEDED = new MEMORY_CELL(MEMORY_TYPE.Demo, 457, 1); + internal static MEMORY_CELL MTCONNECT_ONOFF = new MEMORY_CELL(MEMORY_TYPE.Demo, 458, 1); } #endregion Memory addresses diff --git a/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs b/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs index 2ce2387..03ec101 100644 --- a/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs +++ b/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs @@ -874,12 +874,12 @@ namespace CMS_CORE_Library.Fanuc public override CmsError PLC_RM154Data(ref List data, ref bool MTCOnOff) { MTCOnOff = false; - CmsError cmsError = MEM_RWBoolean(R, 0, MTCONNECT_ONOFF.MemType, MTCONNECT_ONOFF.Address, MTCONNECT_ONOFF.SubAddress, ref MTCOnOff); + CmsError cmsError = MEM_RWBoolean(R, 0, M154_SWITCH_ONOFF.MemType, M154_SWITCH_ONOFF.Address, M154_SWITCH_ONOFF.SubAddress, ref MTCOnOff); if (cmsError.IsError()) return cmsError; byte val = 0; - cmsError = MEM_RWByte(R, 0, MTCONNECT_DATA_NEEDED.MemType, MTCONNECT_DATA_NEEDED.Address, 0, ref val); + cmsError = MEM_RWByte(R, 0, M154_STROBE.MemType, M154_STROBE.Address, 0, ref val); if (cmsError.IsError()) return cmsError; @@ -912,6 +912,11 @@ namespace CMS_CORE_Library.Fanuc return NO_ERROR; } + public override CmsError PLC_W154ManageAck(int processId) + { + return PLC_ManageActiveAck(M154_STROBE.Address, processId - 1, M154_ACK.Address, processId - 1, M154_STROBE.MemType); + } + public override CmsError PLC_RScadaValue(string memIndex, SCADA_MEM_TYPE memType, ref object value) { return NO_ERROR; @@ -3263,7 +3268,7 @@ namespace CMS_CORE_Library.Fanuc // Manage ack and strobe bitIndex = bitIndex % 16; - cmsError = ManageActivePLCAcknowledge(strobeByteIndex, bitIndex, ackByteIndex, bitIndex, MEMORY_TYPE.Osai_MW); + cmsError = PLC_ManageActiveAck(strobeByteIndex, bitIndex, ackByteIndex, bitIndex, MEMORY_TYPE.Osai_MW); if (cmsError.IsError()) return cmsError; } @@ -3500,59 +3505,7 @@ namespace CMS_CORE_Library.Fanuc } return output; } - - private CmsError ManageActivePLCAcknowledge(int strobeByte, int strobeBit, int ackByte, int ackBit, MEMORY_TYPE memType) - { - int n = 1200; // 30 seconds - bool readValue = false; - bool writeValue = true; - bool ok = false; - // Set ack to 1 - CmsError cmsError = MEM_RWBoolean(W, 0, memType, ackByte, ackBit, ref writeValue); - if (cmsError.IsError()) - return cmsError; - - do - { - // Check strobe - cmsError = MEM_RWBoolean(R, 0, memType, strobeByte, strobeBit, ref readValue); - if (cmsError.IsError()) - return cmsError; - - // If true reset acknowledge - if (!readValue) - { - writeValue = false; - // Reset acknowledge - cmsError = MEM_RWBoolean(W, 0, memType, ackByte, ackBit, ref writeValue); - if (cmsError.IsError()) - return cmsError; - // Exit from cycle - n = 0; - ok = true; - } - else - { - // Decrement - n--; - // Wait befor next cycle - Thread.Sleep(25); - } - } while (n > 0); - - // If loop timeout goes in timeout - if (!ok) - { - // Reset acknowledge - writeValue = false; - cmsError = MEM_RWBoolean(W, 0, memType, ackByte, ackBit, ref writeValue); - if (cmsError.IsError()) - return cmsError; - } - - return cmsError; - } - + #endregion Nc Tool Manager /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -3689,6 +3642,59 @@ namespace CMS_CORE_Library.Fanuc return NO_ERROR; } + + private CmsError PLC_ManageActiveAck(int strobeByte, int strobeBit, int ackByte, int ackBit, MEMORY_TYPE memType) + { + int n = 1200; // 30 seconds + bool readValue = false; + bool writeValue = true; + bool ok = false; + // Set ack to 1 + CmsError cmsError = MEM_RWBoolean(W, 0, memType, ackByte, ackBit, ref writeValue); + if (cmsError.IsError()) + return cmsError; + + do + { + // Check strobe + cmsError = MEM_RWBoolean(R, 0, memType, strobeByte, strobeBit, ref readValue); + if (cmsError.IsError()) + return cmsError; + + // If true reset acknowledge + if (!readValue) + { + writeValue = false; + // Reset acknowledge + cmsError = MEM_RWBoolean(W, 0, memType, ackByte, ackBit, ref writeValue); + if (cmsError.IsError()) + return cmsError; + // Exit from cycle + n = 0; + ok = true; + } + else + { + // Decrement + n--; + // Wait befor next cycle + Thread.Sleep(25); + } + } while (n > 0); + + // If loop timeout goes in timeout + if (!ok) + { + // Reset acknowledge + writeValue = false; + cmsError = MEM_RWBoolean(W, 0, memType, ackByte, ackBit, ref writeValue); + if (cmsError.IsError()) + return cmsError; + } + + return cmsError; + } + #endregion Memory private Functions private Focas1.page_code ConvertStepToFanucScreen(SCREEN_PAGE page) @@ -4221,10 +4227,12 @@ namespace CMS_CORE_Library.Fanuc internal static MEMORY_CELL COUNTER_IS_RESETTABLE_STROBE = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 3002, 0, 2); internal static MEMORY_CELL M155_INPUT_NEEDED = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 3004, 1); - internal static MEMORY_CELL MTCONNECT_DATA_NEEDED = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 3031, 1); - internal static MEMORY_CELL MTCONNECT_ONOFF = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS, 2); - internal static MEMORY_CELL AXES_BUTTON_VISIBLE = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 3033, 16); + internal static MEMORY_CELL M154_SWITCH_ONOFF = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS, 2); + internal static MEMORY_CELL M154_STROBE = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 3031, 1); + internal static MEMORY_CELL M154_ACK = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 3032, 1); + + internal static MEMORY_CELL AXES_BUTTON_VISIBLE = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 3033, 16); // Tool manager areas internal static MEMORY_CELL MAGAZINE_ACTION = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4000, 16); diff --git a/CMS_CORE_Library/Nc.cs b/CMS_CORE_Library/Nc.cs index fe77d36..2380390 100644 --- a/CMS_CORE_Library/Nc.cs +++ b/CMS_CORE_Library/Nc.cs @@ -445,7 +445,7 @@ namespace CMS_CORE_Library * Returns an error when an internal or a library error occours * **/ - + public abstract CmsError PLC_RFunctionAccess(ref List functions); /** @@ -560,6 +560,8 @@ namespace CMS_CORE_Library public abstract CmsError PLC_RM154Data(ref List value, ref bool MTCCmd); + public abstract CmsError PLC_W154ManageAck(int processId); + public abstract CmsError PLC_RScadaValue(string memIndex, SCADA_MEM_TYPE memType, ref object value); public abstract CmsError PLC_WScadaValue(string memIndex, SCADA_MEM_TYPE memType, object value); diff --git a/CMS_CORE_Library/Osai/Nc_Osai.cs b/CMS_CORE_Library/Osai/Nc_Osai.cs index e86043a..0eca2c9 100644 --- a/CMS_CORE_Library/Osai/Nc_Osai.cs +++ b/CMS_CORE_Library/Osai/Nc_Osai.cs @@ -827,12 +827,12 @@ namespace CMS_CORE_Library.Osai public override CmsError PLC_RM154Data(ref List data, ref bool MTCOnOff) { MTCOnOff = false; - CmsError cmsError = MEM_RWBoolean(R, 0, MTCONNECT_ONOFF.MemType, MTCONNECT_ONOFF.Address, MTCONNECT_ONOFF.SubAddress, ref MTCOnOff); + CmsError cmsError = MEM_RWBoolean(R, 0, M154_SWITCH_ONOFF.MemType, M154_SWITCH_ONOFF.Address, M154_SWITCH_ONOFF.SubAddress, ref MTCOnOff); if (cmsError.IsError()) return cmsError; byte val = 0; - cmsError = MEM_RWByte(R, 0, MTCONNECT_DATA_NEEDED.MemType, MTCONNECT_DATA_NEEDED.Address, 0, ref val); + cmsError = MEM_RWByte(R, 0, M154_STROBE.MemType, M154_STROBE.Address, 0, ref val); if (cmsError.IsError()) return cmsError; @@ -865,6 +865,11 @@ namespace CMS_CORE_Library.Osai return NO_ERROR; } + public override CmsError PLC_W154ManageAck(int processId) + { + return PLC_ManageActiveAck(M154_STROBE.Address, processId - 1, M154_ACK.Address, processId - 1, M154_STROBE.MemType); + } + public override CmsError PLC_RScadaValue(string memIndex, SCADA_MEM_TYPE memType, ref object value) { string[] index = memIndex.Split('.'); @@ -1043,7 +1048,7 @@ namespace CMS_CORE_Library.Osai return cmsError; } - private CmsError ManageActivePLCAcknowledge(int strobeByte, int strobeBit, int ackByte, int ackBit, MEMORY_TYPE memType) + private CmsError PLC_ManageActiveAck(int strobeByte, int strobeBit, int ackByte, int ackBit, MEMORY_TYPE memType) { int n = 1200; // 30 seconds bool readValue = false; @@ -3279,7 +3284,7 @@ namespace CMS_CORE_Library.Osai // Manage ack and strobe bitIndex = bitIndex % 16; - cmsError = ManageActivePLCAcknowledge(strobeByteIndex, bitIndex, ackByteIndex, bitIndex, MEMORY_TYPE.Osai_MW); + cmsError = PLC_ManageActiveAck(strobeByteIndex, bitIndex, ackByteIndex, bitIndex, MEMORY_TYPE.Osai_MW); if (cmsError.IsError()) return cmsError; @@ -3761,16 +3766,17 @@ namespace CMS_CORE_Library.Osai CmsError cmsError = CheckConnection(); if (cmsError.IsError()) return cmsError; + ushort nReturn; - ushort Level = 0; + ushort Level = 1; string mainPath = ""; string SubPath = ""; - + uint errorClass = 0; uint errorNum = 0; //Try to get information try { //Execute the method - nReturn = OpenNC.GetActivePartProgramFullPath(procNumber, out Level, out mainPath, out SubPath, out uint errorClass, out uint errorNum); + nReturn = OpenNC.GetActivePartProgramFullPath(procNumber, out Level, out mainPath, out SubPath, out errorClass, out errorNum); //If there's an error launch exception\ if (errorClass != 0 || errorNum != 0 || nReturn == 0) @@ -4068,8 +4074,10 @@ namespace CMS_CORE_Library.Osai internal static MEMORY_CELL M155_INPUT_ACK = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4308, 1); internal static MEMORY_CELL M155_INPUT_STROBE = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4310, 1); - internal static MEMORY_CELL MTCONNECT_DATA_NEEDED = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4312, 1); - internal static MEMORY_CELL MTCONNECT_ONOFF = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4000, 2); + internal static MEMORY_CELL M154_SWITCH_ONOFF = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4000, 2); + internal static MEMORY_CELL M154_STROBE = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4312, 1); + internal static MEMORY_CELL M154_ACK = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4314, 1); + internal static MEMORY_CELL AXES_BUTTON_VISIBLE = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4320, 16); // Tool manager areas diff --git a/CMS_CORE_Library/Siemens/Nc_Siemens.cs b/CMS_CORE_Library/Siemens/Nc_Siemens.cs index 463e5da..052ee98 100644 --- a/CMS_CORE_Library/Siemens/Nc_Siemens.cs +++ b/CMS_CORE_Library/Siemens/Nc_Siemens.cs @@ -1115,12 +1115,12 @@ namespace CMS_CORE_Library.Siemens public override CmsError PLC_RM154Data(ref List data, ref bool MTCOnOff) { MTCOnOff = false; - CmsError cmsError = MEM_RWBoolean(R, 0, MTCONNECT_ONOFF.MemType, MTCONNECT_ONOFF.Address, MTCONNECT_ONOFF.SubAddress, ref MTCOnOff); + CmsError cmsError = MEM_RWBoolean(R, 0, M154_SWITCH_ONOFF.MemType, M154_SWITCH_ONOFF.Address, M154_SWITCH_ONOFF.SubAddress, ref MTCOnOff); if (cmsError.IsError()) return cmsError; byte val = 0; - cmsError = MEM_RWByte(R, 0, MTCONNECT_DATA_NEEDED.MemType, MTCONNECT_DATA_NEEDED.Address, 0, ref val); + cmsError = MEM_RWByte(R, 0, M154_STROBE.MemType, M154_STROBE.Address, 0, ref val); if (cmsError.IsError()) return cmsError; @@ -1153,6 +1153,11 @@ namespace CMS_CORE_Library.Siemens return NO_ERROR; } + public override CmsError PLC_W154ManageAck(int processId) + { + return PLC_ManageActiveAck(M154_STROBE.Address, processId - 1, M154_ACK.Address, processId - 1, M154_STROBE.MemType); + } + public override CmsError PLC_RScadaValue(string memIndex, SCADA_MEM_TYPE memType, ref object value) { string[] index = memIndex.Split('.'); @@ -1325,6 +1330,58 @@ namespace CMS_CORE_Library.Siemens return cmsError; } + + private CmsError PLC_ManageActiveAck(int strobeByte, int strobeBit, int ackByte, int ackBit, MEMORY_TYPE memType) + { + int n = 1200; // 30 seconds + bool readValue = false; + bool writeValue = true; + bool ok = false; + // Set ack to 1 + CmsError cmsError = MEM_RWBoolean(W, 0, memType, ackByte, ackBit, ref writeValue); + if (cmsError.IsError()) + return cmsError; + + do + { + // Check strobe + cmsError = MEM_RWBoolean(R, 0, memType, strobeByte, strobeBit, ref readValue); + if (cmsError.IsError()) + return cmsError; + + // If true reset acknowledge + if (!readValue) + { + writeValue = false; + // Reset acknowledge + cmsError = MEM_RWBoolean(W, 0, memType, ackByte, ackBit, ref writeValue); + if (cmsError.IsError()) + return cmsError; + // Exit from cycle + n = 0; + ok = true; + } + else + { + // Decrement + n--; + // Wait befor next cycle + Thread.Sleep(25); + } + } while (n > 0); + + // If loop timeout goes in timeout + if (!ok) + { + // Reset acknowledge + writeValue = false; + cmsError = MEM_RWBoolean(W, 0, memType, ackByte, ackBit, ref writeValue); + if (cmsError.IsError()) + return cmsError; + } + + return cmsError; + } #endregion PLC High-level data @@ -5696,8 +5753,9 @@ namespace CMS_CORE_Library.Siemens internal static MEMORY_CELL M155_INPUT_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 3015, 1); internal static MEMORY_CELL M155_INPUT_STROBE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 3016, 1); - internal static MEMORY_CELL MTCONNECT_DATA_NEEDED = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 3042, 1); - internal static MEMORY_CELL MTCONNECT_ONOFF = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 0, 2); + internal static MEMORY_CELL M154_STROBE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 3042, 1); + internal static MEMORY_CELL M154_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 3043, 1); + internal static MEMORY_CELL M154_SWITCH_ONOFF = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 0, 2); internal static MEMORY_CELL AXES_BUTTON_VISIBLE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 3044, 16); diff --git a/CMS_CORE_Library/Utils/Nc_Utils.cs b/CMS_CORE_Library/Utils/Nc_Utils.cs index 457ccf1..f7f71c1 100644 --- a/CMS_CORE_Library/Utils/Nc_Utils.cs +++ b/CMS_CORE_Library/Utils/Nc_Utils.cs @@ -201,7 +201,6 @@ namespace CMS_CORE_Library.Utils .ToList(); } - internal static SIEMENS_MAGAZINE_TYPE ConvertToSiemensMagazineType(NC_MAGAZINE_TYPE type) { switch (type)