diff --git a/CMS_CORE_Library/Demo/Models/FileModel.cs b/CMS_CORE_Library/Demo/Models/FileModel.cs index fadf63b..4acfb9b 100644 --- a/CMS_CORE_Library/Demo/Models/FileModel.cs +++ b/CMS_CORE_Library/Demo/Models/FileModel.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Runtime.Serialization; -using System.Text; -using System.Threading.Tasks; +using System.Runtime.Serialization; namespace CMS_CORE_Library.Demo.Models { diff --git a/CMS_CORE_Library/Demo/Models/NcAlarmModel.cs b/CMS_CORE_Library/Demo/Models/NcAlarmModel.cs index b21bcb7..70edde2 100644 --- a/CMS_CORE_Library/Demo/Models/NcAlarmModel.cs +++ b/CMS_CORE_Library/Demo/Models/NcAlarmModel.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Runtime.Serialization; -using System.Text; -using System.Threading.Tasks; +using System.Runtime.Serialization; namespace CMS_CORE_Library.Demo.Models { diff --git a/CMS_CORE_Library/Demo/Models/NcAxisModel.cs b/CMS_CORE_Library/Demo/Models/NcAxisModel.cs index f36b5ff..a02c5e6 100644 --- a/CMS_CORE_Library/Demo/Models/NcAxisModel.cs +++ b/CMS_CORE_Library/Demo/Models/NcAxisModel.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Runtime.Serialization; -using System.Text; -using System.Threading.Tasks; +using System.Runtime.Serialization; namespace CMS_CORE_Library.Demo.Models { diff --git a/CMS_CORE_Library/Demo/Models/NcDataModel.cs b/CMS_CORE_Library/Demo/Models/NcDataModel.cs index 9124494..2b39c0f 100644 --- a/CMS_CORE_Library/Demo/Models/NcDataModel.cs +++ b/CMS_CORE_Library/Demo/Models/NcDataModel.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace CMS_CORE_Library.Demo.Models +namespace CMS_CORE_Library.Demo.Models { class NcDataModel { diff --git a/CMS_CORE_Library/Demo/Models/NcProcessModel.cs b/CMS_CORE_Library/Demo/Models/NcProcessModel.cs index 038b070..1fd886b 100644 --- a/CMS_CORE_Library/Demo/Models/NcProcessModel.cs +++ b/CMS_CORE_Library/Demo/Models/NcProcessModel.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace CMS_CORE_Library.Demo.Models +namespace CMS_CORE_Library.Demo.Models { class NcProcessModel { diff --git a/CMS_CORE_Library/Demo/Models/ToolDataModel.cs b/CMS_CORE_Library/Demo/Models/ToolDataModel.cs index 95a7d22..449cf0b 100644 --- a/CMS_CORE_Library/Demo/Models/ToolDataModel.cs +++ b/CMS_CORE_Library/Demo/Models/ToolDataModel.cs @@ -1,6 +1,5 @@ using CMS_CORE_Library.Models; using System.Collections.Generic; -using static CMS_CORE_Library.Models.DataStructures; namespace CMS_CORE_Library.Demo.Models { diff --git a/CMS_CORE_Library/Demo/Nc_Demo.cs b/CMS_CORE_Library/Demo/Nc_Demo.cs index 04a1de0..e663f4d 100644 --- a/CMS_CORE_Library/Demo/Nc_Demo.cs +++ b/CMS_CORE_Library/Demo/Nc_Demo.cs @@ -32,7 +32,7 @@ namespace CMS_CORE_Library.Demo private List MagazineConfig = new List() { new SiemensMagazineConfigModel{Id = 1, Type = SIEMENS_MAGAZINE_TYPE.BOX_MAGAZINE, LoadingIsActive = true, Name = "MAG1", MaxPositions = 8}, - new SiemensMagazineConfigModel{Id = 2, Type = SIEMENS_MAGAZINE_TYPE.CHAIN, LoadingIsActive = true, Name = "MAG2", MaxPositions = 10}, + new SiemensMagazineConfigModel{Id = 2, Type = SIEMENS_MAGAZINE_TYPE.CHAIN, LoadingIsActive = true, Name = "MAG2", MaxPositions = 10}, new SiemensMagazineConfigModel{Id = 3, Type = SIEMENS_MAGAZINE_TYPE.INVISIBLE_MAGAZINE, LoadingIsActive = true, Name = "MAG3", MaxPositions = 10}, }; @@ -75,7 +75,7 @@ namespace CMS_CORE_Library.Demo } return NO_ERROR; - } + } public override CmsError NC_Disconnect() { @@ -122,9 +122,9 @@ namespace CMS_CORE_Library.Demo public override CmsError NC_RDateTime(ref DateTime ActualTime) { //Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -145,9 +145,9 @@ namespace CMS_CORE_Library.Demo public override CmsError NC_RSerialNumber(ref String SN) { //Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -166,9 +166,9 @@ namespace CMS_CORE_Library.Demo public override CmsError NC_RModelName(ref string ModelName) { //Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -185,9 +185,9 @@ namespace CMS_CORE_Library.Demo public override CmsError NC_RSoftwareVersion(ref String SWV) { //Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -205,9 +205,9 @@ namespace CMS_CORE_Library.Demo public override CmsError NC_RMachineNumber(bool hasLetters, ref string MachNumber) { //Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -225,9 +225,9 @@ namespace CMS_CORE_Library.Demo public override CmsError NC_RProcessesNum(ref ushort ProcNumber) { //Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { // Get Process Cout from Demo server @@ -244,9 +244,9 @@ namespace CMS_CORE_Library.Demo public override CmsError NC_RLanguage(ref CultureInfo Language) { //Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -272,9 +272,9 @@ namespace CMS_CORE_Library.Demo public override CmsError NC_RActiveAlarms(ref List alarms) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -302,9 +302,9 @@ namespace CMS_CORE_Library.Demo { ushort nProcess = 0; // Get the number of processes - CmsError cmsError = NC_RProcessesNum(ref nProcess); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = NC_RProcessesNum(ref nProcess); + if (libraryError.IsError()) + return libraryError; ushort i = 1; running = false; @@ -313,9 +313,9 @@ namespace CMS_CORE_Library.Demo PROC_STATUS procStatus = PROC_STATUS.IDLE; // Read process status - cmsError = PROC_RStatus(i, ref procStatus); - if (cmsError.IsError()) - return cmsError; + libraryError = PROC_RStatus(i, ref procStatus); + if (libraryError.IsError()) + return libraryError; // If one process is runninc, nc is running if (procStatus == PROC_STATUS.RUN) running = true; @@ -334,11 +334,11 @@ namespace CMS_CORE_Library.Demo public override CmsError NC_RUnitOfMeasure(ref string unitOfMeasure) { byte val = 0; - CmsError cmsError = MEM_RWByte(R, 0, UNIT_OF_MEASURE.MemType, UNIT_OF_MEASURE.Address, 0, ref val); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByte(R, 0, UNIT_OF_MEASURE.MemType, UNIT_OF_MEASURE.Address, 0, ref val); + if (libraryError.IsError()) + return libraryError; - if(val == 0) + if (val == 0) unitOfMeasure = MILLIMETERS; else unitOfMeasure = INCHES; @@ -360,9 +360,9 @@ namespace CMS_CORE_Library.Demo public override CmsError PLC_RWManageWatchdog() { bool plcWatchdog = false; - CmsError cmsError = MEM_RWBoolean(R, 0, NC_WATCHDOG.MemType, NC_WATCHDOG.Address, 0, ref plcWatchdog); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWBoolean(R, 0, NC_WATCHDOG.MemType, NC_WATCHDOG.Address, 0, ref plcWatchdog); + if (libraryError.IsError()) + return libraryError; if (plcWatchdog) return PLC_NOT_RUNNING_ERROR; @@ -377,14 +377,14 @@ namespace CMS_CORE_Library.Demo List readValues = new List(); // Read on data from memory - CmsError cmsError = MEM_RWIntegerList(R, 0, + CmsError libraryError = MEM_RWIntegerList(R, 0, ALARMS_STATUS.MemType, ALARMS_STATUS.Address, (ALARMS_STATUS.Size + ALARMS_DATA.Size) / 4, ref readValues); - if (cmsError.IsError()) - return cmsError; + if (libraryError.IsError()) + return libraryError; // Convert integer array into bit array bool[] statusBits = new BitArray(readValues.ToArray()).Cast().ToArray(); @@ -424,7 +424,7 @@ namespace CMS_CORE_Library.Demo if (id > ALARMS_NUMBER) return INCORRECT_PARAMETERS_ERROR; - CmsError cmsError; + CmsError libraryError; bool readValue = false; bool writeValue = true; @@ -433,23 +433,23 @@ namespace CMS_CORE_Library.Demo int alarmBitId = (((int)id - 1) % 8); // Check ACK - cmsError = MEM_RWBoolean(R, 0, ALARM_ACK.MemType, ackByte, alarmBitId, ref readValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(R, 0, ALARM_ACK.MemType, ackByte, alarmBitId, ref readValue); + if (libraryError.IsError()) + return libraryError; // If PLC it's performing another request then return if (readValue) return NO_ERROR; // Write data - cmsError = MEM_RWBoolean(W, 0, ALARM_REFRESH_STROBE.MemType, strobeByte, alarmBitId, ref writeValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(W, 0, ALARM_REFRESH_STROBE.MemType, strobeByte, alarmBitId, ref writeValue); + if (libraryError.IsError()) + return libraryError; // Reset wait ack = 1 and reset the strobe - cmsError = ResetStrobe(alarmBitId, strobeByte, ackByte, ALARM_REFRESH_STROBE.MemType); - if (cmsError.IsError()) - return cmsError; + libraryError = ResetStrobe(alarmBitId, strobeByte, ackByte, ALARM_REFRESH_STROBE.MemType); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -457,9 +457,9 @@ namespace CMS_CORE_Library.Demo public override CmsError PLC_WRestoreMessage(uint id) { // Call restore message - CmsError cmsError = PLC_WRefreshMessage(id); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PLC_WRefreshMessage(id); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -469,9 +469,9 @@ namespace CMS_CORE_Library.Demo int numberOfInteger = (32 / 8) / 4; List defaultValue = Enumerable.Repeat(uint.MaxValue, numberOfInteger).ToList(); - CmsError cmsError = MEM_RWDWordList(W, 0, ALARM_REFRESH_STROBE.MemType, ALARM_REFRESH_STROBE.Address, numberOfInteger, ref defaultValue); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWDWordList(W, 0, ALARM_REFRESH_STROBE.MemType, ALARM_REFRESH_STROBE.Address, numberOfInteger, ref defaultValue); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -480,9 +480,9 @@ namespace CMS_CORE_Library.Demo { int readValue = 0; // Read pre power on and post power on data from memory - CmsError cmsError = MEM_RWInteger(R, 0, PRE_POWER_ON.MemType, PRE_POWER_ON.Address, ref readValue); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWInteger(R, 0, PRE_POWER_ON.MemType, PRE_POWER_ON.Address, ref readValue); + if (libraryError.IsError()) + return libraryError; bool[] bits = new bool[32]; @@ -516,20 +516,20 @@ namespace CMS_CORE_Library.Demo public override CmsError PLC_WPowerOnData(uint id, bool value) { - CmsError cmsError; + CmsError libraryError; // Check bit range if (id > 16) return INCORRECT_PARAMETERS_ERROR; // Choose Pre-Power-On or Post-Power-Om if (id < 8) // Pre: memory bit = id - cmsError = MEM_RWBoolean(W, 0, PRE_POWER_ON_CLICKED.MemType, PRE_POWER_ON_CLICKED.Address, (int)id, ref value); + libraryError = MEM_RWBoolean(W, 0, PRE_POWER_ON_CLICKED.MemType, PRE_POWER_ON_CLICKED.Address, (int)id, ref value); else // Post: memory bit = id - 8 - cmsError = MEM_RWBoolean(W, 0, POST_POWER_ON_CLICKED.MemType, POST_POWER_ON_CLICKED.Address, (int)id - 8, ref value); + libraryError = MEM_RWBoolean(W, 0, POST_POWER_ON_CLICKED.MemType, POST_POWER_ON_CLICKED.Address, (int)id - 8, ref value); - if (cmsError.IsError()) - return cmsError; + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -538,9 +538,9 @@ namespace CMS_CORE_Library.Demo { List readValues = new List(); // Read functions access data from memory - CmsError cmsError = MEM_RWIntegerList(R, 0, FUNCTION_ACCESS.MemType, FUNCTION_ACCESS.Address, 4, ref readValues); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWIntegerList(R, 0, FUNCTION_ACCESS.MemType, FUNCTION_ACCESS.Address, 4, ref readValues); + if (libraryError.IsError()) + return libraryError; functions = new List(); // Convert int into to true/false array @@ -562,9 +562,9 @@ namespace CMS_CORE_Library.Demo { byte value = 0; // Read byte from memory - CmsError cmsError = MEM_RWByte(R, 0, AXIS_RESET_PROCEDURE.MemType, AXIS_RESET_PROCEDURE.Address, 1, ref value); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByte(R, 0, AXIS_RESET_PROCEDURE.MemType, AXIS_RESET_PROCEDURE.Address, 1, ref value); + if (libraryError.IsError()) + return libraryError; // Check last bit if ((value & 128) == 128) @@ -586,9 +586,9 @@ namespace CMS_CORE_Library.Demo counters = new List(); List readValues = new List(); // Read on data from memory - CmsError cmsError = MEM_RWIntegerList(R, 0, COUNTERS.MemType, COUNTERS.Address, COUNTERS.Size / 4, ref readValues); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWIntegerList(R, 0, COUNTERS.MemType, COUNTERS.Address, COUNTERS.Size / 4, ref readValues); + if (libraryError.IsError()) + return libraryError; // Foreach counters for (int i = 0; i < readValues.Count; i++) @@ -611,18 +611,18 @@ namespace CMS_CORE_Library.Demo public override CmsError PLC_RNcSoftKeys(ref List ncSoftKeys) { - CmsError cmsError = PLC_RSoftKeys(NC_SOFTKEYS_VALUE, NC_SOFTKEYS_CLICKABLE, ref ncSoftKeys); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PLC_RSoftKeys(NC_SOFTKEYS_VALUE, NC_SOFTKEYS_CLICKABLE, ref ncSoftKeys); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } public override CmsError PLC_RUserSoftKeys(ref List softKeys) { - CmsError cmsError = PLC_RSoftKeys(USER_SOFTKEYS_VALUE, USER_SOFTKEYS_CLICKABLE, ref softKeys); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PLC_RSoftKeys(USER_SOFTKEYS_VALUE, USER_SOFTKEYS_CLICKABLE, ref softKeys); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -633,7 +633,7 @@ namespace CMS_CORE_Library.Demo if (id > NC_SOFTKEYS_NUMBER) return INCORRECT_PARAMETERS_ERROR; - CmsError cmsError; + CmsError libraryError; bool readValue = false; bool writeValue = true; @@ -642,23 +642,23 @@ namespace CMS_CORE_Library.Demo int softkeyBitId = (((int)id - 1) % 8); // Check ACK - cmsError = MEM_RWBoolean(R, 0, NC_SOFT_KEYS_ACK.MemType, ackByte, softkeyBitId, ref readValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(R, 0, NC_SOFT_KEYS_ACK.MemType, ackByte, softkeyBitId, ref readValue); + if (libraryError.IsError()) + return libraryError; // If PLC it's performing another request then return if (readValue) return NO_ERROR; // Write data - cmsError = MEM_RWBoolean(W, 0, NC_SOFT_KEYS_CLICKED.MemType, strobeByte, softkeyBitId, ref writeValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(W, 0, NC_SOFT_KEYS_CLICKED.MemType, strobeByte, softkeyBitId, ref writeValue); + if (libraryError.IsError()) + return libraryError; // Reset wait ack = 1 and reset the strobe - cmsError = ResetStrobe(softkeyBitId, strobeByte, ackByte, NC_SOFT_KEYS_CLICKED.MemType); - if (cmsError.IsError()) - return cmsError; + libraryError = ResetStrobe(softkeyBitId, strobeByte, ackByte, NC_SOFT_KEYS_CLICKED.MemType); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -669,7 +669,7 @@ namespace CMS_CORE_Library.Demo if (id > USER_SOFTKEYS_NUMBER) return INCORRECT_PARAMETERS_ERROR; - CmsError cmsError; + CmsError libraryError; bool readValue = false; bool writeValue = true; @@ -678,23 +678,23 @@ namespace CMS_CORE_Library.Demo int softkeyBitId = (((int)id - 1) % 8); // Check ACK - cmsError = MEM_RWBoolean(R, 0, USER_SOFT_KEYS_ACK.MemType, ackByte, softkeyBitId, ref readValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(R, 0, USER_SOFT_KEYS_ACK.MemType, ackByte, softkeyBitId, ref readValue); + if (libraryError.IsError()) + return libraryError; // If PLC it's performing another request then return if (readValue) return NO_ERROR; // Write data - cmsError = MEM_RWBoolean(W, 0, USER_SOFT_KEYS_CLICKED.MemType, strobeByte, softkeyBitId, ref writeValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(W, 0, USER_SOFT_KEYS_CLICKED.MemType, strobeByte, softkeyBitId, ref writeValue); + if (libraryError.IsError()) + return libraryError; // Reset wait ack = 1 and reset the strobe - cmsError = ResetStrobe(softkeyBitId, strobeByte, ackByte, USER_SOFT_KEYS_CLICKED.MemType); - if (cmsError.IsError()) - return cmsError; + libraryError = ResetStrobe(softkeyBitId, strobeByte, ackByte, USER_SOFT_KEYS_CLICKED.MemType); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -714,15 +714,15 @@ namespace CMS_CORE_Library.Demo double headsInts = Math.Ceiling((double)(headsByte / 4) + 1); // Read data for N heads - CmsError cmsError = MEM_RWIntegerList(R, 0, HEADS_DATA.MemType, 0, HEADS_DATA.Address, (int)headsInts * number, ref readInts); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWIntegerList(R, 0, HEADS_DATA.MemType, 0, HEADS_DATA.Address, (int)headsInts * number, ref readInts); + if (libraryError.IsError()) + return libraryError; readValues = readInts.SelectMany(BitConverter.GetBytes).ToList(); // Read Worked time heads - cmsError = MEM_RWDWordList(R, 0, HEADS_WORKED_TIMES.MemType, HEADS_WORKED_TIMES.Address, number, ref readHours); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWDWordList(R, 0, HEADS_WORKED_TIMES.MemType, HEADS_WORKED_TIMES.Address, number, ref readHours); + if (libraryError.IsError()) + return libraryError; // Parse and format read data for (int i = 0; i < number; i++) @@ -752,12 +752,12 @@ namespace CMS_CORE_Library.Demo public override CmsError PLC_RWorkedTimeHead(int head, ref uint time) { - int index = (head - 1) *4; + int index = (head - 1) * 4; // Read Worked time - CmsError cmsError = MEM_RWDWord(R, 0, HEADS_WORKED_TIMES.MemType, HEADS_WORKED_TIMES.Address + index, ref time); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWDWord(R, 0, HEADS_WORKED_TIMES.MemType, HEADS_WORKED_TIMES.Address + index, ref time); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -771,40 +771,40 @@ namespace CMS_CORE_Library.Demo return INCORRECT_PARAMETERS_ERROR; // Read Worked time - CmsError cmsError = MEM_RWDWord(W, 0, HEADS_WORKED_TIMES.MemType, HEADS_WORKED_TIMES.Address + index, ref time); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWDWord(W, 0, HEADS_WORKED_TIMES.MemType, HEADS_WORKED_TIMES.Address + index, ref time); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } public override CmsError PLC_RWorkedTimeMachine(ref uint time) { - + // Read Worked time -> ipotizzo sia il contatore 0 - CmsError cmsError = MEM_RWDWord(R, 0, COUNTERS.MemType, COUNTERS.Address, ref time); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWDWord(R, 0, COUNTERS.MemType, COUNTERS.Address, ref time); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } - + public override CmsError PLC_WResetWorkedTimeMachine(uint time) { // Write Worked time -> ipotizzo sia il contatore 0 - CmsError cmsError = MEM_RWDWord(W, 0, COUNTERS.MemType, COUNTERS.Address, ref time); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWDWord(W, 0, COUNTERS.MemType, COUNTERS.Address, ref time); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } - + public override CmsError PLC_WHeadOverride(uint id, HEAD_OVERRIDE_SIGN sign) { if (id > MAX_HEADS_NUMBER) return INCORRECT_PARAMETERS_ERROR; - CmsError cmsError; + CmsError libraryError; bool readValue = false; bool writeValue = true; @@ -815,37 +815,37 @@ namespace CMS_CORE_Library.Demo int headBit = (((int)id - 1) % 8); // Check ACK - cmsError = MEM_RWBoolean(R, 0, HEADS_ACK.MemType, ackByte, headBit, ref readValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(R, 0, HEADS_ACK.MemType, ackByte, headBit, ref readValue); + if (libraryError.IsError()) + return libraryError; // If PLC it's performing another request then return if (readValue) return NO_ERROR; // Write strobe data - cmsError = MEM_RWBoolean(W, 0, currentStrobeCell.MemType, strobeByte, headBit, ref writeValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(W, 0, currentStrobeCell.MemType, strobeByte, headBit, ref writeValue); + if (libraryError.IsError()) + return libraryError; // Reset wait ack = 1 and reset the strobe - cmsError = ResetStrobe(headBit, strobeByte, ackByte, currentStrobeCell.MemType); - if (cmsError.IsError()) - return cmsError; + libraryError = ResetStrobe(headBit, strobeByte, ackByte, currentStrobeCell.MemType); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } - + public override CmsError PLC_ROperatorInputIsNeeded(ref List value) { byte val = 0; - CmsError cmsError = MEM_RWByte(R, 0, OPERATOR_INPUT_NEEDED.MemType, OPERATOR_INPUT_NEEDED.Address, 0, ref val); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByte(R, 0, OPERATOR_INPUT_NEEDED.MemType, OPERATOR_INPUT_NEEDED.Address, 0, ref val); + if (libraryError.IsError()) + return libraryError; bool[] bits = ByteToBits(val); - - for(uint i = 0; i < 6; i++) + + for (uint i = 0; i < 6; i++) { if (bits[i]) { @@ -879,14 +879,14 @@ namespace CMS_CORE_Library.Demo 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; + CmsError libraryError = MEM_RWBoolean(R, 0, MTCONNECT_ONOFF.MemType, MTCONNECT_ONOFF.Address, MTCONNECT_ONOFF.SubAddress, ref MTCOnOff); + if (libraryError.IsError()) + return libraryError; byte val = 0; - cmsError = MEM_RWByte(R, 0, MTCONNECT_DATA_NEEDED.MemType, MTCONNECT_DATA_NEEDED.Address, 0, ref val); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByte(R, 0, MTCONNECT_DATA_NEEDED.MemType, MTCONNECT_DATA_NEEDED.Address, 0, ref val); + if (libraryError.IsError()) + return libraryError; // Convert a byte to an array of booleans bool[] bits = ByteToBits(val); @@ -964,47 +964,47 @@ namespace CMS_CORE_Library.Demo { return INCORRECT_PARAMETERS_ERROR; } - else if(index.Count() == 1) + else if (index.Count() == 1) { - if(memType == SCADA_MEM_TYPE.INT) + if (memType == SCADA_MEM_TYPE.INT) { // read INT int val = 0; - CmsError cmsError = MEM_RWInteger(R, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), ref val); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWInteger(R, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), ref val); + if (libraryError.IsError()) + return libraryError; value = val; } - else if(memType == SCADA_MEM_TYPE.WORD) + else if (memType == SCADA_MEM_TYPE.WORD) { // read WORD ushort val = 0; - CmsError cmsError = MEM_RWWord(R, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), ref val); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWWord(R, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), ref val); + if (libraryError.IsError()) + return libraryError; value = val; } else { // read byte byte val = 0; - CmsError cmsError = MEM_RWByte(R, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), 0, ref val); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByte(R, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), 0, ref val); + if (libraryError.IsError()) + return libraryError; value = val; } } - else if(index.Count() == 2 && memType == SCADA_MEM_TYPE.BOOL) + else if (index.Count() == 2 && memType == SCADA_MEM_TYPE.BOOL) { // read BOOL bool val = false; - CmsError cmsError = MEM_RWBoolean(R, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), ref val); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWBoolean(R, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), ref val); + if (libraryError.IsError()) + return libraryError; value = val; } - + return NO_ERROR; } @@ -1022,27 +1022,27 @@ namespace CMS_CORE_Library.Demo { // WRITE INT int val = Convert.ToInt32(value); - CmsError cmsError = MEM_RWInteger(W, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), ref val); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWInteger(W, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), ref val); + if (libraryError.IsError()) + return libraryError; value = val; } else if (memType == SCADA_MEM_TYPE.WORD) { // WRITE WORD ushort val = Convert.ToUInt16(value); - CmsError cmsError = MEM_RWWord(W, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), ref val); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWWord(W, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), ref val); + if (libraryError.IsError()) + return libraryError; value = val; } else { // WRITE byte byte val = Convert.ToByte(value); - CmsError cmsError = MEM_RWByte(W, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), 0, ref val); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByte(W, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), 0, ref val); + if (libraryError.IsError()) + return libraryError; value = val; } @@ -1050,16 +1050,16 @@ namespace CMS_CORE_Library.Demo else if (index.Count() == 2 && memType == SCADA_MEM_TYPE.BOOL) { // WRITE BOOL bool val = Convert.ToBoolean(value); - CmsError cmsError = MEM_RWBoolean(W, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), ref val); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWBoolean(W, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), ref val); + if (libraryError.IsError()) + return libraryError; value = val; } return NO_ERROR; } - + public override CmsError PLC_RScadaSiemens(ref List objects) { return FUNCTION_NOT_ALLOWED_ERROR; @@ -1069,7 +1069,7 @@ namespace CMS_CORE_Library.Demo { List values = new List() { - toolId, + toolId, magazineId, positionId, familyId, @@ -1077,21 +1077,21 @@ namespace CMS_CORE_Library.Demo }; // Write data - CmsError cmsError = MEM_RWWordList(W, 1, ASSISTED_TOOLING_DATA.MemType, ASSISTED_TOOLING_DATA.Address, 3, ref values); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWWordList(W, 1, ASSISTED_TOOLING_DATA.MemType, ASSISTED_TOOLING_DATA.Address, 3, ref values); + if (libraryError.IsError()) + return libraryError; // Write action byte val = (byte)action; - cmsError = MEM_RWByte(W, 1, ASSISTED_TOOLING_DATA.MemType, ASSISTED_TOOLING_DATA.Address + 6, 0, ref val); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByte(W, 1, ASSISTED_TOOLING_DATA.MemType, ASSISTED_TOOLING_DATA.Address + 6, 0, ref val); + if (libraryError.IsError()) + return libraryError; // 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; + libraryError = MEM_RWBoolean(W, 1, ASSISTED_TOOLING_STROBE.MemType, ASSISTED_TOOLING_STROBE.Address, 0, ref strobe); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -1100,19 +1100,19 @@ namespace CMS_CORE_Library.Demo { byte procFinalValue = 0; // Read procedure final value - CmsError cmsError = MEM_RWByte(R, 0, ASSISTED_TOOLING_FINAL_VALUE.MemType, ASSISTED_TOOLING_FINAL_VALUE.Address, 0, ref procFinalValue); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByte(R, 0, ASSISTED_TOOLING_FINAL_VALUE.MemType, ASSISTED_TOOLING_FINAL_VALUE.Address, 0, ref procFinalValue); + if (libraryError.IsError()) + return libraryError; // Check if the procedure is finished - if(GetBitValue(procFinalValue, 0)) + if (GetBitValue(procFinalValue, 0)) { List values = new List(); // Read actual data - cmsError = MEM_RWWordList(R, 1, ASSISTED_TOOLING_DATA.MemType, ASSISTED_TOOLING_DATA.Address, 3, ref values); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWWordList(R, 1, ASSISTED_TOOLING_DATA.MemType, ASSISTED_TOOLING_DATA.Address, 3, ref values); + if (libraryError.IsError()) + return libraryError; // Set action ASSISTED_TOOLING_ACTION action = ASSISTED_TOOLING_ACTION.NONE; @@ -1146,21 +1146,21 @@ namespace CMS_CORE_Library.Demo int n = 5; bool readValue = false; bool writeValue = false; - CmsError cmsError; + CmsError libraryError; do { // Check ACK - cmsError = MEM_RWBoolean(R, 0, memType, ackByte, bitId, ref readValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(R, 0, memType, ackByte, bitId, ref readValue); + if (libraryError.IsError()) + return libraryError; // If true reset strobe if (readValue == true) { // Reset strobe - cmsError = MEM_RWBoolean(W, 0, memType, strobeByte, bitId, ref writeValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(W, 0, memType, strobeByte, bitId, ref writeValue); + if (libraryError.IsError()) + return libraryError; // Exit from cycle n = 0; } @@ -1173,7 +1173,7 @@ namespace CMS_CORE_Library.Demo } } while (n > 0); - return cmsError; + return libraryError; } private CmsError PLC_RSoftKeys(MEMORY_CELL softKeyStatusMemory, MEMORY_CELL softKeysClickableMemory, ref List softKeys) @@ -1186,14 +1186,14 @@ namespace CMS_CORE_Library.Demo int offset = softKeyStatusMemory.Size * 8; // Read on data from memory - CmsError cmsError = MEM_RWIntegerList(R, 0, + CmsError libraryError = MEM_RWIntegerList(R, 0, softKeyStatusMemory.MemType, softKeyStatusMemory.Address, memorySizeToRead / 4, ref readValue); - if (cmsError.IsError()) - return cmsError; + if (libraryError.IsError()) + return libraryError; bool[] bits = new BitArray(readValue.ToArray()).Cast().ToArray(); @@ -1216,15 +1216,15 @@ namespace CMS_CORE_Library.Demo 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; + CmsError libraryError = MEM_RWBoolean(W, 0, EXP_CANDY_MEM.MemType, EXP_CANDY_MEM.Address, 0, ref value); + if (libraryError.IsError()) + return libraryError; else { //Leggo il dato - cmsError = PLC_RExpiredCandy(ref newVal); - if (cmsError.IsError()) - return cmsError; + libraryError = PLC_RExpiredCandy(ref newVal); + if (libraryError.IsError()) + return libraryError; //Se i 2 dati coincidono ritorno OK if (value == newVal) @@ -1237,9 +1237,9 @@ namespace CMS_CORE_Library.Demo 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; + CmsError libraryError = MEM_RWBoolean(R, 0, EXP_CANDY_MEM.MemType, EXP_CANDY_MEM.Address, 0, ref value); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -1249,15 +1249,15 @@ namespace CMS_CORE_Library.Demo int value = (int)value1; //Scrivo il dato - CmsError cmsError = MEM_RWInteger(W, 0, CANDY_MEM.MemType, CANDY_MEM.Address, ref value); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWInteger(W, 0, CANDY_MEM.MemType, CANDY_MEM.Address, ref value); + if (libraryError.IsError()) + return libraryError; else { //Leggo il dato - cmsError = PLC_RCandy(ref newVal); - if (cmsError.IsError()) - return cmsError; + libraryError = PLC_RCandy(ref newVal); + if (libraryError.IsError()) + return libraryError; //Se i 2 dati coincidono ritorno OK if (value == newVal) @@ -1271,22 +1271,22 @@ namespace CMS_CORE_Library.Demo public override CmsError PLC_RCandy(ref long value1) { int value = (int)value1; - CmsError cmsError = MEM_RWInteger(R, 0, CANDY_MEM.MemType, CANDY_MEM.Address, ref value); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWInteger(R, 0, CANDY_MEM.MemType, CANDY_MEM.Address, ref value); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } public override CmsError PLC_RActiveClient(ref int clientId) { - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; byte readValues = 0; - cmsError = MEM_RWByte(R, 0, ACTIVE_CLIENT.MemType, ACTIVE_CLIENT.Address, 0, ref readValues); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByte(R, 0, ACTIVE_CLIENT.MemType, ACTIVE_CLIENT.Address, 0, ref readValues); + if (libraryError.IsError()) + return libraryError; // Convert integer array into bit array bool[] statusBits = ByteToBits(readValues); @@ -1319,9 +1319,9 @@ namespace CMS_CORE_Library.Demo public override CmsError PROC_RStatus(ushort ProcNumber, ref PROC_STATUS Status) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -1341,9 +1341,9 @@ namespace CMS_CORE_Library.Demo public override CmsError PROC_RMode(ushort ProcNumber, ref PROC_MODE Mode) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -1363,9 +1363,9 @@ namespace CMS_CORE_Library.Demo public override CmsError PROC_RActiveAlarms(ushort ProcNumber, ref List alarms) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -1396,15 +1396,15 @@ namespace CMS_CORE_Library.Demo { processData.Id = procNumber; // Read part program name - CmsError cmsError = PROC_RSelectedPPName(procNumber, ref processData.PartProgramName); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PROC_RSelectedPPName(procNumber, ref processData.PartProgramName); + if (libraryError.IsError()) + return libraryError; ushort readValue = 0; // Read processes status from memory - cmsError = MEM_RWWord(R, 0, PROCESS_STATUS.MemType, PROCESS_STATUS.Address + 2 * (procNumber - 1), ref readValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWWord(R, 0, PROCESS_STATUS.MemType, PROCESS_STATUS.Address + 2 * (procNumber - 1), ref readValue); + if (libraryError.IsError()) + return libraryError; byte[] bytes = BitConverter.GetBytes(readValue); @@ -1438,16 +1438,16 @@ namespace CMS_CORE_Library.Demo public override CmsError PROC_RSelectedProcess(ref ushort procNumber) { - CmsError cmsError; + CmsError libraryError; bool readValue = false; for (int i = 0; i < MAX_PROCESS_NUMBER; i++) { int memoryAddress = SELECTED_PROCESS.Address + i * (2); // Read memory from plc - cmsError = MEM_RWBoolean(R, 0, SELECTED_PROCESS.MemType, memoryAddress, SELECTED_PROCESS.SubAddress, ref readValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(R, 0, SELECTED_PROCESS.MemType, memoryAddress, SELECTED_PROCESS.SubAddress, ref readValue); + if (libraryError.IsError()) + return libraryError; if (readValue) { @@ -1461,7 +1461,7 @@ namespace CMS_CORE_Library.Demo public override CmsError PROC_WSelectProcess(ushort procNumber) { - CmsError cmsError; + CmsError libraryError; byte processNum = (byte)procNumber; // Check parameter @@ -1469,9 +1469,9 @@ namespace CMS_CORE_Library.Demo return INCORRECT_PARAMETERS_ERROR; // Write process number - cmsError = MEM_RWByte(W, 0, SELECT_PROCESS.MemType, SELECT_PROCESS.Address, 1, ref processNum); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByte(W, 0, SELECT_PROCESS.MemType, SELECT_PROCESS.Address, 1, ref processNum); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -1479,9 +1479,9 @@ namespace CMS_CORE_Library.Demo public override CmsError PROC_RSelectedProcessData(int processId, ref SelectedProcessData processData) { byte val = 0; - CmsError cmsError = MEM_RWByte(R, 1, OFFSET_ID.MemType, OFFSET_ID.Address, 0, ref val); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByte(R, 1, OFFSET_ID.MemType, OFFSET_ID.Address, 0, ref val); + if (libraryError.IsError()) + return libraryError; processData = new SelectedProcessData() { @@ -1489,22 +1489,22 @@ namespace CMS_CORE_Library.Demo }; val = 0; - cmsError = MEM_RWByte(R, 1, ORIGIN_DATA.MemType, ORIGIN_DATA.Address, 0, ref val); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByte(R, 1, ORIGIN_DATA.MemType, ORIGIN_DATA.Address, 0, ref val); + if (libraryError.IsError()) + return libraryError; processData.Origin = val; - cmsError = MEM_RWByte(R, 1, RAPID_OVERRIDE.MemType, RAPID_OVERRIDE.Address, 0, ref val); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByte(R, 1, RAPID_OVERRIDE.MemType, RAPID_OVERRIDE.Address, 0, ref val); + if (libraryError.IsError()) + return libraryError; processData.RapidOverride = val; - cmsError = MEM_RWByte(R, 1, WORK_OVERRIDE.MemType, WORK_OVERRIDE.Address, 0, ref val); - if (cmsError.IsError()) - return cmsError; - + libraryError = MEM_RWByte(R, 1, WORK_OVERRIDE.MemType, WORK_OVERRIDE.Address, 0, ref val); + if (libraryError.IsError()) + return libraryError; + processData.WorkOverride = val; processData.ProcessMessage = "Generic Message"; @@ -1528,9 +1528,9 @@ namespace CMS_CORE_Library.Demo public override CmsError AXES_RInterpPosition(ushort ProcNumber, ref Dictionary axes) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -1554,9 +1554,9 @@ namespace CMS_CORE_Library.Demo public override CmsError AXES_RProgrPosition(ushort ProcNumber, ref Dictionary axes) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -1579,9 +1579,9 @@ namespace CMS_CORE_Library.Demo public override CmsError AXES_RMachinePosition(ushort procNumber, ref Dictionary axes) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { // Get Axes Position from server @@ -1604,9 +1604,9 @@ namespace CMS_CORE_Library.Demo public override CmsError AXES_RFollowingError(ushort procNumber, ref Dictionary axes) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -1629,9 +1629,9 @@ namespace CMS_CORE_Library.Demo public override CmsError AXES_RDistanceToGo(ushort procNumber, ref Dictionary axes) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -1653,9 +1653,9 @@ namespace CMS_CORE_Library.Demo public override CmsError AXES_RAxesNames(ushort process, ref List axesData) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -1683,9 +1683,9 @@ namespace CMS_CORE_Library.Demo public override CmsError AXES_RSelectedAxis(ref byte axisId) { // Read byte from memory - CmsError cmsError = MEM_RWByte(R, 0, SELECTED_AXIS.MemType, SELECTED_AXIS.Address, 1, ref axisId); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByte(R, 0, SELECTED_AXIS.MemType, SELECTED_AXIS.Address, 1, ref axisId); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -1693,9 +1693,9 @@ namespace CMS_CORE_Library.Demo public override CmsError AXES_WSelectAxis(byte axisId) { // Write byte from memory - CmsError cmsError = MEM_RWByte(W, 0, SELECT_AXIS.MemType, SELECT_AXIS.Address, 1, ref axisId); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByte(W, 0, SELECT_AXIS.MemType, SELECT_AXIS.Address, 1, ref axisId); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -1714,13 +1714,13 @@ namespace CMS_CORE_Library.Demo public override CmsError MEM_RWBoolean(bool bWrite, int Process, MEMORY_TYPE MemType, int MemIndex, int MemBit, ref bool Value) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; - cmsError = CheckBitRange(MemBit); - if (cmsError.IsError()) - return cmsError; + libraryError = CheckBitRange(MemBit); + if (libraryError.IsError()) + return libraryError; try { @@ -1750,9 +1750,9 @@ namespace CMS_CORE_Library.Demo public override CmsError MEM_RWByte(bool bWrite, int Process, MEMORY_TYPE MemType, int MemIndex, int MemByte, ref byte Value) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -1781,9 +1781,9 @@ namespace CMS_CORE_Library.Demo public override CmsError MEM_RWWord(bool bWrite, int Process, MEMORY_TYPE MemType, int MemIndex, ref ushort Value) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -1812,9 +1812,9 @@ namespace CMS_CORE_Library.Demo public override CmsError MEM_RWShort(bool bWrite, int Process, MEMORY_TYPE MemType, int MemIndex, ref short Value) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -1843,9 +1843,9 @@ namespace CMS_CORE_Library.Demo public override CmsError MEM_RWDWord(bool bWrite, int Process, MEMORY_TYPE MemType, int MemIndex, ref uint Value) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -1874,9 +1874,9 @@ namespace CMS_CORE_Library.Demo public override CmsError MEM_RWInteger(bool bWrite, int Process, MEMORY_TYPE MemType, int MemIndex, ref int Value) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -1979,9 +1979,9 @@ namespace CMS_CORE_Library.Demo public override CmsError MEM_RWByteList(bool bWrite, int Process, MEMORY_TYPE MemType, int MemIndex, int MemByteStart, int Number, ref List Value) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2010,9 +2010,9 @@ namespace CMS_CORE_Library.Demo public override CmsError MEM_RWWordList(bool bWrite, int Process, MEMORY_TYPE MemType, int MemIndex, int Number, ref List Value) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2041,9 +2041,9 @@ namespace CMS_CORE_Library.Demo public override CmsError MEM_RWShortList(bool bWrite, int Process, MEMORY_TYPE MemType, int MemIndex, int Number, ref List Value) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2072,9 +2072,9 @@ namespace CMS_CORE_Library.Demo public override CmsError MEM_RWIntegerList(bool bWrite, int Process, MEMORY_TYPE MemType, int MemIndex, int Number, ref List Value) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2103,9 +2103,9 @@ namespace CMS_CORE_Library.Demo public override CmsError MEM_RWDWordList(bool bWrite, int Process, MEMORY_TYPE MemType, int MemIndex, int Number, ref List Value) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2123,7 +2123,7 @@ namespace CMS_CORE_Library.Demo serverService.PutDWordList(MemIndex.ToString(), binaryMemoryModel); } } - catch (Exception ex) + catch (Exception ex) { return ManageException(ex); } @@ -2171,9 +2171,9 @@ namespace CMS_CORE_Library.Demo public override CmsError FILES_RGetFileList(string path, ref List files) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2192,9 +2192,9 @@ namespace CMS_CORE_Library.Demo public override CmsError FILES_RGetFileInfo(string path, ref InfoFile fileInfo) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2211,9 +2211,9 @@ namespace CMS_CORE_Library.Demo public override CmsError FILES_WSetActiveProgram(int processId, string filePath, ref ActiveProgramDataModel data) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2230,9 +2230,9 @@ namespace CMS_CORE_Library.Demo public override CmsError FILES_WDeactivateProgram(int processId) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2265,9 +2265,9 @@ namespace CMS_CORE_Library.Demo public override CmsError FILES_RActiveProgramData(int processId, ref ActiveProgramDataModel data) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2284,9 +2284,9 @@ namespace CMS_CORE_Library.Demo public override CmsError FILES_RProgramToFile(string partProgramPath, FileStream localFile) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2304,9 +2304,9 @@ namespace CMS_CORE_Library.Demo public override CmsError FILES_WProgramFromFile(string partProgramPath, FileStream localFile) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2328,9 +2328,9 @@ namespace CMS_CORE_Library.Demo public override CmsError FILES_CopyProgram(string partProgramPath, string newPartProgramPath, bool failIfExist) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2353,9 +2353,9 @@ namespace CMS_CORE_Library.Demo public override CmsError FILES_DeleteProgram(string partProgramPath, string partProgramName) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2373,9 +2373,9 @@ namespace CMS_CORE_Library.Demo { // Read all the values List ints = new List(); - CmsError cmsError = MEM_RWIntegerList(R, 0, QUEUE_NEXT.MemType, QUEUE_NEXT.Address, 1, ref ints); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWIntegerList(R, 0, QUEUE_NEXT.MemType, QUEUE_NEXT.Address, 1, ref ints); + if (libraryError.IsError()) + return libraryError; int processId = 0; // Loop througth @@ -2387,10 +2387,10 @@ namespace CMS_CORE_Library.Demo { // Reset next part program bit byte zero = 0; - cmsError = MEM_RWByte(W, 0, QUEUE_NEXT.MemType, QUEUE_NEXT.Address, //+ (processId * 4) + libraryError = MEM_RWByte(W, 0, QUEUE_NEXT.MemType, QUEUE_NEXT.Address, //+ (processId * 4) 0, ref zero); - if (cmsError.IsError()) - return cmsError; + if (libraryError.IsError()) + return libraryError; } // Create process model @@ -2414,9 +2414,9 @@ namespace CMS_CORE_Library.Demo { // Read all the values int ints = 0; - CmsError cmsError = MEM_RWInteger(R, 0, QUEUE_NEXT.MemType, QUEUE_NEXT.Address + ((processId - 1) * 4), ref ints); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWInteger(R, 0, QUEUE_NEXT.MemType, QUEUE_NEXT.Address + ((processId - 1) * 4), ref ints); + if (libraryError.IsError()) + return libraryError; byte[] bytes = BitConverter.GetBytes(ints); @@ -2434,9 +2434,9 @@ namespace CMS_CORE_Library.Demo public override CmsError FILES_WStartQueue() { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; // Write start byte startValue = 1; @@ -2446,9 +2446,9 @@ namespace CMS_CORE_Library.Demo public override CmsError FILES_WStopQueue() { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; // Write stop byte startValue = 2; @@ -2458,18 +2458,18 @@ namespace CMS_CORE_Library.Demo public override CmsError FILES_WLoadNextPartProgram(string localPath, string ncFileName) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } public override CmsError FILES_WUploadJobFilesAndActivate(int processId, string jobExtractedPath, string fileToActivate) { - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2495,9 +2495,9 @@ namespace CMS_CORE_Library.Demo public override CmsError FILES_RGetProgramType(ref PROGRAM_TYPE_ENUM programType) { byte val = 0; - CmsError cmsError = MEM_RWByte(R, 0, PROGRAM_TYPE.MemType, PROGRAM_TYPE.Address, 0, ref val); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByte(R, 0, PROGRAM_TYPE.MemType, PROGRAM_TYPE.Address, 0, ref val); + if (libraryError.IsError()) + return libraryError; programType = (PROGRAM_TYPE_ENUM)val; @@ -2569,9 +2569,9 @@ namespace CMS_CORE_Library.Demo // Get magazine status Dictionary magazineStatus = new Dictionary(); - CmsError cmsError = TOOLS_RMagazineStatus(ref magazineStatus); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = TOOLS_RMagazineStatus(ref magazineStatus); + if (libraryError.IsError()) + return libraryError; MagazineConfig.ForEach(x => x.LoadingIsActive = magazineStatus[x.Id]); @@ -2588,9 +2588,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_RToolsData(ref List toolTable) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2703,9 +2703,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WAddTool(ref SiemensToolModel tool) { - CmsError cmsError = CheckToolData(tool); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckToolData(tool); + if (libraryError.IsError()) + return libraryError; try { @@ -2721,9 +2721,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WUpdateTool(ref SiemensToolModel tool) { - CmsError cmsError = CheckToolData(tool); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckToolData(tool); + if (libraryError.IsError()) + return libraryError; try { serverService.PutTool(ref tool); @@ -2739,9 +2739,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WDeleteTool(int id) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2758,12 +2758,12 @@ namespace CMS_CORE_Library.Demo private CmsError CheckToolData(SiemensToolModel tool) { List tools = new List(); - CmsError cmsError = TOOLS_RToolsData(ref tools); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = TOOLS_RToolsData(ref tools); + if (libraryError.IsError()) + return libraryError; ToolTableConfiguration config = new ToolTableConfiguration(); - cmsError = TOOLS_RConfiguration(ref config); + libraryError = TOOLS_RConfiguration(ref config); if (tools.Count >= config.MaxTools) return MAX_TOOL_REACHED_ERROR; @@ -2778,12 +2778,12 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WAddEdge(int toolId, ref EdgeModel newEdge) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; ToolTableConfiguration config = new ToolTableConfiguration(); - cmsError = TOOLS_RConfiguration(ref config); + libraryError = TOOLS_RConfiguration(ref config); try { @@ -2846,9 +2846,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WUpdateEdge(int toolId, ref EdgeModel newEdge) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2906,9 +2906,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WDeleteEdge(int toolId, int edgeId) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2934,9 +2934,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_RShanksData(ref List shanks) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -2955,13 +2955,13 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WAddShank(ref ShankModel shank) { List shanks = new List(); - CmsError cmsError = TOOLS_RShanksData(ref shanks); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = TOOLS_RShanksData(ref shanks); + if (libraryError.IsError()) + return libraryError; // Get configuration ToolTableConfiguration config = new ToolTableConfiguration(); - cmsError = TOOLS_RConfiguration(ref config); + libraryError = TOOLS_RConfiguration(ref config); if (shanks.Count >= config.MaxMultitools) return MAX_MULTITOOL_REACHED_ERROR; @@ -2981,9 +2981,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WUpdateShank(ref ShankModel shank) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -3000,9 +3000,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WDeleteShank(int id) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -3019,9 +3019,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_RFamilyData(ref List families) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; families = new List(); try { @@ -3053,9 +3053,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WAddFamily(ref FamilyModel family) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -3072,9 +3072,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WUpdateFamilyData(string oldName, string newName) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { DemoFamilyModel demoFamilyData = new DemoFamilyModel() @@ -3096,9 +3096,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WDeleteFamily(string name) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -3115,9 +3115,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_RMagazinePositions(ref List positions) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; positions = new List(); try @@ -3136,9 +3136,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WUpdatePosition(PositionModel position) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -3156,16 +3156,16 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_RMountedTools(int magazineId, ref List magazinePos) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; // Get shanks data List shanks = new List(); serverService.GetShanks(out shanks); List tools = new List(); - cmsError = TOOLS_RToolsData(ref tools); + libraryError = TOOLS_RToolsData(ref tools); try { @@ -3220,9 +3220,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_RAvailableTools(ref List multiTools, ref List tools) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -3243,13 +3243,13 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WLoadToolInMagazine(int magazineId, NewToolInMagazineModel newMagazineTool, ref MountedToolModel newMountedTool) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; // Get configuration ToolTableConfiguration config = new ToolTableConfiguration(); - cmsError = TOOLS_RConfiguration(ref config); + libraryError = TOOLS_RConfiguration(ref config); // Get mag config SiemensMagazineConfigModel magConfig = config.Magazines.Where(x => x.Id == magazineId).FirstOrDefault(); @@ -3260,9 +3260,9 @@ namespace CMS_CORE_Library.Demo { serverService.UpdateMagazine(magazineId.ToString(), new List { newMagazineTool }); List tools = new List(); - cmsError = TOOLS_RMountedTools(magazineId, ref tools); - if (cmsError.IsError()) - return cmsError; + libraryError = TOOLS_RMountedTools(magazineId, ref tools); + if (libraryError.IsError()) + return libraryError; newMountedTool = tools.Where(x => x.ToolId == newMagazineTool.ToolId).FirstOrDefault(); @@ -3277,9 +3277,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WUnloadToolFromMagazine(int magazineId, int positionId) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -3302,9 +3302,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WLoadToolIntoShank(int shankId, int positionId, int toolId) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -3321,9 +3321,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WUnloadToolFromShank(int shankId, int positionId) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -3340,9 +3340,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_RMagazineAction(ref MagazineActionModel magazineAction) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -3375,9 +3375,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_RAdatpivePathStep(ref Byte step) { // Check ACK - CmsError cmsError = MEM_RWByte(R, 0, SELF_ADAPTIVE_PATH.MemType, SELF_ADAPTIVE_PATH.Address, 0, ref step); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByte(R, 0, SELF_ADAPTIVE_PATH.MemType, SELF_ADAPTIVE_PATH.Address, 0, ref step); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -3385,9 +3385,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_WAdatpivePathStep(Byte step) { // Check ACK - CmsError cmsError = MEM_RWByte(W, 0, SELF_ADAPTIVE_PATH.MemType, SELF_ADAPTIVE_PATH.Address, 0, ref step); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByte(W, 0, SELF_ADAPTIVE_PATH.MemType, SELF_ADAPTIVE_PATH.Address, 0, ref step); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -3426,9 +3426,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_RMagazineConfig(ref List config) { - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; config = new List() { @@ -3458,9 +3458,9 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_ROffset(short offsetId, ref OffsetModel offset) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -3468,7 +3468,7 @@ namespace CMS_CORE_Library.Demo offset = offsetData.Where(x => x.Id == offsetId).FirstOrDefault(); - if(offset != null) + if (offset != null) { offset.CustomDouble = new List() { @@ -3496,9 +3496,9 @@ namespace CMS_CORE_Library.Demo offset.Id = offsetId; // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { @@ -3568,15 +3568,15 @@ namespace CMS_CORE_Library.Demo public override CmsError TOOLS_RMagazineStatus(ref Dictionary magazineStatus) { //Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; // Read tool manager status int status = 0; - cmsError = MEM_RWInteger(R, 0, MAGAZINES_ENABLED_CMD.MemType, MAGAZINES_ENABLED_CMD.Address, ref status); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWInteger(R, 0, MAGAZINES_ENABLED_CMD.MemType, MAGAZINES_ENABLED_CMD.Address, ref status); + if (libraryError.IsError()) + return libraryError; bool[] bits = IntToBits(status); @@ -3639,9 +3639,9 @@ namespace CMS_CORE_Library.Demo public override CmsError PROC_RSelectedPPName(ushort ProcNumber, ref string Name) { // Check if the NC Demo is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; try { diff --git a/CMS_CORE_Library/Exceptions/Nc_Exception.cs b/CMS_CORE_Library/Exceptions/Nc_Exception.cs index 084dc4c..033a2e7 100644 --- a/CMS_CORE_Library/Exceptions/Nc_Exception.cs +++ b/CMS_CORE_Library/Exceptions/Nc_Exception.cs @@ -1,8 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace CMS_CORE_Library.Exceptions { diff --git a/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs b/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs index d66d6d0..3e4fab2 100644 --- a/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs +++ b/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs @@ -1573,7 +1573,7 @@ namespace CMS_CORE_Library.Fanuc public override CmsError PLC_RToolMovement(ref MovementBetweenMagazinesModel toolMovement) { List values = new List(); - CmsError cmsError = MEM_RWWordList(R, 0, TOOL_MOVEMENT_AREA.MemType, TOOL_MOVEMENT_AREA.Address, TOOL_MOVEMENT_AREA.Size/2, ref values); + CmsError cmsError = MEM_RWWordList(R, 0, TOOL_MOVEMENT_AREA.MemType, TOOL_MOVEMENT_AREA.Address, TOOL_MOVEMENT_AREA.Size / 2, ref values); if (cmsError.IsError()) return cmsError; @@ -3125,10 +3125,10 @@ namespace CMS_CORE_Library.Fanuc nReturn = Focas1.cnc_rdpdf_subdirn(nLibHandle[0], absolutePath, dataNum); if (nReturn != 0) return GetNcError(nReturn); - + short maxFiles = 1; // Check if there are directories - if(dataNum.dir_num > 0) + if (dataNum.dir_num > 0) { IDBPDFSDIR funcInput = new IDBPDFSDIR(); ODBPDFSDIR dirData = new ODBPDFSDIR(); @@ -3156,7 +3156,7 @@ namespace CMS_CORE_Library.Fanuc } // Check if there are files - if (dataNum.file_num > 0 ) + if (dataNum.file_num > 0) { IDBPDFADIR funcInput = new IDBPDFADIR(); ODBPDFADIR fileData = new ODBPDFADIR(); @@ -3615,7 +3615,7 @@ namespace CMS_CORE_Library.Fanuc cmsError = TOOLS_RMagazineStatus(ref magazineStatus); if (cmsError.IsError()) return cmsError; - + config.Magazines = conf.Select(x => new SiemensMagazineConfigModel() { Id = x.Id, @@ -5486,7 +5486,7 @@ namespace CMS_CORE_Library.Fanuc internal static MEMORY_CELL M154_SWITCH_ONOFF = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS, 1, 2); internal static MEMORY_CELL M154_ACK = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 3031, 1); internal static MEMORY_CELL M154_STROBE = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 3032, 1); - + internal static MEMORY_CELL M156_INPUT_NEEDED = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 23053, 1); internal static MEMORY_CELL M156_INPUT_ACK = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 23054, 1); internal static MEMORY_CELL M156_INPUT_STROBE = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 23055, 1); @@ -5529,7 +5529,7 @@ namespace CMS_CORE_Library.Fanuc internal static MEMORY_CELL TOOL_MOVEMENT_AREA = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4019, 1, 12); - internal static MEMORY_CELL TOOL_MOVEMENT_STROBE_END= new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4020, 1, 0); + internal static MEMORY_CELL TOOL_MOVEMENT_STROBE_END = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4020, 1, 0); internal static MEMORY_CELL TOOL_MOVEMENT_HMI_RESPONSE = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4030, 1, 12); // Tool table indexes @@ -5551,6 +5551,6 @@ namespace CMS_CORE_Library.Fanuc // Machine number internal static MEMORY_CELL MATR_MACCH_FANUC = new MEMORY_CELL(MEMORY_TYPE.Fanuc_D, 4018, 0, 1); - internal static MEMORY_CELL NEW_MATR_MACCH = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 23049 , 0, 1); + internal static MEMORY_CELL NEW_MATR_MACCH = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 23049, 0, 1); } } \ No newline at end of file diff --git a/CMS_CORE_Library/Fanuc/fwlib32_64.cs b/CMS_CORE_Library/Fanuc/fwlib32_64.cs index 1a049d3..8576063 100644 --- a/CMS_CORE_Library/Fanuc/fwlib32_64.cs +++ b/CMS_CORE_Library/Fanuc/fwlib32_64.cs @@ -76,9 +76,9 @@ internal class Focas1 EW_ALARM = 15, /* alarm has been occurred */ EW_STOP = 16, /* CNC is not running */ EW_PASSWD = 17, /* protection data error */ - /* - Result codes of DNC operation - */ + /* + Result codes of DNC operation + */ DNC_NORMAL = (-1), /* normal completed */ DNC_CANCEL = (-32768), /* DNC operation was canceled by CNC */ DNC_OPENERR = (-514), /* file open error */ @@ -1313,7 +1313,7 @@ internal class Focas1 internal REALPRM rdata30 = new REALPRM(); internal REALPRM rdata31 = new REALPRM(); internal REALPRM rdata32 = new REALPRM(); - } + } #elif M_AXIS2 [StructLayout(LayoutKind.Sequential,Pack=4)] internal class REALPRMS @@ -1373,2126 +1373,2126 @@ internal class Focas1 } /* In case that the number of alarm is 8 */ #endif - [StructLayout(LayoutKind.Explicit)] - internal class IODBPSD_1 - { - [FieldOffset(0)] - internal short datano; /* data number */ - [FieldOffset(2)] - internal short type; /* axis number */ - [FieldOffset(4)] - internal byte cdata; /* parameter / setting data */ - [FieldOffset(4)] - internal short idata; - [FieldOffset(4)] - internal int ldata; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPSD_2 - { - internal short datano; /* data number */ - internal short type; /* axis number */ - internal REALPRM rdata = new REALPRM(); - } - [StructLayout(LayoutKind.Explicit)] - internal class IODBPSD_3 - { - [FieldOffset(0)] - internal short datano; /* data number */ - [FieldOffset(2)] - internal short type; /* axis number */ - [FieldOffset(4), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal byte[] cdatas = new byte[MAX_AXIS]; - [FieldOffset(4), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal short[] idatas = new short[MAX_AXIS]; - [FieldOffset(4), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] ldatas = new int[MAX_AXIS]; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPSD_4 - { - internal short datano; /* data number */ - internal short type; /* axis number */ - internal REALPRMS rdatas = new REALPRMS(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPSD_A - { - internal IODBPSD_1 data1 = new IODBPSD_1(); - internal IODBPSD_1 data2 = new IODBPSD_1(); - internal IODBPSD_1 data3 = new IODBPSD_1(); - internal IODBPSD_1 data4 = new IODBPSD_1(); - internal IODBPSD_1 data5 = new IODBPSD_1(); - internal IODBPSD_1 data6 = new IODBPSD_1(); - internal IODBPSD_1 data7 = new IODBPSD_1(); - } /* (sample) must be modified */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPSD_B - { - internal IODBPSD_2 data1 = new IODBPSD_2(); - internal IODBPSD_2 data2 = new IODBPSD_2(); - internal IODBPSD_2 data3 = new IODBPSD_2(); - internal IODBPSD_2 data4 = new IODBPSD_2(); - internal IODBPSD_2 data5 = new IODBPSD_2(); - internal IODBPSD_2 data6 = new IODBPSD_2(); - internal IODBPSD_2 data7 = new IODBPSD_2(); - } /* (sample) must be modified */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPSD_C - { - internal IODBPSD_3 data1 = new IODBPSD_3(); - internal IODBPSD_3 data2 = new IODBPSD_3(); - internal IODBPSD_3 data3 = new IODBPSD_3(); - internal IODBPSD_3 data4 = new IODBPSD_3(); - internal IODBPSD_3 data5 = new IODBPSD_3(); - internal IODBPSD_3 data6 = new IODBPSD_3(); - internal IODBPSD_3 data7 = new IODBPSD_3(); - } /* (sample) must be modified */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPSD_D - { - internal IODBPSD_4 data1 = new IODBPSD_4(); - internal IODBPSD_4 data2 = new IODBPSD_4(); - internal IODBPSD_4 data3 = new IODBPSD_4(); - internal IODBPSD_4 data4 = new IODBPSD_4(); - internal IODBPSD_4 data5 = new IODBPSD_4(); - internal IODBPSD_4 data6 = new IODBPSD_4(); - internal IODBPSD_4 data7 = new IODBPSD_4(); - } /* (sample) must be modified */ + [StructLayout(LayoutKind.Explicit)] + internal class IODBPSD_1 + { + [FieldOffset(0)] + internal short datano; /* data number */ + [FieldOffset(2)] + internal short type; /* axis number */ + [FieldOffset(4)] + internal byte cdata; /* parameter / setting data */ + [FieldOffset(4)] + internal short idata; + [FieldOffset(4)] + internal int ldata; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPSD_2 + { + internal short datano; /* data number */ + internal short type; /* axis number */ + internal REALPRM rdata = new REALPRM(); + } + [StructLayout(LayoutKind.Explicit)] + internal class IODBPSD_3 + { + [FieldOffset(0)] + internal short datano; /* data number */ + [FieldOffset(2)] + internal short type; /* axis number */ + [FieldOffset(4), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal byte[] cdatas = new byte[MAX_AXIS]; + [FieldOffset(4), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal short[] idatas = new short[MAX_AXIS]; + [FieldOffset(4), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] ldatas = new int[MAX_AXIS]; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPSD_4 + { + internal short datano; /* data number */ + internal short type; /* axis number */ + internal REALPRMS rdatas = new REALPRMS(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPSD_A + { + internal IODBPSD_1 data1 = new IODBPSD_1(); + internal IODBPSD_1 data2 = new IODBPSD_1(); + internal IODBPSD_1 data3 = new IODBPSD_1(); + internal IODBPSD_1 data4 = new IODBPSD_1(); + internal IODBPSD_1 data5 = new IODBPSD_1(); + internal IODBPSD_1 data6 = new IODBPSD_1(); + internal IODBPSD_1 data7 = new IODBPSD_1(); + } /* (sample) must be modified */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPSD_B + { + internal IODBPSD_2 data1 = new IODBPSD_2(); + internal IODBPSD_2 data2 = new IODBPSD_2(); + internal IODBPSD_2 data3 = new IODBPSD_2(); + internal IODBPSD_2 data4 = new IODBPSD_2(); + internal IODBPSD_2 data5 = new IODBPSD_2(); + internal IODBPSD_2 data6 = new IODBPSD_2(); + internal IODBPSD_2 data7 = new IODBPSD_2(); + } /* (sample) must be modified */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPSD_C + { + internal IODBPSD_3 data1 = new IODBPSD_3(); + internal IODBPSD_3 data2 = new IODBPSD_3(); + internal IODBPSD_3 data3 = new IODBPSD_3(); + internal IODBPSD_3 data4 = new IODBPSD_3(); + internal IODBPSD_3 data5 = new IODBPSD_3(); + internal IODBPSD_3 data6 = new IODBPSD_3(); + internal IODBPSD_3 data7 = new IODBPSD_3(); + } /* (sample) must be modified */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPSD_D + { + internal IODBPSD_4 data1 = new IODBPSD_4(); + internal IODBPSD_4 data2 = new IODBPSD_4(); + internal IODBPSD_4 data3 = new IODBPSD_4(); + internal IODBPSD_4 data4 = new IODBPSD_4(); + internal IODBPSD_4 data5 = new IODBPSD_4(); + internal IODBPSD_4 data6 = new IODBPSD_4(); + internal IODBPSD_4 data7 = new IODBPSD_4(); + } /* (sample) must be modified */ #endif - /* cnc_rdparam_ext:read parameters */ - /* cnc_rddiag_ext:read diagnosis data */ - /* cnc_start_async_wrparam:async parameter write start */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPRMNO - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] - internal int[] prm = new int[10]; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPRM_data - { - internal int prm_val; /* parameter / setting data */ - internal int dec_val; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPRM1 - { - internal IODBPRM_data data1 = new IODBPRM_data(); - internal IODBPRM_data data2 = new IODBPRM_data(); - internal IODBPRM_data data3 = new IODBPRM_data(); - internal IODBPRM_data data4 = new IODBPRM_data(); - internal IODBPRM_data data5 = new IODBPRM_data(); - internal IODBPRM_data data6 = new IODBPRM_data(); - internal IODBPRM_data data7 = new IODBPRM_data(); - internal IODBPRM_data data8 = new IODBPRM_data(); - internal IODBPRM_data data9 = new IODBPRM_data(); - internal IODBPRM_data data10 = new IODBPRM_data(); - internal IODBPRM_data data11 = new IODBPRM_data(); - internal IODBPRM_data data12 = new IODBPRM_data(); - internal IODBPRM_data data13 = new IODBPRM_data(); - internal IODBPRM_data data14 = new IODBPRM_data(); - internal IODBPRM_data data15 = new IODBPRM_data(); - internal IODBPRM_data data16 = new IODBPRM_data(); - internal IODBPRM_data data17 = new IODBPRM_data(); - internal IODBPRM_data data18 = new IODBPRM_data(); - internal IODBPRM_data data19 = new IODBPRM_data(); - internal IODBPRM_data data20 = new IODBPRM_data(); - internal IODBPRM_data data21 = new IODBPRM_data(); - internal IODBPRM_data data22 = new IODBPRM_data(); - internal IODBPRM_data data23 = new IODBPRM_data(); - internal IODBPRM_data data24 = new IODBPRM_data(); - internal IODBPRM_data data25 = new IODBPRM_data(); - internal IODBPRM_data data26 = new IODBPRM_data(); - internal IODBPRM_data data27 = new IODBPRM_data(); - internal IODBPRM_data data28 = new IODBPRM_data(); - internal IODBPRM_data data29 = new IODBPRM_data(); - internal IODBPRM_data data30 = new IODBPRM_data(); - internal IODBPRM_data data31 = new IODBPRM_data(); - internal IODBPRM_data data32 = new IODBPRM_data(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPRM2 - { - internal int datano; /* data number */ - internal short type; /* data type */ - internal short axis; /* axis information */ - internal short info; /* misc information */ - internal short unit; /* unit information */ - internal IODBPRM1 data = new IODBPRM1(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPRM - { - internal IODBPRM2 prm1 = new IODBPRM2(); - internal IODBPRM2 prm2 = new IODBPRM2(); - internal IODBPRM2 prm3 = new IODBPRM2(); - internal IODBPRM2 prm4 = new IODBPRM2(); - internal IODBPRM2 prm5 = new IODBPRM2(); - internal IODBPRM2 prm6 = new IODBPRM2(); - internal IODBPRM2 prm7 = new IODBPRM2(); - internal IODBPRM2 prm8 = new IODBPRM2(); - internal IODBPRM2 prm9 = new IODBPRM2(); - internal IODBPRM2 prm10 = new IODBPRM2(); - } /* In case that the number of alarm is 10 */ + /* cnc_rdparam_ext:read parameters */ + /* cnc_rddiag_ext:read diagnosis data */ + /* cnc_start_async_wrparam:async parameter write start */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPRMNO + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal int[] prm = new int[10]; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPRM_data + { + internal int prm_val; /* parameter / setting data */ + internal int dec_val; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPRM1 + { + internal IODBPRM_data data1 = new IODBPRM_data(); + internal IODBPRM_data data2 = new IODBPRM_data(); + internal IODBPRM_data data3 = new IODBPRM_data(); + internal IODBPRM_data data4 = new IODBPRM_data(); + internal IODBPRM_data data5 = new IODBPRM_data(); + internal IODBPRM_data data6 = new IODBPRM_data(); + internal IODBPRM_data data7 = new IODBPRM_data(); + internal IODBPRM_data data8 = new IODBPRM_data(); + internal IODBPRM_data data9 = new IODBPRM_data(); + internal IODBPRM_data data10 = new IODBPRM_data(); + internal IODBPRM_data data11 = new IODBPRM_data(); + internal IODBPRM_data data12 = new IODBPRM_data(); + internal IODBPRM_data data13 = new IODBPRM_data(); + internal IODBPRM_data data14 = new IODBPRM_data(); + internal IODBPRM_data data15 = new IODBPRM_data(); + internal IODBPRM_data data16 = new IODBPRM_data(); + internal IODBPRM_data data17 = new IODBPRM_data(); + internal IODBPRM_data data18 = new IODBPRM_data(); + internal IODBPRM_data data19 = new IODBPRM_data(); + internal IODBPRM_data data20 = new IODBPRM_data(); + internal IODBPRM_data data21 = new IODBPRM_data(); + internal IODBPRM_data data22 = new IODBPRM_data(); + internal IODBPRM_data data23 = new IODBPRM_data(); + internal IODBPRM_data data24 = new IODBPRM_data(); + internal IODBPRM_data data25 = new IODBPRM_data(); + internal IODBPRM_data data26 = new IODBPRM_data(); + internal IODBPRM_data data27 = new IODBPRM_data(); + internal IODBPRM_data data28 = new IODBPRM_data(); + internal IODBPRM_data data29 = new IODBPRM_data(); + internal IODBPRM_data data30 = new IODBPRM_data(); + internal IODBPRM_data data31 = new IODBPRM_data(); + internal IODBPRM_data data32 = new IODBPRM_data(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPRM2 + { + internal int datano; /* data number */ + internal short type; /* data type */ + internal short axis; /* axis information */ + internal short info; /* misc information */ + internal short unit; /* unit information */ + internal IODBPRM1 data = new IODBPRM1(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPRM + { + internal IODBPRM2 prm1 = new IODBPRM2(); + internal IODBPRM2 prm2 = new IODBPRM2(); + internal IODBPRM2 prm3 = new IODBPRM2(); + internal IODBPRM2 prm4 = new IODBPRM2(); + internal IODBPRM2 prm5 = new IODBPRM2(); + internal IODBPRM2 prm6 = new IODBPRM2(); + internal IODBPRM2 prm7 = new IODBPRM2(); + internal IODBPRM2 prm8 = new IODBPRM2(); + internal IODBPRM2 prm9 = new IODBPRM2(); + internal IODBPRM2 prm10 = new IODBPRM2(); + } /* In case that the number of alarm is 10 */ - /* cnc_rdpitchr:read pitch error compensation data(area specified) */ - /* cnc_wrpitchr:write pitch error compensation data(area specified) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPI - { - internal short datano_s; /* start pitch number */ - internal short dummy; /* dummy */ - internal short datano_e; /* end pitch number */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] - internal sbyte[] data = new sbyte[5]; /* offset value */ - } /* In case that the number of data is 5 */ + /* cnc_rdpitchr:read pitch error compensation data(area specified) */ + /* cnc_wrpitchr:write pitch error compensation data(area specified) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPI + { + internal short datano_s; /* start pitch number */ + internal short dummy; /* dummy */ + internal short datano_e; /* end pitch number */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] + internal sbyte[] data = new sbyte[5]; /* offset value */ + } /* In case that the number of data is 5 */ - /* cnc_rdmacro:read custom macro variable */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBM - { - internal short datano; /* variable number */ - internal short dummy; /* dummy */ - internal int mcr_val; /* macro variable */ - internal short dec_val; /* decimal point */ - } + /* cnc_rdmacro:read custom macro variable */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBM + { + internal short datano; /* variable number */ + internal short dummy; /* dummy */ + internal int mcr_val; /* macro variable */ + internal short dec_val; /* decimal point */ + } - /* cnc_rdmacror:read custom macro variables(area specified) */ - /* cnc_wrmacror:write custom macro variables(area specified) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBMR_data - { - internal int mcr_val; /* macro variable */ - internal short dec_val; /* decimal point */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBMR1 - { - internal IODBMR_data data1 = new IODBMR_data(); - internal IODBMR_data data2 = new IODBMR_data(); - internal IODBMR_data data3 = new IODBMR_data(); - internal IODBMR_data data4 = new IODBMR_data(); - internal IODBMR_data data5 = new IODBMR_data(); - } /* In case that the number of data is 5 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBMR - { - internal short datano_s; /* start macro number */ - internal short dummy; /* dummy */ - internal short datano_e; /* end macro number */ - internal IODBMR1 data = new IODBMR1(); - } + /* cnc_rdmacror:read custom macro variables(area specified) */ + /* cnc_wrmacror:write custom macro variables(area specified) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBMR_data + { + internal int mcr_val; /* macro variable */ + internal short dec_val; /* decimal point */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBMR1 + { + internal IODBMR_data data1 = new IODBMR_data(); + internal IODBMR_data data2 = new IODBMR_data(); + internal IODBMR_data data3 = new IODBMR_data(); + internal IODBMR_data data4 = new IODBMR_data(); + internal IODBMR_data data5 = new IODBMR_data(); + } /* In case that the number of data is 5 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBMR + { + internal short datano_s; /* start macro number */ + internal short dummy; /* dummy */ + internal short datano_e; /* end macro number */ + internal IODBMR1 data = new IODBMR1(); + } - /* cnc_rdpmacro:read P code macro variable */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPM - { - internal int datano; /* variable number */ - internal short dummy; /* dummy */ - internal int mcr_val; /* macro variable */ - internal short dec_val; /* decimal point */ - } + /* cnc_rdpmacro:read P code macro variable */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPM + { + internal int datano; /* variable number */ + internal short dummy; /* dummy */ + internal int mcr_val; /* macro variable */ + internal short dec_val; /* decimal point */ + } - /* cnc_rdpmacror:read P code macro variables(area specified) */ - /* cnc_wrpmacror:write P code macro variables(area specified) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPR_data - { - internal int mcr_val; /* macro variable */ - internal short dec_val; /* decimal point */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPR1 - { - internal IODBPR_data data1 = new IODBPR_data(); - internal IODBPR_data data2 = new IODBPR_data(); - internal IODBPR_data data3 = new IODBPR_data(); - internal IODBPR_data data4 = new IODBPR_data(); - internal IODBPR_data data5 = new IODBPR_data(); - } /* In case that the number of data is 5 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPR - { - internal int datano_s; /* start macro number */ - internal short dummy; /* dummy */ - internal int datano_e; /* end macro number */ - internal IODBPR1 data = new IODBPR1(); - } + /* cnc_rdpmacror:read P code macro variables(area specified) */ + /* cnc_wrpmacror:write P code macro variables(area specified) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPR_data + { + internal int mcr_val; /* macro variable */ + internal short dec_val; /* decimal point */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPR1 + { + internal IODBPR_data data1 = new IODBPR_data(); + internal IODBPR_data data2 = new IODBPR_data(); + internal IODBPR_data data3 = new IODBPR_data(); + internal IODBPR_data data4 = new IODBPR_data(); + internal IODBPR_data data5 = new IODBPR_data(); + } /* In case that the number of data is 5 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPR + { + internal int datano_s; /* start macro number */ + internal short dummy; /* dummy */ + internal int datano_e; /* end macro number */ + internal IODBPR1 data = new IODBPR1(); + } - /* cnc_rdtofsinfo:read tool offset information */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBTLINF - { - internal short ofs_type; - internal short use_no; - } + /* cnc_rdtofsinfo:read tool offset information */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBTLINF + { + internal short ofs_type; + internal short use_no; + } - /* cnc_rdtofsinfo2:read tool offset information(2) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBTLINF2 - { - internal short ofs_type; - internal short use_no; - internal short ofs_enable; - } + /* cnc_rdtofsinfo2:read tool offset information(2) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBTLINF2 + { + internal short ofs_type; + internal short use_no; + internal short ofs_enable; + } - /* cnc_rdmacroinfo:read custom macro variable information */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBMVINF - { - internal short use_no1; - internal short use_no2; - } + /* cnc_rdmacroinfo:read custom macro variable information */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBMVINF + { + internal short use_no1; + internal short use_no2; + } - /* cnc_rdpmacroinfo:read P code macro variable information */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPMINF - { - internal short use_no1; + /* cnc_rdpmacroinfo:read P code macro variable information */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPMINF + { + internal short use_no1; #if PCD_UWORD internal ushort use_no2; #else - internal short use_no2; + internal short use_no2; #endif - internal short v2_type; - } - - /* cnc_tofs_rnge:read validity of tool offset */ - /* cnc_zofs_rnge:read validity of work zero offset */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDATRNG - { - internal int data_min; /* lower limit */ - internal int data_max; /* upper limit */ - internal int status; /* status of setting */ - } - - /* cnc_rdhsprminfo:read the information for function cnc_rdhsparam() */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class HSPINFO_data - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal byte[] data1 = new byte[16]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal byte[] data2 = new byte[16]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal byte[] data3 = new byte[16]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal byte[] data4 = new byte[16]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal byte[] data5 = new byte[16]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal byte[] data6 = new byte[16]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal byte[] data7 = new byte[16]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal byte[] data8 = new byte[16]; - } - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class HSPINFO - { - internal HSPINFO_data prminfo1 = new HSPINFO_data(); - internal HSPINFO_data prminfo2 = new HSPINFO_data(); - internal HSPINFO_data prminfo3 = new HSPINFO_data(); - internal HSPINFO_data prminfo4 = new HSPINFO_data(); - internal HSPINFO_data prminfo5 = new HSPINFO_data(); - internal HSPINFO_data prminfo6 = new HSPINFO_data(); - internal HSPINFO_data prminfo7 = new HSPINFO_data(); - internal HSPINFO_data prminfo8 = new HSPINFO_data(); - internal HSPINFO_data prminfo9 = new HSPINFO_data(); - internal HSPINFO_data prminfo10 = new HSPINFO_data(); - } - - /* cnc_rdhsparam:read parameters at the high speed */ - [StructLayout(LayoutKind.Explicit)] - internal class HSPDATA_1 - { - [FieldOffset(0), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal byte[] cdatas1 = new byte[MAX_AXIS]; - [FieldOffset(4 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal byte[] cdatas2 = new byte[MAX_AXIS]; - [FieldOffset(4 * 2 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal byte[] cdatas3 = new byte[MAX_AXIS]; - [FieldOffset(4 * 3 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal byte[] cdatas4 = new byte[MAX_AXIS]; - [FieldOffset(4 * 4 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal byte[] cdatas5 = new byte[MAX_AXIS]; - [FieldOffset(4 * 5 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal byte[] cdatas6 = new byte[MAX_AXIS]; - [FieldOffset(4 * 6 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal byte[] cdatas7 = new byte[MAX_AXIS]; - [FieldOffset(4 * 7 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal byte[] cdatas8 = new byte[MAX_AXIS]; - [FieldOffset(4 * 8 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal byte[] cdatas9 = new byte[MAX_AXIS]; - [FieldOffset(4 * 9 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal byte[] cdatas10 = new byte[MAX_AXIS]; - } - - [StructLayout(LayoutKind.Explicit)] - internal class HSPDATA_2 - { - [FieldOffset(0), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal short[] idatas1 = new short[MAX_AXIS]; - [FieldOffset(2 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal short[] idatas2 = new short[MAX_AXIS]; - [FieldOffset(2 * 2 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal short[] idatas3 = new short[MAX_AXIS]; - [FieldOffset(2 * 3 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal short[] idatas4 = new short[MAX_AXIS]; - [FieldOffset(2 * 4 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal short[] idatas5 = new short[MAX_AXIS]; - [FieldOffset(2 * 5 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal short[] idatas6 = new short[MAX_AXIS]; - [FieldOffset(2 * 6 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal short[] idatas7 = new short[MAX_AXIS]; - [FieldOffset(2 * 7 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal short[] idatas8 = new short[MAX_AXIS]; - [FieldOffset(2 * 8 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal short[] idatas9 = new short[MAX_AXIS]; - [FieldOffset(2 * 9 * MAX_AXIS), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal short[] idatas10 = new short[MAX_AXIS]; - } - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class HSPDATA_3 - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] ldatas1 = new int[MAX_AXIS]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] ldatas2 = new int[MAX_AXIS]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] ldatas3 = new int[MAX_AXIS]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] ldatas4 = new int[MAX_AXIS]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] ldatas5 = new int[MAX_AXIS]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] ldatas6 = new int[MAX_AXIS]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] ldatas7 = new int[MAX_AXIS]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] ldatas8 = new int[MAX_AXIS]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] ldatas9 = new int[MAX_AXIS]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] ldatas10 = new int[MAX_AXIS]; - } - - /*----------------------------------------*/ - /* CNC: Tool life management data related */ - /*----------------------------------------*/ - - /* cnc_rdgrpid:read tool life management data(tool group number) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBTLIFE1 - { - internal short dummy; /* dummy */ - internal short type; /* data type */ - internal int data; /* data */ - } - - /* cnc_rdngrp:read tool life management data(number of tool groups) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBTLIFE2 - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal short[] dummy; /* dummy */ - internal int data; /* data */ - } - - /* cnc_rdntool:read tool life management data(number of tools) */ - /* cnc_rdlife:read tool life management data(tool life) */ - /* cnc_rdcount:read tool life management data(tool lift counter) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBTLIFE3 - { - internal short datano; /* data number */ - internal short dummy; /* dummy */ - internal int data; /* data */ - } - - /* cnc_rd1length:read tool life management data(tool length number-1) */ - /* cnc_rd2length:read tool life management data(tool length number-2) */ - /* cnc_rd1radius:read tool life management data(cutter compensation no.-1) */ - /* cnc_rd2radius:read tool life management data(cutter compensation no.-2) */ - /* cnc_t1info:read tool life management data(tool information-1) */ - /* cnc_t2info:read tool life management data(tool information-2) */ - /* cnc_toolnum:read tool life management data(tool number) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBTLIFE4 - { - internal short datano; /* data number */ - internal short type; /* data type */ - internal int data; /* data */ - } - - /* cnc_rdgrpid2:read tool life management data(tool group number) 2 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBTLIFE5 - { - internal int dummy; /* dummy */ - internal int type; /* data type */ - internal int data; /* data */ - } - - /* cnc_rdtoolrng:read tool life management data(tool number, tool life, tool life counter)(area specified) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTR_data - { - internal int ntool; /* tool number */ - internal int life; /* tool life */ - internal int count; /* tool life counter */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTR1 - { - internal IODBTR_data data1 = new IODBTR_data(); - internal IODBTR_data data2 = new IODBTR_data(); - internal IODBTR_data data3 = new IODBTR_data(); - internal IODBTR_data data4 = new IODBTR_data(); - internal IODBTR_data data5 = new IODBTR_data(); - } /* In case that the number of data is 5 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTR - { - internal short datano_s; /* start group number */ - internal short dummy; /* dummy */ - internal short datano_e; /* end group number */ - internal IODBTR1 data = new IODBTR1(); - } - - /* cnc_rdtoolgrp:read tool life management data(all data within group) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBTG_data - { - internal int tuse_num; /* tool number */ - internal int tool_num; /* tool life */ - internal int length_num; /* tool life counter */ - internal int radius_num; /* tool life counter */ - internal int tinfo; /* tool life counter */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBTG1 - { - internal ODBTG_data data1 = new ODBTG_data(); - internal ODBTG_data data2 = new ODBTG_data(); - internal ODBTG_data data3 = new ODBTG_data(); - internal ODBTG_data data4 = new ODBTG_data(); - internal ODBTG_data data5 = new ODBTG_data(); - } /* In case that the number of data is 5 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBTG - { - internal short grp_num; /* start group number */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal short[] dummy; /* dummy */ - internal int ntool; /* tool number */ - internal int life; /* tool life */ - internal int count; /* tool life counter */ - internal ODBTG1 data = new ODBTG1(); - } - - /* cnc_wrcountr:write tool life management data(tool life counter) (area specified) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IDBWRC_data - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal int[] dummy; /* dummy */ - internal int count; /* tool life counter */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IDBWRC1 - { - internal IDBWRC_data data1 = new IDBWRC_data(); - internal IDBWRC_data data2 = new IDBWRC_data(); - internal IDBWRC_data data3 = new IDBWRC_data(); - internal IDBWRC_data data4 = new IDBWRC_data(); - internal IDBWRC_data data5 = new IDBWRC_data(); - } /* In case that the number of data is 5 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IDBWRC - { - internal short datano_s; /* start group number */ - internal short dummy; /* dummy */ - internal short datano_e; /* end group number */ - internal IDBWRC1 data = new IDBWRC1(); - } - - /* cnc_rdusegrpid:read tool life management data(used tool group number) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBUSEGR - { - internal short datano; /* dummy */ - internal short type; /* dummy */ - internal int next; /* next use group number */ - internal int use; /* using group number */ - internal int slct; /* selecting group number */ - } - - /* cnc_rdmaxgrp:read tool life management data(max. number of tool groups) */ - /* cnc_rdmaxtool:read tool life management data(maximum number of tool within group) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBLFNO - { - internal short datano; /* dummy */ - internal short type; /* dummy */ - internal short data; /* number of data */ - } - - /* cnc_rdusetlno:read tool life management data(used tool no within group) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBTLUSE - { - internal short s_grp; /* start group number */ - internal short dummy; /* dummy */ - internal short e_grp; /* end group number */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] - internal int[] data; /* tool using number */ - } /* In case that the number of group is 5 */ - - /* cnc_rd1tlifedata:read tool life management data(tool data1) */ - /* cnc_rd2tlifedata:read tool life management data(tool data2) */ - /* cnc_wr1tlifedata:write tool life management data(tool data1) */ - /* cnc_wr2tlifedata:write tool life management data(tool data2) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTD - { - internal short datano; /* tool group number */ - internal short type; /* tool using number */ - internal int tool_num; /* tool number */ - internal int h_code; /* H code */ - internal int d_code; /* D code */ - internal int tool_inf; /* tool information */ - } - - /* cnc_rd1tlifedat2:read tool life management data(tool data1) 2 */ - /* cnc_wr1tlifedat2:write tool life management data(tool data1) 2 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTD2 - { - internal short datano; /* tool group number */ - internal short dummy; /* dummy */ - internal int type; /* tool using number */ - internal int tool_num; /* tool number */ - internal int h_code; /* H code */ - internal int d_code; /* D code */ - internal int tool_inf; /* tool information */ - } - - /* cnc_rdgrpinfo:read tool life management data(tool group information) */ - /* cnc_wrgrpinfo:write tool life management data(tool group information) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTGI_data - { - internal int n_tool; /* number of tool */ - internal int count_value; /* tool life */ - internal int counter; /* tool life counter */ - internal int count_type; /* tool life counter type */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTGI1 - { - internal IODBTGI_data data1 = new IODBTGI_data(); - internal IODBTGI_data data2 = new IODBTGI_data(); - internal IODBTGI_data data3 = new IODBTGI_data(); - internal IODBTGI_data data4 = new IODBTGI_data(); - internal IODBTGI_data data5 = new IODBTGI_data(); - } /* In case that the number of data is 5 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTGI - { - internal short s_grp; /* start group number */ - internal short dummy; /* dummy */ - internal short e_grp; /* end group number */ - internal IODBTGI1 data = new IODBTGI1(); - } - - /* cnc_rdgrpinfo2:read tool life management data(tool group information 2) */ - /* cnc_wrgrpinfo2:write tool life management data(tool group information 2) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTGI2 - { - internal short s_grp; /* start group number */ - internal short dummy; /* dummy */ - internal short e_grp; /* end group number */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] - internal int[] opt_grpno = new int[5]; /* optional group number of tool */ - } /* In case that the number of group is 5 */ - - /* cnc_rdgrpinfo3:read tool life management data(tool group information 3) */ - /* cnc_wrgrpinfo3:write tool life management data(tool group information 3) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTGI3 - { - internal short s_grp; /* start group number */ - internal short dummy; /* dummy */ - internal short e_grp; /* end group number */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] - internal int[] life_rest = new int[5]; /* tool life rest count */ - } /* In case that the number of group is 5 */ - - /* cnc_rdgrpinfo4:read tool life management data(tool group information 4) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTGI4 - { - internal short grp_no; - internal int n_tool; - internal int count_value; - internal int counter; - internal int count_type; - internal int opt_grpno; - internal int life_rest; - } - - /* cnc_instlifedt:insert tool life management data(tool data) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IDBITD - { - internal short datano; /* tool group number */ - internal short type; /* tool using number */ - internal int data; /* tool number */ - } - - /* cnc_rdtlinfo:read tool life management data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBTLINFO - { - internal int max_group; /* maximum number of tool groups */ - internal int max_tool; /* maximum number of tool within group */ - internal int max_minute; /* maximum number of life count (minutes) */ - internal int max_cycle; /* maximum number of life count (cycles) */ - } - - /* cnc_rdtlusegrp:read tool life management data(used tool group number) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBUSEGRP - { - internal int next; /* next use group number */ - internal int use; /* using group number */ - internal int slct; /* selecting group number */ - internal int opt_next; /* next use optional group number */ - internal int opt_use; /* using optional group number */ - internal int opt_slct; /* selecting optional group number */ - } - - /* cnc_rdtlgrp:read tool life management data(tool group information 2) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLGRP_data - { - internal int ntool; /* number of all tool */ - internal int nfree; /* number of free tool */ - internal int life; /* tool life */ - internal int count; /* tool life counter */ - internal int use_tool; /* using tool number */ - internal int opt_grpno; /* optional group number */ - internal int life_rest; /* tool life rest count */ - internal short rest_sig; /* tool life rest signal */ - internal short count_type; /* tool life counter type */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLGRP - { - internal IODBTLGRP_data data1 = new IODBTLGRP_data(); - internal IODBTLGRP_data data2 = new IODBTLGRP_data(); - internal IODBTLGRP_data data3 = new IODBTLGRP_data(); - internal IODBTLGRP_data data4 = new IODBTLGRP_data(); - internal IODBTLGRP_data data5 = new IODBTLGRP_data(); - } /* In case that the number of group is 5 */ - - /* cnc_rdtltool:read tool life management data (tool data1) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLTOOL_data - { - internal int tool_num; /* tool number */ - internal int h_code; /* H code */ - internal int d_code; /* D code */ - internal int tool_inf; /* tool information */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLTOOL - { - internal IODBTLTOOL_data data1 = new IODBTLTOOL_data(); - internal IODBTLTOOL_data data2 = new IODBTLTOOL_data(); - internal IODBTLTOOL_data data3 = new IODBTLTOOL_data(); - internal IODBTLTOOL_data data4 = new IODBTLTOOL_data(); - internal IODBTLTOOL_data data5 = new IODBTLTOOL_data(); - } /* In case that the number of group is 5 */ - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBEXGP_data - { - internal int grp_no; /* group number */ - internal int opt_grpno; /* optional group number */ - } - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBEXGP - { - internal ODBEXGP_data data1 = new ODBEXGP_data(); - internal ODBEXGP_data data2 = new ODBEXGP_data(); - internal ODBEXGP_data data3 = new ODBEXGP_data(); - internal ODBEXGP_data data4 = new ODBEXGP_data(); - internal ODBEXGP_data data5 = new ODBEXGP_data(); - internal ODBEXGP_data data6 = new ODBEXGP_data(); - internal ODBEXGP_data data7 = new ODBEXGP_data(); - internal ODBEXGP_data data8 = new ODBEXGP_data(); - internal ODBEXGP_data data9 = new ODBEXGP_data(); - internal ODBEXGP_data data10 = new ODBEXGP_data(); - internal ODBEXGP_data data11 = new ODBEXGP_data(); - internal ODBEXGP_data data12 = new ODBEXGP_data(); - internal ODBEXGP_data data13 = new ODBEXGP_data(); - internal ODBEXGP_data data14 = new ODBEXGP_data(); - internal ODBEXGP_data data15 = new ODBEXGP_data(); - internal ODBEXGP_data data16 = new ODBEXGP_data(); - internal ODBEXGP_data data17 = new ODBEXGP_data(); - internal ODBEXGP_data data18 = new ODBEXGP_data(); - internal ODBEXGP_data data19 = new ODBEXGP_data(); - internal ODBEXGP_data data20 = new ODBEXGP_data(); - internal ODBEXGP_data data21 = new ODBEXGP_data(); - internal ODBEXGP_data data22 = new ODBEXGP_data(); - internal ODBEXGP_data data23 = new ODBEXGP_data(); - internal ODBEXGP_data data24 = new ODBEXGP_data(); - internal ODBEXGP_data data25 = new ODBEXGP_data(); - internal ODBEXGP_data data26 = new ODBEXGP_data(); - internal ODBEXGP_data data27 = new ODBEXGP_data(); - internal ODBEXGP_data data28 = new ODBEXGP_data(); - internal ODBEXGP_data data29 = new ODBEXGP_data(); - internal ODBEXGP_data data30 = new ODBEXGP_data(); - internal ODBEXGP_data data31 = new ODBEXGP_data(); - internal ODBEXGP_data data32 = new ODBEXGP_data(); - } - - /*-----------------------------------*/ - /* CNC: Tool management data related */ - /*-----------------------------------*/ - - /* cnc_regtool:new registration of tool management data */ - /* cnc_rdtool:lead of tool management data */ - /* cnc_wrtool:write of tool management data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLMNG_data - { - internal int T_code; - internal int life_count; - internal int max_life; - internal int rest_life; - internal byte life_stat; - internal byte cust_bits; - internal ushort tool_info; - internal short H_code; - internal short D_code; - internal int spindle_speed; - internal int feedrate; - internal short magazine; - internal short pot; - internal short G_code; - internal short W_code; - internal short gno; - internal short grp; - internal short edge; - internal short org_magazine; - internal short org_pot; - internal byte edge_num; - private byte reserve_c; - private int reserved_1; - private int reserved_2; - internal int custom1; - internal int custom2; - internal int custom3; - internal int custom4; - internal int custom5; - internal int custom6; - internal int custom7; - internal int custom8; - internal int custom9; - internal int custom10; - internal int custom11; - internal int custom12; - internal int custom13; - internal int custom14; - internal int custom15; - internal int custom16; - internal int custom17; - internal int custom18; - internal int custom19; - internal int custom20; - } - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLMNG - { - internal IODBTLMNG_data data1 = new IODBTLMNG_data(); - internal IODBTLMNG_data data2 = new IODBTLMNG_data(); - internal IODBTLMNG_data data3 = new IODBTLMNG_data(); - internal IODBTLMNG_data data4 = new IODBTLMNG_data(); - internal IODBTLMNG_data data5 = new IODBTLMNG_data(); - } /* In case that the number of group is 5 */ - - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLMNG_F2_data - { - internal int T_code; - internal int life_count; - internal int max_life; - internal int rest_life; - internal byte life_stat; - internal byte cust_bits; - internal ushort tool_info; - internal short H_code; - internal short D_code; - internal int spindle_speed; - internal int feedrate; - internal short magazine; - internal short pot; - internal short G_code; - internal short W_code; - internal short gno; - internal short grp; - internal short edge; - internal short org_magazine; - internal short org_pot; - internal byte edge_num; - private byte reserve_c; - private long reserved_1; - private long reserved_2; - internal int custom1; - internal int custom2; - internal int custom3; - internal int custom4; - internal int custom5; - internal int custom6; - internal int custom7; - internal int custom8; - internal int custom9; - internal int custom10; - internal int custom11; - internal int custom12; - internal int custom13; - internal int custom14; - internal int custom15; - internal int custom16; - internal int custom17; - internal int custom18; - internal int custom19; - internal int custom20; - internal int custom21; - internal int custom22; - internal int custom23; - internal int custom24; - internal int custom25; - internal int custom26; - internal int custom27; - internal int custom28; - internal int custom29; - internal int custom30; - internal int custom31; - internal int custom32; - internal int custom33; - internal int custom34; - internal int custom35; - internal int custom36; - internal int custom37; - internal int custom38; - internal int custom39; - internal int custom40; - } - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLMNG_F2 - { - internal IODBTLMNG_F2_data data1 = new IODBTLMNG_F2_data(); - internal IODBTLMNG_F2_data data2 = new IODBTLMNG_F2_data(); - internal IODBTLMNG_F2_data data3 = new IODBTLMNG_F2_data(); - internal IODBTLMNG_F2_data data4 = new IODBTLMNG_F2_data(); - internal IODBTLMNG_F2_data data5 = new IODBTLMNG_F2_data(); - } /* In case that the number of group is 5 */ - - /* cnc_wrtool2:write of individual data of tool management data */ - [StructLayout(LayoutKind.Explicit)] - internal class IDBTLM_item - { - [FieldOffset(0)] - internal sbyte data1; - [FieldOffset(0)] - internal short data2; - [FieldOffset(0)] - internal int data4; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IDBTLM - { - internal short data_id; - internal IDBTLM_item item = new IDBTLM_item(); - } - - /* cnc_regmagazine:new registration of magazine management data */ - /* cnc_rdmagazine:lead of magazine management data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLMAG_data - { - internal short magazine; - internal short pot; - internal short tool_index; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLMAG - { - internal IODBTLMAG_data data1 = new IODBTLMAG_data(); - internal IODBTLMAG_data data2 = new IODBTLMAG_data(); - internal IODBTLMAG_data data3 = new IODBTLMAG_data(); - internal IODBTLMAG_data data4 = new IODBTLMAG_data(); - internal IODBTLMAG_data data5 = new IODBTLMAG_data(); - } /* In case that the number of group is 5 */ - - /* cnc_delmagazine:deletion of magazine management data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLMAG2_data - { - internal short magazine; - internal short pot; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLMAG2 - { - internal IODBTLMAG2_data data1 = new IODBTLMAG2_data(); - internal IODBTLMAG2_data data2 = new IODBTLMAG2_data(); - internal IODBTLMAG2_data data3 = new IODBTLMAG2_data(); - internal IODBTLMAG2_data data4 = new IODBTLMAG2_data(); - internal IODBTLMAG2_data data5 = new IODBTLMAG2_data(); - } /* In case that the number of group is 5 */ - - - /*-------------------------------------*/ - /* CNC: Operation history data related */ - /*-------------------------------------*/ - - /* cnc_rdophistry:read operation history data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_ALM - { - internal short rec_type; /* record type */ - internal short alm_grp; /* alarm group */ - internal short alm_no; /* alarm number */ - internal sbyte axis_no; /* axis number */ - internal sbyte dummy; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_MDI - { - internal short rec_type; /* record type */ - internal byte key_code; /* key code */ - internal byte pw_flag; /* power on flag */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] - internal sbyte[] dummy; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_SGN - { - internal short rec_type; /* record type */ - internal sbyte sig_name; /* signal name */ - internal byte sig_old; /* old signal bit pattern */ - internal byte sig_new; /* new signal bit pattern */ - internal sbyte dummy; - internal short sig_no; /* signal number */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_DATE - { - internal short rec_type; /* record type */ - internal sbyte year; /* year */ - internal sbyte month; /* month */ - internal sbyte day; /* day */ - internal sbyte pw_flag; /* power on flag */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal sbyte[] dummy; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_TIME - { - internal short rec_type; /* record flag */ - internal sbyte hour; /* hour */ - internal sbyte minute; /* minute */ - internal sbyte second; /* second */ - internal sbyte pw_flag; /* power on flag */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal sbyte[] dummy; - } - [StructLayout(LayoutKind.Explicit, Size = 8)] - internal class ODBHIS_data - { - // record type - [FieldOffset(0)] - internal short rec_type; /* record type */ - - // alarm record - [FieldOffset(0)] - internal short alm_rec_type; /* record type */ - [FieldOffset(2)] - internal short alm_alm_grp; /* alarm group */ - [FieldOffset(4)] - internal short alm_alm_no; /* alarm number */ - [FieldOffset(6)] - internal sbyte alm_axis_no; /* axis number */ - [FieldOffset(7)] - internal sbyte alm_dummy; - - // mdi record - [FieldOffset(0)] - internal short mdi_rec_type; /* record type */ - [FieldOffset(2)] - internal byte mdi_key_code; /* key code */ - [FieldOffset(3)] - internal byte mdi_pw_flag; /* power on flag */ - [FieldOffset(4)] - internal sbyte mdi_dummy1; - [FieldOffset(5)] - internal sbyte mdi_dummy2; - [FieldOffset(6)] - internal sbyte mdi_dummy3; - [FieldOffset(7)] - internal sbyte mdi_dummy4; - - // sign record - [FieldOffset(0)] - internal short sgn_rec_type; /* record type */ - [FieldOffset(2)] - internal sbyte sgn_sig_name; /* signal name */ - [FieldOffset(3)] - internal byte sgn_sig_old; /* old signal bit pattern */ - [FieldOffset(4)] - internal byte sgn_sig_new; /* new signal bit pattern */ - [FieldOffset(5)] - internal sbyte sgn_dummy; - [FieldOffset(6)] - internal short sgn_sig_no; /* signal number */ - - // date record - [FieldOffset(0)] - internal short date_rec_type; /* record type */ - [FieldOffset(2)] - internal sbyte date_year; /* year */ - [FieldOffset(3)] - internal sbyte date_month; /* month */ - [FieldOffset(4)] - internal sbyte date_day; /* day */ - [FieldOffset(5)] - internal sbyte date_pw_flag; /* power on flag */ - [FieldOffset(6)] - internal sbyte date_dummy1; - [FieldOffset(7)] - internal sbyte date_dummy2; - - // time record - [FieldOffset(0)] - internal short time_rec_type; /* record flag */ - [FieldOffset(2)] - internal sbyte time_hour; /* hour */ - [FieldOffset(3)] - internal sbyte time_minute; /* minute */ - [FieldOffset(4)] - internal sbyte time_second; /* second */ - [FieldOffset(5)] - internal sbyte time_pw_flag; /* power on flag */ - [FieldOffset(6)] - internal sbyte time_dummy1; - [FieldOffset(7)] - internal sbyte time_dummy2; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBHIS1 - { - internal ODBHIS_data data1 = new ODBHIS_data(); - internal ODBHIS_data data2 = new ODBHIS_data(); - internal ODBHIS_data data3 = new ODBHIS_data(); - internal ODBHIS_data data4 = new ODBHIS_data(); - internal ODBHIS_data data5 = new ODBHIS_data(); - internal ODBHIS_data data6 = new ODBHIS_data(); - internal ODBHIS_data data7 = new ODBHIS_data(); - internal ODBHIS_data data8 = new ODBHIS_data(); - internal ODBHIS_data data9 = new ODBHIS_data(); - internal ODBHIS_data data10 = new ODBHIS_data(); - } /* In case that the number of data is 10 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBHIS - { - internal ushort s_no; /* start number */ - internal short type; /* dummy */ - internal ushort e_no; /* end number */ - internal ODBHIS1 data = new ODBHIS1(); - } - - /* cnc_rdophistry2:read operation history data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_MDI2 - { - internal byte key_code; /* key code */ - internal byte pw_flag; /* power on flag */ - internal short dummy; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_MDI2_data - { - internal short rec_len; /* length */ - internal short rec_type; /* record type */ - internal REC_MDI2 data = new REC_MDI2(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_SGN2 - { - internal short sig_name; /* signal name */ - internal short sig_no; /* signal number */ - internal byte sig_old; /* old signal bit pattern */ - internal byte sig_new; /* new signal bit pattern */ - internal short dummy; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_SGN2_data - { - internal short rec_len; /* length */ - internal short rec_type; /* record type */ - internal REC_SGN2 data = new REC_SGN2(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_ALM2 - { - internal short alm_grp; /* alarm group */ - internal short alm_no; /* alarm number */ - internal short axis_no; /* axis number */ - internal short year; /* year */ - internal short month; /* month */ - internal short day; /* day */ - internal short hour; /* hour */ - internal short minute; /* minute */ - internal short second; /* second */ - internal short dummy; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_ALM2_data - { - internal short rec_len; /* length */ - internal short rec_type; /* record type */ - internal REC_ALM2 data = new REC_ALM2(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_DATE2 - { - internal short evnt_type; /* event type */ - internal short year; /* year */ - internal short month; /* month */ - internal short day; /* day */ - internal short hour; /* hour */ - internal short minute; /* minute */ - internal short second; /* second */ - internal short dummy; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_DATE2_data - { - internal short rec_len; /* length */ - internal short rec_type; /* record type */ - internal REC_DATE2 data = new REC_DATE2(); - } - [StructLayout(LayoutKind.Explicit)] - internal class ODBOPHIS - { - [FieldOffset(0)] - internal REC_MDI2_data rec_mdi = new REC_MDI2_data(); - [FieldOffset(0)] - internal REC_SGN2_data rec_sgn = new REC_SGN2_data(); - [FieldOffset(0)] - internal REC_ALM2_data rec_alm = new REC_ALM2_data(); - [FieldOffset(0)] - internal REC_DATE2_data rec_date = new REC_DATE2_data(); - } - - /* cnc_rdophistry4:read operation history data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_MDI4 - { - internal char key_code; /* key code */ - internal char pw_flag; /* power on flag */ - internal short pth_no; /* path index */ - internal short ex_flag; /* kxternal key flag */ - internal short hour; /* hour */ - internal short minute; /* minute */ - internal short second; /* second */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_MDI4_data - { - internal short rec_len; /* length */ - internal short rec_type; /* record type */ - internal REC_MDI4 data = new REC_MDI4(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_SGN4 - { - internal short sig_name; /* signal name */ - internal short sig_no; /* signal number */ - internal char sig_old; /* old signal bit pattern */ - internal char sig_new; /* new signal bit pattern */ - internal short pmc_no; /* pmc index */ - internal short hour; /* hour */ - internal short minute; /* minute */ - internal short second; /* second */ - internal short dummy; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_SGN4_data - { - internal short rec_len; /* length */ - internal short rec_type; /* record type */ - internal REC_SGN4 data = new REC_SGN4(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_ALM4 - { - internal short alm_grp; /* alarm group */ - internal short alm_no; /* alarm number */ - internal short axis_no; /* axis number */ - internal short year; /* year */ - internal short month; /* month */ - internal short day; /* day */ - internal short hour; /* hour */ - internal short minute; /* minute */ - internal short second; /* second */ - internal short pth_no; /* path index */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_ALM4_data - { - internal short rec_len; /* length */ - internal short rec_type; /* record type */ - internal REC_ALM4 data = new REC_ALM4(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_DATE4 - { - internal short evnt_type; /* event type */ - internal short year; /* year */ - internal short month; /* month */ - internal short day; /* day */ - internal short hour; /* hour */ - internal short minute; /* minute */ - internal short second; /* second */ - internal short dummy; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_DATE4_data - { - internal short rec_len; /* length */ - internal short rec_type; /* record type */ - internal REC_DATE4 data = new REC_DATE4(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_IAL4 - { - internal short alm_grp; /* alarm group */ - internal short alm_no; /* alarm number */ - internal short axis_no; /* axis number */ - internal short year; /* year */ - internal short month; /* month */ - internal short day; /* day */ - internal short hour; /* hour */ - internal short minute; /* minute */ - internal short second; /* second */ - internal short pth_no; /* path index */ - internal short sys_alm; /* sys alarm */ - internal short dsp_flg; /* message dsp flag */ - internal short axis_num; /* axis num */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] - internal int[] g_modal; /* G code Modal */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] - internal char[] g_dp; /* #7:1 Block */ - /* #6`#0 dp*/ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] - internal int[] a_modal; /* B,D,E,F,H,M,N,O,S,T code Modal */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] - internal char[] a_dp; /* #7:1 Block */ - /* 6`#0 dp*/ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - internal int[] abs_pos; /* Abs pos */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - internal char[] abs_dp; /* Abs dp */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - internal int[] mcn_pos; /* Mcn pos */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - internal char[] mcn_dp; /* Mcn dp */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_IAL4_data - { - internal short rec_len; /* length */ - internal short rec_type; /* record type */ - internal REC_IAL4 data = new REC_IAL4(); - } - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class REC_MAL4 - { - internal short alm_grp; /* alarm group */ - internal short alm_no; /* alarm number */ - internal short axis_no; /* axis number */ - internal short year; /* year */ - internal short month; /* month */ - internal short day; /* day */ - internal short hour; /* hour */ - internal short minute; /* minute */ - internal short second; /* second */ - internal short pth_no; /* path index */ - internal short sys_alm; /* sys alarm */ - internal short dsp_flg; /* message dsp flag */ - internal short axis_num; /* axis num */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] - internal string alm_msg = new string(' ', 64); /* alarm message */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] - internal int[] g_modal; /* G code Modal */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] - internal char[] g_dp; /* #7:1 Block */ - /* #6`#0 dp*/ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] - internal int[] a_modal; /* B,D,E,F,H,M,N,O,S,T code Modal */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] - internal char[] a_dp; /* #7:1 Block */ - /* 6`#0 dp*/ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - internal int[] abs_pos; /* Abs pos */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - internal char[] abs_dp; /* Abs dp */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - internal int[] mcn_pos; /* Mcn pos */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - internal char[] mcn_dp; /* Mcn dp */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_MAL4_data - { - internal short rec_len; /* length */ - internal short rec_type; /* record type */ - internal REC_MAL4 data = new REC_MAL4(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_OPM4 - { - internal short dsp_flg; /* Dysplay flag(ON/OFF) */ - internal short om_no; /* message number */ - internal short year; /* year */ - internal short month; /* month */ - internal short day; /* day */ - internal short hour; /* Hour */ - internal short minute; /* Minute */ - internal short second; /* Second */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] - internal string ope_msg = new string(' ', 256); /* Messege */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_OPM4_data - { - internal short rec_len; /* length */ - internal short rec_type; /* record type */ - internal REC_OPM4 data = new REC_OPM4(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_OFS4 - { - internal short ofs_grp; /* Tool offset group */ - internal short ofs_no; /* Tool offset number */ - internal short hour; /* hour */ - internal short minute; /* minute */ - internal short second; /* second */ - internal short pth_no; /* path index */ - internal int ofs_old; /* old data */ - internal int ofs_new; /* new data */ - internal short old_dp; /* old data decimal point */ - internal short new_dp; /* new data decimal point */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_OFS4_data - { - internal short rec_len; /* length */ - internal short rec_type; /* record type */ - internal REC_OFS4 data = new REC_OFS4(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_PRM4 - { - internal short prm_grp; /* paramater group */ - internal short prm_num; /* paramater number */ - internal short hour; /* hour */ - internal short minute; /* minute */ - internal short second; /* second */ - internal short prm_len; /* paramater data length */ - internal int prm_no; /* paramater no */ - internal int prm_old; /* old data */ - internal int prm_new; /* new data */ - internal short old_dp; /* old data decimal point */ - internal short new_dp; /* new data decimal point */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_PRM4_data - { - internal short rec_len; /* length */ - internal short rec_type; /* record type */ - internal REC_PRM4 data = new REC_PRM4(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_WOF4 - { - internal short ofs_grp; /* Work offset group */ - internal short ofs_no; /* Work offset number */ - internal short hour; /* hour */ - internal short minute; /* minute */ - internal short second; /* second */ - internal short pth_no; /* path index */ - internal short axis_no; /* path axis num $*/ - internal short dummy; - internal int ofs_old; /* old data */ - internal int ofs_new; /* new data */ - internal short old_dp; /* old data decimal point */ - internal short new_dp; /* new data decimal point */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_WOF4_data - { - internal short rec_len; /* length */ - internal short rec_type; /* record type */ - internal REC_WOF4 data = new REC_WOF4(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_MAC4 - { - internal short mac_no; /* macro val number */ - internal short hour; /* hour */ - internal short minute; /* minute */ - internal short second; /* second */ - internal short pth_no; /* path index */ - internal int mac_old; /* old data */ - internal int mac_new; /* new data */ - internal short old_dp; /* old data decimal point */ - internal short new_dp; /* old data decimal point */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REC_MAC4_data - { - internal short rec_len; /* length */ - internal short rec_type; /* record type */ - internal REC_MAC4 data = new REC_MAC4(); - } - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBOPHIS4_1 - { - internal REC_MDI4_data rec_mdi1 = new REC_MDI4_data(); - internal REC_MDI4_data rec_mdi2 = new REC_MDI4_data(); - internal REC_MDI4_data rec_mdi3 = new REC_MDI4_data(); - internal REC_MDI4_data rec_mdi4 = new REC_MDI4_data(); - internal REC_MDI4_data rec_mdi5 = new REC_MDI4_data(); - internal REC_MDI4_data rec_mdi6 = new REC_MDI4_data(); - internal REC_MDI4_data rec_mdi7 = new REC_MDI4_data(); - internal REC_MDI4_data rec_mdi8 = new REC_MDI4_data(); - internal REC_MDI4_data rec_mdi9 = new REC_MDI4_data(); - internal REC_MDI4_data rec_mdi10 = new REC_MDI4_data(); - } /* In case that the number of data is 10 */ - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBOPHIS4_2 - { - internal REC_SGN4_data rec_sgn1 = new REC_SGN4_data(); - internal REC_SGN4_data rec_sgn2 = new REC_SGN4_data(); - internal REC_SGN4_data rec_sgn3 = new REC_SGN4_data(); - internal REC_SGN4_data rec_sgn4 = new REC_SGN4_data(); - internal REC_SGN4_data rec_sgn5 = new REC_SGN4_data(); - internal REC_SGN4_data rec_sgn6 = new REC_SGN4_data(); - internal REC_SGN4_data rec_sgn7 = new REC_SGN4_data(); - internal REC_SGN4_data rec_sgn8 = new REC_SGN4_data(); - internal REC_SGN4_data rec_sgn9 = new REC_SGN4_data(); - internal REC_SGN4_data rec_sgn10 = new REC_SGN4_data(); - } /* In case that the number of data is 10 */ - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBOPHIS4_3 - { - internal REC_ALM4_data rec_alm1 = new REC_ALM4_data(); - internal REC_ALM4_data rec_alm2 = new REC_ALM4_data(); - internal REC_ALM4_data rec_alm3 = new REC_ALM4_data(); - internal REC_ALM4_data rec_alm4 = new REC_ALM4_data(); - internal REC_ALM4_data rec_alm5 = new REC_ALM4_data(); - internal REC_ALM4_data rec_alm6 = new REC_ALM4_data(); - internal REC_ALM4_data rec_alm7 = new REC_ALM4_data(); - internal REC_ALM4_data rec_alm8 = new REC_ALM4_data(); - internal REC_ALM4_data rec_alm9 = new REC_ALM4_data(); - internal REC_ALM4_data rec_alm10 = new REC_ALM4_data(); - } /* In case that the number of data is 10 */ - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBOPHIS4_4 - { - internal REC_DATE4_data rec_date1 = new REC_DATE4_data(); - internal REC_DATE4_data rec_date2 = new REC_DATE4_data(); - internal REC_DATE4_data rec_date3 = new REC_DATE4_data(); - internal REC_DATE4_data rec_date4 = new REC_DATE4_data(); - internal REC_DATE4_data rec_date5 = new REC_DATE4_data(); - internal REC_DATE4_data rec_date6 = new REC_DATE4_data(); - internal REC_DATE4_data rec_date7 = new REC_DATE4_data(); - internal REC_DATE4_data rec_date8 = new REC_DATE4_data(); - internal REC_DATE4_data rec_date9 = new REC_DATE4_data(); - internal REC_DATE4_data rec_date10 = new REC_DATE4_data(); - } /* In case that the number of data is 10 */ - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBOPHIS4_5 - { - internal REC_IAL4_data rec_ial1 = new REC_IAL4_data(); - internal REC_IAL4_data rec_ial2 = new REC_IAL4_data(); - internal REC_IAL4_data rec_ial3 = new REC_IAL4_data(); - internal REC_IAL4_data rec_ial4 = new REC_IAL4_data(); - internal REC_IAL4_data rec_ial5 = new REC_IAL4_data(); - internal REC_IAL4_data rec_ial6 = new REC_IAL4_data(); - internal REC_IAL4_data rec_ial7 = new REC_IAL4_data(); - internal REC_IAL4_data rec_ial8 = new REC_IAL4_data(); - internal REC_IAL4_data rec_ial9 = new REC_IAL4_data(); - internal REC_IAL4_data rec_ial10 = new REC_IAL4_data(); - } /* In case that the number of data is 10 */ - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBOPHIS4_6 - { - internal REC_MAL4_data rec_mal1 = new REC_MAL4_data(); - internal REC_MAL4_data rec_mal2 = new REC_MAL4_data(); - internal REC_MAL4_data rec_mal3 = new REC_MAL4_data(); - internal REC_MAL4_data rec_mal4 = new REC_MAL4_data(); - internal REC_MAL4_data rec_mal5 = new REC_MAL4_data(); - internal REC_MAL4_data rec_mal6 = new REC_MAL4_data(); - internal REC_MAL4_data rec_mal7 = new REC_MAL4_data(); - internal REC_MAL4_data rec_mal8 = new REC_MAL4_data(); - internal REC_MAL4_data rec_mal9 = new REC_MAL4_data(); - internal REC_MAL4_data rec_mal10 = new REC_MAL4_data(); - } /* In case that the number of data is 10 */ - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBOPHIS4_7 - { - internal REC_OPM4_data rec_opm1 = new REC_OPM4_data(); - internal REC_OPM4_data rec_opm2 = new REC_OPM4_data(); - internal REC_OPM4_data rec_opm3 = new REC_OPM4_data(); - internal REC_OPM4_data rec_opm4 = new REC_OPM4_data(); - internal REC_OPM4_data rec_opm5 = new REC_OPM4_data(); - internal REC_OPM4_data rec_opm6 = new REC_OPM4_data(); - internal REC_OPM4_data rec_opm7 = new REC_OPM4_data(); - internal REC_OPM4_data rec_opm8 = new REC_OPM4_data(); - internal REC_OPM4_data rec_opm9 = new REC_OPM4_data(); - internal REC_OPM4_data rec_opm10 = new REC_OPM4_data(); - } /* In case that the number of data is 10 */ - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBOPHIS4_8 - { - internal REC_OFS4_data rec_ofs1 = new REC_OFS4_data(); - internal REC_OFS4_data rec_ofs2 = new REC_OFS4_data(); - internal REC_OFS4_data rec_ofs3 = new REC_OFS4_data(); - internal REC_OFS4_data rec_ofs4 = new REC_OFS4_data(); - internal REC_OFS4_data rec_ofs5 = new REC_OFS4_data(); - internal REC_OFS4_data rec_ofs6 = new REC_OFS4_data(); - internal REC_OFS4_data rec_ofs7 = new REC_OFS4_data(); - internal REC_OFS4_data rec_ofs8 = new REC_OFS4_data(); - internal REC_OFS4_data rec_ofs9 = new REC_OFS4_data(); - internal REC_OFS4_data rec_ofs10 = new REC_OFS4_data(); - } /* In case that the number of data is 10 */ - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBOPHIS4_9 - { - internal REC_PRM4_data rec_prm1 = new REC_PRM4_data(); - internal REC_PRM4_data rec_prm2 = new REC_PRM4_data(); - internal REC_PRM4_data rec_prm3 = new REC_PRM4_data(); - internal REC_PRM4_data rec_prm4 = new REC_PRM4_data(); - internal REC_PRM4_data rec_prm5 = new REC_PRM4_data(); - internal REC_PRM4_data rec_prm6 = new REC_PRM4_data(); - internal REC_PRM4_data rec_prm7 = new REC_PRM4_data(); - internal REC_PRM4_data rec_prm8 = new REC_PRM4_data(); - internal REC_PRM4_data rec_prm9 = new REC_PRM4_data(); - internal REC_PRM4_data rec_prm10 = new REC_PRM4_data(); - } /* In case that the number of data is 10 */ - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBOPHIS4_10 - { - internal REC_WOF4_data rec_wof1 = new REC_WOF4_data(); - internal REC_WOF4_data rec_wof2 = new REC_WOF4_data(); - internal REC_WOF4_data rec_wof3 = new REC_WOF4_data(); - internal REC_WOF4_data rec_wof4 = new REC_WOF4_data(); - internal REC_WOF4_data rec_wof5 = new REC_WOF4_data(); - internal REC_WOF4_data rec_wof6 = new REC_WOF4_data(); - internal REC_WOF4_data rec_wof7 = new REC_WOF4_data(); - internal REC_WOF4_data rec_wof8 = new REC_WOF4_data(); - internal REC_WOF4_data rec_wof9 = new REC_WOF4_data(); - internal REC_WOF4_data rec_wof10 = new REC_WOF4_data(); - } /* In case that the number of data is 10 */ - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBOPHIS4_11 - { - internal REC_MAC4_data rec_mac1 = new REC_MAC4_data(); - internal REC_MAC4_data rec_mac2 = new REC_MAC4_data(); - internal REC_MAC4_data rec_mac3 = new REC_MAC4_data(); - internal REC_MAC4_data rec_mac4 = new REC_MAC4_data(); - internal REC_MAC4_data rec_mac5 = new REC_MAC4_data(); - internal REC_MAC4_data rec_mac6 = new REC_MAC4_data(); - internal REC_MAC4_data rec_mac7 = new REC_MAC4_data(); - internal REC_MAC4_data rec_mac8 = new REC_MAC4_data(); - internal REC_MAC4_data rec_mac9 = new REC_MAC4_data(); - internal REC_MAC4_data rec_mac10 = new REC_MAC4_data(); - } /* In case that the number of data is 10 */ - - /* cnc_rdalmhistry:read alarm history data */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ALM_HIS_data - { - internal short dummy; - internal short alm_grp; /* alarm group */ - internal short alm_no; /* alarm number */ - internal byte axis_no; /* axis number */ - internal byte year; /* year */ - internal byte month; /* month */ - internal byte day; /* day */ - internal byte hour; /* hour */ - internal byte minute; /* minute */ - internal byte second; /* second */ - internal byte dummy2; - internal short len_msg; /* alarm message length */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] - internal string alm_msg = new string(' ', 32); /* alarm message */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ALM_HIS1 - { - internal ALM_HIS_data data1 = new ALM_HIS_data(); - internal ALM_HIS_data data2 = new ALM_HIS_data(); - internal ALM_HIS_data data3 = new ALM_HIS_data(); - internal ALM_HIS_data data4 = new ALM_HIS_data(); - internal ALM_HIS_data data5 = new ALM_HIS_data(); - internal ALM_HIS_data data6 = new ALM_HIS_data(); - internal ALM_HIS_data data7 = new ALM_HIS_data(); - internal ALM_HIS_data data8 = new ALM_HIS_data(); - internal ALM_HIS_data data9 = new ALM_HIS_data(); - internal ALM_HIS_data data10 = new ALM_HIS_data(); - } /* In case that the number of data is 10 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBAHIS - { - internal ushort s_no; /* start number */ - internal short type; /* dummy */ - internal ushort e_no; /* end number */ - internal ALM_HIS1 alm_his = new ALM_HIS1(); - } - - /* cnc_rdalmhistry2:read alarm history data */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ALM_HIS2_data - { - internal short alm_grp; /* alarm group */ - internal short alm_no; /* alarm number */ - internal short axis_no; /* axis number */ - internal short year; /* year */ - internal short month; /* month */ - internal short day; /* day */ - internal short hour; /* hour */ - internal short minute; /* minute */ - internal short second; /* second */ - internal short len_msg; /* alarm message length */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] - internal string alm_msg = new string(' ', 32); /* alarm message */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ALM_HIS2 - { - internal ALM_HIS2_data data1 = new ALM_HIS2_data(); - internal ALM_HIS2_data data2 = new ALM_HIS2_data(); - internal ALM_HIS2_data data3 = new ALM_HIS2_data(); - internal ALM_HIS2_data data4 = new ALM_HIS2_data(); - internal ALM_HIS2_data data5 = new ALM_HIS2_data(); - internal ALM_HIS2_data data6 = new ALM_HIS2_data(); - internal ALM_HIS2_data data7 = new ALM_HIS2_data(); - internal ALM_HIS2_data data8 = new ALM_HIS2_data(); - internal ALM_HIS2_data data9 = new ALM_HIS2_data(); - internal ALM_HIS2_data data10 = new ALM_HIS2_data(); - } /* In case that the number of data is 10 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBAHIS2 - { - internal ushort s_no; /* start number */ - internal ushort e_no; /* end number */ - internal ALM_HIS2 alm_his = new ALM_HIS2(); - } - - /* cnc_rdalmhistry3:read alarm history data */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ALM_HIS3_data - { - internal short alm_grp; /* alarm group */ - internal short alm_no; /* alarm number */ - internal short axis_no; /* axis number */ - internal short year; /* year */ - internal short month; /* month */ - internal short day; /* day */ - internal short hour; /* hour */ - internal short minute; /* minute */ - internal short second; /* second */ - internal short len_msg; /* alarm message length */ - internal short pth_no; /* path index */ - internal short dummy; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] - internal string alm_msg = new string(' ', 32); /* alarm message */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ALM_HIS3 - { - internal ALM_HIS3_data data1 = new ALM_HIS3_data(); - internal ALM_HIS3_data data2 = new ALM_HIS3_data(); - internal ALM_HIS3_data data3 = new ALM_HIS3_data(); - internal ALM_HIS3_data data4 = new ALM_HIS3_data(); - internal ALM_HIS3_data data5 = new ALM_HIS3_data(); - internal ALM_HIS3_data data6 = new ALM_HIS3_data(); - internal ALM_HIS3_data data7 = new ALM_HIS3_data(); - internal ALM_HIS3_data data8 = new ALM_HIS3_data(); - internal ALM_HIS3_data data9 = new ALM_HIS3_data(); - internal ALM_HIS3_data data10 = new ALM_HIS3_data(); - } /* In case that the number of data is 10 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBAHIS3 - { - internal ushort s_no; /* start number */ - internal ushort e_no; /* end number */ - internal ALM_HIS3 alm_his = new ALM_HIS3(); - } - - /* cnc_rdalmhistry5:read alarm history data */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ALM_HIS5_data - { - internal short alm_grp; /* alarm group */ - internal short alm_no; /* alarm number */ - internal short axis_no; /* axis number */ - internal short year; /* year */ - internal short month; /* month */ - internal short day; /* day */ - internal short hour; /* hour */ - internal short minute; /* minute */ - internal short second; /* second */ - internal short len_msg; /* alarm message length */ - internal short pth_no; /* path index */ - internal short dummy; /* dummy */ - internal short dsp_flg; /* Flag for displaying */ - internal short axis_num; /* Total axis number */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] - internal string alm_msg = new string(' ', 64); /* alarm message */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] - internal int[] g_modal; /* G code Modal */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] - internal byte[] g_dp; /* #7:1 Block #6`#0 dp */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] - internal int[] a_modal; /* B,D,E,F,H,M,N,O,S,T code Modal */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] - internal byte[] a_dp; /* #7:1 Block #6`#0 dp */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - internal int[] abs_pos; /* Abs pos */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - internal byte[] abs_dp; /* Abs dp */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - internal int[] mcn_pos; /* Mcn pos */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - internal byte[] mcn_dp; /* Mcn dp */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ALM_HIS5 - { - internal ALM_HIS5_data data1 = new ALM_HIS5_data(); - internal ALM_HIS5_data data2 = new ALM_HIS5_data(); - internal ALM_HIS5_data data3 = new ALM_HIS5_data(); - internal ALM_HIS5_data data4 = new ALM_HIS5_data(); - internal ALM_HIS5_data data5 = new ALM_HIS5_data(); - internal ALM_HIS5_data data6 = new ALM_HIS5_data(); - internal ALM_HIS5_data data7 = new ALM_HIS5_data(); - internal ALM_HIS5_data data8 = new ALM_HIS5_data(); - internal ALM_HIS5_data data9 = new ALM_HIS5_data(); - internal ALM_HIS5_data data10 = new ALM_HIS5_data(); - } /* In case that the number of data is 10 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBAHIS5 - { - internal ushort s_no; /* start number */ - internal ushort e_no; /* end number */ - internal ALM_HIS5 alm_his = new ALM_HIS5(); - } - - /* cnc_rdomhistry2:read operater message history data */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBOMHIS2_data - { - internal short dsp_flg; /* Dysplay flag(ON/OFF) */ - internal short om_no; /* operater message number */ - internal short year; /* year */ - internal short month; /* month */ - internal short day; /* day */ - internal short hour; /* Hour */ - internal short minute; /* Minute */ - internal short second; /* Second */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] - internal string alm_msg = new string(' ', 256); /* alarm message */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class OPM_HIS - { - internal ODBOMHIS2_data data1 = new ODBOMHIS2_data(); - internal ODBOMHIS2_data data2 = new ODBOMHIS2_data(); - internal ODBOMHIS2_data data3 = new ODBOMHIS2_data(); - internal ODBOMHIS2_data data4 = new ODBOMHIS2_data(); - internal ODBOMHIS2_data data5 = new ODBOMHIS2_data(); - internal ODBOMHIS2_data data6 = new ODBOMHIS2_data(); - internal ODBOMHIS2_data data7 = new ODBOMHIS2_data(); - internal ODBOMHIS2_data data8 = new ODBOMHIS2_data(); - internal ODBOMHIS2_data data9 = new ODBOMHIS2_data(); - internal ODBOMHIS2_data data10 = new ODBOMHIS2_data(); - } /* In case that the number of data is 10 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBOMHIS2 - { - internal ushort s_no; /* start number */ - internal ushort e_no; /* end number */ - internal OPM_HIS opm_his = new OPM_HIS(); - } - - /* cnc_rdhissgnl:read signals related operation history */ - /* cnc_wrhissgnl:write signals related operation history */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class IODBSIG_data - { - internal short ent_no; /* entry number */ - internal short sig_no; /* signal number */ - internal byte sig_name; /* signal name */ - internal byte mask_pat; /* signal mask pattern */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSIG1 - { - internal IODBSIG_data data1 = new IODBSIG_data(); - internal IODBSIG_data data2 = new IODBSIG_data(); - internal IODBSIG_data data3 = new IODBSIG_data(); - internal IODBSIG_data data4 = new IODBSIG_data(); - internal IODBSIG_data data5 = new IODBSIG_data(); - internal IODBSIG_data data6 = new IODBSIG_data(); - internal IODBSIG_data data7 = new IODBSIG_data(); - internal IODBSIG_data data8 = new IODBSIG_data(); - internal IODBSIG_data data9 = new IODBSIG_data(); - internal IODBSIG_data data10 = new IODBSIG_data(); - internal IODBSIG_data data11 = new IODBSIG_data(); - internal IODBSIG_data data12 = new IODBSIG_data(); - internal IODBSIG_data data13 = new IODBSIG_data(); - internal IODBSIG_data data14 = new IODBSIG_data(); - internal IODBSIG_data data15 = new IODBSIG_data(); - internal IODBSIG_data data16 = new IODBSIG_data(); - internal IODBSIG_data data17 = new IODBSIG_data(); - internal IODBSIG_data data18 = new IODBSIG_data(); - internal IODBSIG_data data19 = new IODBSIG_data(); - internal IODBSIG_data data20 = new IODBSIG_data(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSIG - { - internal short datano; /* dummy */ - internal short type; /* dummy */ - internal IODBSIG1 data = new IODBSIG1(); - } - - /* cnc_rdhissgnl2:read signals related operation history 2 */ - /* cnc_wrhissgnl2:write signals related operation history 2 */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class _IODBSIG2_data - { - internal short ent_no; /* entry number */ - internal short sig_no; /* signal number */ - internal byte sig_name; /* signal name */ - internal byte mask_pat; /* signal mask pattern */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSIG2_data - { - internal _IODBSIG2_data data1 = new _IODBSIG2_data(); - internal _IODBSIG2_data data2 = new _IODBSIG2_data(); - internal _IODBSIG2_data data3 = new _IODBSIG2_data(); - internal _IODBSIG2_data data4 = new _IODBSIG2_data(); - internal _IODBSIG2_data data5 = new _IODBSIG2_data(); - internal _IODBSIG2_data data6 = new _IODBSIG2_data(); - internal _IODBSIG2_data data7 = new _IODBSIG2_data(); - internal _IODBSIG2_data data8 = new _IODBSIG2_data(); - internal _IODBSIG2_data data9 = new _IODBSIG2_data(); - internal _IODBSIG2_data data10 = new _IODBSIG2_data(); - internal _IODBSIG2_data data11 = new _IODBSIG2_data(); - internal _IODBSIG2_data data12 = new _IODBSIG2_data(); - internal _IODBSIG2_data data13 = new _IODBSIG2_data(); - internal _IODBSIG2_data data14 = new _IODBSIG2_data(); - internal _IODBSIG2_data data15 = new _IODBSIG2_data(); - internal _IODBSIG2_data data16 = new _IODBSIG2_data(); - internal _IODBSIG2_data data17 = new _IODBSIG2_data(); - internal _IODBSIG2_data data18 = new _IODBSIG2_data(); - internal _IODBSIG2_data data19 = new _IODBSIG2_data(); - internal _IODBSIG2_data data20 = new _IODBSIG2_data(); - internal _IODBSIG2_data data31 = new _IODBSIG2_data(); - internal _IODBSIG2_data data32 = new _IODBSIG2_data(); - internal _IODBSIG2_data data33 = new _IODBSIG2_data(); - internal _IODBSIG2_data data34 = new _IODBSIG2_data(); - internal _IODBSIG2_data data35 = new _IODBSIG2_data(); - internal _IODBSIG2_data data36 = new _IODBSIG2_data(); - internal _IODBSIG2_data data37 = new _IODBSIG2_data(); - internal _IODBSIG2_data data38 = new _IODBSIG2_data(); - internal _IODBSIG2_data data39 = new _IODBSIG2_data(); - internal _IODBSIG2_data data40 = new _IODBSIG2_data(); - internal _IODBSIG2_data data41 = new _IODBSIG2_data(); - internal _IODBSIG2_data data42 = new _IODBSIG2_data(); - internal _IODBSIG2_data data43 = new _IODBSIG2_data(); - internal _IODBSIG2_data data44 = new _IODBSIG2_data(); - internal _IODBSIG2_data data45 = new _IODBSIG2_data(); - - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSIG2 - { - internal short datano; /* dummy */ - internal short type; /* dummy */ - internal IODBSIG2_data data = new IODBSIG2_data(); - } - - /* cnc_rdhissgnl3:read signals related operation history */ - /* cnc_wrhissgnl3:write signals related operation history */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class _IODBSIG3_data - { - internal short ent_no; /* entry number */ - internal short pmc_no; /* pmc number */ - internal short sig_no; /* signal number */ - internal byte sig_name; /* signal name */ - internal byte mask_pat; /* signal mask pattern */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSIG3_data - { - internal _IODBSIG3_data data1 = new _IODBSIG3_data(); - internal _IODBSIG3_data data2 = new _IODBSIG3_data(); - internal _IODBSIG3_data data3 = new _IODBSIG3_data(); - internal _IODBSIG3_data data4 = new _IODBSIG3_data(); - internal _IODBSIG3_data data5 = new _IODBSIG3_data(); - internal _IODBSIG3_data data6 = new _IODBSIG3_data(); - internal _IODBSIG3_data data7 = new _IODBSIG3_data(); - internal _IODBSIG3_data data8 = new _IODBSIG3_data(); - internal _IODBSIG3_data data9 = new _IODBSIG3_data(); - internal _IODBSIG3_data data10 = new _IODBSIG3_data(); - internal _IODBSIG3_data data11 = new _IODBSIG3_data(); - internal _IODBSIG3_data data12 = new _IODBSIG3_data(); - internal _IODBSIG3_data data13 = new _IODBSIG3_data(); - internal _IODBSIG3_data data14 = new _IODBSIG3_data(); - internal _IODBSIG3_data data15 = new _IODBSIG3_data(); - internal _IODBSIG3_data data16 = new _IODBSIG3_data(); - internal _IODBSIG3_data data17 = new _IODBSIG3_data(); - internal _IODBSIG3_data data18 = new _IODBSIG3_data(); - internal _IODBSIG3_data data19 = new _IODBSIG3_data(); - internal _IODBSIG3_data data20 = new _IODBSIG3_data(); - internal _IODBSIG3_data data21 = new _IODBSIG3_data(); - internal _IODBSIG3_data data22 = new _IODBSIG3_data(); - internal _IODBSIG3_data data23 = new _IODBSIG3_data(); - internal _IODBSIG3_data data24 = new _IODBSIG3_data(); - internal _IODBSIG3_data data25 = new _IODBSIG3_data(); - internal _IODBSIG3_data data26 = new _IODBSIG3_data(); - internal _IODBSIG3_data data27 = new _IODBSIG3_data(); - internal _IODBSIG3_data data28 = new _IODBSIG3_data(); - internal _IODBSIG3_data data29 = new _IODBSIG3_data(); - internal _IODBSIG3_data data30 = new _IODBSIG3_data(); - internal _IODBSIG3_data data31 = new _IODBSIG3_data(); - internal _IODBSIG3_data data32 = new _IODBSIG3_data(); - internal _IODBSIG3_data data33 = new _IODBSIG3_data(); - internal _IODBSIG3_data data34 = new _IODBSIG3_data(); - internal _IODBSIG3_data data35 = new _IODBSIG3_data(); - internal _IODBSIG3_data data36 = new _IODBSIG3_data(); - internal _IODBSIG3_data data37 = new _IODBSIG3_data(); - internal _IODBSIG3_data data38 = new _IODBSIG3_data(); - internal _IODBSIG3_data data39 = new _IODBSIG3_data(); - internal _IODBSIG3_data data40 = new _IODBSIG3_data(); - internal _IODBSIG3_data data41 = new _IODBSIG3_data(); - internal _IODBSIG3_data data42 = new _IODBSIG3_data(); - internal _IODBSIG3_data data43 = new _IODBSIG3_data(); - internal _IODBSIG3_data data44 = new _IODBSIG3_data(); - internal _IODBSIG3_data data45 = new _IODBSIG3_data(); - internal _IODBSIG3_data data46 = new _IODBSIG3_data(); - internal _IODBSIG3_data data47 = new _IODBSIG3_data(); - internal _IODBSIG3_data data48 = new _IODBSIG3_data(); - internal _IODBSIG3_data data49 = new _IODBSIG3_data(); - internal _IODBSIG3_data data50 = new _IODBSIG3_data(); - internal _IODBSIG3_data data51 = new _IODBSIG3_data(); - internal _IODBSIG3_data data52 = new _IODBSIG3_data(); - internal _IODBSIG3_data data53 = new _IODBSIG3_data(); - internal _IODBSIG3_data data54 = new _IODBSIG3_data(); - internal _IODBSIG3_data data55 = new _IODBSIG3_data(); - internal _IODBSIG3_data data56 = new _IODBSIG3_data(); - internal _IODBSIG3_data data57 = new _IODBSIG3_data(); - internal _IODBSIG3_data data58 = new _IODBSIG3_data(); - internal _IODBSIG3_data data59 = new _IODBSIG3_data(); - internal _IODBSIG3_data data60 = new _IODBSIG3_data(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSIG3 - { - internal short datano; /* dummy */ - internal short type; /* dummy */ - internal IODBSIG3_data data = new IODBSIG3_data(); - } - - /*-------------*/ - /* CNC: Others */ - /*-------------*/ - - /* cnc_sysinfo:read CNC system information */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSYS - { - internal short addinfo; - internal short max_axis; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal char[] cnc_type; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal char[] mt_type; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] - internal char[] series; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] - internal char[] version; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal char[] axes; - } + internal short v2_type; + } + + /* cnc_tofs_rnge:read validity of tool offset */ + /* cnc_zofs_rnge:read validity of work zero offset */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDATRNG + { + internal int data_min; /* lower limit */ + internal int data_max; /* upper limit */ + internal int status; /* status of setting */ + } + + /* cnc_rdhsprminfo:read the information for function cnc_rdhsparam() */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class HSPINFO_data + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal byte[] data1 = new byte[16]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal byte[] data2 = new byte[16]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal byte[] data3 = new byte[16]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal byte[] data4 = new byte[16]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal byte[] data5 = new byte[16]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal byte[] data6 = new byte[16]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal byte[] data7 = new byte[16]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal byte[] data8 = new byte[16]; + } + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class HSPINFO + { + internal HSPINFO_data prminfo1 = new HSPINFO_data(); + internal HSPINFO_data prminfo2 = new HSPINFO_data(); + internal HSPINFO_data prminfo3 = new HSPINFO_data(); + internal HSPINFO_data prminfo4 = new HSPINFO_data(); + internal HSPINFO_data prminfo5 = new HSPINFO_data(); + internal HSPINFO_data prminfo6 = new HSPINFO_data(); + internal HSPINFO_data prminfo7 = new HSPINFO_data(); + internal HSPINFO_data prminfo8 = new HSPINFO_data(); + internal HSPINFO_data prminfo9 = new HSPINFO_data(); + internal HSPINFO_data prminfo10 = new HSPINFO_data(); + } + + /* cnc_rdhsparam:read parameters at the high speed */ + [StructLayout(LayoutKind.Explicit)] + internal class HSPDATA_1 + { + [FieldOffset(0), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal byte[] cdatas1 = new byte[MAX_AXIS]; + [FieldOffset(4 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal byte[] cdatas2 = new byte[MAX_AXIS]; + [FieldOffset(4 * 2 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal byte[] cdatas3 = new byte[MAX_AXIS]; + [FieldOffset(4 * 3 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal byte[] cdatas4 = new byte[MAX_AXIS]; + [FieldOffset(4 * 4 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal byte[] cdatas5 = new byte[MAX_AXIS]; + [FieldOffset(4 * 5 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal byte[] cdatas6 = new byte[MAX_AXIS]; + [FieldOffset(4 * 6 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal byte[] cdatas7 = new byte[MAX_AXIS]; + [FieldOffset(4 * 7 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal byte[] cdatas8 = new byte[MAX_AXIS]; + [FieldOffset(4 * 8 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal byte[] cdatas9 = new byte[MAX_AXIS]; + [FieldOffset(4 * 9 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal byte[] cdatas10 = new byte[MAX_AXIS]; + } + + [StructLayout(LayoutKind.Explicit)] + internal class HSPDATA_2 + { + [FieldOffset(0), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal short[] idatas1 = new short[MAX_AXIS]; + [FieldOffset(2 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal short[] idatas2 = new short[MAX_AXIS]; + [FieldOffset(2 * 2 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal short[] idatas3 = new short[MAX_AXIS]; + [FieldOffset(2 * 3 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal short[] idatas4 = new short[MAX_AXIS]; + [FieldOffset(2 * 4 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal short[] idatas5 = new short[MAX_AXIS]; + [FieldOffset(2 * 5 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal short[] idatas6 = new short[MAX_AXIS]; + [FieldOffset(2 * 6 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal short[] idatas7 = new short[MAX_AXIS]; + [FieldOffset(2 * 7 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal short[] idatas8 = new short[MAX_AXIS]; + [FieldOffset(2 * 8 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal short[] idatas9 = new short[MAX_AXIS]; + [FieldOffset(2 * 9 * MAX_AXIS), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal short[] idatas10 = new short[MAX_AXIS]; + } + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class HSPDATA_3 + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] ldatas1 = new int[MAX_AXIS]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] ldatas2 = new int[MAX_AXIS]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] ldatas3 = new int[MAX_AXIS]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] ldatas4 = new int[MAX_AXIS]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] ldatas5 = new int[MAX_AXIS]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] ldatas6 = new int[MAX_AXIS]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] ldatas7 = new int[MAX_AXIS]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] ldatas8 = new int[MAX_AXIS]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] ldatas9 = new int[MAX_AXIS]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] ldatas10 = new int[MAX_AXIS]; + } + + /*----------------------------------------*/ + /* CNC: Tool life management data related */ + /*----------------------------------------*/ + + /* cnc_rdgrpid:read tool life management data(tool group number) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBTLIFE1 + { + internal short dummy; /* dummy */ + internal short type; /* data type */ + internal int data; /* data */ + } + + /* cnc_rdngrp:read tool life management data(number of tool groups) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBTLIFE2 + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal short[] dummy; /* dummy */ + internal int data; /* data */ + } + + /* cnc_rdntool:read tool life management data(number of tools) */ + /* cnc_rdlife:read tool life management data(tool life) */ + /* cnc_rdcount:read tool life management data(tool lift counter) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBTLIFE3 + { + internal short datano; /* data number */ + internal short dummy; /* dummy */ + internal int data; /* data */ + } + + /* cnc_rd1length:read tool life management data(tool length number-1) */ + /* cnc_rd2length:read tool life management data(tool length number-2) */ + /* cnc_rd1radius:read tool life management data(cutter compensation no.-1) */ + /* cnc_rd2radius:read tool life management data(cutter compensation no.-2) */ + /* cnc_t1info:read tool life management data(tool information-1) */ + /* cnc_t2info:read tool life management data(tool information-2) */ + /* cnc_toolnum:read tool life management data(tool number) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBTLIFE4 + { + internal short datano; /* data number */ + internal short type; /* data type */ + internal int data; /* data */ + } + + /* cnc_rdgrpid2:read tool life management data(tool group number) 2 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBTLIFE5 + { + internal int dummy; /* dummy */ + internal int type; /* data type */ + internal int data; /* data */ + } + + /* cnc_rdtoolrng:read tool life management data(tool number, tool life, tool life counter)(area specified) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTR_data + { + internal int ntool; /* tool number */ + internal int life; /* tool life */ + internal int count; /* tool life counter */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTR1 + { + internal IODBTR_data data1 = new IODBTR_data(); + internal IODBTR_data data2 = new IODBTR_data(); + internal IODBTR_data data3 = new IODBTR_data(); + internal IODBTR_data data4 = new IODBTR_data(); + internal IODBTR_data data5 = new IODBTR_data(); + } /* In case that the number of data is 5 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTR + { + internal short datano_s; /* start group number */ + internal short dummy; /* dummy */ + internal short datano_e; /* end group number */ + internal IODBTR1 data = new IODBTR1(); + } + + /* cnc_rdtoolgrp:read tool life management data(all data within group) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBTG_data + { + internal int tuse_num; /* tool number */ + internal int tool_num; /* tool life */ + internal int length_num; /* tool life counter */ + internal int radius_num; /* tool life counter */ + internal int tinfo; /* tool life counter */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBTG1 + { + internal ODBTG_data data1 = new ODBTG_data(); + internal ODBTG_data data2 = new ODBTG_data(); + internal ODBTG_data data3 = new ODBTG_data(); + internal ODBTG_data data4 = new ODBTG_data(); + internal ODBTG_data data5 = new ODBTG_data(); + } /* In case that the number of data is 5 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBTG + { + internal short grp_num; /* start group number */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal short[] dummy; /* dummy */ + internal int ntool; /* tool number */ + internal int life; /* tool life */ + internal int count; /* tool life counter */ + internal ODBTG1 data = new ODBTG1(); + } + + /* cnc_wrcountr:write tool life management data(tool life counter) (area specified) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IDBWRC_data + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal int[] dummy; /* dummy */ + internal int count; /* tool life counter */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IDBWRC1 + { + internal IDBWRC_data data1 = new IDBWRC_data(); + internal IDBWRC_data data2 = new IDBWRC_data(); + internal IDBWRC_data data3 = new IDBWRC_data(); + internal IDBWRC_data data4 = new IDBWRC_data(); + internal IDBWRC_data data5 = new IDBWRC_data(); + } /* In case that the number of data is 5 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IDBWRC + { + internal short datano_s; /* start group number */ + internal short dummy; /* dummy */ + internal short datano_e; /* end group number */ + internal IDBWRC1 data = new IDBWRC1(); + } + + /* cnc_rdusegrpid:read tool life management data(used tool group number) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBUSEGR + { + internal short datano; /* dummy */ + internal short type; /* dummy */ + internal int next; /* next use group number */ + internal int use; /* using group number */ + internal int slct; /* selecting group number */ + } + + /* cnc_rdmaxgrp:read tool life management data(max. number of tool groups) */ + /* cnc_rdmaxtool:read tool life management data(maximum number of tool within group) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBLFNO + { + internal short datano; /* dummy */ + internal short type; /* dummy */ + internal short data; /* number of data */ + } + + /* cnc_rdusetlno:read tool life management data(used tool no within group) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBTLUSE + { + internal short s_grp; /* start group number */ + internal short dummy; /* dummy */ + internal short e_grp; /* end group number */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] + internal int[] data; /* tool using number */ + } /* In case that the number of group is 5 */ + + /* cnc_rd1tlifedata:read tool life management data(tool data1) */ + /* cnc_rd2tlifedata:read tool life management data(tool data2) */ + /* cnc_wr1tlifedata:write tool life management data(tool data1) */ + /* cnc_wr2tlifedata:write tool life management data(tool data2) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTD + { + internal short datano; /* tool group number */ + internal short type; /* tool using number */ + internal int tool_num; /* tool number */ + internal int h_code; /* H code */ + internal int d_code; /* D code */ + internal int tool_inf; /* tool information */ + } + + /* cnc_rd1tlifedat2:read tool life management data(tool data1) 2 */ + /* cnc_wr1tlifedat2:write tool life management data(tool data1) 2 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTD2 + { + internal short datano; /* tool group number */ + internal short dummy; /* dummy */ + internal int type; /* tool using number */ + internal int tool_num; /* tool number */ + internal int h_code; /* H code */ + internal int d_code; /* D code */ + internal int tool_inf; /* tool information */ + } + + /* cnc_rdgrpinfo:read tool life management data(tool group information) */ + /* cnc_wrgrpinfo:write tool life management data(tool group information) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTGI_data + { + internal int n_tool; /* number of tool */ + internal int count_value; /* tool life */ + internal int counter; /* tool life counter */ + internal int count_type; /* tool life counter type */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTGI1 + { + internal IODBTGI_data data1 = new IODBTGI_data(); + internal IODBTGI_data data2 = new IODBTGI_data(); + internal IODBTGI_data data3 = new IODBTGI_data(); + internal IODBTGI_data data4 = new IODBTGI_data(); + internal IODBTGI_data data5 = new IODBTGI_data(); + } /* In case that the number of data is 5 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTGI + { + internal short s_grp; /* start group number */ + internal short dummy; /* dummy */ + internal short e_grp; /* end group number */ + internal IODBTGI1 data = new IODBTGI1(); + } + + /* cnc_rdgrpinfo2:read tool life management data(tool group information 2) */ + /* cnc_wrgrpinfo2:write tool life management data(tool group information 2) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTGI2 + { + internal short s_grp; /* start group number */ + internal short dummy; /* dummy */ + internal short e_grp; /* end group number */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] + internal int[] opt_grpno = new int[5]; /* optional group number of tool */ + } /* In case that the number of group is 5 */ + + /* cnc_rdgrpinfo3:read tool life management data(tool group information 3) */ + /* cnc_wrgrpinfo3:write tool life management data(tool group information 3) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTGI3 + { + internal short s_grp; /* start group number */ + internal short dummy; /* dummy */ + internal short e_grp; /* end group number */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] + internal int[] life_rest = new int[5]; /* tool life rest count */ + } /* In case that the number of group is 5 */ + + /* cnc_rdgrpinfo4:read tool life management data(tool group information 4) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTGI4 + { + internal short grp_no; + internal int n_tool; + internal int count_value; + internal int counter; + internal int count_type; + internal int opt_grpno; + internal int life_rest; + } + + /* cnc_instlifedt:insert tool life management data(tool data) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IDBITD + { + internal short datano; /* tool group number */ + internal short type; /* tool using number */ + internal int data; /* tool number */ + } + + /* cnc_rdtlinfo:read tool life management data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBTLINFO + { + internal int max_group; /* maximum number of tool groups */ + internal int max_tool; /* maximum number of tool within group */ + internal int max_minute; /* maximum number of life count (minutes) */ + internal int max_cycle; /* maximum number of life count (cycles) */ + } + + /* cnc_rdtlusegrp:read tool life management data(used tool group number) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBUSEGRP + { + internal int next; /* next use group number */ + internal int use; /* using group number */ + internal int slct; /* selecting group number */ + internal int opt_next; /* next use optional group number */ + internal int opt_use; /* using optional group number */ + internal int opt_slct; /* selecting optional group number */ + } + + /* cnc_rdtlgrp:read tool life management data(tool group information 2) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLGRP_data + { + internal int ntool; /* number of all tool */ + internal int nfree; /* number of free tool */ + internal int life; /* tool life */ + internal int count; /* tool life counter */ + internal int use_tool; /* using tool number */ + internal int opt_grpno; /* optional group number */ + internal int life_rest; /* tool life rest count */ + internal short rest_sig; /* tool life rest signal */ + internal short count_type; /* tool life counter type */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLGRP + { + internal IODBTLGRP_data data1 = new IODBTLGRP_data(); + internal IODBTLGRP_data data2 = new IODBTLGRP_data(); + internal IODBTLGRP_data data3 = new IODBTLGRP_data(); + internal IODBTLGRP_data data4 = new IODBTLGRP_data(); + internal IODBTLGRP_data data5 = new IODBTLGRP_data(); + } /* In case that the number of group is 5 */ + + /* cnc_rdtltool:read tool life management data (tool data1) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLTOOL_data + { + internal int tool_num; /* tool number */ + internal int h_code; /* H code */ + internal int d_code; /* D code */ + internal int tool_inf; /* tool information */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLTOOL + { + internal IODBTLTOOL_data data1 = new IODBTLTOOL_data(); + internal IODBTLTOOL_data data2 = new IODBTLTOOL_data(); + internal IODBTLTOOL_data data3 = new IODBTLTOOL_data(); + internal IODBTLTOOL_data data4 = new IODBTLTOOL_data(); + internal IODBTLTOOL_data data5 = new IODBTLTOOL_data(); + } /* In case that the number of group is 5 */ + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBEXGP_data + { + internal int grp_no; /* group number */ + internal int opt_grpno; /* optional group number */ + } + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBEXGP + { + internal ODBEXGP_data data1 = new ODBEXGP_data(); + internal ODBEXGP_data data2 = new ODBEXGP_data(); + internal ODBEXGP_data data3 = new ODBEXGP_data(); + internal ODBEXGP_data data4 = new ODBEXGP_data(); + internal ODBEXGP_data data5 = new ODBEXGP_data(); + internal ODBEXGP_data data6 = new ODBEXGP_data(); + internal ODBEXGP_data data7 = new ODBEXGP_data(); + internal ODBEXGP_data data8 = new ODBEXGP_data(); + internal ODBEXGP_data data9 = new ODBEXGP_data(); + internal ODBEXGP_data data10 = new ODBEXGP_data(); + internal ODBEXGP_data data11 = new ODBEXGP_data(); + internal ODBEXGP_data data12 = new ODBEXGP_data(); + internal ODBEXGP_data data13 = new ODBEXGP_data(); + internal ODBEXGP_data data14 = new ODBEXGP_data(); + internal ODBEXGP_data data15 = new ODBEXGP_data(); + internal ODBEXGP_data data16 = new ODBEXGP_data(); + internal ODBEXGP_data data17 = new ODBEXGP_data(); + internal ODBEXGP_data data18 = new ODBEXGP_data(); + internal ODBEXGP_data data19 = new ODBEXGP_data(); + internal ODBEXGP_data data20 = new ODBEXGP_data(); + internal ODBEXGP_data data21 = new ODBEXGP_data(); + internal ODBEXGP_data data22 = new ODBEXGP_data(); + internal ODBEXGP_data data23 = new ODBEXGP_data(); + internal ODBEXGP_data data24 = new ODBEXGP_data(); + internal ODBEXGP_data data25 = new ODBEXGP_data(); + internal ODBEXGP_data data26 = new ODBEXGP_data(); + internal ODBEXGP_data data27 = new ODBEXGP_data(); + internal ODBEXGP_data data28 = new ODBEXGP_data(); + internal ODBEXGP_data data29 = new ODBEXGP_data(); + internal ODBEXGP_data data30 = new ODBEXGP_data(); + internal ODBEXGP_data data31 = new ODBEXGP_data(); + internal ODBEXGP_data data32 = new ODBEXGP_data(); + } + + /*-----------------------------------*/ + /* CNC: Tool management data related */ + /*-----------------------------------*/ + + /* cnc_regtool:new registration of tool management data */ + /* cnc_rdtool:lead of tool management data */ + /* cnc_wrtool:write of tool management data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLMNG_data + { + internal int T_code; + internal int life_count; + internal int max_life; + internal int rest_life; + internal byte life_stat; + internal byte cust_bits; + internal ushort tool_info; + internal short H_code; + internal short D_code; + internal int spindle_speed; + internal int feedrate; + internal short magazine; + internal short pot; + internal short G_code; + internal short W_code; + internal short gno; + internal short grp; + internal short edge; + internal short org_magazine; + internal short org_pot; + internal byte edge_num; + private byte reserve_c; + private int reserved_1; + private int reserved_2; + internal int custom1; + internal int custom2; + internal int custom3; + internal int custom4; + internal int custom5; + internal int custom6; + internal int custom7; + internal int custom8; + internal int custom9; + internal int custom10; + internal int custom11; + internal int custom12; + internal int custom13; + internal int custom14; + internal int custom15; + internal int custom16; + internal int custom17; + internal int custom18; + internal int custom19; + internal int custom20; + } + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLMNG + { + internal IODBTLMNG_data data1 = new IODBTLMNG_data(); + internal IODBTLMNG_data data2 = new IODBTLMNG_data(); + internal IODBTLMNG_data data3 = new IODBTLMNG_data(); + internal IODBTLMNG_data data4 = new IODBTLMNG_data(); + internal IODBTLMNG_data data5 = new IODBTLMNG_data(); + } /* In case that the number of group is 5 */ + + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLMNG_F2_data + { + internal int T_code; + internal int life_count; + internal int max_life; + internal int rest_life; + internal byte life_stat; + internal byte cust_bits; + internal ushort tool_info; + internal short H_code; + internal short D_code; + internal int spindle_speed; + internal int feedrate; + internal short magazine; + internal short pot; + internal short G_code; + internal short W_code; + internal short gno; + internal short grp; + internal short edge; + internal short org_magazine; + internal short org_pot; + internal byte edge_num; + private byte reserve_c; + private long reserved_1; + private long reserved_2; + internal int custom1; + internal int custom2; + internal int custom3; + internal int custom4; + internal int custom5; + internal int custom6; + internal int custom7; + internal int custom8; + internal int custom9; + internal int custom10; + internal int custom11; + internal int custom12; + internal int custom13; + internal int custom14; + internal int custom15; + internal int custom16; + internal int custom17; + internal int custom18; + internal int custom19; + internal int custom20; + internal int custom21; + internal int custom22; + internal int custom23; + internal int custom24; + internal int custom25; + internal int custom26; + internal int custom27; + internal int custom28; + internal int custom29; + internal int custom30; + internal int custom31; + internal int custom32; + internal int custom33; + internal int custom34; + internal int custom35; + internal int custom36; + internal int custom37; + internal int custom38; + internal int custom39; + internal int custom40; + } + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLMNG_F2 + { + internal IODBTLMNG_F2_data data1 = new IODBTLMNG_F2_data(); + internal IODBTLMNG_F2_data data2 = new IODBTLMNG_F2_data(); + internal IODBTLMNG_F2_data data3 = new IODBTLMNG_F2_data(); + internal IODBTLMNG_F2_data data4 = new IODBTLMNG_F2_data(); + internal IODBTLMNG_F2_data data5 = new IODBTLMNG_F2_data(); + } /* In case that the number of group is 5 */ + + /* cnc_wrtool2:write of individual data of tool management data */ + [StructLayout(LayoutKind.Explicit)] + internal class IDBTLM_item + { + [FieldOffset(0)] + internal sbyte data1; + [FieldOffset(0)] + internal short data2; + [FieldOffset(0)] + internal int data4; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IDBTLM + { + internal short data_id; + internal IDBTLM_item item = new IDBTLM_item(); + } + + /* cnc_regmagazine:new registration of magazine management data */ + /* cnc_rdmagazine:lead of magazine management data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLMAG_data + { + internal short magazine; + internal short pot; + internal short tool_index; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLMAG + { + internal IODBTLMAG_data data1 = new IODBTLMAG_data(); + internal IODBTLMAG_data data2 = new IODBTLMAG_data(); + internal IODBTLMAG_data data3 = new IODBTLMAG_data(); + internal IODBTLMAG_data data4 = new IODBTLMAG_data(); + internal IODBTLMAG_data data5 = new IODBTLMAG_data(); + } /* In case that the number of group is 5 */ + + /* cnc_delmagazine:deletion of magazine management data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLMAG2_data + { + internal short magazine; + internal short pot; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLMAG2 + { + internal IODBTLMAG2_data data1 = new IODBTLMAG2_data(); + internal IODBTLMAG2_data data2 = new IODBTLMAG2_data(); + internal IODBTLMAG2_data data3 = new IODBTLMAG2_data(); + internal IODBTLMAG2_data data4 = new IODBTLMAG2_data(); + internal IODBTLMAG2_data data5 = new IODBTLMAG2_data(); + } /* In case that the number of group is 5 */ + + + /*-------------------------------------*/ + /* CNC: Operation history data related */ + /*-------------------------------------*/ + + /* cnc_rdophistry:read operation history data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_ALM + { + internal short rec_type; /* record type */ + internal short alm_grp; /* alarm group */ + internal short alm_no; /* alarm number */ + internal sbyte axis_no; /* axis number */ + internal sbyte dummy; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_MDI + { + internal short rec_type; /* record type */ + internal byte key_code; /* key code */ + internal byte pw_flag; /* power on flag */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] + internal sbyte[] dummy; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_SGN + { + internal short rec_type; /* record type */ + internal sbyte sig_name; /* signal name */ + internal byte sig_old; /* old signal bit pattern */ + internal byte sig_new; /* new signal bit pattern */ + internal sbyte dummy; + internal short sig_no; /* signal number */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_DATE + { + internal short rec_type; /* record type */ + internal sbyte year; /* year */ + internal sbyte month; /* month */ + internal sbyte day; /* day */ + internal sbyte pw_flag; /* power on flag */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal sbyte[] dummy; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_TIME + { + internal short rec_type; /* record flag */ + internal sbyte hour; /* hour */ + internal sbyte minute; /* minute */ + internal sbyte second; /* second */ + internal sbyte pw_flag; /* power on flag */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal sbyte[] dummy; + } + [StructLayout(LayoutKind.Explicit, Size = 8)] + internal class ODBHIS_data + { + // record type + [FieldOffset(0)] + internal short rec_type; /* record type */ + + // alarm record + [FieldOffset(0)] + internal short alm_rec_type; /* record type */ + [FieldOffset(2)] + internal short alm_alm_grp; /* alarm group */ + [FieldOffset(4)] + internal short alm_alm_no; /* alarm number */ + [FieldOffset(6)] + internal sbyte alm_axis_no; /* axis number */ + [FieldOffset(7)] + internal sbyte alm_dummy; + + // mdi record + [FieldOffset(0)] + internal short mdi_rec_type; /* record type */ + [FieldOffset(2)] + internal byte mdi_key_code; /* key code */ + [FieldOffset(3)] + internal byte mdi_pw_flag; /* power on flag */ + [FieldOffset(4)] + internal sbyte mdi_dummy1; + [FieldOffset(5)] + internal sbyte mdi_dummy2; + [FieldOffset(6)] + internal sbyte mdi_dummy3; + [FieldOffset(7)] + internal sbyte mdi_dummy4; + + // sign record + [FieldOffset(0)] + internal short sgn_rec_type; /* record type */ + [FieldOffset(2)] + internal sbyte sgn_sig_name; /* signal name */ + [FieldOffset(3)] + internal byte sgn_sig_old; /* old signal bit pattern */ + [FieldOffset(4)] + internal byte sgn_sig_new; /* new signal bit pattern */ + [FieldOffset(5)] + internal sbyte sgn_dummy; + [FieldOffset(6)] + internal short sgn_sig_no; /* signal number */ + + // date record + [FieldOffset(0)] + internal short date_rec_type; /* record type */ + [FieldOffset(2)] + internal sbyte date_year; /* year */ + [FieldOffset(3)] + internal sbyte date_month; /* month */ + [FieldOffset(4)] + internal sbyte date_day; /* day */ + [FieldOffset(5)] + internal sbyte date_pw_flag; /* power on flag */ + [FieldOffset(6)] + internal sbyte date_dummy1; + [FieldOffset(7)] + internal sbyte date_dummy2; + + // time record + [FieldOffset(0)] + internal short time_rec_type; /* record flag */ + [FieldOffset(2)] + internal sbyte time_hour; /* hour */ + [FieldOffset(3)] + internal sbyte time_minute; /* minute */ + [FieldOffset(4)] + internal sbyte time_second; /* second */ + [FieldOffset(5)] + internal sbyte time_pw_flag; /* power on flag */ + [FieldOffset(6)] + internal sbyte time_dummy1; + [FieldOffset(7)] + internal sbyte time_dummy2; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBHIS1 + { + internal ODBHIS_data data1 = new ODBHIS_data(); + internal ODBHIS_data data2 = new ODBHIS_data(); + internal ODBHIS_data data3 = new ODBHIS_data(); + internal ODBHIS_data data4 = new ODBHIS_data(); + internal ODBHIS_data data5 = new ODBHIS_data(); + internal ODBHIS_data data6 = new ODBHIS_data(); + internal ODBHIS_data data7 = new ODBHIS_data(); + internal ODBHIS_data data8 = new ODBHIS_data(); + internal ODBHIS_data data9 = new ODBHIS_data(); + internal ODBHIS_data data10 = new ODBHIS_data(); + } /* In case that the number of data is 10 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBHIS + { + internal ushort s_no; /* start number */ + internal short type; /* dummy */ + internal ushort e_no; /* end number */ + internal ODBHIS1 data = new ODBHIS1(); + } + + /* cnc_rdophistry2:read operation history data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_MDI2 + { + internal byte key_code; /* key code */ + internal byte pw_flag; /* power on flag */ + internal short dummy; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_MDI2_data + { + internal short rec_len; /* length */ + internal short rec_type; /* record type */ + internal REC_MDI2 data = new REC_MDI2(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_SGN2 + { + internal short sig_name; /* signal name */ + internal short sig_no; /* signal number */ + internal byte sig_old; /* old signal bit pattern */ + internal byte sig_new; /* new signal bit pattern */ + internal short dummy; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_SGN2_data + { + internal short rec_len; /* length */ + internal short rec_type; /* record type */ + internal REC_SGN2 data = new REC_SGN2(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_ALM2 + { + internal short alm_grp; /* alarm group */ + internal short alm_no; /* alarm number */ + internal short axis_no; /* axis number */ + internal short year; /* year */ + internal short month; /* month */ + internal short day; /* day */ + internal short hour; /* hour */ + internal short minute; /* minute */ + internal short second; /* second */ + internal short dummy; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_ALM2_data + { + internal short rec_len; /* length */ + internal short rec_type; /* record type */ + internal REC_ALM2 data = new REC_ALM2(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_DATE2 + { + internal short evnt_type; /* event type */ + internal short year; /* year */ + internal short month; /* month */ + internal short day; /* day */ + internal short hour; /* hour */ + internal short minute; /* minute */ + internal short second; /* second */ + internal short dummy; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_DATE2_data + { + internal short rec_len; /* length */ + internal short rec_type; /* record type */ + internal REC_DATE2 data = new REC_DATE2(); + } + [StructLayout(LayoutKind.Explicit)] + internal class ODBOPHIS + { + [FieldOffset(0)] + internal REC_MDI2_data rec_mdi = new REC_MDI2_data(); + [FieldOffset(0)] + internal REC_SGN2_data rec_sgn = new REC_SGN2_data(); + [FieldOffset(0)] + internal REC_ALM2_data rec_alm = new REC_ALM2_data(); + [FieldOffset(0)] + internal REC_DATE2_data rec_date = new REC_DATE2_data(); + } + + /* cnc_rdophistry4:read operation history data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_MDI4 + { + internal char key_code; /* key code */ + internal char pw_flag; /* power on flag */ + internal short pth_no; /* path index */ + internal short ex_flag; /* kxternal key flag */ + internal short hour; /* hour */ + internal short minute; /* minute */ + internal short second; /* second */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_MDI4_data + { + internal short rec_len; /* length */ + internal short rec_type; /* record type */ + internal REC_MDI4 data = new REC_MDI4(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_SGN4 + { + internal short sig_name; /* signal name */ + internal short sig_no; /* signal number */ + internal char sig_old; /* old signal bit pattern */ + internal char sig_new; /* new signal bit pattern */ + internal short pmc_no; /* pmc index */ + internal short hour; /* hour */ + internal short minute; /* minute */ + internal short second; /* second */ + internal short dummy; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_SGN4_data + { + internal short rec_len; /* length */ + internal short rec_type; /* record type */ + internal REC_SGN4 data = new REC_SGN4(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_ALM4 + { + internal short alm_grp; /* alarm group */ + internal short alm_no; /* alarm number */ + internal short axis_no; /* axis number */ + internal short year; /* year */ + internal short month; /* month */ + internal short day; /* day */ + internal short hour; /* hour */ + internal short minute; /* minute */ + internal short second; /* second */ + internal short pth_no; /* path index */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_ALM4_data + { + internal short rec_len; /* length */ + internal short rec_type; /* record type */ + internal REC_ALM4 data = new REC_ALM4(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_DATE4 + { + internal short evnt_type; /* event type */ + internal short year; /* year */ + internal short month; /* month */ + internal short day; /* day */ + internal short hour; /* hour */ + internal short minute; /* minute */ + internal short second; /* second */ + internal short dummy; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_DATE4_data + { + internal short rec_len; /* length */ + internal short rec_type; /* record type */ + internal REC_DATE4 data = new REC_DATE4(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_IAL4 + { + internal short alm_grp; /* alarm group */ + internal short alm_no; /* alarm number */ + internal short axis_no; /* axis number */ + internal short year; /* year */ + internal short month; /* month */ + internal short day; /* day */ + internal short hour; /* hour */ + internal short minute; /* minute */ + internal short second; /* second */ + internal short pth_no; /* path index */ + internal short sys_alm; /* sys alarm */ + internal short dsp_flg; /* message dsp flag */ + internal short axis_num; /* axis num */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal int[] g_modal; /* G code Modal */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal char[] g_dp; /* #7:1 Block */ + /* #6`#0 dp*/ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal int[] a_modal; /* B,D,E,F,H,M,N,O,S,T code Modal */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal char[] a_dp; /* #7:1 Block */ + /* 6`#0 dp*/ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + internal int[] abs_pos; /* Abs pos */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + internal char[] abs_dp; /* Abs dp */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + internal int[] mcn_pos; /* Mcn pos */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + internal char[] mcn_dp; /* Mcn dp */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_IAL4_data + { + internal short rec_len; /* length */ + internal short rec_type; /* record type */ + internal REC_IAL4 data = new REC_IAL4(); + } + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class REC_MAL4 + { + internal short alm_grp; /* alarm group */ + internal short alm_no; /* alarm number */ + internal short axis_no; /* axis number */ + internal short year; /* year */ + internal short month; /* month */ + internal short day; /* day */ + internal short hour; /* hour */ + internal short minute; /* minute */ + internal short second; /* second */ + internal short pth_no; /* path index */ + internal short sys_alm; /* sys alarm */ + internal short dsp_flg; /* message dsp flag */ + internal short axis_num; /* axis num */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] + internal string alm_msg = new string(' ', 64); /* alarm message */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal int[] g_modal; /* G code Modal */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal char[] g_dp; /* #7:1 Block */ + /* #6`#0 dp*/ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal int[] a_modal; /* B,D,E,F,H,M,N,O,S,T code Modal */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal char[] a_dp; /* #7:1 Block */ + /* 6`#0 dp*/ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + internal int[] abs_pos; /* Abs pos */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + internal char[] abs_dp; /* Abs dp */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + internal int[] mcn_pos; /* Mcn pos */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + internal char[] mcn_dp; /* Mcn dp */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_MAL4_data + { + internal short rec_len; /* length */ + internal short rec_type; /* record type */ + internal REC_MAL4 data = new REC_MAL4(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_OPM4 + { + internal short dsp_flg; /* Dysplay flag(ON/OFF) */ + internal short om_no; /* message number */ + internal short year; /* year */ + internal short month; /* month */ + internal short day; /* day */ + internal short hour; /* Hour */ + internal short minute; /* Minute */ + internal short second; /* Second */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] + internal string ope_msg = new string(' ', 256); /* Messege */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_OPM4_data + { + internal short rec_len; /* length */ + internal short rec_type; /* record type */ + internal REC_OPM4 data = new REC_OPM4(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_OFS4 + { + internal short ofs_grp; /* Tool offset group */ + internal short ofs_no; /* Tool offset number */ + internal short hour; /* hour */ + internal short minute; /* minute */ + internal short second; /* second */ + internal short pth_no; /* path index */ + internal int ofs_old; /* old data */ + internal int ofs_new; /* new data */ + internal short old_dp; /* old data decimal point */ + internal short new_dp; /* new data decimal point */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_OFS4_data + { + internal short rec_len; /* length */ + internal short rec_type; /* record type */ + internal REC_OFS4 data = new REC_OFS4(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_PRM4 + { + internal short prm_grp; /* paramater group */ + internal short prm_num; /* paramater number */ + internal short hour; /* hour */ + internal short minute; /* minute */ + internal short second; /* second */ + internal short prm_len; /* paramater data length */ + internal int prm_no; /* paramater no */ + internal int prm_old; /* old data */ + internal int prm_new; /* new data */ + internal short old_dp; /* old data decimal point */ + internal short new_dp; /* new data decimal point */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_PRM4_data + { + internal short rec_len; /* length */ + internal short rec_type; /* record type */ + internal REC_PRM4 data = new REC_PRM4(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_WOF4 + { + internal short ofs_grp; /* Work offset group */ + internal short ofs_no; /* Work offset number */ + internal short hour; /* hour */ + internal short minute; /* minute */ + internal short second; /* second */ + internal short pth_no; /* path index */ + internal short axis_no; /* path axis num $*/ + internal short dummy; + internal int ofs_old; /* old data */ + internal int ofs_new; /* new data */ + internal short old_dp; /* old data decimal point */ + internal short new_dp; /* new data decimal point */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_WOF4_data + { + internal short rec_len; /* length */ + internal short rec_type; /* record type */ + internal REC_WOF4 data = new REC_WOF4(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_MAC4 + { + internal short mac_no; /* macro val number */ + internal short hour; /* hour */ + internal short minute; /* minute */ + internal short second; /* second */ + internal short pth_no; /* path index */ + internal int mac_old; /* old data */ + internal int mac_new; /* new data */ + internal short old_dp; /* old data decimal point */ + internal short new_dp; /* old data decimal point */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REC_MAC4_data + { + internal short rec_len; /* length */ + internal short rec_type; /* record type */ + internal REC_MAC4 data = new REC_MAC4(); + } + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBOPHIS4_1 + { + internal REC_MDI4_data rec_mdi1 = new REC_MDI4_data(); + internal REC_MDI4_data rec_mdi2 = new REC_MDI4_data(); + internal REC_MDI4_data rec_mdi3 = new REC_MDI4_data(); + internal REC_MDI4_data rec_mdi4 = new REC_MDI4_data(); + internal REC_MDI4_data rec_mdi5 = new REC_MDI4_data(); + internal REC_MDI4_data rec_mdi6 = new REC_MDI4_data(); + internal REC_MDI4_data rec_mdi7 = new REC_MDI4_data(); + internal REC_MDI4_data rec_mdi8 = new REC_MDI4_data(); + internal REC_MDI4_data rec_mdi9 = new REC_MDI4_data(); + internal REC_MDI4_data rec_mdi10 = new REC_MDI4_data(); + } /* In case that the number of data is 10 */ + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBOPHIS4_2 + { + internal REC_SGN4_data rec_sgn1 = new REC_SGN4_data(); + internal REC_SGN4_data rec_sgn2 = new REC_SGN4_data(); + internal REC_SGN4_data rec_sgn3 = new REC_SGN4_data(); + internal REC_SGN4_data rec_sgn4 = new REC_SGN4_data(); + internal REC_SGN4_data rec_sgn5 = new REC_SGN4_data(); + internal REC_SGN4_data rec_sgn6 = new REC_SGN4_data(); + internal REC_SGN4_data rec_sgn7 = new REC_SGN4_data(); + internal REC_SGN4_data rec_sgn8 = new REC_SGN4_data(); + internal REC_SGN4_data rec_sgn9 = new REC_SGN4_data(); + internal REC_SGN4_data rec_sgn10 = new REC_SGN4_data(); + } /* In case that the number of data is 10 */ + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBOPHIS4_3 + { + internal REC_ALM4_data rec_alm1 = new REC_ALM4_data(); + internal REC_ALM4_data rec_alm2 = new REC_ALM4_data(); + internal REC_ALM4_data rec_alm3 = new REC_ALM4_data(); + internal REC_ALM4_data rec_alm4 = new REC_ALM4_data(); + internal REC_ALM4_data rec_alm5 = new REC_ALM4_data(); + internal REC_ALM4_data rec_alm6 = new REC_ALM4_data(); + internal REC_ALM4_data rec_alm7 = new REC_ALM4_data(); + internal REC_ALM4_data rec_alm8 = new REC_ALM4_data(); + internal REC_ALM4_data rec_alm9 = new REC_ALM4_data(); + internal REC_ALM4_data rec_alm10 = new REC_ALM4_data(); + } /* In case that the number of data is 10 */ + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBOPHIS4_4 + { + internal REC_DATE4_data rec_date1 = new REC_DATE4_data(); + internal REC_DATE4_data rec_date2 = new REC_DATE4_data(); + internal REC_DATE4_data rec_date3 = new REC_DATE4_data(); + internal REC_DATE4_data rec_date4 = new REC_DATE4_data(); + internal REC_DATE4_data rec_date5 = new REC_DATE4_data(); + internal REC_DATE4_data rec_date6 = new REC_DATE4_data(); + internal REC_DATE4_data rec_date7 = new REC_DATE4_data(); + internal REC_DATE4_data rec_date8 = new REC_DATE4_data(); + internal REC_DATE4_data rec_date9 = new REC_DATE4_data(); + internal REC_DATE4_data rec_date10 = new REC_DATE4_data(); + } /* In case that the number of data is 10 */ + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBOPHIS4_5 + { + internal REC_IAL4_data rec_ial1 = new REC_IAL4_data(); + internal REC_IAL4_data rec_ial2 = new REC_IAL4_data(); + internal REC_IAL4_data rec_ial3 = new REC_IAL4_data(); + internal REC_IAL4_data rec_ial4 = new REC_IAL4_data(); + internal REC_IAL4_data rec_ial5 = new REC_IAL4_data(); + internal REC_IAL4_data rec_ial6 = new REC_IAL4_data(); + internal REC_IAL4_data rec_ial7 = new REC_IAL4_data(); + internal REC_IAL4_data rec_ial8 = new REC_IAL4_data(); + internal REC_IAL4_data rec_ial9 = new REC_IAL4_data(); + internal REC_IAL4_data rec_ial10 = new REC_IAL4_data(); + } /* In case that the number of data is 10 */ + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBOPHIS4_6 + { + internal REC_MAL4_data rec_mal1 = new REC_MAL4_data(); + internal REC_MAL4_data rec_mal2 = new REC_MAL4_data(); + internal REC_MAL4_data rec_mal3 = new REC_MAL4_data(); + internal REC_MAL4_data rec_mal4 = new REC_MAL4_data(); + internal REC_MAL4_data rec_mal5 = new REC_MAL4_data(); + internal REC_MAL4_data rec_mal6 = new REC_MAL4_data(); + internal REC_MAL4_data rec_mal7 = new REC_MAL4_data(); + internal REC_MAL4_data rec_mal8 = new REC_MAL4_data(); + internal REC_MAL4_data rec_mal9 = new REC_MAL4_data(); + internal REC_MAL4_data rec_mal10 = new REC_MAL4_data(); + } /* In case that the number of data is 10 */ + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBOPHIS4_7 + { + internal REC_OPM4_data rec_opm1 = new REC_OPM4_data(); + internal REC_OPM4_data rec_opm2 = new REC_OPM4_data(); + internal REC_OPM4_data rec_opm3 = new REC_OPM4_data(); + internal REC_OPM4_data rec_opm4 = new REC_OPM4_data(); + internal REC_OPM4_data rec_opm5 = new REC_OPM4_data(); + internal REC_OPM4_data rec_opm6 = new REC_OPM4_data(); + internal REC_OPM4_data rec_opm7 = new REC_OPM4_data(); + internal REC_OPM4_data rec_opm8 = new REC_OPM4_data(); + internal REC_OPM4_data rec_opm9 = new REC_OPM4_data(); + internal REC_OPM4_data rec_opm10 = new REC_OPM4_data(); + } /* In case that the number of data is 10 */ + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBOPHIS4_8 + { + internal REC_OFS4_data rec_ofs1 = new REC_OFS4_data(); + internal REC_OFS4_data rec_ofs2 = new REC_OFS4_data(); + internal REC_OFS4_data rec_ofs3 = new REC_OFS4_data(); + internal REC_OFS4_data rec_ofs4 = new REC_OFS4_data(); + internal REC_OFS4_data rec_ofs5 = new REC_OFS4_data(); + internal REC_OFS4_data rec_ofs6 = new REC_OFS4_data(); + internal REC_OFS4_data rec_ofs7 = new REC_OFS4_data(); + internal REC_OFS4_data rec_ofs8 = new REC_OFS4_data(); + internal REC_OFS4_data rec_ofs9 = new REC_OFS4_data(); + internal REC_OFS4_data rec_ofs10 = new REC_OFS4_data(); + } /* In case that the number of data is 10 */ + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBOPHIS4_9 + { + internal REC_PRM4_data rec_prm1 = new REC_PRM4_data(); + internal REC_PRM4_data rec_prm2 = new REC_PRM4_data(); + internal REC_PRM4_data rec_prm3 = new REC_PRM4_data(); + internal REC_PRM4_data rec_prm4 = new REC_PRM4_data(); + internal REC_PRM4_data rec_prm5 = new REC_PRM4_data(); + internal REC_PRM4_data rec_prm6 = new REC_PRM4_data(); + internal REC_PRM4_data rec_prm7 = new REC_PRM4_data(); + internal REC_PRM4_data rec_prm8 = new REC_PRM4_data(); + internal REC_PRM4_data rec_prm9 = new REC_PRM4_data(); + internal REC_PRM4_data rec_prm10 = new REC_PRM4_data(); + } /* In case that the number of data is 10 */ + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBOPHIS4_10 + { + internal REC_WOF4_data rec_wof1 = new REC_WOF4_data(); + internal REC_WOF4_data rec_wof2 = new REC_WOF4_data(); + internal REC_WOF4_data rec_wof3 = new REC_WOF4_data(); + internal REC_WOF4_data rec_wof4 = new REC_WOF4_data(); + internal REC_WOF4_data rec_wof5 = new REC_WOF4_data(); + internal REC_WOF4_data rec_wof6 = new REC_WOF4_data(); + internal REC_WOF4_data rec_wof7 = new REC_WOF4_data(); + internal REC_WOF4_data rec_wof8 = new REC_WOF4_data(); + internal REC_WOF4_data rec_wof9 = new REC_WOF4_data(); + internal REC_WOF4_data rec_wof10 = new REC_WOF4_data(); + } /* In case that the number of data is 10 */ + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBOPHIS4_11 + { + internal REC_MAC4_data rec_mac1 = new REC_MAC4_data(); + internal REC_MAC4_data rec_mac2 = new REC_MAC4_data(); + internal REC_MAC4_data rec_mac3 = new REC_MAC4_data(); + internal REC_MAC4_data rec_mac4 = new REC_MAC4_data(); + internal REC_MAC4_data rec_mac5 = new REC_MAC4_data(); + internal REC_MAC4_data rec_mac6 = new REC_MAC4_data(); + internal REC_MAC4_data rec_mac7 = new REC_MAC4_data(); + internal REC_MAC4_data rec_mac8 = new REC_MAC4_data(); + internal REC_MAC4_data rec_mac9 = new REC_MAC4_data(); + internal REC_MAC4_data rec_mac10 = new REC_MAC4_data(); + } /* In case that the number of data is 10 */ + + /* cnc_rdalmhistry:read alarm history data */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ALM_HIS_data + { + internal short dummy; + internal short alm_grp; /* alarm group */ + internal short alm_no; /* alarm number */ + internal byte axis_no; /* axis number */ + internal byte year; /* year */ + internal byte month; /* month */ + internal byte day; /* day */ + internal byte hour; /* hour */ + internal byte minute; /* minute */ + internal byte second; /* second */ + internal byte dummy2; + internal short len_msg; /* alarm message length */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + internal string alm_msg = new string(' ', 32); /* alarm message */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ALM_HIS1 + { + internal ALM_HIS_data data1 = new ALM_HIS_data(); + internal ALM_HIS_data data2 = new ALM_HIS_data(); + internal ALM_HIS_data data3 = new ALM_HIS_data(); + internal ALM_HIS_data data4 = new ALM_HIS_data(); + internal ALM_HIS_data data5 = new ALM_HIS_data(); + internal ALM_HIS_data data6 = new ALM_HIS_data(); + internal ALM_HIS_data data7 = new ALM_HIS_data(); + internal ALM_HIS_data data8 = new ALM_HIS_data(); + internal ALM_HIS_data data9 = new ALM_HIS_data(); + internal ALM_HIS_data data10 = new ALM_HIS_data(); + } /* In case that the number of data is 10 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBAHIS + { + internal ushort s_no; /* start number */ + internal short type; /* dummy */ + internal ushort e_no; /* end number */ + internal ALM_HIS1 alm_his = new ALM_HIS1(); + } + + /* cnc_rdalmhistry2:read alarm history data */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ALM_HIS2_data + { + internal short alm_grp; /* alarm group */ + internal short alm_no; /* alarm number */ + internal short axis_no; /* axis number */ + internal short year; /* year */ + internal short month; /* month */ + internal short day; /* day */ + internal short hour; /* hour */ + internal short minute; /* minute */ + internal short second; /* second */ + internal short len_msg; /* alarm message length */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + internal string alm_msg = new string(' ', 32); /* alarm message */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ALM_HIS2 + { + internal ALM_HIS2_data data1 = new ALM_HIS2_data(); + internal ALM_HIS2_data data2 = new ALM_HIS2_data(); + internal ALM_HIS2_data data3 = new ALM_HIS2_data(); + internal ALM_HIS2_data data4 = new ALM_HIS2_data(); + internal ALM_HIS2_data data5 = new ALM_HIS2_data(); + internal ALM_HIS2_data data6 = new ALM_HIS2_data(); + internal ALM_HIS2_data data7 = new ALM_HIS2_data(); + internal ALM_HIS2_data data8 = new ALM_HIS2_data(); + internal ALM_HIS2_data data9 = new ALM_HIS2_data(); + internal ALM_HIS2_data data10 = new ALM_HIS2_data(); + } /* In case that the number of data is 10 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBAHIS2 + { + internal ushort s_no; /* start number */ + internal ushort e_no; /* end number */ + internal ALM_HIS2 alm_his = new ALM_HIS2(); + } + + /* cnc_rdalmhistry3:read alarm history data */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ALM_HIS3_data + { + internal short alm_grp; /* alarm group */ + internal short alm_no; /* alarm number */ + internal short axis_no; /* axis number */ + internal short year; /* year */ + internal short month; /* month */ + internal short day; /* day */ + internal short hour; /* hour */ + internal short minute; /* minute */ + internal short second; /* second */ + internal short len_msg; /* alarm message length */ + internal short pth_no; /* path index */ + internal short dummy; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + internal string alm_msg = new string(' ', 32); /* alarm message */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ALM_HIS3 + { + internal ALM_HIS3_data data1 = new ALM_HIS3_data(); + internal ALM_HIS3_data data2 = new ALM_HIS3_data(); + internal ALM_HIS3_data data3 = new ALM_HIS3_data(); + internal ALM_HIS3_data data4 = new ALM_HIS3_data(); + internal ALM_HIS3_data data5 = new ALM_HIS3_data(); + internal ALM_HIS3_data data6 = new ALM_HIS3_data(); + internal ALM_HIS3_data data7 = new ALM_HIS3_data(); + internal ALM_HIS3_data data8 = new ALM_HIS3_data(); + internal ALM_HIS3_data data9 = new ALM_HIS3_data(); + internal ALM_HIS3_data data10 = new ALM_HIS3_data(); + } /* In case that the number of data is 10 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBAHIS3 + { + internal ushort s_no; /* start number */ + internal ushort e_no; /* end number */ + internal ALM_HIS3 alm_his = new ALM_HIS3(); + } + + /* cnc_rdalmhistry5:read alarm history data */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ALM_HIS5_data + { + internal short alm_grp; /* alarm group */ + internal short alm_no; /* alarm number */ + internal short axis_no; /* axis number */ + internal short year; /* year */ + internal short month; /* month */ + internal short day; /* day */ + internal short hour; /* hour */ + internal short minute; /* minute */ + internal short second; /* second */ + internal short len_msg; /* alarm message length */ + internal short pth_no; /* path index */ + internal short dummy; /* dummy */ + internal short dsp_flg; /* Flag for displaying */ + internal short axis_num; /* Total axis number */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] + internal string alm_msg = new string(' ', 64); /* alarm message */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal int[] g_modal; /* G code Modal */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal byte[] g_dp; /* #7:1 Block #6`#0 dp */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal int[] a_modal; /* B,D,E,F,H,M,N,O,S,T code Modal */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal byte[] a_dp; /* #7:1 Block #6`#0 dp */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + internal int[] abs_pos; /* Abs pos */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + internal byte[] abs_dp; /* Abs dp */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + internal int[] mcn_pos; /* Mcn pos */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + internal byte[] mcn_dp; /* Mcn dp */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ALM_HIS5 + { + internal ALM_HIS5_data data1 = new ALM_HIS5_data(); + internal ALM_HIS5_data data2 = new ALM_HIS5_data(); + internal ALM_HIS5_data data3 = new ALM_HIS5_data(); + internal ALM_HIS5_data data4 = new ALM_HIS5_data(); + internal ALM_HIS5_data data5 = new ALM_HIS5_data(); + internal ALM_HIS5_data data6 = new ALM_HIS5_data(); + internal ALM_HIS5_data data7 = new ALM_HIS5_data(); + internal ALM_HIS5_data data8 = new ALM_HIS5_data(); + internal ALM_HIS5_data data9 = new ALM_HIS5_data(); + internal ALM_HIS5_data data10 = new ALM_HIS5_data(); + } /* In case that the number of data is 10 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBAHIS5 + { + internal ushort s_no; /* start number */ + internal ushort e_no; /* end number */ + internal ALM_HIS5 alm_his = new ALM_HIS5(); + } + + /* cnc_rdomhistry2:read operater message history data */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBOMHIS2_data + { + internal short dsp_flg; /* Dysplay flag(ON/OFF) */ + internal short om_no; /* operater message number */ + internal short year; /* year */ + internal short month; /* month */ + internal short day; /* day */ + internal short hour; /* Hour */ + internal short minute; /* Minute */ + internal short second; /* Second */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] + internal string alm_msg = new string(' ', 256); /* alarm message */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class OPM_HIS + { + internal ODBOMHIS2_data data1 = new ODBOMHIS2_data(); + internal ODBOMHIS2_data data2 = new ODBOMHIS2_data(); + internal ODBOMHIS2_data data3 = new ODBOMHIS2_data(); + internal ODBOMHIS2_data data4 = new ODBOMHIS2_data(); + internal ODBOMHIS2_data data5 = new ODBOMHIS2_data(); + internal ODBOMHIS2_data data6 = new ODBOMHIS2_data(); + internal ODBOMHIS2_data data7 = new ODBOMHIS2_data(); + internal ODBOMHIS2_data data8 = new ODBOMHIS2_data(); + internal ODBOMHIS2_data data9 = new ODBOMHIS2_data(); + internal ODBOMHIS2_data data10 = new ODBOMHIS2_data(); + } /* In case that the number of data is 10 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBOMHIS2 + { + internal ushort s_no; /* start number */ + internal ushort e_no; /* end number */ + internal OPM_HIS opm_his = new OPM_HIS(); + } + + /* cnc_rdhissgnl:read signals related operation history */ + /* cnc_wrhissgnl:write signals related operation history */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class IODBSIG_data + { + internal short ent_no; /* entry number */ + internal short sig_no; /* signal number */ + internal byte sig_name; /* signal name */ + internal byte mask_pat; /* signal mask pattern */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSIG1 + { + internal IODBSIG_data data1 = new IODBSIG_data(); + internal IODBSIG_data data2 = new IODBSIG_data(); + internal IODBSIG_data data3 = new IODBSIG_data(); + internal IODBSIG_data data4 = new IODBSIG_data(); + internal IODBSIG_data data5 = new IODBSIG_data(); + internal IODBSIG_data data6 = new IODBSIG_data(); + internal IODBSIG_data data7 = new IODBSIG_data(); + internal IODBSIG_data data8 = new IODBSIG_data(); + internal IODBSIG_data data9 = new IODBSIG_data(); + internal IODBSIG_data data10 = new IODBSIG_data(); + internal IODBSIG_data data11 = new IODBSIG_data(); + internal IODBSIG_data data12 = new IODBSIG_data(); + internal IODBSIG_data data13 = new IODBSIG_data(); + internal IODBSIG_data data14 = new IODBSIG_data(); + internal IODBSIG_data data15 = new IODBSIG_data(); + internal IODBSIG_data data16 = new IODBSIG_data(); + internal IODBSIG_data data17 = new IODBSIG_data(); + internal IODBSIG_data data18 = new IODBSIG_data(); + internal IODBSIG_data data19 = new IODBSIG_data(); + internal IODBSIG_data data20 = new IODBSIG_data(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSIG + { + internal short datano; /* dummy */ + internal short type; /* dummy */ + internal IODBSIG1 data = new IODBSIG1(); + } + + /* cnc_rdhissgnl2:read signals related operation history 2 */ + /* cnc_wrhissgnl2:write signals related operation history 2 */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class _IODBSIG2_data + { + internal short ent_no; /* entry number */ + internal short sig_no; /* signal number */ + internal byte sig_name; /* signal name */ + internal byte mask_pat; /* signal mask pattern */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSIG2_data + { + internal _IODBSIG2_data data1 = new _IODBSIG2_data(); + internal _IODBSIG2_data data2 = new _IODBSIG2_data(); + internal _IODBSIG2_data data3 = new _IODBSIG2_data(); + internal _IODBSIG2_data data4 = new _IODBSIG2_data(); + internal _IODBSIG2_data data5 = new _IODBSIG2_data(); + internal _IODBSIG2_data data6 = new _IODBSIG2_data(); + internal _IODBSIG2_data data7 = new _IODBSIG2_data(); + internal _IODBSIG2_data data8 = new _IODBSIG2_data(); + internal _IODBSIG2_data data9 = new _IODBSIG2_data(); + internal _IODBSIG2_data data10 = new _IODBSIG2_data(); + internal _IODBSIG2_data data11 = new _IODBSIG2_data(); + internal _IODBSIG2_data data12 = new _IODBSIG2_data(); + internal _IODBSIG2_data data13 = new _IODBSIG2_data(); + internal _IODBSIG2_data data14 = new _IODBSIG2_data(); + internal _IODBSIG2_data data15 = new _IODBSIG2_data(); + internal _IODBSIG2_data data16 = new _IODBSIG2_data(); + internal _IODBSIG2_data data17 = new _IODBSIG2_data(); + internal _IODBSIG2_data data18 = new _IODBSIG2_data(); + internal _IODBSIG2_data data19 = new _IODBSIG2_data(); + internal _IODBSIG2_data data20 = new _IODBSIG2_data(); + internal _IODBSIG2_data data31 = new _IODBSIG2_data(); + internal _IODBSIG2_data data32 = new _IODBSIG2_data(); + internal _IODBSIG2_data data33 = new _IODBSIG2_data(); + internal _IODBSIG2_data data34 = new _IODBSIG2_data(); + internal _IODBSIG2_data data35 = new _IODBSIG2_data(); + internal _IODBSIG2_data data36 = new _IODBSIG2_data(); + internal _IODBSIG2_data data37 = new _IODBSIG2_data(); + internal _IODBSIG2_data data38 = new _IODBSIG2_data(); + internal _IODBSIG2_data data39 = new _IODBSIG2_data(); + internal _IODBSIG2_data data40 = new _IODBSIG2_data(); + internal _IODBSIG2_data data41 = new _IODBSIG2_data(); + internal _IODBSIG2_data data42 = new _IODBSIG2_data(); + internal _IODBSIG2_data data43 = new _IODBSIG2_data(); + internal _IODBSIG2_data data44 = new _IODBSIG2_data(); + internal _IODBSIG2_data data45 = new _IODBSIG2_data(); + + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSIG2 + { + internal short datano; /* dummy */ + internal short type; /* dummy */ + internal IODBSIG2_data data = new IODBSIG2_data(); + } + + /* cnc_rdhissgnl3:read signals related operation history */ + /* cnc_wrhissgnl3:write signals related operation history */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class _IODBSIG3_data + { + internal short ent_no; /* entry number */ + internal short pmc_no; /* pmc number */ + internal short sig_no; /* signal number */ + internal byte sig_name; /* signal name */ + internal byte mask_pat; /* signal mask pattern */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSIG3_data + { + internal _IODBSIG3_data data1 = new _IODBSIG3_data(); + internal _IODBSIG3_data data2 = new _IODBSIG3_data(); + internal _IODBSIG3_data data3 = new _IODBSIG3_data(); + internal _IODBSIG3_data data4 = new _IODBSIG3_data(); + internal _IODBSIG3_data data5 = new _IODBSIG3_data(); + internal _IODBSIG3_data data6 = new _IODBSIG3_data(); + internal _IODBSIG3_data data7 = new _IODBSIG3_data(); + internal _IODBSIG3_data data8 = new _IODBSIG3_data(); + internal _IODBSIG3_data data9 = new _IODBSIG3_data(); + internal _IODBSIG3_data data10 = new _IODBSIG3_data(); + internal _IODBSIG3_data data11 = new _IODBSIG3_data(); + internal _IODBSIG3_data data12 = new _IODBSIG3_data(); + internal _IODBSIG3_data data13 = new _IODBSIG3_data(); + internal _IODBSIG3_data data14 = new _IODBSIG3_data(); + internal _IODBSIG3_data data15 = new _IODBSIG3_data(); + internal _IODBSIG3_data data16 = new _IODBSIG3_data(); + internal _IODBSIG3_data data17 = new _IODBSIG3_data(); + internal _IODBSIG3_data data18 = new _IODBSIG3_data(); + internal _IODBSIG3_data data19 = new _IODBSIG3_data(); + internal _IODBSIG3_data data20 = new _IODBSIG3_data(); + internal _IODBSIG3_data data21 = new _IODBSIG3_data(); + internal _IODBSIG3_data data22 = new _IODBSIG3_data(); + internal _IODBSIG3_data data23 = new _IODBSIG3_data(); + internal _IODBSIG3_data data24 = new _IODBSIG3_data(); + internal _IODBSIG3_data data25 = new _IODBSIG3_data(); + internal _IODBSIG3_data data26 = new _IODBSIG3_data(); + internal _IODBSIG3_data data27 = new _IODBSIG3_data(); + internal _IODBSIG3_data data28 = new _IODBSIG3_data(); + internal _IODBSIG3_data data29 = new _IODBSIG3_data(); + internal _IODBSIG3_data data30 = new _IODBSIG3_data(); + internal _IODBSIG3_data data31 = new _IODBSIG3_data(); + internal _IODBSIG3_data data32 = new _IODBSIG3_data(); + internal _IODBSIG3_data data33 = new _IODBSIG3_data(); + internal _IODBSIG3_data data34 = new _IODBSIG3_data(); + internal _IODBSIG3_data data35 = new _IODBSIG3_data(); + internal _IODBSIG3_data data36 = new _IODBSIG3_data(); + internal _IODBSIG3_data data37 = new _IODBSIG3_data(); + internal _IODBSIG3_data data38 = new _IODBSIG3_data(); + internal _IODBSIG3_data data39 = new _IODBSIG3_data(); + internal _IODBSIG3_data data40 = new _IODBSIG3_data(); + internal _IODBSIG3_data data41 = new _IODBSIG3_data(); + internal _IODBSIG3_data data42 = new _IODBSIG3_data(); + internal _IODBSIG3_data data43 = new _IODBSIG3_data(); + internal _IODBSIG3_data data44 = new _IODBSIG3_data(); + internal _IODBSIG3_data data45 = new _IODBSIG3_data(); + internal _IODBSIG3_data data46 = new _IODBSIG3_data(); + internal _IODBSIG3_data data47 = new _IODBSIG3_data(); + internal _IODBSIG3_data data48 = new _IODBSIG3_data(); + internal _IODBSIG3_data data49 = new _IODBSIG3_data(); + internal _IODBSIG3_data data50 = new _IODBSIG3_data(); + internal _IODBSIG3_data data51 = new _IODBSIG3_data(); + internal _IODBSIG3_data data52 = new _IODBSIG3_data(); + internal _IODBSIG3_data data53 = new _IODBSIG3_data(); + internal _IODBSIG3_data data54 = new _IODBSIG3_data(); + internal _IODBSIG3_data data55 = new _IODBSIG3_data(); + internal _IODBSIG3_data data56 = new _IODBSIG3_data(); + internal _IODBSIG3_data data57 = new _IODBSIG3_data(); + internal _IODBSIG3_data data58 = new _IODBSIG3_data(); + internal _IODBSIG3_data data59 = new _IODBSIG3_data(); + internal _IODBSIG3_data data60 = new _IODBSIG3_data(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSIG3 + { + internal short datano; /* dummy */ + internal short type; /* dummy */ + internal IODBSIG3_data data = new IODBSIG3_data(); + } + + /*-------------*/ + /* CNC: Others */ + /*-------------*/ + + /* cnc_sysinfo:read CNC system information */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSYS + { + internal short addinfo; + internal short max_axis; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal char[] cnc_type; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal char[] mt_type; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] + internal char[] series; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] + internal char[] version; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal char[] axes; + } #if FS15D /* cnc_statinfo:read CNC status information */ @@ -3515,32 +3515,32 @@ internal class Focas1 internal short battery; /* battery status */ } #else - /* cnc_statinfo:read CNC status information */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBST - { - internal short dummy; /* dummy */ - internal short tmmode; /* T/M mode */ - internal short aut; /* selected automatic mode */ - internal short run; /* running status */ - internal short motion; /* axis, dwell status */ - internal short mstb; /* m, s, t, b status */ - internal short emergency; /* emergency stop status */ - internal short alarm; /* alarm status */ - internal short edit; /* editting status */ - } + /* cnc_statinfo:read CNC status information */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBST + { + internal short dummy; /* dummy */ + internal short tmmode; /* T/M mode */ + internal short aut; /* selected automatic mode */ + internal short run; /* running status */ + internal short motion; /* axis, dwell status */ + internal short mstb; /* m, s, t, b status */ + internal short emergency; /* emergency stop status */ + internal short alarm; /* alarm status */ + internal short edit; /* editting status */ + } #endif - /* cnc_alarm:read alarm status */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBALM - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal short[] dummy = { 0, 0 }; - internal ushort data = 0; - } + /* cnc_alarm:read alarm status */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBALM + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal short[] dummy = { 0, 0 }; + internal ushort data = 0; + } - /* cnc_rdalminfo:read alarm information */ + /* cnc_rdalminfo:read alarm information */ #if M_AXIS2 [StructLayout(LayoutKind.Sequential,Pack=4)] internal class ALMINFO1_data @@ -3559,202 +3559,202 @@ internal class Focas1 internal string alm_msg= new string(' ',32) ; } #else - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ALMINFO1_data - { - internal short axis; - internal short alm_no; - } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ALMINFO1_data + { + internal short axis; + internal short alm_no; + } - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ALMINFO2_data - { - internal short axis = 0; - internal short alm_no = 0; - internal short msg_len = 0; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] - internal string alm_msg = new string(' ', 32); - } + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ALMINFO2_data + { + internal short axis = 0; + internal short alm_no = 0; + internal short msg_len = 0; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + internal string alm_msg = new string(' ', 32); + } #endif - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ALMINFO_1 - { - internal ALMINFO1_data msg1 = new ALMINFO1_data(); - internal ALMINFO1_data msg2 = new ALMINFO1_data(); - internal ALMINFO1_data msg3 = new ALMINFO1_data(); - internal ALMINFO1_data msg4 = new ALMINFO1_data(); - internal ALMINFO1_data msg5 = new ALMINFO1_data(); - internal short data_end; - } /* In case that the number of alarm is 5 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ALMINFO_1 + { + internal ALMINFO1_data msg1 = new ALMINFO1_data(); + internal ALMINFO1_data msg2 = new ALMINFO1_data(); + internal ALMINFO1_data msg3 = new ALMINFO1_data(); + internal ALMINFO1_data msg4 = new ALMINFO1_data(); + internal ALMINFO1_data msg5 = new ALMINFO1_data(); + internal short data_end; + } /* In case that the number of alarm is 5 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ALMINFO_2 - { - internal ALMINFO2_data msg1 = new ALMINFO2_data(); - internal ALMINFO2_data msg2 = new ALMINFO2_data(); - internal ALMINFO2_data msg3 = new ALMINFO2_data(); - internal ALMINFO2_data msg4 = new ALMINFO2_data(); - internal ALMINFO2_data msg5 = new ALMINFO2_data(); - internal short dataend = 0; - } /* In case that the number of alarm is 5 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ALMINFO_2 + { + internal ALMINFO2_data msg1 = new ALMINFO2_data(); + internal ALMINFO2_data msg2 = new ALMINFO2_data(); + internal ALMINFO2_data msg3 = new ALMINFO2_data(); + internal ALMINFO2_data msg4 = new ALMINFO2_data(); + internal ALMINFO2_data msg5 = new ALMINFO2_data(); + internal short dataend = 0; + } /* In case that the number of alarm is 5 */ - /* cnc_rdalmmsg:read alarm messages */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBALMMSG_data + /* cnc_rdalmmsg:read alarm messages */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBALMMSG_data + { + internal int alm_no; + internal short type; + internal short axis; + internal short dummy; + internal short msg_len; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + internal string alm_msg = new string(' ', 32); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBALMMSG + { + internal ODBALMMSG_data msg1 = new ODBALMMSG_data(); + internal ODBALMMSG_data msg2 = new ODBALMMSG_data(); + internal ODBALMMSG_data msg3 = new ODBALMMSG_data(); + internal ODBALMMSG_data msg4 = new ODBALMMSG_data(); + internal ODBALMMSG_data msg5 = new ODBALMMSG_data(); + internal ODBALMMSG_data msg6 = new ODBALMMSG_data(); + internal ODBALMMSG_data msg7 = new ODBALMMSG_data(); + internal ODBALMMSG_data msg8 = new ODBALMMSG_data(); + internal ODBALMMSG_data msg9 = new ODBALMMSG_data(); + internal ODBALMMSG_data msg10 = new ODBALMMSG_data(); + } /* In case that the number of alarm is 10 */ + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBALMMSG2_data + { + internal int alm_no; + internal short type; + internal short axis; + internal short dummy; + internal short msg_len; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] + internal string alm_msg = new string(' ', 64); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBALMMSG2 + { + internal ODBALMMSG2_data msg1 = new ODBALMMSG2_data(); + internal ODBALMMSG2_data msg2 = new ODBALMMSG2_data(); + internal ODBALMMSG2_data msg3 = new ODBALMMSG2_data(); + internal ODBALMMSG2_data msg4 = new ODBALMMSG2_data(); + internal ODBALMMSG2_data msg5 = new ODBALMMSG2_data(); + internal ODBALMMSG2_data msg6 = new ODBALMMSG2_data(); + internal ODBALMMSG2_data msg7 = new ODBALMMSG2_data(); + internal ODBALMMSG2_data msg8 = new ODBALMMSG2_data(); + internal ODBALMMSG2_data msg9 = new ODBALMMSG2_data(); + internal ODBALMMSG2_data msg10 = new ODBALMMSG2_data(); + } /* In case that the number of alarm is 10 */ + + /* cnc_modal:read modal data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBMDL + { + internal short datano; + internal short type; + internal ODBMDL_U modal; + + [StructLayout(LayoutKind.Explicit)] + internal struct ODBMDL_U { - internal int alm_no; - internal short type; - internal short axis; - internal short dummy; - internal short msg_len; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] - internal string alm_msg = new string(' ', 32); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBALMMSG - { - internal ODBALMMSG_data msg1 = new ODBALMMSG_data(); - internal ODBALMMSG_data msg2 = new ODBALMMSG_data(); - internal ODBALMMSG_data msg3 = new ODBALMMSG_data(); - internal ODBALMMSG_data msg4 = new ODBALMMSG_data(); - internal ODBALMMSG_data msg5 = new ODBALMMSG_data(); - internal ODBALMMSG_data msg6 = new ODBALMMSG_data(); - internal ODBALMMSG_data msg7 = new ODBALMMSG_data(); - internal ODBALMMSG_data msg8 = new ODBALMMSG_data(); - internal ODBALMMSG_data msg9 = new ODBALMMSG_data(); - internal ODBALMMSG_data msg10 = new ODBALMMSG_data(); - } /* In case that the number of alarm is 10 */ - - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBALMMSG2_data - { - internal int alm_no; - internal short type; - internal short axis; - internal short dummy; - internal short msg_len; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] - internal string alm_msg = new string(' ', 64); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBALMMSG2 - { - internal ODBALMMSG2_data msg1 = new ODBALMMSG2_data(); - internal ODBALMMSG2_data msg2 = new ODBALMMSG2_data(); - internal ODBALMMSG2_data msg3 = new ODBALMMSG2_data(); - internal ODBALMMSG2_data msg4 = new ODBALMMSG2_data(); - internal ODBALMMSG2_data msg5 = new ODBALMMSG2_data(); - internal ODBALMMSG2_data msg6 = new ODBALMMSG2_data(); - internal ODBALMMSG2_data msg7 = new ODBALMMSG2_data(); - internal ODBALMMSG2_data msg8 = new ODBALMMSG2_data(); - internal ODBALMMSG2_data msg9 = new ODBALMMSG2_data(); - internal ODBALMMSG2_data msg10 = new ODBALMMSG2_data(); - } /* In case that the number of alarm is 10 */ - - /* cnc_modal:read modal data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBMDL - { - internal short datano; - internal short type; - internal ODBMDL_U modal; - - [StructLayout(LayoutKind.Explicit)] - internal struct ODBMDL_U - { - [FieldOffset(0), - MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] - internal byte[] g_1shot; - [FieldOffset(0), - MarshalAs(UnmanagedType.ByValArray, SizeConst = 35)] - internal byte[] g_rdata; - [FieldOffset(0), - MarshalAs(UnmanagedType.ByValArray, SizeConst = 27)] - internal MODAL_AUX_data[] raux1; - [FieldOffset(0), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal MODAL_AUX_data[] raux2; - - internal byte g_data { get { return g_1shot[0]; } } - internal MODAL_AUX_data aux { get { return raux1[0]; } } - } - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal struct MODAL_AUX_data - { - internal int aux_data; - internal byte flag1; - internal byte flag2; + [FieldOffset(0), + MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] + internal byte[] g_1shot; + [FieldOffset(0), + MarshalAs(UnmanagedType.ByValArray, SizeConst = 35)] + internal byte[] g_rdata; + [FieldOffset(0), + MarshalAs(UnmanagedType.ByValArray, SizeConst = 27)] + internal MODAL_AUX_data[] raux1; + [FieldOffset(0), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal MODAL_AUX_data[] raux2; + + internal byte g_data { get { return g_1shot[0]; } } + internal MODAL_AUX_data aux { get { return raux1[0]; } } } + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal struct MODAL_AUX_data + { + internal int aux_data; + internal byte flag1; + internal byte flag2; + } #if LEAVE_OLD_STYLE - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class MODAL_RAUX1_data - { - internal MODAL_AUX_data data1 = new MODAL_AUX_data(); - internal MODAL_AUX_data data2 = new MODAL_AUX_data(); - internal MODAL_AUX_data data3 = new MODAL_AUX_data(); - internal MODAL_AUX_data data4 = new MODAL_AUX_data(); - internal MODAL_AUX_data data5 = new MODAL_AUX_data(); - internal MODAL_AUX_data data6 = new MODAL_AUX_data(); - internal MODAL_AUX_data data7 = new MODAL_AUX_data(); - internal MODAL_AUX_data data8 = new MODAL_AUX_data(); - internal MODAL_AUX_data data9 = new MODAL_AUX_data(); - internal MODAL_AUX_data data10 = new MODAL_AUX_data(); - internal MODAL_AUX_data data11 = new MODAL_AUX_data(); - internal MODAL_AUX_data data12 = new MODAL_AUX_data(); - internal MODAL_AUX_data data13 = new MODAL_AUX_data(); - internal MODAL_AUX_data data14 = new MODAL_AUX_data(); - internal MODAL_AUX_data data15 = new MODAL_AUX_data(); - internal MODAL_AUX_data data16 = new MODAL_AUX_data(); - internal MODAL_AUX_data data17 = new MODAL_AUX_data(); - internal MODAL_AUX_data data18 = new MODAL_AUX_data(); - internal MODAL_AUX_data data19 = new MODAL_AUX_data(); - internal MODAL_AUX_data data20 = new MODAL_AUX_data(); - internal MODAL_AUX_data data21 = new MODAL_AUX_data(); - internal MODAL_AUX_data data22 = new MODAL_AUX_data(); - internal MODAL_AUX_data data23 = new MODAL_AUX_data(); - internal MODAL_AUX_data data24 = new MODAL_AUX_data(); - internal MODAL_AUX_data data25 = new MODAL_AUX_data(); - internal MODAL_AUX_data data26 = new MODAL_AUX_data(); - internal MODAL_AUX_data data27 = new MODAL_AUX_data(); - } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class MODAL_RAUX1_data + { + internal MODAL_AUX_data data1 = new MODAL_AUX_data(); + internal MODAL_AUX_data data2 = new MODAL_AUX_data(); + internal MODAL_AUX_data data3 = new MODAL_AUX_data(); + internal MODAL_AUX_data data4 = new MODAL_AUX_data(); + internal MODAL_AUX_data data5 = new MODAL_AUX_data(); + internal MODAL_AUX_data data6 = new MODAL_AUX_data(); + internal MODAL_AUX_data data7 = new MODAL_AUX_data(); + internal MODAL_AUX_data data8 = new MODAL_AUX_data(); + internal MODAL_AUX_data data9 = new MODAL_AUX_data(); + internal MODAL_AUX_data data10 = new MODAL_AUX_data(); + internal MODAL_AUX_data data11 = new MODAL_AUX_data(); + internal MODAL_AUX_data data12 = new MODAL_AUX_data(); + internal MODAL_AUX_data data13 = new MODAL_AUX_data(); + internal MODAL_AUX_data data14 = new MODAL_AUX_data(); + internal MODAL_AUX_data data15 = new MODAL_AUX_data(); + internal MODAL_AUX_data data16 = new MODAL_AUX_data(); + internal MODAL_AUX_data data17 = new MODAL_AUX_data(); + internal MODAL_AUX_data data18 = new MODAL_AUX_data(); + internal MODAL_AUX_data data19 = new MODAL_AUX_data(); + internal MODAL_AUX_data data20 = new MODAL_AUX_data(); + internal MODAL_AUX_data data21 = new MODAL_AUX_data(); + internal MODAL_AUX_data data22 = new MODAL_AUX_data(); + internal MODAL_AUX_data data23 = new MODAL_AUX_data(); + internal MODAL_AUX_data data24 = new MODAL_AUX_data(); + internal MODAL_AUX_data data25 = new MODAL_AUX_data(); + internal MODAL_AUX_data data26 = new MODAL_AUX_data(); + internal MODAL_AUX_data data27 = new MODAL_AUX_data(); + } #if FS30D - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class MODAL_RAUX2_data - { - internal MODAL_AUX_data data1 = new MODAL_AUX_data(); - internal MODAL_AUX_data data2 = new MODAL_AUX_data(); - internal MODAL_AUX_data data3 = new MODAL_AUX_data(); - internal MODAL_AUX_data data4 = new MODAL_AUX_data(); - internal MODAL_AUX_data data5 = new MODAL_AUX_data(); - internal MODAL_AUX_data data6 = new MODAL_AUX_data(); - internal MODAL_AUX_data data7 = new MODAL_AUX_data(); - internal MODAL_AUX_data data8 = new MODAL_AUX_data(); - internal MODAL_AUX_data data9 = new MODAL_AUX_data(); - internal MODAL_AUX_data data10 = new MODAL_AUX_data(); - internal MODAL_AUX_data data11 = new MODAL_AUX_data(); - internal MODAL_AUX_data data12 = new MODAL_AUX_data(); - internal MODAL_AUX_data data13 = new MODAL_AUX_data(); - internal MODAL_AUX_data data14 = new MODAL_AUX_data(); - internal MODAL_AUX_data data15 = new MODAL_AUX_data(); - internal MODAL_AUX_data data16 = new MODAL_AUX_data(); - internal MODAL_AUX_data data17 = new MODAL_AUX_data(); - internal MODAL_AUX_data data18 = new MODAL_AUX_data(); - internal MODAL_AUX_data data19 = new MODAL_AUX_data(); - internal MODAL_AUX_data data20 = new MODAL_AUX_data(); - internal MODAL_AUX_data data21 = new MODAL_AUX_data(); - internal MODAL_AUX_data data22 = new MODAL_AUX_data(); - internal MODAL_AUX_data data23 = new MODAL_AUX_data(); - internal MODAL_AUX_data data24 = new MODAL_AUX_data(); - internal MODAL_AUX_data data25 = new MODAL_AUX_data(); - internal MODAL_AUX_data data26 = new MODAL_AUX_data(); - internal MODAL_AUX_data data27 = new MODAL_AUX_data(); - internal MODAL_AUX_data data28 = new MODAL_AUX_data(); - internal MODAL_AUX_data data29 = new MODAL_AUX_data(); - internal MODAL_AUX_data data30 = new MODAL_AUX_data(); - internal MODAL_AUX_data data31 = new MODAL_AUX_data(); - internal MODAL_AUX_data data32 = new MODAL_AUX_data(); - } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class MODAL_RAUX2_data + { + internal MODAL_AUX_data data1 = new MODAL_AUX_data(); + internal MODAL_AUX_data data2 = new MODAL_AUX_data(); + internal MODAL_AUX_data data3 = new MODAL_AUX_data(); + internal MODAL_AUX_data data4 = new MODAL_AUX_data(); + internal MODAL_AUX_data data5 = new MODAL_AUX_data(); + internal MODAL_AUX_data data6 = new MODAL_AUX_data(); + internal MODAL_AUX_data data7 = new MODAL_AUX_data(); + internal MODAL_AUX_data data8 = new MODAL_AUX_data(); + internal MODAL_AUX_data data9 = new MODAL_AUX_data(); + internal MODAL_AUX_data data10 = new MODAL_AUX_data(); + internal MODAL_AUX_data data11 = new MODAL_AUX_data(); + internal MODAL_AUX_data data12 = new MODAL_AUX_data(); + internal MODAL_AUX_data data13 = new MODAL_AUX_data(); + internal MODAL_AUX_data data14 = new MODAL_AUX_data(); + internal MODAL_AUX_data data15 = new MODAL_AUX_data(); + internal MODAL_AUX_data data16 = new MODAL_AUX_data(); + internal MODAL_AUX_data data17 = new MODAL_AUX_data(); + internal MODAL_AUX_data data18 = new MODAL_AUX_data(); + internal MODAL_AUX_data data19 = new MODAL_AUX_data(); + internal MODAL_AUX_data data20 = new MODAL_AUX_data(); + internal MODAL_AUX_data data21 = new MODAL_AUX_data(); + internal MODAL_AUX_data data22 = new MODAL_AUX_data(); + internal MODAL_AUX_data data23 = new MODAL_AUX_data(); + internal MODAL_AUX_data data24 = new MODAL_AUX_data(); + internal MODAL_AUX_data data25 = new MODAL_AUX_data(); + internal MODAL_AUX_data data26 = new MODAL_AUX_data(); + internal MODAL_AUX_data data27 = new MODAL_AUX_data(); + internal MODAL_AUX_data data28 = new MODAL_AUX_data(); + internal MODAL_AUX_data data29 = new MODAL_AUX_data(); + internal MODAL_AUX_data data30 = new MODAL_AUX_data(); + internal MODAL_AUX_data data31 = new MODAL_AUX_data(); + internal MODAL_AUX_data data32 = new MODAL_AUX_data(); + } #elif M_AXIS2 [StructLayout(LayoutKind.Sequential,Pack=4)] internal class MODAL_RAUX2_data @@ -3814,211 +3814,211 @@ internal class Focas1 } #endif - [StructLayout(LayoutKind.Explicit)] - internal class ODBMDL_1 - { - [FieldOffset(0)] - internal short datano; - [FieldOffset(2)] - internal short type; - [FieldOffset(4)] - internal byte g_data; - } - [StructLayout(LayoutKind.Explicit)] - internal class ODBMDL_2 - { - [FieldOffset(0)] - internal short datano; - [FieldOffset(2)] - internal short type; - [FieldOffset(4), - MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] - internal byte[] g_1shot = new byte[4]; - [FieldOffset(4), - MarshalAs(UnmanagedType.ByValArray, SizeConst = 35)] - internal byte[] g_rdata = new byte[35]; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBMDL_3 - { - internal short datano; - internal short type; - internal MODAL_AUX_data aux = new MODAL_AUX_data(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBMDL_4 - { - internal short datano; - internal short type; - internal MODAL_RAUX1_data raux1 = new MODAL_RAUX1_data(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBMDL_5 - { - internal short datano; - internal short type; - internal MODAL_RAUX2_data raux2 = new MODAL_RAUX2_data(); - } + [StructLayout(LayoutKind.Explicit)] + internal class ODBMDL_1 + { + [FieldOffset(0)] + internal short datano; + [FieldOffset(2)] + internal short type; + [FieldOffset(4)] + internal byte g_data; + } + [StructLayout(LayoutKind.Explicit)] + internal class ODBMDL_2 + { + [FieldOffset(0)] + internal short datano; + [FieldOffset(2)] + internal short type; + [FieldOffset(4), + MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] + internal byte[] g_1shot = new byte[4]; + [FieldOffset(4), + MarshalAs(UnmanagedType.ByValArray, SizeConst = 35)] + internal byte[] g_rdata = new byte[35]; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBMDL_3 + { + internal short datano; + internal short type; + internal MODAL_AUX_data aux = new MODAL_AUX_data(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBMDL_4 + { + internal short datano; + internal short type; + internal MODAL_RAUX1_data raux1 = new MODAL_RAUX1_data(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBMDL_5 + { + internal short datano; + internal short type; + internal MODAL_RAUX2_data raux2 = new MODAL_RAUX2_data(); + } #endif - /* cnc_rdgcode: read G code */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBGCD_data - { - internal short group; - internal short flag; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)] - internal string code = new string(' ', 8); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBGCD - { - internal ODBGCD_data gcd0 = new ODBGCD_data(); - internal ODBGCD_data gcd1 = new ODBGCD_data(); - internal ODBGCD_data gcd2 = new ODBGCD_data(); - internal ODBGCD_data gcd3 = new ODBGCD_data(); - internal ODBGCD_data gcd4 = new ODBGCD_data(); - internal ODBGCD_data gcd5 = new ODBGCD_data(); - internal ODBGCD_data gcd6 = new ODBGCD_data(); - internal ODBGCD_data gcd7 = new ODBGCD_data(); - internal ODBGCD_data gcd8 = new ODBGCD_data(); - internal ODBGCD_data gcd9 = new ODBGCD_data(); - internal ODBGCD_data gcd10 = new ODBGCD_data(); - internal ODBGCD_data gcd11 = new ODBGCD_data(); - internal ODBGCD_data gcd12 = new ODBGCD_data(); - internal ODBGCD_data gcd13 = new ODBGCD_data(); - internal ODBGCD_data gcd14 = new ODBGCD_data(); - internal ODBGCD_data gcd15 = new ODBGCD_data(); - internal ODBGCD_data gcd16 = new ODBGCD_data(); - internal ODBGCD_data gcd17 = new ODBGCD_data(); - internal ODBGCD_data gcd18 = new ODBGCD_data(); - internal ODBGCD_data gcd19 = new ODBGCD_data(); - internal ODBGCD_data gcd20 = new ODBGCD_data(); - internal ODBGCD_data gcd21 = new ODBGCD_data(); - internal ODBGCD_data gcd22 = new ODBGCD_data(); - internal ODBGCD_data gcd23 = new ODBGCD_data(); - internal ODBGCD_data gcd24 = new ODBGCD_data(); - internal ODBGCD_data gcd25 = new ODBGCD_data(); - internal ODBGCD_data gcd26 = new ODBGCD_data(); - internal ODBGCD_data gcd27 = new ODBGCD_data(); - } + /* cnc_rdgcode: read G code */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBGCD_data + { + internal short group; + internal short flag; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)] + internal string code = new string(' ', 8); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBGCD + { + internal ODBGCD_data gcd0 = new ODBGCD_data(); + internal ODBGCD_data gcd1 = new ODBGCD_data(); + internal ODBGCD_data gcd2 = new ODBGCD_data(); + internal ODBGCD_data gcd3 = new ODBGCD_data(); + internal ODBGCD_data gcd4 = new ODBGCD_data(); + internal ODBGCD_data gcd5 = new ODBGCD_data(); + internal ODBGCD_data gcd6 = new ODBGCD_data(); + internal ODBGCD_data gcd7 = new ODBGCD_data(); + internal ODBGCD_data gcd8 = new ODBGCD_data(); + internal ODBGCD_data gcd9 = new ODBGCD_data(); + internal ODBGCD_data gcd10 = new ODBGCD_data(); + internal ODBGCD_data gcd11 = new ODBGCD_data(); + internal ODBGCD_data gcd12 = new ODBGCD_data(); + internal ODBGCD_data gcd13 = new ODBGCD_data(); + internal ODBGCD_data gcd14 = new ODBGCD_data(); + internal ODBGCD_data gcd15 = new ODBGCD_data(); + internal ODBGCD_data gcd16 = new ODBGCD_data(); + internal ODBGCD_data gcd17 = new ODBGCD_data(); + internal ODBGCD_data gcd18 = new ODBGCD_data(); + internal ODBGCD_data gcd19 = new ODBGCD_data(); + internal ODBGCD_data gcd20 = new ODBGCD_data(); + internal ODBGCD_data gcd21 = new ODBGCD_data(); + internal ODBGCD_data gcd22 = new ODBGCD_data(); + internal ODBGCD_data gcd23 = new ODBGCD_data(); + internal ODBGCD_data gcd24 = new ODBGCD_data(); + internal ODBGCD_data gcd25 = new ODBGCD_data(); + internal ODBGCD_data gcd26 = new ODBGCD_data(); + internal ODBGCD_data gcd27 = new ODBGCD_data(); + } - /* cnc_rdcommand: read command value */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBCMD_data - { - internal byte adrs; - internal byte num; - internal short flag; - internal int cmd_val; - internal int dec_val; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBCMD - { - internal ODBCMD_data cmd0 = new ODBCMD_data(); - internal ODBCMD_data cmd1 = new ODBCMD_data(); - internal ODBCMD_data cmd2 = new ODBCMD_data(); - internal ODBCMD_data cmd3 = new ODBCMD_data(); - internal ODBCMD_data cmd4 = new ODBCMD_data(); - internal ODBCMD_data cmd5 = new ODBCMD_data(); - internal ODBCMD_data cmd6 = new ODBCMD_data(); - internal ODBCMD_data cmd7 = new ODBCMD_data(); - internal ODBCMD_data cmd8 = new ODBCMD_data(); - internal ODBCMD_data cmd9 = new ODBCMD_data(); - internal ODBCMD_data cmd10 = new ODBCMD_data(); - internal ODBCMD_data cmd11 = new ODBCMD_data(); - internal ODBCMD_data cmd12 = new ODBCMD_data(); - internal ODBCMD_data cmd13 = new ODBCMD_data(); - internal ODBCMD_data cmd14 = new ODBCMD_data(); - internal ODBCMD_data cmd15 = new ODBCMD_data(); - internal ODBCMD_data cmd16 = new ODBCMD_data(); - internal ODBCMD_data cmd17 = new ODBCMD_data(); - internal ODBCMD_data cmd18 = new ODBCMD_data(); - internal ODBCMD_data cmd19 = new ODBCMD_data(); - internal ODBCMD_data cmd20 = new ODBCMD_data(); - internal ODBCMD_data cmd21 = new ODBCMD_data(); - internal ODBCMD_data cmd22 = new ODBCMD_data(); - internal ODBCMD_data cmd23 = new ODBCMD_data(); - internal ODBCMD_data cmd24 = new ODBCMD_data(); - internal ODBCMD_data cmd25 = new ODBCMD_data(); - internal ODBCMD_data cmd26 = new ODBCMD_data(); - internal ODBCMD_data cmd27 = new ODBCMD_data(); - internal ODBCMD_data cmd28 = new ODBCMD_data(); - internal ODBCMD_data cmd29 = new ODBCMD_data(); - } + /* cnc_rdcommand: read command value */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBCMD_data + { + internal byte adrs; + internal byte num; + internal short flag; + internal int cmd_val; + internal int dec_val; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBCMD + { + internal ODBCMD_data cmd0 = new ODBCMD_data(); + internal ODBCMD_data cmd1 = new ODBCMD_data(); + internal ODBCMD_data cmd2 = new ODBCMD_data(); + internal ODBCMD_data cmd3 = new ODBCMD_data(); + internal ODBCMD_data cmd4 = new ODBCMD_data(); + internal ODBCMD_data cmd5 = new ODBCMD_data(); + internal ODBCMD_data cmd6 = new ODBCMD_data(); + internal ODBCMD_data cmd7 = new ODBCMD_data(); + internal ODBCMD_data cmd8 = new ODBCMD_data(); + internal ODBCMD_data cmd9 = new ODBCMD_data(); + internal ODBCMD_data cmd10 = new ODBCMD_data(); + internal ODBCMD_data cmd11 = new ODBCMD_data(); + internal ODBCMD_data cmd12 = new ODBCMD_data(); + internal ODBCMD_data cmd13 = new ODBCMD_data(); + internal ODBCMD_data cmd14 = new ODBCMD_data(); + internal ODBCMD_data cmd15 = new ODBCMD_data(); + internal ODBCMD_data cmd16 = new ODBCMD_data(); + internal ODBCMD_data cmd17 = new ODBCMD_data(); + internal ODBCMD_data cmd18 = new ODBCMD_data(); + internal ODBCMD_data cmd19 = new ODBCMD_data(); + internal ODBCMD_data cmd20 = new ODBCMD_data(); + internal ODBCMD_data cmd21 = new ODBCMD_data(); + internal ODBCMD_data cmd22 = new ODBCMD_data(); + internal ODBCMD_data cmd23 = new ODBCMD_data(); + internal ODBCMD_data cmd24 = new ODBCMD_data(); + internal ODBCMD_data cmd25 = new ODBCMD_data(); + internal ODBCMD_data cmd26 = new ODBCMD_data(); + internal ODBCMD_data cmd27 = new ODBCMD_data(); + internal ODBCMD_data cmd28 = new ODBCMD_data(); + internal ODBCMD_data cmd29 = new ODBCMD_data(); + } - /* cnc_diagnoss:read diagnosis data */ - /* cnc_diagnosr:read diagnosis data(area specified) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDGN - { - internal short datano; /* data number */ - internal short type; /* axis number */ - internal ODBDGN_U u; + /* cnc_diagnoss:read diagnosis data */ + /* cnc_diagnosr:read diagnosis data(area specified) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDGN + { + internal short datano; /* data number */ + internal short type; /* axis number */ + internal ODBDGN_U u; - [StructLayout(LayoutKind.Explicit)] - internal struct ODBDGN_U - { - [FieldOffset(0), MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal byte[] cdatas; - [FieldOffset(0), MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal short[] idatas; - [FieldOffset(0), MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] ldatas; - [FieldOffset(0), MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal REALDGN[] rdatas; - - internal byte cdata { get { return cdatas[0]; } } - internal short idata { get { return idatas[0]; } } - internal int ldata { get { return ldatas[0]; } } - internal REALDGN rdata { get { return rdatas[0]; } } - } - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal struct REALDGN + [StructLayout(LayoutKind.Explicit)] + internal struct ODBDGN_U { - internal int dgn_val; /* data of real diagnoss */ - internal int dec_val; /* decimal point of real diagnoss */ + [FieldOffset(0), MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal byte[] cdatas; + [FieldOffset(0), MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal short[] idatas; + [FieldOffset(0), MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] ldatas; + [FieldOffset(0), MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal REALDGN[] rdatas; + + internal byte cdata { get { return cdatas[0]; } } + internal short idata { get { return idatas[0]; } } + internal int ldata { get { return ldatas[0]; } } + internal REALDGN rdata { get { return rdatas[0]; } } } + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal struct REALDGN + { + internal int dgn_val; /* data of real diagnoss */ + internal int dec_val; /* decimal point of real diagnoss */ + } #if LEAVE_OLD_STYLE #if FS30D - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class REALDGNS - { - internal REALDGN rdata1 = new REALDGN(); - internal REALDGN rdata2 = new REALDGN(); - internal REALDGN rdata3 = new REALDGN(); - internal REALDGN rdata4 = new REALDGN(); - internal REALDGN rdata5 = new REALDGN(); - internal REALDGN rdata6 = new REALDGN(); - internal REALDGN rdata7 = new REALDGN(); - internal REALDGN rdata8 = new REALDGN(); - internal REALDGN rdata9 = new REALDGN(); - internal REALDGN rdata10 = new REALDGN(); - internal REALDGN rdata11 = new REALDGN(); - internal REALDGN rdata12 = new REALDGN(); - internal REALDGN rdata13 = new REALDGN(); - internal REALDGN rdata14 = new REALDGN(); - internal REALDGN rdata15 = new REALDGN(); - internal REALDGN rdata16 = new REALDGN(); - internal REALDGN rdata17 = new REALDGN(); - internal REALDGN rdata18 = new REALDGN(); - internal REALDGN rdata19 = new REALDGN(); - internal REALDGN rdata20 = new REALDGN(); - internal REALDGN rdata21 = new REALDGN(); - internal REALDGN rdata22 = new REALDGN(); - internal REALDGN rdata23 = new REALDGN(); - internal REALDGN rdata24 = new REALDGN(); - internal REALDGN rdata25 = new REALDGN(); - internal REALDGN rdata26 = new REALDGN(); - internal REALDGN rdata27 = new REALDGN(); - internal REALDGN rdata28 = new REALDGN(); - internal REALDGN rdata29 = new REALDGN(); - internal REALDGN rdata30 = new REALDGN(); - internal REALDGN rdata31 = new REALDGN(); - internal REALDGN rdata32 = new REALDGN(); - } /* In case that the number of alarm is 24 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class REALDGNS + { + internal REALDGN rdata1 = new REALDGN(); + internal REALDGN rdata2 = new REALDGN(); + internal REALDGN rdata3 = new REALDGN(); + internal REALDGN rdata4 = new REALDGN(); + internal REALDGN rdata5 = new REALDGN(); + internal REALDGN rdata6 = new REALDGN(); + internal REALDGN rdata7 = new REALDGN(); + internal REALDGN rdata8 = new REALDGN(); + internal REALDGN rdata9 = new REALDGN(); + internal REALDGN rdata10 = new REALDGN(); + internal REALDGN rdata11 = new REALDGN(); + internal REALDGN rdata12 = new REALDGN(); + internal REALDGN rdata13 = new REALDGN(); + internal REALDGN rdata14 = new REALDGN(); + internal REALDGN rdata15 = new REALDGN(); + internal REALDGN rdata16 = new REALDGN(); + internal REALDGN rdata17 = new REALDGN(); + internal REALDGN rdata18 = new REALDGN(); + internal REALDGN rdata19 = new REALDGN(); + internal REALDGN rdata20 = new REALDGN(); + internal REALDGN rdata21 = new REALDGN(); + internal REALDGN rdata22 = new REALDGN(); + internal REALDGN rdata23 = new REALDGN(); + internal REALDGN rdata24 = new REALDGN(); + internal REALDGN rdata25 = new REALDGN(); + internal REALDGN rdata26 = new REALDGN(); + internal REALDGN rdata27 = new REALDGN(); + internal REALDGN rdata28 = new REALDGN(); + internal REALDGN rdata29 = new REALDGN(); + internal REALDGN rdata30 = new REALDGN(); + internal REALDGN rdata31 = new REALDGN(); + internal REALDGN rdata32 = new REALDGN(); + } /* In case that the number of alarm is 24 */ #elif M_AXIS2 [StructLayout(LayoutKind.Sequential,Pack=4)] internal class REALDGNS @@ -4078,105 +4078,105 @@ internal class Focas1 } /* In case that the number of alarm is 8 */ #endif - [StructLayout(LayoutKind.Explicit)] - internal class ODBDGN_1 - { - [FieldOffset(0)] - internal short datano; /* data number */ - [FieldOffset(2)] - internal short type; /* axis number */ - [FieldOffset(4)] - internal byte cdata; /* parameter / setting data */ - [FieldOffset(4)] - internal short idata; - [FieldOffset(4)] - internal int ldata; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDGN_2 - { - internal short datano; /* data number */ - internal short type; /* axis number */ - internal REALDGN rdata = new REALDGN(); - } - [StructLayout(LayoutKind.Explicit)] - internal class ODBDGN_3 - { - [FieldOffset(0)] - internal short datano; /* data number */ - [FieldOffset(2)] - internal short type; /* axis number */ - [FieldOffset(4), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal byte[] cdatas; - [FieldOffset(4), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal short[] idatas; - [FieldOffset(4), - MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] ldatas; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDGN_4 - { - internal short datano; /* data number */ - internal short type; /* axis number */ - internal REALDGNS rdatas = new REALDGNS(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDGN_A - { - internal ODBDGN_1 data1 = new ODBDGN_1(); - internal ODBDGN_1 data2 = new ODBDGN_1(); - internal ODBDGN_1 data3 = new ODBDGN_1(); - internal ODBDGN_1 data4 = new ODBDGN_1(); - internal ODBDGN_1 data5 = new ODBDGN_1(); - internal ODBDGN_1 data6 = new ODBDGN_1(); - internal ODBDGN_1 data7 = new ODBDGN_1(); - } /* (sample) must be modified */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDGN_B - { - internal ODBDGN_2 data1 = new ODBDGN_2(); - internal ODBDGN_2 data2 = new ODBDGN_2(); - internal ODBDGN_2 data3 = new ODBDGN_2(); - internal ODBDGN_2 data4 = new ODBDGN_2(); - internal ODBDGN_2 data5 = new ODBDGN_2(); - internal ODBDGN_2 data6 = new ODBDGN_2(); - internal ODBDGN_2 data7 = new ODBDGN_2(); - } /* (sample) must be modified */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDGN_C - { - internal ODBDGN_3 data1 = new ODBDGN_3(); - internal ODBDGN_3 data2 = new ODBDGN_3(); - internal ODBDGN_3 data3 = new ODBDGN_3(); - internal ODBDGN_3 data4 = new ODBDGN_3(); - internal ODBDGN_3 data5 = new ODBDGN_3(); - internal ODBDGN_3 data6 = new ODBDGN_3(); - internal ODBDGN_3 data7 = new ODBDGN_3(); - } /* (sample) must be modified */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDGN_D - { - internal ODBDGN_4 data1 = new ODBDGN_4(); - internal ODBDGN_4 data2 = new ODBDGN_4(); - internal ODBDGN_4 data3 = new ODBDGN_4(); - internal ODBDGN_4 data4 = new ODBDGN_4(); - internal ODBDGN_4 data5 = new ODBDGN_4(); - internal ODBDGN_4 data6 = new ODBDGN_4(); - internal ODBDGN_4 data7 = new ODBDGN_4(); - } /* (sample) must be modified */ + [StructLayout(LayoutKind.Explicit)] + internal class ODBDGN_1 + { + [FieldOffset(0)] + internal short datano; /* data number */ + [FieldOffset(2)] + internal short type; /* axis number */ + [FieldOffset(4)] + internal byte cdata; /* parameter / setting data */ + [FieldOffset(4)] + internal short idata; + [FieldOffset(4)] + internal int ldata; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDGN_2 + { + internal short datano; /* data number */ + internal short type; /* axis number */ + internal REALDGN rdata = new REALDGN(); + } + [StructLayout(LayoutKind.Explicit)] + internal class ODBDGN_3 + { + [FieldOffset(0)] + internal short datano; /* data number */ + [FieldOffset(2)] + internal short type; /* axis number */ + [FieldOffset(4), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal byte[] cdatas; + [FieldOffset(4), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal short[] idatas; + [FieldOffset(4), + MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] ldatas; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDGN_4 + { + internal short datano; /* data number */ + internal short type; /* axis number */ + internal REALDGNS rdatas = new REALDGNS(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDGN_A + { + internal ODBDGN_1 data1 = new ODBDGN_1(); + internal ODBDGN_1 data2 = new ODBDGN_1(); + internal ODBDGN_1 data3 = new ODBDGN_1(); + internal ODBDGN_1 data4 = new ODBDGN_1(); + internal ODBDGN_1 data5 = new ODBDGN_1(); + internal ODBDGN_1 data6 = new ODBDGN_1(); + internal ODBDGN_1 data7 = new ODBDGN_1(); + } /* (sample) must be modified */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDGN_B + { + internal ODBDGN_2 data1 = new ODBDGN_2(); + internal ODBDGN_2 data2 = new ODBDGN_2(); + internal ODBDGN_2 data3 = new ODBDGN_2(); + internal ODBDGN_2 data4 = new ODBDGN_2(); + internal ODBDGN_2 data5 = new ODBDGN_2(); + internal ODBDGN_2 data6 = new ODBDGN_2(); + internal ODBDGN_2 data7 = new ODBDGN_2(); + } /* (sample) must be modified */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDGN_C + { + internal ODBDGN_3 data1 = new ODBDGN_3(); + internal ODBDGN_3 data2 = new ODBDGN_3(); + internal ODBDGN_3 data3 = new ODBDGN_3(); + internal ODBDGN_3 data4 = new ODBDGN_3(); + internal ODBDGN_3 data5 = new ODBDGN_3(); + internal ODBDGN_3 data6 = new ODBDGN_3(); + internal ODBDGN_3 data7 = new ODBDGN_3(); + } /* (sample) must be modified */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDGN_D + { + internal ODBDGN_4 data1 = new ODBDGN_4(); + internal ODBDGN_4 data2 = new ODBDGN_4(); + internal ODBDGN_4 data3 = new ODBDGN_4(); + internal ODBDGN_4 data4 = new ODBDGN_4(); + internal ODBDGN_4 data5 = new ODBDGN_4(); + internal ODBDGN_4 data6 = new ODBDGN_4(); + internal ODBDGN_4 data7 = new ODBDGN_4(); + } /* (sample) must be modified */ #endif - /* cnc_adcnv:read A/D conversion data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBAD - { - internal short datano; /* input analog voltage type */ - internal short type; /* analog voltage type */ - internal short data; /* digital voltage data */ - } + /* cnc_adcnv:read A/D conversion data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBAD + { + internal short datano; /* input analog voltage type */ + internal short type; /* analog voltage type */ + internal short data; /* digital voltage data */ + } #if FS15D /* cnc_rdopmsg:read operator's message */ @@ -4190,223 +4190,223 @@ internal class Focas1 internal string data= new string(' ',129) ; /* operator's message string */ } /* In case that the data length is 129 */ #else - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class OPMSG_data - { - internal short datano; /* operator's message number */ - internal short type; /* operator's message type */ - internal short char_num; /* message string length */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] - internal string data = new string(' ', 256); /* operator's message string */ - } /* In case that the data length is 256 */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class OPMSG_data + { + internal short datano; /* operator's message number */ + internal short type; /* operator's message type */ + internal short char_num; /* message string length */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] + internal string data = new string(' ', 256); /* operator's message string */ + } /* In case that the data length is 256 */ #endif - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class OPMSG - { - internal OPMSG_data msg1 = new OPMSG_data(); - internal OPMSG_data msg2 = new OPMSG_data(); - internal OPMSG_data msg3 = new OPMSG_data(); - internal OPMSG_data msg4 = new OPMSG_data(); - internal OPMSG_data msg5 = new OPMSG_data(); - } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class OPMSG + { + internal OPMSG_data msg1 = new OPMSG_data(); + internal OPMSG_data msg2 = new OPMSG_data(); + internal OPMSG_data msg3 = new OPMSG_data(); + internal OPMSG_data msg4 = new OPMSG_data(); + internal OPMSG_data msg5 = new OPMSG_data(); + } - /* cnc_rdopmsg2:read operator's message */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class OPMSG2_data - { - internal short datano; /* operator's message number */ - internal short type; /* operator's message type */ - internal short char_num; /* message string length */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] - internal string data = new string(' ', 64); /* operator's message string */ - } /* In case that the data length is 64 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class OPMSG2 - { - internal OPMSG2_data msg1 = new OPMSG2_data(); - internal OPMSG2_data msg2 = new OPMSG2_data(); - internal OPMSG2_data msg3 = new OPMSG2_data(); - internal OPMSG2_data msg4 = new OPMSG2_data(); - internal OPMSG2_data msg5 = new OPMSG2_data(); - } + /* cnc_rdopmsg2:read operator's message */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class OPMSG2_data + { + internal short datano; /* operator's message number */ + internal short type; /* operator's message type */ + internal short char_num; /* message string length */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] + internal string data = new string(' ', 64); /* operator's message string */ + } /* In case that the data length is 64 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class OPMSG2 + { + internal OPMSG2_data msg1 = new OPMSG2_data(); + internal OPMSG2_data msg2 = new OPMSG2_data(); + internal OPMSG2_data msg3 = new OPMSG2_data(); + internal OPMSG2_data msg4 = new OPMSG2_data(); + internal OPMSG2_data msg5 = new OPMSG2_data(); + } - /* cnc_rdopmsg3:read operator's message */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class OPMSG3_data - { - internal short datano; /* operator's message number */ - internal short type; /* operator's message type */ - internal short char_num; /* message string length */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] - internal string data = new string(' ', 256); /* operator's message string */ - } /* In case that the data length is 256 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class OPMSG3 - { - internal OPMSG3_data msg1 = new OPMSG3_data(); - internal OPMSG3_data msg2 = new OPMSG3_data(); - internal OPMSG3_data msg3 = new OPMSG3_data(); - internal OPMSG3_data msg4 = new OPMSG3_data(); - internal OPMSG3_data msg5 = new OPMSG3_data(); - } + /* cnc_rdopmsg3:read operator's message */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class OPMSG3_data + { + internal short datano; /* operator's message number */ + internal short type; /* operator's message type */ + internal short char_num; /* message string length */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] + internal string data = new string(' ', 256); /* operator's message string */ + } /* In case that the data length is 256 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class OPMSG3 + { + internal OPMSG3_data msg1 = new OPMSG3_data(); + internal OPMSG3_data msg2 = new OPMSG3_data(); + internal OPMSG3_data msg3 = new OPMSG3_data(); + internal OPMSG3_data msg4 = new OPMSG3_data(); + internal OPMSG3_data msg5 = new OPMSG3_data(); + } - /* cnc_sysconfig:read CNC configuration information */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBSYSC - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal byte[] slot_no_p; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal byte[] slot_no_l; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal short[] mod_id; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal short[] soft_id; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_series1 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_series2 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_series3 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_series4 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_series5 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_series6 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_series7 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_series8 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_series9 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_series10 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_series11 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_series12 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_series13 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_series14 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_series15 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_series16 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_version1 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_version2 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_version3 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_version4 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_version5 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_version6 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_version7 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_version8 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_version9 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_version10 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_version11 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_version12 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_version13 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_version14 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_version15 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string s_version16 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal byte[] dummy; - internal short m_rom; - internal short s_rom; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal char[] svo_soft; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] - internal char[] pmc_soft; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] - internal char[] lad_soft; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal char[] mcr_soft; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] - internal char[] spl1_soft; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] - internal char[] spl2_soft; - internal short frmmin; - internal short drmmin; - internal short srmmin; - internal short pmcmin; - internal short crtmin; - internal short sv1min; - internal short sv3min; - internal short sicmin; - internal short posmin; - internal short drmmrc; - internal short drmarc; - internal short pmcmrc; - internal short dmaarc; - internal short iopt; - internal short hdiio; - internal short frmsub; - internal short drmsub; - internal short srmsub; - internal short sv5sub; - internal short sv7sub; - internal short sicsub; - internal short possub; - internal short hamsub; - internal short gm2gr1; - internal short crtgr2; - internal short gm1gr2; - internal short gm2gr2; - internal short cmmrb; - internal short sv5axs; - internal short sv7axs; - internal short sicaxs; - internal short posaxs; - internal short hanaxs; - internal short romr64; - internal short srmr64; - internal short dr1r64; - internal short dr2r64; - internal short iopio2; - internal short hdiio2; - internal short cmmrb2; - internal short romfap; - internal short srmfap; - internal short drmfap; - } + /* cnc_sysconfig:read CNC configuration information */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBSYSC + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal byte[] slot_no_p; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal byte[] slot_no_l; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal short[] mod_id; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal short[] soft_id; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_series1 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_series2 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_series3 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_series4 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_series5 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_series6 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_series7 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_series8 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_series9 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_series10 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_series11 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_series12 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_series13 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_series14 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_series15 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_series16 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_version1 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_version2 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_version3 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_version4 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_version5 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_version6 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_version7 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_version8 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_version9 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_version10 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_version11 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_version12 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_version13 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_version14 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_version15 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string s_version16 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal byte[] dummy; + internal short m_rom; + internal short s_rom; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal char[] svo_soft; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] + internal char[] pmc_soft; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] + internal char[] lad_soft; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal char[] mcr_soft; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] + internal char[] spl1_soft; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] + internal char[] spl2_soft; + internal short frmmin; + internal short drmmin; + internal short srmmin; + internal short pmcmin; + internal short crtmin; + internal short sv1min; + internal short sv3min; + internal short sicmin; + internal short posmin; + internal short drmmrc; + internal short drmarc; + internal short pmcmrc; + internal short dmaarc; + internal short iopt; + internal short hdiio; + internal short frmsub; + internal short drmsub; + internal short srmsub; + internal short sv5sub; + internal short sv7sub; + internal short sicsub; + internal short possub; + internal short hamsub; + internal short gm2gr1; + internal short crtgr2; + internal short gm1gr2; + internal short gm2gr2; + internal short cmmrb; + internal short sv5axs; + internal short sv7axs; + internal short sicaxs; + internal short posaxs; + internal short hanaxs; + internal short romr64; + internal short srmr64; + internal short dr1r64; + internal short dr2r64; + internal short iopio2; + internal short hdiio2; + internal short cmmrb2; + internal short romfap; + internal short srmfap; + internal short drmfap; + } - /* cnc_rdprstrinfo:read program restart information */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPRS - { - internal short datano; /* dummy */ - internal short type; /* dummy */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] - internal short[] data_info; /* data setting information */ - internal int rstr_bc; /* block counter */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 35)] - internal int[] rstr_m; /* M code value */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal int[] rstr_t; /* T code value */ - internal int rstr_s; /* S code value */ - internal int rstr_b; /* B code value */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] dest; /* program re-start position */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] dist; /* program re-start distance */ - } + /* cnc_rdprstrinfo:read program restart information */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPRS + { + internal short datano; /* dummy */ + internal short type; /* dummy */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] + internal short[] data_info; /* data setting information */ + internal int rstr_bc; /* block counter */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 35)] + internal int[] rstr_m; /* M code value */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal int[] rstr_t; /* T code value */ + internal int rstr_s; /* S code value */ + internal int rstr_b; /* B code value */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] dest; /* program re-start position */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] dist; /* program re-start distance */ + } #if FS15D /* cnc_rdopnlsgnl:read output signal image of software operator's panel */ @@ -4434,897 +4434,897 @@ internal class Focas1 internal short[] dummy; /* (not used) */ } #else - /* cnc_rdopnlsgnl:read output signal image of software operator's panel */ - /* cnc_wropnlsgnl:write output signal of software operator's panel */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSGNL - { - internal short datano; /* dummy */ - internal short type; /* data select flag */ - internal short mode; /* mode signal */ - internal short hndl_ax; /* Manual handle feed axis selection signal */ - internal short hndl_mv; /* Manual handle feed travel distance selection signal */ - internal short rpd_ovrd; /* rapid traverse override signal */ - internal short jog_ovrd; /* manual feedrate override signal */ - internal short feed_ovrd; /* feedrate override signal */ - internal short spdl_ovrd; /* (not used) */ - internal short blck_del; /* optional block skip signal */ - internal short sngl_blck; /* single block signal */ - internal short machn_lock; /* machine lock signal */ - internal short dry_run; /* dry run signal */ - internal short mem_prtct; /* memory protection signal */ - internal short feed_hold; /* automatic operation halt signal */ - } + /* cnc_rdopnlsgnl:read output signal image of software operator's panel */ + /* cnc_wropnlsgnl:write output signal of software operator's panel */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSGNL + { + internal short datano; /* dummy */ + internal short type; /* data select flag */ + internal short mode; /* mode signal */ + internal short hndl_ax; /* Manual handle feed axis selection signal */ + internal short hndl_mv; /* Manual handle feed travel distance selection signal */ + internal short rpd_ovrd; /* rapid traverse override signal */ + internal short jog_ovrd; /* manual feedrate override signal */ + internal short feed_ovrd; /* feedrate override signal */ + internal short spdl_ovrd; /* (not used) */ + internal short blck_del; /* optional block skip signal */ + internal short sngl_blck; /* single block signal */ + internal short machn_lock; /* machine lock signal */ + internal short dry_run; /* dry run signal */ + internal short mem_prtct; /* memory protection signal */ + internal short feed_hold; /* automatic operation halt signal */ + } #endif - /* cnc_rdopnlgnrl:read general signal image of software operator's panel */ - /* cnc_wropnlgnrl:write general signal image of software operator's panel */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBGNRL - { - internal short datano; /* dummy */ - internal short type; /* data select flag */ - internal byte sgnal; /* general signal */ - } + /* cnc_rdopnlgnrl:read general signal image of software operator's panel */ + /* cnc_wropnlgnrl:write general signal image of software operator's panel */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBGNRL + { + internal short datano; /* dummy */ + internal short type; /* data select flag */ + internal byte sgnal; /* general signal */ + } - /* cnc_rdopnlgsname:read general signal name of software operator's panel */ - /* cnc_wropnlgsname:write general signal name of software operator's panel*/ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class IODBRDNA - { - internal short datano; /* dummy */ - internal short type; /* data select flag */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] - internal string sgnl1_name = new string(' ', 9); /* general signal 1 name */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] - internal string sgnl2_name = new string(' ', 9); /* general signal 2 name */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] - internal string sgnl3_name = new string(' ', 9); /* general signal 3 name */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] - internal string sgnl4_name = new string(' ', 9); /* general signal 4 name */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] - internal string sgnl5_name = new string(' ', 9); /* general signal 5 name */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] - internal string sgnl6_name = new string(' ', 9); /* general signal 6 name */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] - internal string sgnl7_name = new string(' ', 9); /* general signal 7 name */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] - internal string sgnl8_name = new string(' ', 9); /* general signal 8 name */ - } + /* cnc_rdopnlgsname:read general signal name of software operator's panel */ + /* cnc_wropnlgsname:write general signal name of software operator's panel*/ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class IODBRDNA + { + internal short datano; /* dummy */ + internal short type; /* data select flag */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] + internal string sgnl1_name = new string(' ', 9); /* general signal 1 name */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] + internal string sgnl2_name = new string(' ', 9); /* general signal 2 name */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] + internal string sgnl3_name = new string(' ', 9); /* general signal 3 name */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] + internal string sgnl4_name = new string(' ', 9); /* general signal 4 name */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] + internal string sgnl5_name = new string(' ', 9); /* general signal 5 name */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] + internal string sgnl6_name = new string(' ', 9); /* general signal 6 name */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] + internal string sgnl7_name = new string(' ', 9); /* general signal 7 name */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] + internal string sgnl8_name = new string(' ', 9); /* general signal 8 name */ + } - /* cnc_getdtailerr:get detail error */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBERR - { - internal short err_no; - internal short err_dtno; - } + /* cnc_getdtailerr:get detail error */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBERR + { + internal short err_no; + internal short err_dtno; + } - /* cnc_rdparainfo:read informations of CNC parameter */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPARAIF_info - { - internal short prm_no; - internal short prm_type; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPARAIF1 - { - internal ODBPARAIF_info info1 = new ODBPARAIF_info(); - internal ODBPARAIF_info info2 = new ODBPARAIF_info(); - internal ODBPARAIF_info info3 = new ODBPARAIF_info(); - internal ODBPARAIF_info info4 = new ODBPARAIF_info(); - internal ODBPARAIF_info info5 = new ODBPARAIF_info(); - internal ODBPARAIF_info info6 = new ODBPARAIF_info(); - internal ODBPARAIF_info info7 = new ODBPARAIF_info(); - internal ODBPARAIF_info info8 = new ODBPARAIF_info(); - internal ODBPARAIF_info info9 = new ODBPARAIF_info(); - internal ODBPARAIF_info info10 = new ODBPARAIF_info(); - } /* In case that the number of data is 10 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPARAIF - { - internal ushort info_no; - internal short prev_no; - internal short next_no; - internal ODBPARAIF1 info = new ODBPARAIF1(); - } + /* cnc_rdparainfo:read informations of CNC parameter */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPARAIF_info + { + internal short prm_no; + internal short prm_type; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPARAIF1 + { + internal ODBPARAIF_info info1 = new ODBPARAIF_info(); + internal ODBPARAIF_info info2 = new ODBPARAIF_info(); + internal ODBPARAIF_info info3 = new ODBPARAIF_info(); + internal ODBPARAIF_info info4 = new ODBPARAIF_info(); + internal ODBPARAIF_info info5 = new ODBPARAIF_info(); + internal ODBPARAIF_info info6 = new ODBPARAIF_info(); + internal ODBPARAIF_info info7 = new ODBPARAIF_info(); + internal ODBPARAIF_info info8 = new ODBPARAIF_info(); + internal ODBPARAIF_info info9 = new ODBPARAIF_info(); + internal ODBPARAIF_info info10 = new ODBPARAIF_info(); + } /* In case that the number of data is 10 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPARAIF + { + internal ushort info_no; + internal short prev_no; + internal short next_no; + internal ODBPARAIF1 info = new ODBPARAIF1(); + } - /* cnc_rdsetinfo:read informations of CNC setting data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSETIF_info - { - internal short set_no; - internal short set_type; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSETIF1 - { - internal ODBSETIF_info info1 = new ODBSETIF_info(); - internal ODBSETIF_info info2 = new ODBSETIF_info(); - internal ODBSETIF_info info3 = new ODBSETIF_info(); - internal ODBSETIF_info info4 = new ODBSETIF_info(); - internal ODBSETIF_info info5 = new ODBSETIF_info(); - internal ODBSETIF_info info6 = new ODBSETIF_info(); - internal ODBSETIF_info info7 = new ODBSETIF_info(); - internal ODBSETIF_info info8 = new ODBSETIF_info(); - internal ODBSETIF_info info9 = new ODBSETIF_info(); - internal ODBSETIF_info info10 = new ODBSETIF_info(); - } /* In case that the number of data is 10 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSETIF - { - internal ushort info_no; - internal short prev_no; - internal short next_no; - internal ODBSETIF1 info = new ODBSETIF1(); - } + /* cnc_rdsetinfo:read informations of CNC setting data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSETIF_info + { + internal short set_no; + internal short set_type; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSETIF1 + { + internal ODBSETIF_info info1 = new ODBSETIF_info(); + internal ODBSETIF_info info2 = new ODBSETIF_info(); + internal ODBSETIF_info info3 = new ODBSETIF_info(); + internal ODBSETIF_info info4 = new ODBSETIF_info(); + internal ODBSETIF_info info5 = new ODBSETIF_info(); + internal ODBSETIF_info info6 = new ODBSETIF_info(); + internal ODBSETIF_info info7 = new ODBSETIF_info(); + internal ODBSETIF_info info8 = new ODBSETIF_info(); + internal ODBSETIF_info info9 = new ODBSETIF_info(); + internal ODBSETIF_info info10 = new ODBSETIF_info(); + } /* In case that the number of data is 10 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSETIF + { + internal ushort info_no; + internal short prev_no; + internal short next_no; + internal ODBSETIF1 info = new ODBSETIF1(); + } - /* cnc_rddiaginfo:read informations of CNC diagnose data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDIAGIF_info - { - internal short diag_no; - internal short diag_type; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDIAGIF1 - { - internal ODBDIAGIF_info info1 = new ODBDIAGIF_info(); - internal ODBDIAGIF_info info2 = new ODBDIAGIF_info(); - internal ODBDIAGIF_info info3 = new ODBDIAGIF_info(); - internal ODBDIAGIF_info info4 = new ODBDIAGIF_info(); - internal ODBDIAGIF_info info5 = new ODBDIAGIF_info(); - internal ODBDIAGIF_info info6 = new ODBDIAGIF_info(); - internal ODBDIAGIF_info info7 = new ODBDIAGIF_info(); - internal ODBDIAGIF_info info8 = new ODBDIAGIF_info(); - internal ODBDIAGIF_info info9 = new ODBDIAGIF_info(); - internal ODBDIAGIF_info info10 = new ODBDIAGIF_info(); - } /* In case that the number of data is 10 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDIAGIF - { - internal ushort info_no; - internal short prev_no; - internal short next_no; - internal ODBDIAGIF1 info = new ODBDIAGIF1(); - } + /* cnc_rddiaginfo:read informations of CNC diagnose data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDIAGIF_info + { + internal short diag_no; + internal short diag_type; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDIAGIF1 + { + internal ODBDIAGIF_info info1 = new ODBDIAGIF_info(); + internal ODBDIAGIF_info info2 = new ODBDIAGIF_info(); + internal ODBDIAGIF_info info3 = new ODBDIAGIF_info(); + internal ODBDIAGIF_info info4 = new ODBDIAGIF_info(); + internal ODBDIAGIF_info info5 = new ODBDIAGIF_info(); + internal ODBDIAGIF_info info6 = new ODBDIAGIF_info(); + internal ODBDIAGIF_info info7 = new ODBDIAGIF_info(); + internal ODBDIAGIF_info info8 = new ODBDIAGIF_info(); + internal ODBDIAGIF_info info9 = new ODBDIAGIF_info(); + internal ODBDIAGIF_info info10 = new ODBDIAGIF_info(); + } /* In case that the number of data is 10 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDIAGIF + { + internal ushort info_no; + internal short prev_no; + internal short next_no; + internal ODBDIAGIF1 info = new ODBDIAGIF1(); + } - /* cnc_rdparanum:read maximum, minimum and total number of CNC parameter */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPARANUM - { - internal ushort para_min; - internal ushort para_max; - internal ushort total_no; - } + /* cnc_rdparanum:read maximum, minimum and total number of CNC parameter */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPARANUM + { + internal ushort para_min; + internal ushort para_max; + internal ushort total_no; + } - /* cnc_rdsetnum:read maximum, minimum and total number of CNC setting data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSETNUM - { - internal ushort set_min; - internal ushort set_max; - internal ushort total_no; - } + /* cnc_rdsetnum:read maximum, minimum and total number of CNC setting data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSETNUM + { + internal ushort set_min; + internal ushort set_max; + internal ushort total_no; + } - /* cnc_rddiagnum:read maximum, minimum and total number of CNC diagnose data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDIAGNUM - { - internal ushort diag_min; - internal ushort diag_max; - internal ushort total_no; - } + /* cnc_rddiagnum:read maximum, minimum and total number of CNC diagnose data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDIAGNUM + { + internal ushort diag_min; + internal ushort diag_max; + internal ushort total_no; + } - /* cnc_rdfrominfo:read F-ROM information on CNC */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBFINFO_info - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)] - internal string sysname = new string(' ', 12); /* F-ROM SYSTEM data Name */ - internal int fromsize; /* F-ROM Size */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBFINFO1 - { - internal ODBFINFO_info info1 = new ODBFINFO_info(); - internal ODBFINFO_info info2 = new ODBFINFO_info(); - internal ODBFINFO_info info3 = new ODBFINFO_info(); - internal ODBFINFO_info info4 = new ODBFINFO_info(); - internal ODBFINFO_info info5 = new ODBFINFO_info(); - internal ODBFINFO_info info6 = new ODBFINFO_info(); - internal ODBFINFO_info info7 = new ODBFINFO_info(); - internal ODBFINFO_info info8 = new ODBFINFO_info(); - internal ODBFINFO_info info9 = new ODBFINFO_info(); - internal ODBFINFO_info info10 = new ODBFINFO_info(); - internal ODBFINFO_info info11 = new ODBFINFO_info(); - internal ODBFINFO_info info12 = new ODBFINFO_info(); - internal ODBFINFO_info info13 = new ODBFINFO_info(); - internal ODBFINFO_info info14 = new ODBFINFO_info(); - internal ODBFINFO_info info15 = new ODBFINFO_info(); - internal ODBFINFO_info info16 = new ODBFINFO_info(); - internal ODBFINFO_info info17 = new ODBFINFO_info(); - internal ODBFINFO_info info18 = new ODBFINFO_info(); - internal ODBFINFO_info info19 = new ODBFINFO_info(); - internal ODBFINFO_info info20 = new ODBFINFO_info(); - internal ODBFINFO_info info21 = new ODBFINFO_info(); - internal ODBFINFO_info info22 = new ODBFINFO_info(); - internal ODBFINFO_info info23 = new ODBFINFO_info(); - internal ODBFINFO_info info24 = new ODBFINFO_info(); - internal ODBFINFO_info info25 = new ODBFINFO_info(); - internal ODBFINFO_info info26 = new ODBFINFO_info(); - internal ODBFINFO_info info27 = new ODBFINFO_info(); - internal ODBFINFO_info info28 = new ODBFINFO_info(); - internal ODBFINFO_info info29 = new ODBFINFO_info(); - internal ODBFINFO_info info30 = new ODBFINFO_info(); - internal ODBFINFO_info info31 = new ODBFINFO_info(); - internal ODBFINFO_info info32 = new ODBFINFO_info(); - } - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBFINFO - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)] - internal string slotname = new string(' ', 12); /* Slot Name */ - internal int fromnum; /* Number of F-ROM SYSTEM data */ - internal ODBFINFO1 info = new ODBFINFO1(); - } + /* cnc_rdfrominfo:read F-ROM information on CNC */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBFINFO_info + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)] + internal string sysname = new string(' ', 12); /* F-ROM SYSTEM data Name */ + internal int fromsize; /* F-ROM Size */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBFINFO1 + { + internal ODBFINFO_info info1 = new ODBFINFO_info(); + internal ODBFINFO_info info2 = new ODBFINFO_info(); + internal ODBFINFO_info info3 = new ODBFINFO_info(); + internal ODBFINFO_info info4 = new ODBFINFO_info(); + internal ODBFINFO_info info5 = new ODBFINFO_info(); + internal ODBFINFO_info info6 = new ODBFINFO_info(); + internal ODBFINFO_info info7 = new ODBFINFO_info(); + internal ODBFINFO_info info8 = new ODBFINFO_info(); + internal ODBFINFO_info info9 = new ODBFINFO_info(); + internal ODBFINFO_info info10 = new ODBFINFO_info(); + internal ODBFINFO_info info11 = new ODBFINFO_info(); + internal ODBFINFO_info info12 = new ODBFINFO_info(); + internal ODBFINFO_info info13 = new ODBFINFO_info(); + internal ODBFINFO_info info14 = new ODBFINFO_info(); + internal ODBFINFO_info info15 = new ODBFINFO_info(); + internal ODBFINFO_info info16 = new ODBFINFO_info(); + internal ODBFINFO_info info17 = new ODBFINFO_info(); + internal ODBFINFO_info info18 = new ODBFINFO_info(); + internal ODBFINFO_info info19 = new ODBFINFO_info(); + internal ODBFINFO_info info20 = new ODBFINFO_info(); + internal ODBFINFO_info info21 = new ODBFINFO_info(); + internal ODBFINFO_info info22 = new ODBFINFO_info(); + internal ODBFINFO_info info23 = new ODBFINFO_info(); + internal ODBFINFO_info info24 = new ODBFINFO_info(); + internal ODBFINFO_info info25 = new ODBFINFO_info(); + internal ODBFINFO_info info26 = new ODBFINFO_info(); + internal ODBFINFO_info info27 = new ODBFINFO_info(); + internal ODBFINFO_info info28 = new ODBFINFO_info(); + internal ODBFINFO_info info29 = new ODBFINFO_info(); + internal ODBFINFO_info info30 = new ODBFINFO_info(); + internal ODBFINFO_info info31 = new ODBFINFO_info(); + internal ODBFINFO_info info32 = new ODBFINFO_info(); + } + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBFINFO + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)] + internal string slotname = new string(' ', 12); /* Slot Name */ + internal int fromnum; /* Number of F-ROM SYSTEM data */ + internal ODBFINFO1 info = new ODBFINFO1(); + } - /* cnc_getfrominfo:read F-ROM information on CNC */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBFINFORM_info - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)] - internal string sysname = new string(' ', 12); /* F-ROM SYSTEM data Name */ - internal int fromsize; /* F-ROM Size */ - internal int fromattrib; /* F-ROM data attribute */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBFINFORM1 - { - internal ODBFINFORM_info info1 = new ODBFINFORM_info(); - internal ODBFINFORM_info info2 = new ODBFINFORM_info(); - internal ODBFINFORM_info info3 = new ODBFINFORM_info(); - internal ODBFINFORM_info info4 = new ODBFINFORM_info(); - internal ODBFINFORM_info info5 = new ODBFINFORM_info(); - internal ODBFINFORM_info info6 = new ODBFINFORM_info(); - internal ODBFINFORM_info info7 = new ODBFINFORM_info(); - internal ODBFINFORM_info info8 = new ODBFINFORM_info(); - internal ODBFINFORM_info info9 = new ODBFINFORM_info(); - internal ODBFINFORM_info info10 = new ODBFINFORM_info(); - internal ODBFINFORM_info info11 = new ODBFINFORM_info(); - internal ODBFINFORM_info info12 = new ODBFINFORM_info(); - internal ODBFINFORM_info info13 = new ODBFINFORM_info(); - internal ODBFINFORM_info info14 = new ODBFINFORM_info(); - internal ODBFINFORM_info info15 = new ODBFINFORM_info(); - internal ODBFINFORM_info info16 = new ODBFINFORM_info(); - internal ODBFINFORM_info info17 = new ODBFINFORM_info(); - internal ODBFINFORM_info info18 = new ODBFINFORM_info(); - internal ODBFINFORM_info info19 = new ODBFINFORM_info(); - internal ODBFINFORM_info info20 = new ODBFINFORM_info(); - internal ODBFINFORM_info info21 = new ODBFINFORM_info(); - internal ODBFINFORM_info info22 = new ODBFINFORM_info(); - internal ODBFINFORM_info info23 = new ODBFINFORM_info(); - internal ODBFINFORM_info info24 = new ODBFINFORM_info(); - internal ODBFINFORM_info info25 = new ODBFINFORM_info(); - internal ODBFINFORM_info info26 = new ODBFINFORM_info(); - internal ODBFINFORM_info info27 = new ODBFINFORM_info(); - internal ODBFINFORM_info info28 = new ODBFINFORM_info(); - internal ODBFINFORM_info info29 = new ODBFINFORM_info(); - internal ODBFINFORM_info info30 = new ODBFINFORM_info(); - internal ODBFINFORM_info info31 = new ODBFINFORM_info(); - internal ODBFINFORM_info info32 = new ODBFINFORM_info(); - } - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBFINFORM - { - internal int slotno; /* Slot Number */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)] - internal string slotname = new string(' ', 12); /* Slot Name */ - internal int fromnum; /* Number of F-ROM SYSTEM data */ - internal ODBFINFORM1 info = new ODBFINFORM1(); - } + /* cnc_getfrominfo:read F-ROM information on CNC */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBFINFORM_info + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)] + internal string sysname = new string(' ', 12); /* F-ROM SYSTEM data Name */ + internal int fromsize; /* F-ROM Size */ + internal int fromattrib; /* F-ROM data attribute */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBFINFORM1 + { + internal ODBFINFORM_info info1 = new ODBFINFORM_info(); + internal ODBFINFORM_info info2 = new ODBFINFORM_info(); + internal ODBFINFORM_info info3 = new ODBFINFORM_info(); + internal ODBFINFORM_info info4 = new ODBFINFORM_info(); + internal ODBFINFORM_info info5 = new ODBFINFORM_info(); + internal ODBFINFORM_info info6 = new ODBFINFORM_info(); + internal ODBFINFORM_info info7 = new ODBFINFORM_info(); + internal ODBFINFORM_info info8 = new ODBFINFORM_info(); + internal ODBFINFORM_info info9 = new ODBFINFORM_info(); + internal ODBFINFORM_info info10 = new ODBFINFORM_info(); + internal ODBFINFORM_info info11 = new ODBFINFORM_info(); + internal ODBFINFORM_info info12 = new ODBFINFORM_info(); + internal ODBFINFORM_info info13 = new ODBFINFORM_info(); + internal ODBFINFORM_info info14 = new ODBFINFORM_info(); + internal ODBFINFORM_info info15 = new ODBFINFORM_info(); + internal ODBFINFORM_info info16 = new ODBFINFORM_info(); + internal ODBFINFORM_info info17 = new ODBFINFORM_info(); + internal ODBFINFORM_info info18 = new ODBFINFORM_info(); + internal ODBFINFORM_info info19 = new ODBFINFORM_info(); + internal ODBFINFORM_info info20 = new ODBFINFORM_info(); + internal ODBFINFORM_info info21 = new ODBFINFORM_info(); + internal ODBFINFORM_info info22 = new ODBFINFORM_info(); + internal ODBFINFORM_info info23 = new ODBFINFORM_info(); + internal ODBFINFORM_info info24 = new ODBFINFORM_info(); + internal ODBFINFORM_info info25 = new ODBFINFORM_info(); + internal ODBFINFORM_info info26 = new ODBFINFORM_info(); + internal ODBFINFORM_info info27 = new ODBFINFORM_info(); + internal ODBFINFORM_info info28 = new ODBFINFORM_info(); + internal ODBFINFORM_info info29 = new ODBFINFORM_info(); + internal ODBFINFORM_info info30 = new ODBFINFORM_info(); + internal ODBFINFORM_info info31 = new ODBFINFORM_info(); + internal ODBFINFORM_info info32 = new ODBFINFORM_info(); + } + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBFINFORM + { + internal int slotno; /* Slot Number */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)] + internal string slotname = new string(' ', 12); /* Slot Name */ + internal int fromnum; /* Number of F-ROM SYSTEM data */ + internal ODBFINFORM1 info = new ODBFINFORM1(); + } - /* cnc_rdsraminfo:read S-RAM information on CNC */ - /* cnc_getsraminfo:read S-RAM information on CNC */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBSINFO_info - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)] - internal string sramname = new string(' ', 12); /* S-RAM data Name */ - internal int sramsize; /* S-RAM data Size */ - internal short divnumber; /* Division number of S-RAM file */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string fname1 = new string(' ', 16); /* S-RAM data Name1 */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string fname2 = new string(' ', 16); /* S-RAM data Name2 */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string fname3 = new string(' ', 16); /* S-RAM data Name3 */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string fname4 = new string(' ', 16); /* S-RAM data Name4 */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string fname5 = new string(' ', 16); /* S-RAM data Name5 */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string fname6 = new string(' ', 16); /* S-RAM data Name6 */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSINFO1 - { - internal ODBSINFO_info info1 = new ODBSINFO_info(); - internal ODBSINFO_info info2 = new ODBSINFO_info(); - internal ODBSINFO_info info3 = new ODBSINFO_info(); - internal ODBSINFO_info info4 = new ODBSINFO_info(); - internal ODBSINFO_info info5 = new ODBSINFO_info(); - internal ODBSINFO_info info6 = new ODBSINFO_info(); - internal ODBSINFO_info info7 = new ODBSINFO_info(); - internal ODBSINFO_info info8 = new ODBSINFO_info(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSINFO - { - internal int sramnum; /* Number of S-RAM data */ - internal ODBSINFO1 info = new ODBSINFO1(); - } + /* cnc_rdsraminfo:read S-RAM information on CNC */ + /* cnc_getsraminfo:read S-RAM information on CNC */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBSINFO_info + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)] + internal string sramname = new string(' ', 12); /* S-RAM data Name */ + internal int sramsize; /* S-RAM data Size */ + internal short divnumber; /* Division number of S-RAM file */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string fname1 = new string(' ', 16); /* S-RAM data Name1 */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string fname2 = new string(' ', 16); /* S-RAM data Name2 */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string fname3 = new string(' ', 16); /* S-RAM data Name3 */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string fname4 = new string(' ', 16); /* S-RAM data Name4 */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string fname5 = new string(' ', 16); /* S-RAM data Name5 */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string fname6 = new string(' ', 16); /* S-RAM data Name6 */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSINFO1 + { + internal ODBSINFO_info info1 = new ODBSINFO_info(); + internal ODBSINFO_info info2 = new ODBSINFO_info(); + internal ODBSINFO_info info3 = new ODBSINFO_info(); + internal ODBSINFO_info info4 = new ODBSINFO_info(); + internal ODBSINFO_info info5 = new ODBSINFO_info(); + internal ODBSINFO_info info6 = new ODBSINFO_info(); + internal ODBSINFO_info info7 = new ODBSINFO_info(); + internal ODBSINFO_info info8 = new ODBSINFO_info(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSINFO + { + internal int sramnum; /* Number of S-RAM data */ + internal ODBSINFO1 info = new ODBSINFO1(); + } - /* cnc_rdsramaddr:read S-RAM address on CNC */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class SRAMADDR - { - internal short type; /* SRAM data type */ - internal int size; /* SRAM data size */ - internal int offset; /* offset from top address of SRAM */ - } + /* cnc_rdsramaddr:read S-RAM address on CNC */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class SRAMADDR + { + internal short type; /* SRAM data type */ + internal int size; /* SRAM data size */ + internal int offset; /* offset from top address of SRAM */ + } - /* cnc_dtsvrdpgdir:read file directory in Data Server */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBDSDIR_data - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string file_name = new string(' ', 16); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] - internal string comment = new string(' ', 64); - internal int size; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string date = new string(' ', 16); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDSDIR1 - { - internal ODBDSDIR_data data1 = new ODBDSDIR_data(); - internal ODBDSDIR_data data2 = new ODBDSDIR_data(); - internal ODBDSDIR_data data3 = new ODBDSDIR_data(); - internal ODBDSDIR_data data4 = new ODBDSDIR_data(); - internal ODBDSDIR_data data5 = new ODBDSDIR_data(); - internal ODBDSDIR_data data6 = new ODBDSDIR_data(); - internal ODBDSDIR_data data7 = new ODBDSDIR_data(); - internal ODBDSDIR_data data8 = new ODBDSDIR_data(); - internal ODBDSDIR_data data9 = new ODBDSDIR_data(); - internal ODBDSDIR_data data10 = new ODBDSDIR_data(); - internal ODBDSDIR_data data11 = new ODBDSDIR_data(); - internal ODBDSDIR_data data12 = new ODBDSDIR_data(); - internal ODBDSDIR_data data13 = new ODBDSDIR_data(); - internal ODBDSDIR_data data14 = new ODBDSDIR_data(); - internal ODBDSDIR_data data15 = new ODBDSDIR_data(); - internal ODBDSDIR_data data16 = new ODBDSDIR_data(); - internal ODBDSDIR_data data17 = new ODBDSDIR_data(); - internal ODBDSDIR_data data18 = new ODBDSDIR_data(); - internal ODBDSDIR_data data19 = new ODBDSDIR_data(); - internal ODBDSDIR_data data20 = new ODBDSDIR_data(); - internal ODBDSDIR_data data21 = new ODBDSDIR_data(); - internal ODBDSDIR_data data22 = new ODBDSDIR_data(); - internal ODBDSDIR_data data23 = new ODBDSDIR_data(); - internal ODBDSDIR_data data24 = new ODBDSDIR_data(); - internal ODBDSDIR_data data25 = new ODBDSDIR_data(); - internal ODBDSDIR_data data26 = new ODBDSDIR_data(); - internal ODBDSDIR_data data27 = new ODBDSDIR_data(); - internal ODBDSDIR_data data28 = new ODBDSDIR_data(); - internal ODBDSDIR_data data29 = new ODBDSDIR_data(); - internal ODBDSDIR_data data30 = new ODBDSDIR_data(); - internal ODBDSDIR_data data31 = new ODBDSDIR_data(); - internal ODBDSDIR_data data32 = new ODBDSDIR_data(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDSDIR - { - internal int file_num; - internal int remainder; - internal short data_num; - internal ODBDSDIR1 data = new ODBDSDIR1(); - } + /* cnc_dtsvrdpgdir:read file directory in Data Server */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBDSDIR_data + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string file_name = new string(' ', 16); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] + internal string comment = new string(' ', 64); + internal int size; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string date = new string(' ', 16); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDSDIR1 + { + internal ODBDSDIR_data data1 = new ODBDSDIR_data(); + internal ODBDSDIR_data data2 = new ODBDSDIR_data(); + internal ODBDSDIR_data data3 = new ODBDSDIR_data(); + internal ODBDSDIR_data data4 = new ODBDSDIR_data(); + internal ODBDSDIR_data data5 = new ODBDSDIR_data(); + internal ODBDSDIR_data data6 = new ODBDSDIR_data(); + internal ODBDSDIR_data data7 = new ODBDSDIR_data(); + internal ODBDSDIR_data data8 = new ODBDSDIR_data(); + internal ODBDSDIR_data data9 = new ODBDSDIR_data(); + internal ODBDSDIR_data data10 = new ODBDSDIR_data(); + internal ODBDSDIR_data data11 = new ODBDSDIR_data(); + internal ODBDSDIR_data data12 = new ODBDSDIR_data(); + internal ODBDSDIR_data data13 = new ODBDSDIR_data(); + internal ODBDSDIR_data data14 = new ODBDSDIR_data(); + internal ODBDSDIR_data data15 = new ODBDSDIR_data(); + internal ODBDSDIR_data data16 = new ODBDSDIR_data(); + internal ODBDSDIR_data data17 = new ODBDSDIR_data(); + internal ODBDSDIR_data data18 = new ODBDSDIR_data(); + internal ODBDSDIR_data data19 = new ODBDSDIR_data(); + internal ODBDSDIR_data data20 = new ODBDSDIR_data(); + internal ODBDSDIR_data data21 = new ODBDSDIR_data(); + internal ODBDSDIR_data data22 = new ODBDSDIR_data(); + internal ODBDSDIR_data data23 = new ODBDSDIR_data(); + internal ODBDSDIR_data data24 = new ODBDSDIR_data(); + internal ODBDSDIR_data data25 = new ODBDSDIR_data(); + internal ODBDSDIR_data data26 = new ODBDSDIR_data(); + internal ODBDSDIR_data data27 = new ODBDSDIR_data(); + internal ODBDSDIR_data data28 = new ODBDSDIR_data(); + internal ODBDSDIR_data data29 = new ODBDSDIR_data(); + internal ODBDSDIR_data data30 = new ODBDSDIR_data(); + internal ODBDSDIR_data data31 = new ODBDSDIR_data(); + internal ODBDSDIR_data data32 = new ODBDSDIR_data(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDSDIR + { + internal int file_num; + internal int remainder; + internal short data_num; + internal ODBDSDIR1 data = new ODBDSDIR1(); + } - /* cnc_dtsvrdset:read setting data for Data Server */ - /* cnc_dtsvwrset:write setting data for Data Server */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class IODBDSSET - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string host_ip = new string(' ', 16); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] - internal string host_uname = new string(' ', 32); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] - internal string host_passwd = new string(' ', 32); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] - internal string host_dir = new string(' ', 128); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 13)] - internal string dtsv_mac = new string(' ', 13); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string dtsv_ip = new string(' ', 16); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string dtsv_mask = new string(' ', 16); - } + /* cnc_dtsvrdset:read setting data for Data Server */ + /* cnc_dtsvwrset:write setting data for Data Server */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class IODBDSSET + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string host_ip = new string(' ', 16); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + internal string host_uname = new string(' ', 32); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + internal string host_passwd = new string(' ', 32); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] + internal string host_dir = new string(' ', 128); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 13)] + internal string dtsv_mac = new string(' ', 13); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string dtsv_ip = new string(' ', 16); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string dtsv_mask = new string(' ', 16); + } - /* cnc_dtsvmntinfo:read maintenance information for Data Server */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDSMNT - { - internal int empty_cnt; - internal int total_size; - internal int read_ptr; - internal int write_ptr; - } + /* cnc_dtsvmntinfo:read maintenance information for Data Server */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDSMNT + { + internal int empty_cnt; + internal int total_size; + internal int read_ptr; + internal int write_ptr; + } - /* cnc_rdposerrs2:read the position deviation S1 and S2 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPSER - { - internal int poserr1; - internal int poserr2; - } + /* cnc_rdposerrs2:read the position deviation S1 and S2 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPSER + { + internal int poserr1; + internal int poserr2; + } - /* cnc_rdctrldi:read the control input signal */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSPDI_data - { - internal byte sgnl1; - internal byte sgnl2; - internal byte sgnl3; - internal byte sgnl4; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSPDI - { - internal ODBSPDI_data di1 = new ODBSPDI_data(); - internal ODBSPDI_data di2 = new ODBSPDI_data(); - internal ODBSPDI_data di3 = new ODBSPDI_data(); - internal ODBSPDI_data di4 = new ODBSPDI_data(); - } + /* cnc_rdctrldi:read the control input signal */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSPDI_data + { + internal byte sgnl1; + internal byte sgnl2; + internal byte sgnl3; + internal byte sgnl4; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSPDI + { + internal ODBSPDI_data di1 = new ODBSPDI_data(); + internal ODBSPDI_data di2 = new ODBSPDI_data(); + internal ODBSPDI_data di3 = new ODBSPDI_data(); + internal ODBSPDI_data di4 = new ODBSPDI_data(); + } - /* cnc_rdctrldo:read the control output signal */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSPDO_data - { - internal byte sgnl1; - internal byte sgnl2; - internal byte sgnl3; - internal byte sgnl4; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSPDO - { - internal ODBSPDO_data do1 = new ODBSPDO_data(); - internal ODBSPDO_data do2 = new ODBSPDO_data(); - internal ODBSPDO_data do3 = new ODBSPDO_data(); - internal ODBSPDO_data do4 = new ODBSPDO_data(); - } + /* cnc_rdctrldo:read the control output signal */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSPDO_data + { + internal byte sgnl1; + internal byte sgnl2; + internal byte sgnl3; + internal byte sgnl4; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSPDO + { + internal ODBSPDO_data do1 = new ODBSPDO_data(); + internal ODBSPDO_data do2 = new ODBSPDO_data(); + internal ODBSPDO_data do3 = new ODBSPDO_data(); + internal ODBSPDO_data do4 = new ODBSPDO_data(); + } - /* cnc_rdwaveprm:read the parameter of wave diagnosis */ - /* cnc_wrwaveprm:write the parameter of wave diagnosis */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBWAVE_io - { - internal byte adr; - internal byte bit; - internal short no; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBWAVE_axis - { - internal short axis; - } - [StructLayout(LayoutKind.Explicit)] - internal class IODBWAVE_u - { - [FieldOffset(0)] - internal IODBWAVE_io io = new IODBWAVE_io(); - [FieldOffset(0)] - internal IODBWAVE_axis axis = new IODBWAVE_axis(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBWAVE_ch_data - { - internal short kind; - internal IODBWAVE_u u = new IODBWAVE_u(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBWAVE_ch - { - internal IODBWAVE_ch_data ch1 = new IODBWAVE_ch_data(); - internal IODBWAVE_ch_data ch2 = new IODBWAVE_ch_data(); - internal IODBWAVE_ch_data ch3 = new IODBWAVE_ch_data(); - internal IODBWAVE_ch_data ch4 = new IODBWAVE_ch_data(); - internal IODBWAVE_ch_data ch5 = new IODBWAVE_ch_data(); - internal IODBWAVE_ch_data ch6 = new IODBWAVE_ch_data(); - internal IODBWAVE_ch_data ch7 = new IODBWAVE_ch_data(); - internal IODBWAVE_ch_data ch8 = new IODBWAVE_ch_data(); - internal IODBWAVE_ch_data ch9 = new IODBWAVE_ch_data(); - internal IODBWAVE_ch_data ch10 = new IODBWAVE_ch_data(); - internal IODBWAVE_ch_data ch11 = new IODBWAVE_ch_data(); - internal IODBWAVE_ch_data ch12 = new IODBWAVE_ch_data(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBWAVE - { - internal short condition; - internal char trg_adr; - internal byte trg_bit; - internal short trg_no; - internal short delay; - internal short t_range; - internal IODBWAVE_ch ch = new IODBWAVE_ch(); - } + /* cnc_rdwaveprm:read the parameter of wave diagnosis */ + /* cnc_wrwaveprm:write the parameter of wave diagnosis */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBWAVE_io + { + internal byte adr; + internal byte bit; + internal short no; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBWAVE_axis + { + internal short axis; + } + [StructLayout(LayoutKind.Explicit)] + internal class IODBWAVE_u + { + [FieldOffset(0)] + internal IODBWAVE_io io = new IODBWAVE_io(); + [FieldOffset(0)] + internal IODBWAVE_axis axis = new IODBWAVE_axis(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBWAVE_ch_data + { + internal short kind; + internal IODBWAVE_u u = new IODBWAVE_u(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBWAVE_ch + { + internal IODBWAVE_ch_data ch1 = new IODBWAVE_ch_data(); + internal IODBWAVE_ch_data ch2 = new IODBWAVE_ch_data(); + internal IODBWAVE_ch_data ch3 = new IODBWAVE_ch_data(); + internal IODBWAVE_ch_data ch4 = new IODBWAVE_ch_data(); + internal IODBWAVE_ch_data ch5 = new IODBWAVE_ch_data(); + internal IODBWAVE_ch_data ch6 = new IODBWAVE_ch_data(); + internal IODBWAVE_ch_data ch7 = new IODBWAVE_ch_data(); + internal IODBWAVE_ch_data ch8 = new IODBWAVE_ch_data(); + internal IODBWAVE_ch_data ch9 = new IODBWAVE_ch_data(); + internal IODBWAVE_ch_data ch10 = new IODBWAVE_ch_data(); + internal IODBWAVE_ch_data ch11 = new IODBWAVE_ch_data(); + internal IODBWAVE_ch_data ch12 = new IODBWAVE_ch_data(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBWAVE + { + internal short condition; + internal char trg_adr; + internal byte trg_bit; + internal short trg_no; + internal short delay; + internal short t_range; + internal IODBWAVE_ch ch = new IODBWAVE_ch(); + } - /* cnc_rdwaveprm2:read the parameter of wave diagnosis 2 */ - /* cnc_wrwaveprm2:write the parameter of wave diagnosis 2 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBWVPRM_io - { - internal byte adr; - internal byte bit; - internal short no; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBWVPRM_axis - { - internal short axis; - } - [StructLayout(LayoutKind.Explicit)] - internal class IODBWVPRM_u - { - [FieldOffset(0)] - internal IODBWVPRM_io io = new IODBWVPRM_io(); - [FieldOffset(0)] - internal IODBWVPRM_axis axis = new IODBWVPRM_axis(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBWVPRM_ch_data - { - internal short kind; - internal IODBWVPRM_u u = new IODBWVPRM_u(); - internal int reserve2; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBWVPRM_ch - { - internal IODBWVPRM_ch_data ch1 = new IODBWVPRM_ch_data(); - internal IODBWVPRM_ch_data ch2 = new IODBWVPRM_ch_data(); - internal IODBWVPRM_ch_data ch3 = new IODBWVPRM_ch_data(); - internal IODBWVPRM_ch_data ch4 = new IODBWVPRM_ch_data(); - internal IODBWVPRM_ch_data ch5 = new IODBWVPRM_ch_data(); - internal IODBWVPRM_ch_data ch6 = new IODBWVPRM_ch_data(); - internal IODBWVPRM_ch_data ch7 = new IODBWVPRM_ch_data(); - internal IODBWVPRM_ch_data ch8 = new IODBWVPRM_ch_data(); - internal IODBWVPRM_ch_data ch9 = new IODBWVPRM_ch_data(); - internal IODBWVPRM_ch_data ch10 = new IODBWVPRM_ch_data(); - internal IODBWVPRM_ch_data ch11 = new IODBWVPRM_ch_data(); - internal IODBWVPRM_ch_data ch12 = new IODBWVPRM_ch_data(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBWVPRM - { - internal short condition; - internal byte trg_adr; - internal byte trg_bit; - internal short trg_no; - internal short reserve1; - internal int delay; - internal int t_range; - internal IODBWVPRM_ch ch = new IODBWVPRM_ch(); - } + /* cnc_rdwaveprm2:read the parameter of wave diagnosis 2 */ + /* cnc_wrwaveprm2:write the parameter of wave diagnosis 2 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBWVPRM_io + { + internal byte adr; + internal byte bit; + internal short no; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBWVPRM_axis + { + internal short axis; + } + [StructLayout(LayoutKind.Explicit)] + internal class IODBWVPRM_u + { + [FieldOffset(0)] + internal IODBWVPRM_io io = new IODBWVPRM_io(); + [FieldOffset(0)] + internal IODBWVPRM_axis axis = new IODBWVPRM_axis(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBWVPRM_ch_data + { + internal short kind; + internal IODBWVPRM_u u = new IODBWVPRM_u(); + internal int reserve2; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBWVPRM_ch + { + internal IODBWVPRM_ch_data ch1 = new IODBWVPRM_ch_data(); + internal IODBWVPRM_ch_data ch2 = new IODBWVPRM_ch_data(); + internal IODBWVPRM_ch_data ch3 = new IODBWVPRM_ch_data(); + internal IODBWVPRM_ch_data ch4 = new IODBWVPRM_ch_data(); + internal IODBWVPRM_ch_data ch5 = new IODBWVPRM_ch_data(); + internal IODBWVPRM_ch_data ch6 = new IODBWVPRM_ch_data(); + internal IODBWVPRM_ch_data ch7 = new IODBWVPRM_ch_data(); + internal IODBWVPRM_ch_data ch8 = new IODBWVPRM_ch_data(); + internal IODBWVPRM_ch_data ch9 = new IODBWVPRM_ch_data(); + internal IODBWVPRM_ch_data ch10 = new IODBWVPRM_ch_data(); + internal IODBWVPRM_ch_data ch11 = new IODBWVPRM_ch_data(); + internal IODBWVPRM_ch_data ch12 = new IODBWVPRM_ch_data(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBWVPRM + { + internal short condition; + internal byte trg_adr; + internal byte trg_bit; + internal short trg_no; + internal short reserve1; + internal int delay; + internal int t_range; + internal IODBWVPRM_ch ch = new IODBWVPRM_ch(); + } - /* cnc_rdwavedata:read the data of wave diagnosis */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBWVDT_io - { - internal byte adr; - internal byte bit; - internal short no; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBWVDT_axis - { - internal short axis; - } - [StructLayout(LayoutKind.Explicit)] - internal class ODBWVDT_u - { - [FieldOffset(0)] - internal ODBWVDT_io io = new ODBWVDT_io(); - [FieldOffset(0)] - internal ODBWVDT_axis axis = new ODBWVDT_axis(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBWVDT - { - internal short channel; - internal short kind; - internal ODBWVDT_u u = new ODBWVDT_u(); - internal byte year; - internal byte month; - internal byte day; - internal byte hour; - internal byte minute; - internal byte second; - internal short t_cycle; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8192)] - internal short[] data; - } + /* cnc_rdwavedata:read the data of wave diagnosis */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBWVDT_io + { + internal byte adr; + internal byte bit; + internal short no; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBWVDT_axis + { + internal short axis; + } + [StructLayout(LayoutKind.Explicit)] + internal class ODBWVDT_u + { + [FieldOffset(0)] + internal ODBWVDT_io io = new ODBWVDT_io(); + [FieldOffset(0)] + internal ODBWVDT_axis axis = new ODBWVDT_axis(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBWVDT + { + internal short channel; + internal short kind; + internal ODBWVDT_u u = new ODBWVDT_u(); + internal byte year; + internal byte month; + internal byte day; + internal byte hour; + internal byte minute; + internal byte second; + internal short t_cycle; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8192)] + internal short[] data; + } - /* cnc_rdrmtwaveprm:read the parameter of wave diagnosis for remort diagnosis */ - /* cnc_wrrmtwaveprm:write the parameter of wave diagnosis for remort diagnosis */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBRMTPRM_alm - { - internal short no; - internal sbyte axis; - internal byte type; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBRMTPRM_io - { - internal char adr; - internal byte bit; - internal short no; - } - [StructLayout(LayoutKind.Explicit)] - internal class IODBRMTPRM_trg - { - [FieldOffset(0)] - internal IODBRMTPRM_alm alm = new IODBRMTPRM_alm(); - [FieldOffset(0)] - internal IODBRMTPRM_io io = new IODBRMTPRM_io(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBRMTPRM_smpl - { - internal char adr; - internal byte bit; - internal short no; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBRMTPRM1 - { - internal IODBRMTPRM_smpl ampl1 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl2 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl3 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl4 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl5 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl6 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl7 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl8 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl9 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl10 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl11 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl12 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl13 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl14 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl15 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl16 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl17 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl18 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl19 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl20 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl21 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl22 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl23 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl24 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl25 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl26 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl27 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl28 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl29 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl30 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl31 = new IODBRMTPRM_smpl(); - internal IODBRMTPRM_smpl ampl32 = new IODBRMTPRM_smpl(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBRMTPRM - { - internal short condition; - internal short reserve; - internal IODBRMTPRM_trg trg = new IODBRMTPRM_trg(); - internal int delay; - internal short wv_intrvl; - internal short io_intrvl; - internal short kind1; - internal short kind2; - internal IODBRMTPRM1 ampl = new IODBRMTPRM1(); - } + /* cnc_rdrmtwaveprm:read the parameter of wave diagnosis for remort diagnosis */ + /* cnc_wrrmtwaveprm:write the parameter of wave diagnosis for remort diagnosis */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBRMTPRM_alm + { + internal short no; + internal sbyte axis; + internal byte type; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBRMTPRM_io + { + internal char adr; + internal byte bit; + internal short no; + } + [StructLayout(LayoutKind.Explicit)] + internal class IODBRMTPRM_trg + { + [FieldOffset(0)] + internal IODBRMTPRM_alm alm = new IODBRMTPRM_alm(); + [FieldOffset(0)] + internal IODBRMTPRM_io io = new IODBRMTPRM_io(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBRMTPRM_smpl + { + internal char adr; + internal byte bit; + internal short no; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBRMTPRM1 + { + internal IODBRMTPRM_smpl ampl1 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl2 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl3 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl4 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl5 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl6 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl7 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl8 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl9 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl10 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl11 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl12 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl13 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl14 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl15 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl16 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl17 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl18 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl19 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl20 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl21 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl22 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl23 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl24 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl25 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl26 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl27 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl28 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl29 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl30 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl31 = new IODBRMTPRM_smpl(); + internal IODBRMTPRM_smpl ampl32 = new IODBRMTPRM_smpl(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBRMTPRM + { + internal short condition; + internal short reserve; + internal IODBRMTPRM_trg trg = new IODBRMTPRM_trg(); + internal int delay; + internal short wv_intrvl; + internal short io_intrvl; + internal short kind1; + internal short kind2; + internal IODBRMTPRM1 ampl = new IODBRMTPRM1(); + } - /* cnc_rdrmtwavedt:read the data of wave diagnosis for remort diagnosis */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBRMTDT - { - internal short channel; - internal short kind; - internal byte year; - internal byte month; - internal byte day; - internal byte hour; - internal byte minute; - internal byte second; - internal short t_intrvl; - internal short trg_data; - internal int ins_ptr; - internal short t_delta; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 1917)] - internal short[] data; - } + /* cnc_rdrmtwavedt:read the data of wave diagnosis for remort diagnosis */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBRMTDT + { + internal short channel; + internal short kind; + internal byte year; + internal byte month; + internal byte day; + internal byte hour; + internal byte minute; + internal byte second; + internal short t_intrvl; + internal short trg_data; + internal int ins_ptr; + internal short t_delta; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 1917)] + internal short[] data; + } - /* cnc_rdsavsigadr:read of address for PMC signal batch save */ - /* cnc_wrsavsigadr:write of address for PMC signal batch save */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSIGAD - { - internal byte adr; - internal byte reserve; - internal short no; - internal short size; - } + /* cnc_rdsavsigadr:read of address for PMC signal batch save */ + /* cnc_wrsavsigadr:write of address for PMC signal batch save */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSIGAD + { + internal byte adr; + internal byte reserve; + internal short no; + internal short size; + } - /* cnc_rdmgrpdata:read M-code group data */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBMGRP_data - { - internal int m_code; - internal short grp_no; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 21)] - internal string m_name = new string(' ', 21); - internal byte dummy; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBMGRP - { - internal ODBMGRP_data mgrp1 = new ODBMGRP_data(); - internal ODBMGRP_data mgrp2 = new ODBMGRP_data(); - internal ODBMGRP_data mgrp3 = new ODBMGRP_data(); - internal ODBMGRP_data mgrp4 = new ODBMGRP_data(); - internal ODBMGRP_data mgrp5 = new ODBMGRP_data(); - internal ODBMGRP_data mgrp6 = new ODBMGRP_data(); - internal ODBMGRP_data mgrp7 = new ODBMGRP_data(); - internal ODBMGRP_data mgrp8 = new ODBMGRP_data(); - internal ODBMGRP_data mgrp9 = new ODBMGRP_data(); - internal ODBMGRP_data mgrp10 = new ODBMGRP_data(); - } + /* cnc_rdmgrpdata:read M-code group data */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBMGRP_data + { + internal int m_code; + internal short grp_no; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 21)] + internal string m_name = new string(' ', 21); + internal byte dummy; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBMGRP + { + internal ODBMGRP_data mgrp1 = new ODBMGRP_data(); + internal ODBMGRP_data mgrp2 = new ODBMGRP_data(); + internal ODBMGRP_data mgrp3 = new ODBMGRP_data(); + internal ODBMGRP_data mgrp4 = new ODBMGRP_data(); + internal ODBMGRP_data mgrp5 = new ODBMGRP_data(); + internal ODBMGRP_data mgrp6 = new ODBMGRP_data(); + internal ODBMGRP_data mgrp7 = new ODBMGRP_data(); + internal ODBMGRP_data mgrp8 = new ODBMGRP_data(); + internal ODBMGRP_data mgrp9 = new ODBMGRP_data(); + internal ODBMGRP_data mgrp10 = new ODBMGRP_data(); + } - /* cnc_wrmgrpdata:write M-code group data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IDBMGRP - { - internal short s_no; - internal short dummy; - internal short num; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 500)] - internal short[] group = new short[500]; - } + /* cnc_wrmgrpdata:write M-code group data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IDBMGRP + { + internal short s_no; + internal short dummy; + internal short num; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 500)] + internal short[] group = new short[500]; + } - /* cnc_rdexecmcode:read executing M-code group data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBEXEM_data - { - internal int no; - internal short flag; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBEXEM1 - { - internal ODBEXEM_data m_code1 = new ODBEXEM_data(); - internal ODBEXEM_data m_code2 = new ODBEXEM_data(); - internal ODBEXEM_data m_code3 = new ODBEXEM_data(); - internal ODBEXEM_data m_code4 = new ODBEXEM_data(); - internal ODBEXEM_data m_code5 = new ODBEXEM_data(); - } - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBEXEM - { - internal short grp_no; - internal short mem_no; - internal ODBEXEM1 m_code = new ODBEXEM1(); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 21)] - internal string m_name = new string(' ', 21); - internal byte dummy; - } + /* cnc_rdexecmcode:read executing M-code group data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBEXEM_data + { + internal int no; + internal short flag; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBEXEM1 + { + internal ODBEXEM_data m_code1 = new ODBEXEM_data(); + internal ODBEXEM_data m_code2 = new ODBEXEM_data(); + internal ODBEXEM_data m_code3 = new ODBEXEM_data(); + internal ODBEXEM_data m_code4 = new ODBEXEM_data(); + internal ODBEXEM_data m_code5 = new ODBEXEM_data(); + } + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBEXEM + { + internal short grp_no; + internal short mem_no; + internal ODBEXEM1 m_code = new ODBEXEM1(); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 21)] + internal string m_name = new string(' ', 21); + internal byte dummy; + } - /* cnc_rdrstrmcode:read program restart M-code group data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class M_CODE_data - { - internal int no; - internal short flag; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class M_CODE1 - { - internal M_CODE_data m_code1 = new M_CODE_data(); - internal M_CODE_data m_code2 = new M_CODE_data(); - internal M_CODE_data m_code3 = new M_CODE_data(); - internal M_CODE_data m_code4 = new M_CODE_data(); - internal M_CODE_data m_code5 = new M_CODE_data(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBRSTRM - { - internal short grp_no; - internal short mem_no; - internal M_CODE1 m_code = new M_CODE1(); - } + /* cnc_rdrstrmcode:read program restart M-code group data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class M_CODE_data + { + internal int no; + internal short flag; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class M_CODE1 + { + internal M_CODE_data m_code1 = new M_CODE_data(); + internal M_CODE_data m_code2 = new M_CODE_data(); + internal M_CODE_data m_code3 = new M_CODE_data(); + internal M_CODE_data m_code4 = new M_CODE_data(); + internal M_CODE_data m_code5 = new M_CODE_data(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBRSTRM + { + internal short grp_no; + internal short mem_no; + internal M_CODE1 m_code = new M_CODE1(); + } - /* cnc_rdproctime:read processing time stamp data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPTIME_data - { - internal int prg_no; - internal short hour; - internal byte minute; - internal byte second; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPTIME1 - { - internal ODBPTIME_data data1 = new ODBPTIME_data(); - internal ODBPTIME_data data2 = new ODBPTIME_data(); - internal ODBPTIME_data data3 = new ODBPTIME_data(); - internal ODBPTIME_data data4 = new ODBPTIME_data(); - internal ODBPTIME_data data5 = new ODBPTIME_data(); - internal ODBPTIME_data data6 = new ODBPTIME_data(); - internal ODBPTIME_data data7 = new ODBPTIME_data(); - internal ODBPTIME_data data8 = new ODBPTIME_data(); - internal ODBPTIME_data data9 = new ODBPTIME_data(); - internal ODBPTIME_data data10 = new ODBPTIME_data(); - } /* In case that the number of data is 10 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPTIME - { - internal short num; - internal ODBPTIME1 data = new ODBPTIME1(); - } + /* cnc_rdproctime:read processing time stamp data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPTIME_data + { + internal int prg_no; + internal short hour; + internal byte minute; + internal byte second; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPTIME1 + { + internal ODBPTIME_data data1 = new ODBPTIME_data(); + internal ODBPTIME_data data2 = new ODBPTIME_data(); + internal ODBPTIME_data data3 = new ODBPTIME_data(); + internal ODBPTIME_data data4 = new ODBPTIME_data(); + internal ODBPTIME_data data5 = new ODBPTIME_data(); + internal ODBPTIME_data data6 = new ODBPTIME_data(); + internal ODBPTIME_data data7 = new ODBPTIME_data(); + internal ODBPTIME_data data8 = new ODBPTIME_data(); + internal ODBPTIME_data data9 = new ODBPTIME_data(); + internal ODBPTIME_data data10 = new ODBPTIME_data(); + } /* In case that the number of data is 10 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPTIME + { + internal short num; + internal ODBPTIME1 data = new ODBPTIME1(); + } - /* cnc_rdprgdirtime:read program directory for processing time data */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class PRGDIRTM_data - { - internal int prg_no; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 51)] - internal string comment = new string(' ', 51); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 13)] - internal string cuttime = new string(' ', 13); - } - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class PRGDIRTM - { - internal PRGDIRTM_data data1 = new PRGDIRTM_data(); - internal PRGDIRTM_data data2 = new PRGDIRTM_data(); - internal PRGDIRTM_data data3 = new PRGDIRTM_data(); - internal PRGDIRTM_data data4 = new PRGDIRTM_data(); - internal PRGDIRTM_data data5 = new PRGDIRTM_data(); - internal PRGDIRTM_data data6 = new PRGDIRTM_data(); - internal PRGDIRTM_data data7 = new PRGDIRTM_data(); - internal PRGDIRTM_data data8 = new PRGDIRTM_data(); - internal PRGDIRTM_data data9 = new PRGDIRTM_data(); - internal PRGDIRTM_data data10 = new PRGDIRTM_data(); - } /* In case that the number of data is 10 */ + /* cnc_rdprgdirtime:read program directory for processing time data */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class PRGDIRTM_data + { + internal int prg_no; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 51)] + internal string comment = new string(' ', 51); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 13)] + internal string cuttime = new string(' ', 13); + } + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class PRGDIRTM + { + internal PRGDIRTM_data data1 = new PRGDIRTM_data(); + internal PRGDIRTM_data data2 = new PRGDIRTM_data(); + internal PRGDIRTM_data data3 = new PRGDIRTM_data(); + internal PRGDIRTM_data data4 = new PRGDIRTM_data(); + internal PRGDIRTM_data data5 = new PRGDIRTM_data(); + internal PRGDIRTM_data data6 = new PRGDIRTM_data(); + internal PRGDIRTM_data data7 = new PRGDIRTM_data(); + internal PRGDIRTM_data data8 = new PRGDIRTM_data(); + internal PRGDIRTM_data data9 = new PRGDIRTM_data(); + internal PRGDIRTM_data data10 = new PRGDIRTM_data(); + } /* In case that the number of data is 10 */ - /* cnc_rdprogdir2:read program directory 2 */ + /* cnc_rdprogdir2:read program directory 2 */ #if (!ONO8D) - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class PRGDIR2_data - { - internal short number; - internal int length; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 51)] - internal string comment = new string(' ', 51); - internal byte dummy; - } + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class PRGDIR2_data + { + internal short number; + internal int length; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 51)] + internal string comment = new string(' ', 51); + internal byte dummy; + } #else [StructLayout(LayoutKind.Sequential,CharSet=CharSet.Ansi,Pack=4)] internal class PRGDIR2_data @@ -5336,1632 +5336,1632 @@ internal class Focas1 internal byte dummy ; } #endif - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class PRGDIR2 - { - internal PRGDIR2_data dir1 = new PRGDIR2_data(); - internal PRGDIR2_data dir2 = new PRGDIR2_data(); - internal PRGDIR2_data dir3 = new PRGDIR2_data(); - internal PRGDIR2_data dir4 = new PRGDIR2_data(); - internal PRGDIR2_data dir5 = new PRGDIR2_data(); - internal PRGDIR2_data dir6 = new PRGDIR2_data(); - internal PRGDIR2_data dir7 = new PRGDIR2_data(); - internal PRGDIR2_data dir8 = new PRGDIR2_data(); - internal PRGDIR2_data dir9 = new PRGDIR2_data(); - internal PRGDIR2_data dir10 = new PRGDIR2_data(); - } /* In case that the number of data is 10 */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class PRGDIR2 + { + internal PRGDIR2_data dir1 = new PRGDIR2_data(); + internal PRGDIR2_data dir2 = new PRGDIR2_data(); + internal PRGDIR2_data dir3 = new PRGDIR2_data(); + internal PRGDIR2_data dir4 = new PRGDIR2_data(); + internal PRGDIR2_data dir5 = new PRGDIR2_data(); + internal PRGDIR2_data dir6 = new PRGDIR2_data(); + internal PRGDIR2_data dir7 = new PRGDIR2_data(); + internal PRGDIR2_data dir8 = new PRGDIR2_data(); + internal PRGDIR2_data dir9 = new PRGDIR2_data(); + internal PRGDIR2_data dir10 = new PRGDIR2_data(); + } /* In case that the number of data is 10 */ - /* cnc_rdprogdir3:read program directory 3 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class DIR3_MDATE - { - internal short year; - internal short month; - internal short day; - internal short hour; - internal short minute; - internal short dummy; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class DIR3_CDATE - { - internal short year; - internal short month; - internal short day; - internal short hour; - internal short minute; - internal short dummy; - } - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class PRGDIR3_data - { - internal int number; - internal int length; - internal int page; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 52)] - internal string comment = new string(' ', 52); - internal DIR3_MDATE mdate = new DIR3_MDATE(); - internal DIR3_CDATE cdate = new DIR3_CDATE(); - } - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class PRGDIR3 - { - internal PRGDIR3_data dir1 = new PRGDIR3_data(); - internal PRGDIR3_data dir2 = new PRGDIR3_data(); - internal PRGDIR3_data dir3 = new PRGDIR3_data(); - internal PRGDIR3_data dir4 = new PRGDIR3_data(); - internal PRGDIR3_data dir5 = new PRGDIR3_data(); - internal PRGDIR3_data dir6 = new PRGDIR3_data(); - internal PRGDIR3_data dir7 = new PRGDIR3_data(); - internal PRGDIR3_data dir8 = new PRGDIR3_data(); - internal PRGDIR3_data dir9 = new PRGDIR3_data(); - internal PRGDIR3_data dir10 = new PRGDIR3_data(); - } /* In case that the number of data is 10 */ + /* cnc_rdprogdir3:read program directory 3 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class DIR3_MDATE + { + internal short year; + internal short month; + internal short day; + internal short hour; + internal short minute; + internal short dummy; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class DIR3_CDATE + { + internal short year; + internal short month; + internal short day; + internal short hour; + internal short minute; + internal short dummy; + } + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class PRGDIR3_data + { + internal int number; + internal int length; + internal int page; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 52)] + internal string comment = new string(' ', 52); + internal DIR3_MDATE mdate = new DIR3_MDATE(); + internal DIR3_CDATE cdate = new DIR3_CDATE(); + } + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class PRGDIR3 + { + internal PRGDIR3_data dir1 = new PRGDIR3_data(); + internal PRGDIR3_data dir2 = new PRGDIR3_data(); + internal PRGDIR3_data dir3 = new PRGDIR3_data(); + internal PRGDIR3_data dir4 = new PRGDIR3_data(); + internal PRGDIR3_data dir5 = new PRGDIR3_data(); + internal PRGDIR3_data dir6 = new PRGDIR3_data(); + internal PRGDIR3_data dir7 = new PRGDIR3_data(); + internal PRGDIR3_data dir8 = new PRGDIR3_data(); + internal PRGDIR3_data dir9 = new PRGDIR3_data(); + internal PRGDIR3_data dir10 = new PRGDIR3_data(); + } /* In case that the number of data is 10 */ - /* cnc_rdprogdir4:read program directory 4 */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class DIR4_MDATE - { - internal short year; - internal short month; - internal short day; - internal short hour; - internal short minute; - internal short dummy; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class DIR4_CDATE - { - internal short year; - internal short month; - internal short day; - internal short hour; - internal short minute; - internal short dummy; - } - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class PRGDIR4_data - { - internal int number; - internal int length; - internal int page; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 52)] - internal string comment = new string(' ', 52); - internal DIR4_MDATE mdate = new DIR4_MDATE(); - internal DIR4_CDATE cdate = new DIR4_CDATE(); - } - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class PRGDIR4 - { - internal PRGDIR4_data dir1 = new PRGDIR4_data(); - internal PRGDIR4_data dir2 = new PRGDIR4_data(); - internal PRGDIR4_data dir3 = new PRGDIR4_data(); - internal PRGDIR4_data dir4 = new PRGDIR4_data(); - internal PRGDIR4_data dir5 = new PRGDIR4_data(); - internal PRGDIR4_data dir6 = new PRGDIR4_data(); - internal PRGDIR4_data dir7 = new PRGDIR4_data(); - internal PRGDIR4_data dir8 = new PRGDIR4_data(); - internal PRGDIR4_data dir9 = new PRGDIR4_data(); - internal PRGDIR4_data dir10 = new PRGDIR4_data(); - } /* In case that the number of data is 10 */ + /* cnc_rdprogdir4:read program directory 4 */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class DIR4_MDATE + { + internal short year; + internal short month; + internal short day; + internal short hour; + internal short minute; + internal short dummy; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class DIR4_CDATE + { + internal short year; + internal short month; + internal short day; + internal short hour; + internal short minute; + internal short dummy; + } + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class PRGDIR4_data + { + internal int number; + internal int length; + internal int page; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 52)] + internal string comment = new string(' ', 52); + internal DIR4_MDATE mdate = new DIR4_MDATE(); + internal DIR4_CDATE cdate = new DIR4_CDATE(); + } + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class PRGDIR4 + { + internal PRGDIR4_data dir1 = new PRGDIR4_data(); + internal PRGDIR4_data dir2 = new PRGDIR4_data(); + internal PRGDIR4_data dir3 = new PRGDIR4_data(); + internal PRGDIR4_data dir4 = new PRGDIR4_data(); + internal PRGDIR4_data dir5 = new PRGDIR4_data(); + internal PRGDIR4_data dir6 = new PRGDIR4_data(); + internal PRGDIR4_data dir7 = new PRGDIR4_data(); + internal PRGDIR4_data dir8 = new PRGDIR4_data(); + internal PRGDIR4_data dir9 = new PRGDIR4_data(); + internal PRGDIR4_data dir10 = new PRGDIR4_data(); + } /* In case that the number of data is 10 */ - /* cnc_rdcomparam:read communication parameter for DNC1, DNC2, OSI-Ethernet */ - /* cnc_wrcomparam:write communication parameter for DNC1, DNC2, OSI-Ethernet */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class IODBCPRM - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 65)] - internal string NcApli = new string(' ', 65); - internal byte Dummy1; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 65)] - internal string HostApli = new string(' ', 65); - internal byte Dummy2; - internal uint StatPstv; - internal uint StatNgtv; - internal uint Statmask; - internal uint AlarmStat; - internal uint PsclHaddr; - internal uint PsclLaddr; - internal ushort SvcMode1; - internal ushort SvcMode2; - internal int FileTout; - internal int RemTout; - } + /* cnc_rdcomparam:read communication parameter for DNC1, DNC2, OSI-Ethernet */ + /* cnc_wrcomparam:write communication parameter for DNC1, DNC2, OSI-Ethernet */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class IODBCPRM + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 65)] + internal string NcApli = new string(' ', 65); + internal byte Dummy1; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 65)] + internal string HostApli = new string(' ', 65); + internal byte Dummy2; + internal uint StatPstv; + internal uint StatNgtv; + internal uint Statmask; + internal uint AlarmStat; + internal uint PsclHaddr; + internal uint PsclLaddr; + internal ushort SvcMode1; + internal ushort SvcMode2; + internal int FileTout; + internal int RemTout; + } - /* cnc_rdintchk:read interference check */ - /* cnc_wrintchk:write interference check */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBINT - { - internal short datano_s; /* start offset No. */ - internal short type; /* kind of position */ - internal short datano_e; /* end offset No. */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8 * 3)] - internal int[] data = new int[8 * 3]; /* position value of area for not attach */ - } + /* cnc_rdintchk:read interference check */ + /* cnc_wrintchk:write interference check */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBINT + { + internal short datano_s; /* start offset No. */ + internal short type; /* kind of position */ + internal short datano_e; /* end offset No. */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8 * 3)] + internal int[] data = new int[8 * 3]; /* position value of area for not attach */ + } - /* cnc_rdwkcdshft:read work coordinate shift */ - /* cnc_wrwkcdshft:write work coordinate shift */ - /* cnc_rdwkcdsfms:read work coordinate shift measure */ - /* cnc_wrwkcdsfms:write work coordinate shift measure */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBWCSF - { - internal short datano; /* datano */ - internal short type; /* axis number */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] data = new int[MAX_AXIS]; /* data */ - } + /* cnc_rdwkcdshft:read work coordinate shift */ + /* cnc_wrwkcdshft:write work coordinate shift */ + /* cnc_rdwkcdsfms:read work coordinate shift measure */ + /* cnc_wrwkcdsfms:write work coordinate shift measure */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBWCSF + { + internal short datano; /* datano */ + internal short type; /* axis number */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] data = new int[MAX_AXIS]; /* data */ + } - /* cnc_rdomhisinfo:read operator message history information */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBOMIF - { - internal ushort om_max; /* maximum operator message history */ - internal ushort om_sum; /* actually operator message history */ - internal ushort om_char; /* maximum character (include NULL) */ - } + /* cnc_rdomhisinfo:read operator message history information */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBOMIF + { + internal ushort om_max; /* maximum operator message history */ + internal ushort om_sum; /* actually operator message history */ + internal ushort om_char; /* maximum character (include NULL) */ + } - /* cnc_rdomhistry:read operator message history */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBOMHIS_data - { - internal short om_no; /* operator message number */ - internal short year; /* year */ - internal short month; /* month */ - internal short day; /* day */ - internal short hour; /* hour */ - internal short minute; /* mimute */ - internal short second; /* second */ - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] - internal string om_msg = new string(' ', 256); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBOMHIS - { - internal ODBOMHIS_data omhis1 = new ODBOMHIS_data(); - internal ODBOMHIS_data omhis2 = new ODBOMHIS_data(); - internal ODBOMHIS_data omhis3 = new ODBOMHIS_data(); - internal ODBOMHIS_data omhis4 = new ODBOMHIS_data(); - internal ODBOMHIS_data omhis5 = new ODBOMHIS_data(); - internal ODBOMHIS_data omhis6 = new ODBOMHIS_data(); - internal ODBOMHIS_data omhis7 = new ODBOMHIS_data(); - internal ODBOMHIS_data omhis8 = new ODBOMHIS_data(); - internal ODBOMHIS_data omhis9 = new ODBOMHIS_data(); - internal ODBOMHIS_data omhis10 = new ODBOMHIS_data(); - } /* In case that the number of data is 10 */ + /* cnc_rdomhistry:read operator message history */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBOMHIS_data + { + internal short om_no; /* operator message number */ + internal short year; /* year */ + internal short month; /* month */ + internal short day; /* day */ + internal short hour; /* hour */ + internal short minute; /* mimute */ + internal short second; /* second */ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] + internal string om_msg = new string(' ', 256); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBOMHIS + { + internal ODBOMHIS_data omhis1 = new ODBOMHIS_data(); + internal ODBOMHIS_data omhis2 = new ODBOMHIS_data(); + internal ODBOMHIS_data omhis3 = new ODBOMHIS_data(); + internal ODBOMHIS_data omhis4 = new ODBOMHIS_data(); + internal ODBOMHIS_data omhis5 = new ODBOMHIS_data(); + internal ODBOMHIS_data omhis6 = new ODBOMHIS_data(); + internal ODBOMHIS_data omhis7 = new ODBOMHIS_data(); + internal ODBOMHIS_data omhis8 = new ODBOMHIS_data(); + internal ODBOMHIS_data omhis9 = new ODBOMHIS_data(); + internal ODBOMHIS_data omhis10 = new ODBOMHIS_data(); + } /* In case that the number of data is 10 */ - /* cnc_rdbtofsr:read b-axis tool offset value(area specified) */ - /* cnc_wrbtofsr:write b-axis tool offset value(area specified) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBBTO - { - internal short datano_s; /* start offset number */ - internal short type; /* offset type */ - internal short datano_e; /* end offset number */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 18)] - internal int[] ofs = new int[18]; /* offset */ - } /* In case that the number of data is 9 (B type) */ + /* cnc_rdbtofsr:read b-axis tool offset value(area specified) */ + /* cnc_wrbtofsr:write b-axis tool offset value(area specified) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBBTO + { + internal short datano_s; /* start offset number */ + internal short type; /* offset type */ + internal short datano_e; /* end offset number */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 18)] + internal int[] ofs = new int[18]; /* offset */ + } /* In case that the number of data is 9 (B type) */ - /* cnc_rdbtofsinfo:read b-axis tool offset information */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBBTLINF - { - internal short ofs_type; /* memory type */ - internal short use_no; /* sum of b-axis offset */ - internal short sub_no; /* sub function number of offset cancel */ - } + /* cnc_rdbtofsinfo:read b-axis tool offset information */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBBTLINF + { + internal short ofs_type; /* memory type */ + internal short use_no; /* sum of b-axis offset */ + internal short sub_no; /* sub function number of offset cancel */ + } - /* cnc_rdbaxis:read b-axis command */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBBAXIS - { - internal short flag; /* b-axis command exist or not */ - internal short command; /* b-axis command */ - internal ushort speed; /* b-axis speed */ - internal int sub_data; /* b-axis sub data */ - } + /* cnc_rdbaxis:read b-axis command */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBBAXIS + { + internal short flag; /* b-axis command exist or not */ + internal short command; /* b-axis command */ + internal ushort speed; /* b-axis speed */ + internal int sub_data; /* b-axis sub data */ + } - /* cnc_rdsyssoft:read CNC system soft series and version */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBSYSS - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal byte[] slot_no_p; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal byte[] slot_no_l; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal short[] module_id; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal short[] soft_id; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series1 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series2 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series3 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series4 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series5 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series6 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series7 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series8 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series9 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series10 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series11 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series12 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series13 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series14 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series15 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series16 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version1 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version2 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version3 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version4 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version5 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version6 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version7 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version8 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version9 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version10 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version11 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version12 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version13 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version14 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version15 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version16 = new string(' ', 5); - internal short soft_inst; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string boot_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string boot_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string servo_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string servo_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string ladder_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string ladder_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string mcrlib_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string mcrlib_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string mcrapl_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string mcrapl_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string spl1_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string spl1_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string spl2_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string spl2_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string spl3_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string spl3_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string c_exelib_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string c_exelib_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string c_exeapl_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string c_exeapl_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string int_vga_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string int_vga_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string out_vga_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string out_vga_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmm_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmm_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_mng_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_mng_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_shin_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_shin_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_shout_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_shout_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_c_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_c_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_edit_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_edit_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string lddr_mng_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string lddr_mng_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string lddr_apl_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string lddr_apl_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string spl4_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string spl4_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string mcr2_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string mcr2_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string mcr3_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string mcr3_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string eth_boot_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string eth_boot_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8 * 5)] - internal byte[] reserve; - } + /* cnc_rdsyssoft:read CNC system soft series and version */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBSYSS + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal byte[] slot_no_p; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal byte[] slot_no_l; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal short[] module_id; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal short[] soft_id; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series1 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series2 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series3 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series4 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series5 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series6 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series7 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series8 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series9 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series10 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series11 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series12 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series13 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series14 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series15 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series16 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version1 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version2 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version3 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version4 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version5 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version6 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version7 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version8 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version9 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version10 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version11 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version12 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version13 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version14 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version15 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version16 = new string(' ', 5); + internal short soft_inst; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string boot_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string boot_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string servo_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string servo_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string ladder_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string ladder_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string mcrlib_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string mcrlib_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string mcrapl_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string mcrapl_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string spl1_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string spl1_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string spl2_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string spl2_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string spl3_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string spl3_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string c_exelib_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string c_exelib_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string c_exeapl_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string c_exeapl_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string int_vga_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string int_vga_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string out_vga_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string out_vga_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmm_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmm_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_mng_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_mng_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_shin_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_shin_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_shout_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_shout_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_c_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_c_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_edit_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_edit_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string lddr_mng_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string lddr_mng_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string lddr_apl_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string lddr_apl_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string spl4_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string spl4_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string mcr2_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string mcr2_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string mcr3_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string mcr3_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string eth_boot_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string eth_boot_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8 * 5)] + internal byte[] reserve; + } - /* cnc_rdsyssoft2:read CNC system soft series and version (2) */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBSYSS2 - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal byte[] slot_no_p; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal byte[] slot_no_l; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal short[] module_id; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal short[] soft_id; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series1 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series2 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series3 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series4 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series5 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series6 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series7 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series8 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series9 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series10 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series11 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series12 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series13 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series14 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series15 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_series16 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version1 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version2 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version3 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version4 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version5 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version6 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version7 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version8 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version9 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version10 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version11 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version12 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version13 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version14 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version15 = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string soft_version16 = new string(' ', 5); - internal short soft_inst; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string boot_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string boot_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string servo_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string servo_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string ladder_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string ladder_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string mcrlib_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string mcrlib_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string mcrapl_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string mcrapl_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string spl1_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string spl1_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string spl2_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string spl2_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string spl3_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string spl3_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string c_exelib_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string c_exelib_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string c_exeapl_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string c_exeapl_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string int_vga_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string int_vga_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string out_vga_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string out_vga_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmm_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmm_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_mng_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_mng_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_shin_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_shin_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_shout_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_shout_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_c_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_c_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_edit_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string pmc_edit_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string lddr_mng_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string lddr_mng_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string lddr_apl_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string lddr_apl_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string spl4_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string spl4_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string mcr2_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string mcr2_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string mcr3_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string mcr3_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string eth_boot_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string eth_boot_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8 * 5)] - internal byte[] reserve; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string embEthe_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string embEthe_ver = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 38 * 5)] - internal byte[] reserve2; - } + /* cnc_rdsyssoft2:read CNC system soft series and version (2) */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBSYSS2 + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal byte[] slot_no_p; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal byte[] slot_no_l; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal short[] module_id; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal short[] soft_id; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series1 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series2 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series3 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series4 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series5 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series6 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series7 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series8 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series9 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series10 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series11 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series12 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series13 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series14 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series15 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_series16 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version1 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version2 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version3 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version4 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version5 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version6 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version7 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version8 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version9 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version10 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version11 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version12 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version13 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version14 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version15 = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string soft_version16 = new string(' ', 5); + internal short soft_inst; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string boot_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string boot_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string servo_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string servo_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string ladder_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string ladder_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string mcrlib_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string mcrlib_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string mcrapl_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string mcrapl_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string spl1_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string spl1_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string spl2_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string spl2_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string spl3_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string spl3_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string c_exelib_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string c_exelib_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string c_exeapl_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string c_exeapl_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string int_vga_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string int_vga_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string out_vga_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string out_vga_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmm_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmm_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_mng_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_mng_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_shin_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_shin_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_shout_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_shout_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_c_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_c_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_edit_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string pmc_edit_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string lddr_mng_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string lddr_mng_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string lddr_apl_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string lddr_apl_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string spl4_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string spl4_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string mcr2_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string mcr2_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string mcr3_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string mcr3_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string eth_boot_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string eth_boot_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8 * 5)] + internal byte[] reserve; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string embEthe_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string embEthe_ver = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 38 * 5)] + internal byte[] reserve2; + } - /* cnc_rdsyssoft3:read CNC system soft series and version (3) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSYSS3_data - { - internal short soft_id; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] - internal char[] soft_series; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] - internal char[] soft_edition; - } + /* cnc_rdsyssoft3:read CNC system soft series and version (3) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSYSS3_data + { + internal short soft_id; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] + internal char[] soft_series; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] + internal char[] soft_edition; + } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSYSS3 - { - internal ODBSYSS3_data p1 = new ODBSYSS3_data(); - internal ODBSYSS3_data p2 = new ODBSYSS3_data(); - internal ODBSYSS3_data p3 = new ODBSYSS3_data(); - internal ODBSYSS3_data p4 = new ODBSYSS3_data(); - internal ODBSYSS3_data p5 = new ODBSYSS3_data(); - internal ODBSYSS3_data p6 = new ODBSYSS3_data(); - internal ODBSYSS3_data p7 = new ODBSYSS3_data(); - internal ODBSYSS3_data p8 = new ODBSYSS3_data(); - internal ODBSYSS3_data p9 = new ODBSYSS3_data(); - internal ODBSYSS3_data p10 = new ODBSYSS3_data(); - internal ODBSYSS3_data p11 = new ODBSYSS3_data(); - internal ODBSYSS3_data p12 = new ODBSYSS3_data(); - internal ODBSYSS3_data p13 = new ODBSYSS3_data(); - internal ODBSYSS3_data p14 = new ODBSYSS3_data(); - internal ODBSYSS3_data p15 = new ODBSYSS3_data(); - internal ODBSYSS3_data p16 = new ODBSYSS3_data(); - internal ODBSYSS3_data p17 = new ODBSYSS3_data(); - internal ODBSYSS3_data p18 = new ODBSYSS3_data(); - internal ODBSYSS3_data p19 = new ODBSYSS3_data(); - internal ODBSYSS3_data p20 = new ODBSYSS3_data(); - internal ODBSYSS3_data p21 = new ODBSYSS3_data(); - internal ODBSYSS3_data p22 = new ODBSYSS3_data(); - internal ODBSYSS3_data p23 = new ODBSYSS3_data(); - internal ODBSYSS3_data p24 = new ODBSYSS3_data(); - internal ODBSYSS3_data p25 = new ODBSYSS3_data(); - internal ODBSYSS3_data p26 = new ODBSYSS3_data(); - internal ODBSYSS3_data p27 = new ODBSYSS3_data(); - internal ODBSYSS3_data p28 = new ODBSYSS3_data(); - internal ODBSYSS3_data p29 = new ODBSYSS3_data(); - internal ODBSYSS3_data p30 = new ODBSYSS3_data(); - internal ODBSYSS3_data p31 = new ODBSYSS3_data(); - internal ODBSYSS3_data p32 = new ODBSYSS3_data(); - internal ODBSYSS3_data p33 = new ODBSYSS3_data(); - internal ODBSYSS3_data p34 = new ODBSYSS3_data(); - internal ODBSYSS3_data p35 = new ODBSYSS3_data(); - internal ODBSYSS3_data p36 = new ODBSYSS3_data(); - internal ODBSYSS3_data p37 = new ODBSYSS3_data(); - internal ODBSYSS3_data p38 = new ODBSYSS3_data(); - internal ODBSYSS3_data p39 = new ODBSYSS3_data(); - internal ODBSYSS3_data p40 = new ODBSYSS3_data(); - } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSYSS3 + { + internal ODBSYSS3_data p1 = new ODBSYSS3_data(); + internal ODBSYSS3_data p2 = new ODBSYSS3_data(); + internal ODBSYSS3_data p3 = new ODBSYSS3_data(); + internal ODBSYSS3_data p4 = new ODBSYSS3_data(); + internal ODBSYSS3_data p5 = new ODBSYSS3_data(); + internal ODBSYSS3_data p6 = new ODBSYSS3_data(); + internal ODBSYSS3_data p7 = new ODBSYSS3_data(); + internal ODBSYSS3_data p8 = new ODBSYSS3_data(); + internal ODBSYSS3_data p9 = new ODBSYSS3_data(); + internal ODBSYSS3_data p10 = new ODBSYSS3_data(); + internal ODBSYSS3_data p11 = new ODBSYSS3_data(); + internal ODBSYSS3_data p12 = new ODBSYSS3_data(); + internal ODBSYSS3_data p13 = new ODBSYSS3_data(); + internal ODBSYSS3_data p14 = new ODBSYSS3_data(); + internal ODBSYSS3_data p15 = new ODBSYSS3_data(); + internal ODBSYSS3_data p16 = new ODBSYSS3_data(); + internal ODBSYSS3_data p17 = new ODBSYSS3_data(); + internal ODBSYSS3_data p18 = new ODBSYSS3_data(); + internal ODBSYSS3_data p19 = new ODBSYSS3_data(); + internal ODBSYSS3_data p20 = new ODBSYSS3_data(); + internal ODBSYSS3_data p21 = new ODBSYSS3_data(); + internal ODBSYSS3_data p22 = new ODBSYSS3_data(); + internal ODBSYSS3_data p23 = new ODBSYSS3_data(); + internal ODBSYSS3_data p24 = new ODBSYSS3_data(); + internal ODBSYSS3_data p25 = new ODBSYSS3_data(); + internal ODBSYSS3_data p26 = new ODBSYSS3_data(); + internal ODBSYSS3_data p27 = new ODBSYSS3_data(); + internal ODBSYSS3_data p28 = new ODBSYSS3_data(); + internal ODBSYSS3_data p29 = new ODBSYSS3_data(); + internal ODBSYSS3_data p30 = new ODBSYSS3_data(); + internal ODBSYSS3_data p31 = new ODBSYSS3_data(); + internal ODBSYSS3_data p32 = new ODBSYSS3_data(); + internal ODBSYSS3_data p33 = new ODBSYSS3_data(); + internal ODBSYSS3_data p34 = new ODBSYSS3_data(); + internal ODBSYSS3_data p35 = new ODBSYSS3_data(); + internal ODBSYSS3_data p36 = new ODBSYSS3_data(); + internal ODBSYSS3_data p37 = new ODBSYSS3_data(); + internal ODBSYSS3_data p38 = new ODBSYSS3_data(); + internal ODBSYSS3_data p39 = new ODBSYSS3_data(); + internal ODBSYSS3_data p40 = new ODBSYSS3_data(); + } - /* cnc_rdsyshard:read CNC system hard info */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSYSH_data - { - internal uint id1; - internal uint id2; - internal short group_id; - internal short hard_id; - internal short hard_num; - internal short slot_no; - internal short id1_format; - internal short id2_format; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSYSH - { - internal ODBSYSH_data data1 = new ODBSYSH_data(); - internal ODBSYSH_data data2 = new ODBSYSH_data(); - internal ODBSYSH_data data3 = new ODBSYSH_data(); - internal ODBSYSH_data data4 = new ODBSYSH_data(); - internal ODBSYSH_data data5 = new ODBSYSH_data(); - internal ODBSYSH_data data6 = new ODBSYSH_data(); - internal ODBSYSH_data data7 = new ODBSYSH_data(); - internal ODBSYSH_data data8 = new ODBSYSH_data(); - internal ODBSYSH_data data9 = new ODBSYSH_data(); - internal ODBSYSH_data data10 = new ODBSYSH_data(); - internal ODBSYSH_data data11 = new ODBSYSH_data(); - internal ODBSYSH_data data12 = new ODBSYSH_data(); - internal ODBSYSH_data data13 = new ODBSYSH_data(); - internal ODBSYSH_data data14 = new ODBSYSH_data(); - internal ODBSYSH_data data15 = new ODBSYSH_data(); - internal ODBSYSH_data data16 = new ODBSYSH_data(); - internal ODBSYSH_data data17 = new ODBSYSH_data(); - internal ODBSYSH_data data18 = new ODBSYSH_data(); - internal ODBSYSH_data data19 = new ODBSYSH_data(); - internal ODBSYSH_data data20 = new ODBSYSH_data(); - internal ODBSYSH_data data21 = new ODBSYSH_data(); - internal ODBSYSH_data data22 = new ODBSYSH_data(); - internal ODBSYSH_data data23 = new ODBSYSH_data(); - internal ODBSYSH_data data24 = new ODBSYSH_data(); - internal ODBSYSH_data data25 = new ODBSYSH_data(); - } + /* cnc_rdsyshard:read CNC system hard info */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSYSH_data + { + internal uint id1; + internal uint id2; + internal short group_id; + internal short hard_id; + internal short hard_num; + internal short slot_no; + internal short id1_format; + internal short id2_format; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSYSH + { + internal ODBSYSH_data data1 = new ODBSYSH_data(); + internal ODBSYSH_data data2 = new ODBSYSH_data(); + internal ODBSYSH_data data3 = new ODBSYSH_data(); + internal ODBSYSH_data data4 = new ODBSYSH_data(); + internal ODBSYSH_data data5 = new ODBSYSH_data(); + internal ODBSYSH_data data6 = new ODBSYSH_data(); + internal ODBSYSH_data data7 = new ODBSYSH_data(); + internal ODBSYSH_data data8 = new ODBSYSH_data(); + internal ODBSYSH_data data9 = new ODBSYSH_data(); + internal ODBSYSH_data data10 = new ODBSYSH_data(); + internal ODBSYSH_data data11 = new ODBSYSH_data(); + internal ODBSYSH_data data12 = new ODBSYSH_data(); + internal ODBSYSH_data data13 = new ODBSYSH_data(); + internal ODBSYSH_data data14 = new ODBSYSH_data(); + internal ODBSYSH_data data15 = new ODBSYSH_data(); + internal ODBSYSH_data data16 = new ODBSYSH_data(); + internal ODBSYSH_data data17 = new ODBSYSH_data(); + internal ODBSYSH_data data18 = new ODBSYSH_data(); + internal ODBSYSH_data data19 = new ODBSYSH_data(); + internal ODBSYSH_data data20 = new ODBSYSH_data(); + internal ODBSYSH_data data21 = new ODBSYSH_data(); + internal ODBSYSH_data data22 = new ODBSYSH_data(); + internal ODBSYSH_data data23 = new ODBSYSH_data(); + internal ODBSYSH_data data24 = new ODBSYSH_data(); + internal ODBSYSH_data data25 = new ODBSYSH_data(); + } - /* cnc_rdmdlconfig:read CNC module configuration information */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBMDLC - { - internal short from; - internal short dram; - internal short sram; - internal short pmc; - internal short crtc; - internal short servo12; - internal short servo34; - internal short servo56; - internal short servo78; - internal short sic; - internal short pos_lsi; - internal short hi_aio; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] - internal short[] reserve; - internal short drmmrc; - internal short drmarc; - internal short pmcmrc; - internal short dmaarc; - internal short iopt; - internal short hdiio; - internal short gm2gr1; - internal short crtgr2; - internal short gm1gr2; - internal short gm2gr2; - internal short cmmrb; - internal short sv5axs; - internal short sv7axs; - internal short sicaxs; - internal short posaxs; - internal short hamaxs; - internal short romr64; - internal short srmr64; - internal short dr1r64; - internal short dr2r64; - internal short iopio2; - internal short hdiio2; - internal short cmmrb2; - internal short romfap; - internal short srmfap; - internal short drmfap; - internal short drmare; - internal short pmcmre; - internal short dmaare; - internal short frmbgg; - internal short drmbgg; - internal short asrbgg; - internal short edtpsc; - internal short slcpsc; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 34)] - internal short[] reserve2; - } + /* cnc_rdmdlconfig:read CNC module configuration information */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBMDLC + { + internal short from; + internal short dram; + internal short sram; + internal short pmc; + internal short crtc; + internal short servo12; + internal short servo34; + internal short servo56; + internal short servo78; + internal short sic; + internal short pos_lsi; + internal short hi_aio; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] + internal short[] reserve; + internal short drmmrc; + internal short drmarc; + internal short pmcmrc; + internal short dmaarc; + internal short iopt; + internal short hdiio; + internal short gm2gr1; + internal short crtgr2; + internal short gm1gr2; + internal short gm2gr2; + internal short cmmrb; + internal short sv5axs; + internal short sv7axs; + internal short sicaxs; + internal short posaxs; + internal short hamaxs; + internal short romr64; + internal short srmr64; + internal short dr1r64; + internal short dr2r64; + internal short iopio2; + internal short hdiio2; + internal short cmmrb2; + internal short romfap; + internal short srmfap; + internal short drmfap; + internal short drmare; + internal short pmcmre; + internal short dmaare; + internal short frmbgg; + internal short drmbgg; + internal short asrbgg; + internal short edtpsc; + internal short slcpsc; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 34)] + internal short[] reserve2; + } - /* cnc_rdpscdproc:read processing condition file (processing data) */ - /* cnc_wrpscdproc:write processing condition file (processing data) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPSCD_data - { - internal short slct; - internal int feed; - internal short power; - internal short freq; - internal short duty; - internal short g_press; - internal short g_kind; - internal short g_ready_t; - internal short displace; - internal int supple; - internal short edge_slt; - internal short appr_slt; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] - internal short[] reserve = new short[5]; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPSCD - { - internal IODBPSCD_data data1 = new IODBPSCD_data(); - internal IODBPSCD_data data2 = new IODBPSCD_data(); - internal IODBPSCD_data data3 = new IODBPSCD_data(); - internal IODBPSCD_data data4 = new IODBPSCD_data(); - internal IODBPSCD_data data5 = new IODBPSCD_data(); - internal IODBPSCD_data data6 = new IODBPSCD_data(); - internal IODBPSCD_data data7 = new IODBPSCD_data(); - internal IODBPSCD_data data8 = new IODBPSCD_data(); - internal IODBPSCD_data data9 = new IODBPSCD_data(); - internal IODBPSCD_data data10 = new IODBPSCD_data(); - } /* In case that the number of data is 10 */ + /* cnc_rdpscdproc:read processing condition file (processing data) */ + /* cnc_wrpscdproc:write processing condition file (processing data) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPSCD_data + { + internal short slct; + internal int feed; + internal short power; + internal short freq; + internal short duty; + internal short g_press; + internal short g_kind; + internal short g_ready_t; + internal short displace; + internal int supple; + internal short edge_slt; + internal short appr_slt; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] + internal short[] reserve = new short[5]; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPSCD + { + internal IODBPSCD_data data1 = new IODBPSCD_data(); + internal IODBPSCD_data data2 = new IODBPSCD_data(); + internal IODBPSCD_data data3 = new IODBPSCD_data(); + internal IODBPSCD_data data4 = new IODBPSCD_data(); + internal IODBPSCD_data data5 = new IODBPSCD_data(); + internal IODBPSCD_data data6 = new IODBPSCD_data(); + internal IODBPSCD_data data7 = new IODBPSCD_data(); + internal IODBPSCD_data data8 = new IODBPSCD_data(); + internal IODBPSCD_data data9 = new IODBPSCD_data(); + internal IODBPSCD_data data10 = new IODBPSCD_data(); + } /* In case that the number of data is 10 */ - /* cnc_rdpscdpirc:read processing condition file (piercing data) */ - /* cnc_wrpscdpirc:write processing condition file (piercing data) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPIRC_data - { - internal short slct; - internal short power; - internal short freq; - internal short duty; - internal short i_freq; - internal short i_duty; - internal short step_t; - internal short step_sum; - internal int pier_t; - internal short g_press; - internal short g_kind; - internal short g_time; - internal short def_pos; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] - internal short[] reserve = new short[4]; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPIRC - { - internal IODBPIRC_data data1 = new IODBPIRC_data(); - internal IODBPIRC_data data2 = new IODBPIRC_data(); - internal IODBPIRC_data data3 = new IODBPIRC_data(); - } + /* cnc_rdpscdpirc:read processing condition file (piercing data) */ + /* cnc_wrpscdpirc:write processing condition file (piercing data) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPIRC_data + { + internal short slct; + internal short power; + internal short freq; + internal short duty; + internal short i_freq; + internal short i_duty; + internal short step_t; + internal short step_sum; + internal int pier_t; + internal short g_press; + internal short g_kind; + internal short g_time; + internal short def_pos; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] + internal short[] reserve = new short[4]; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPIRC + { + internal IODBPIRC_data data1 = new IODBPIRC_data(); + internal IODBPIRC_data data2 = new IODBPIRC_data(); + internal IODBPIRC_data data3 = new IODBPIRC_data(); + } - /* cnc_rdpscdedge:read processing condition file (edging data) */ - /* cnc_wrpscdedge:write processing condition file (edging data) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBEDGE_data - { - internal short slct; - internal short angle; - internal short power; - internal short freq; - internal short duty; - internal int pier_t; - internal short g_press; - internal short g_kind; - internal int r_len; - internal short r_feed; - internal short r_freq; - internal short r_duty; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] - internal short[] reserve = new short[5]; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBEDGE - { - internal IODBEDGE_data data1 = new IODBEDGE_data(); - internal IODBEDGE_data data2 = new IODBEDGE_data(); - internal IODBEDGE_data data3 = new IODBEDGE_data(); - internal IODBEDGE_data data4 = new IODBEDGE_data(); - internal IODBEDGE_data data5 = new IODBEDGE_data(); - } + /* cnc_rdpscdedge:read processing condition file (edging data) */ + /* cnc_wrpscdedge:write processing condition file (edging data) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBEDGE_data + { + internal short slct; + internal short angle; + internal short power; + internal short freq; + internal short duty; + internal int pier_t; + internal short g_press; + internal short g_kind; + internal int r_len; + internal short r_feed; + internal short r_freq; + internal short r_duty; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] + internal short[] reserve = new short[5]; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBEDGE + { + internal IODBEDGE_data data1 = new IODBEDGE_data(); + internal IODBEDGE_data data2 = new IODBEDGE_data(); + internal IODBEDGE_data data3 = new IODBEDGE_data(); + internal IODBEDGE_data data4 = new IODBEDGE_data(); + internal IODBEDGE_data data5 = new IODBEDGE_data(); + } - /* cnc_rdpscdslop:read processing condition file (slope data) */ - /* cnc_wrpscdslop:write processing condition file (slope data) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSLOP_data - { - internal int slct; - internal int upleng; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] - internal short[] upsp = new short[10]; - internal int dwleng; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] - internal short[] dwsp = new short[10]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] - internal short[] reserve = new short[10]; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSLOP - { - internal IODBSLOP_data data1 = new IODBSLOP_data(); - internal IODBSLOP_data data2 = new IODBSLOP_data(); - internal IODBSLOP_data data3 = new IODBSLOP_data(); - internal IODBSLOP_data data4 = new IODBSLOP_data(); - internal IODBSLOP_data data5 = new IODBSLOP_data(); - } + /* cnc_rdpscdslop:read processing condition file (slope data) */ + /* cnc_wrpscdslop:write processing condition file (slope data) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSLOP_data + { + internal int slct; + internal int upleng; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal short[] upsp = new short[10]; + internal int dwleng; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal short[] dwsp = new short[10]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal short[] reserve = new short[10]; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSLOP + { + internal IODBSLOP_data data1 = new IODBSLOP_data(); + internal IODBSLOP_data data2 = new IODBSLOP_data(); + internal IODBSLOP_data data3 = new IODBSLOP_data(); + internal IODBSLOP_data data4 = new IODBSLOP_data(); + internal IODBSLOP_data data5 = new IODBSLOP_data(); + } - /* cnc_rdlpwrdty:read power controll duty data */ - /* cnc_wrlpwrdty:write power controll duty data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBLPWDT - { - internal short slct; - internal short dty_const; - internal short dty_min; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] - internal short[] reserve = new short[6]; - } + /* cnc_rdlpwrdty:read power controll duty data */ + /* cnc_wrlpwrdty:write power controll duty data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBLPWDT + { + internal short slct; + internal short dty_const; + internal short dty_min; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] + internal short[] reserve = new short[6]; + } - /* cnc_rdlpwrdat:read laser power data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBLOPDT - { - internal short slct; - internal short pwr_mon; - internal short pwr_ofs; - internal short pwr_act; - internal int feed_act; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] - internal short[] reserve; - } + /* cnc_rdlpwrdat:read laser power data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBLOPDT + { + internal short slct; + internal short pwr_mon; + internal short pwr_ofs; + internal short pwr_act; + internal int feed_act; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] + internal short[] reserve; + } - /* cnc_rdlagslt:read laser assist gas selection */ - /* cnc_wrlagslt:write laser assist gas selection */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBLAGSL - { - internal short slct; - internal short ag_slt; - internal short agflow_slt; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] - internal short[] reserve = new short[6]; - } + /* cnc_rdlagslt:read laser assist gas selection */ + /* cnc_wrlagslt:write laser assist gas selection */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBLAGSL + { + internal short slct; + internal short ag_slt; + internal short agflow_slt; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] + internal short[] reserve = new short[6]; + } - /* cnc_rdlagst:read laser assist gas flow */ - /* cnc_wrlagst:write laser assist gas flow */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class GASFLOW - { - internal short slct; - internal short pre_time; - internal short pre_press; - internal short proc_press; - internal short end_time; - internal short end_press; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] - internal short[] reserve = new short[3]; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBLAGST - { - internal GASFLOW data1 = new GASFLOW(); - internal GASFLOW data2 = new GASFLOW(); - internal GASFLOW data3 = new GASFLOW(); - } + /* cnc_rdlagst:read laser assist gas flow */ + /* cnc_wrlagst:write laser assist gas flow */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class GASFLOW + { + internal short slct; + internal short pre_time; + internal short pre_press; + internal short proc_press; + internal short end_time; + internal short end_press; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] + internal short[] reserve = new short[3]; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBLAGST + { + internal GASFLOW data1 = new GASFLOW(); + internal GASFLOW data2 = new GASFLOW(); + internal GASFLOW data3 = new GASFLOW(); + } - /* cnc_rdledgprc:read laser power for edge processing */ - /* cnc_wrledgprc:write laser power for edge processing */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBLEGPR - { - internal short slct; - internal short power; - internal short freq; - internal short duty; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] - internal short[] reserve = new short[5]; - } + /* cnc_rdledgprc:read laser power for edge processing */ + /* cnc_wrledgprc:write laser power for edge processing */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBLEGPR + { + internal short slct; + internal short power; + internal short freq; + internal short duty; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] + internal short[] reserve = new short[5]; + } - /* cnc_rdlprcprc:read laser power for piercing */ - /* cnc_wrlprcprc:write laser power for piercing */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBLPCPR - { - internal short slct; - internal short power; - internal short freq; - internal short duty; - internal int time; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] - internal short[] reserve = new short[4]; - } + /* cnc_rdlprcprc:read laser power for piercing */ + /* cnc_wrlprcprc:write laser power for piercing */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBLPCPR + { + internal short slct; + internal short power; + internal short freq; + internal short duty; + internal int time; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] + internal short[] reserve = new short[4]; + } - /* cnc_rdlcmddat:read laser command data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBLCMDT - { - internal short slct; - internal int feed; - internal short power; - internal short freq; - internal short duty; - internal short g_kind; - internal short g_ready_t; - internal short g_press; - internal short error; - internal int dsplc; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)] - internal short[] reserve = new short[7]; - } + /* cnc_rdlcmddat:read laser command data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBLCMDT + { + internal short slct; + internal int feed; + internal short power; + internal short freq; + internal short duty; + internal short g_kind; + internal short g_ready_t; + internal short g_press; + internal short error; + internal int dsplc; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)] + internal short[] reserve = new short[7]; + } - /* cnc_rdlactnum:read active number */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBLACTN - { - internal short slct; - internal short act_proc; - internal short act_pirce; - internal short act_slop; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] - internal short[] reserve = new short[5]; - } + /* cnc_rdlactnum:read active number */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBLACTN + { + internal short slct; + internal short act_proc; + internal short act_pirce; + internal short act_slop; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] + internal short[] reserve = new short[5]; + } - /* cnc_rdlcmmt:read laser comment */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBLCMMT - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 25)] - internal string comment = new string(' ', 25); - } + /* cnc_rdlcmmt:read laser comment */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBLCMMT + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 25)] + internal string comment = new string(' ', 25); + } - /* cnc_rdpwofsthis:read power correction factor history data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPWOFST_data - { - internal int pwratio; - internal int rfvolt; - internal ushort year; - internal ushort month; - internal ushort day; - internal ushort hour; - internal ushort minute; - internal ushort second; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPWOFST - { - internal ODBPWOFST_data data1 = new ODBPWOFST_data(); - internal ODBPWOFST_data data2 = new ODBPWOFST_data(); - internal ODBPWOFST_data data3 = new ODBPWOFST_data(); - internal ODBPWOFST_data data4 = new ODBPWOFST_data(); - internal ODBPWOFST_data data5 = new ODBPWOFST_data(); - internal ODBPWOFST_data data6 = new ODBPWOFST_data(); - internal ODBPWOFST_data data7 = new ODBPWOFST_data(); - internal ODBPWOFST_data data8 = new ODBPWOFST_data(); - internal ODBPWOFST_data data9 = new ODBPWOFST_data(); - internal ODBPWOFST_data data10 = new ODBPWOFST_data(); - internal ODBPWOFST_data data11 = new ODBPWOFST_data(); - internal ODBPWOFST_data data12 = new ODBPWOFST_data(); - internal ODBPWOFST_data data13 = new ODBPWOFST_data(); - internal ODBPWOFST_data data14 = new ODBPWOFST_data(); - internal ODBPWOFST_data data15 = new ODBPWOFST_data(); - internal ODBPWOFST_data data16 = new ODBPWOFST_data(); - internal ODBPWOFST_data data17 = new ODBPWOFST_data(); - internal ODBPWOFST_data data18 = new ODBPWOFST_data(); - internal ODBPWOFST_data data19 = new ODBPWOFST_data(); - internal ODBPWOFST_data data20 = new ODBPWOFST_data(); - internal ODBPWOFST_data data21 = new ODBPWOFST_data(); - internal ODBPWOFST_data data22 = new ODBPWOFST_data(); - internal ODBPWOFST_data data23 = new ODBPWOFST_data(); - internal ODBPWOFST_data data24 = new ODBPWOFST_data(); - internal ODBPWOFST_data data25 = new ODBPWOFST_data(); - internal ODBPWOFST_data data26 = new ODBPWOFST_data(); - internal ODBPWOFST_data data27 = new ODBPWOFST_data(); - internal ODBPWOFST_data data28 = new ODBPWOFST_data(); - internal ODBPWOFST_data data29 = new ODBPWOFST_data(); - internal ODBPWOFST_data data30 = new ODBPWOFST_data(); - } + /* cnc_rdpwofsthis:read power correction factor history data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPWOFST_data + { + internal int pwratio; + internal int rfvolt; + internal ushort year; + internal ushort month; + internal ushort day; + internal ushort hour; + internal ushort minute; + internal ushort second; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPWOFST + { + internal ODBPWOFST_data data1 = new ODBPWOFST_data(); + internal ODBPWOFST_data data2 = new ODBPWOFST_data(); + internal ODBPWOFST_data data3 = new ODBPWOFST_data(); + internal ODBPWOFST_data data4 = new ODBPWOFST_data(); + internal ODBPWOFST_data data5 = new ODBPWOFST_data(); + internal ODBPWOFST_data data6 = new ODBPWOFST_data(); + internal ODBPWOFST_data data7 = new ODBPWOFST_data(); + internal ODBPWOFST_data data8 = new ODBPWOFST_data(); + internal ODBPWOFST_data data9 = new ODBPWOFST_data(); + internal ODBPWOFST_data data10 = new ODBPWOFST_data(); + internal ODBPWOFST_data data11 = new ODBPWOFST_data(); + internal ODBPWOFST_data data12 = new ODBPWOFST_data(); + internal ODBPWOFST_data data13 = new ODBPWOFST_data(); + internal ODBPWOFST_data data14 = new ODBPWOFST_data(); + internal ODBPWOFST_data data15 = new ODBPWOFST_data(); + internal ODBPWOFST_data data16 = new ODBPWOFST_data(); + internal ODBPWOFST_data data17 = new ODBPWOFST_data(); + internal ODBPWOFST_data data18 = new ODBPWOFST_data(); + internal ODBPWOFST_data data19 = new ODBPWOFST_data(); + internal ODBPWOFST_data data20 = new ODBPWOFST_data(); + internal ODBPWOFST_data data21 = new ODBPWOFST_data(); + internal ODBPWOFST_data data22 = new ODBPWOFST_data(); + internal ODBPWOFST_data data23 = new ODBPWOFST_data(); + internal ODBPWOFST_data data24 = new ODBPWOFST_data(); + internal ODBPWOFST_data data25 = new ODBPWOFST_data(); + internal ODBPWOFST_data data26 = new ODBPWOFST_data(); + internal ODBPWOFST_data data27 = new ODBPWOFST_data(); + internal ODBPWOFST_data data28 = new ODBPWOFST_data(); + internal ODBPWOFST_data data29 = new ODBPWOFST_data(); + internal ODBPWOFST_data data30 = new ODBPWOFST_data(); + } - /* cnc_rdmngtime:read management time */ - /* cnc_wrmngtime:write management time */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBMNGTIME_data - { - internal uint life; - internal uint total; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBMNGTIME - { - internal IODBMNGTIME_data data1 = new IODBMNGTIME_data(); - internal IODBMNGTIME_data data2 = new IODBMNGTIME_data(); - internal IODBMNGTIME_data data3 = new IODBMNGTIME_data(); - internal IODBMNGTIME_data data4 = new IODBMNGTIME_data(); - internal IODBMNGTIME_data data5 = new IODBMNGTIME_data(); - internal IODBMNGTIME_data data6 = new IODBMNGTIME_data(); - internal IODBMNGTIME_data data7 = new IODBMNGTIME_data(); - internal IODBMNGTIME_data data8 = new IODBMNGTIME_data(); - internal IODBMNGTIME_data data9 = new IODBMNGTIME_data(); - internal IODBMNGTIME_data data10 = new IODBMNGTIME_data(); - } /* In case that the number of data is 10 */ + /* cnc_rdmngtime:read management time */ + /* cnc_wrmngtime:write management time */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBMNGTIME_data + { + internal uint life; + internal uint total; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBMNGTIME + { + internal IODBMNGTIME_data data1 = new IODBMNGTIME_data(); + internal IODBMNGTIME_data data2 = new IODBMNGTIME_data(); + internal IODBMNGTIME_data data3 = new IODBMNGTIME_data(); + internal IODBMNGTIME_data data4 = new IODBMNGTIME_data(); + internal IODBMNGTIME_data data5 = new IODBMNGTIME_data(); + internal IODBMNGTIME_data data6 = new IODBMNGTIME_data(); + internal IODBMNGTIME_data data7 = new IODBMNGTIME_data(); + internal IODBMNGTIME_data data8 = new IODBMNGTIME_data(); + internal IODBMNGTIME_data data9 = new IODBMNGTIME_data(); + internal IODBMNGTIME_data data10 = new IODBMNGTIME_data(); + } /* In case that the number of data is 10 */ - /* cnc_rddischarge:read data related to electrical discharge at power correction ends */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDISCHRG - { - internal ushort aps; - internal ushort year; - internal ushort month; - internal ushort day; - internal ushort hour; - internal ushort minute; - internal ushort second; - internal short hpc; - internal short hfq; - internal short hdt; - internal short hpa; - internal int hce; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal int[] rfi; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal int[] rfv; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal int[] dci; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal int[] dcv; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal int[] dcw; - } + /* cnc_rddischarge:read data related to electrical discharge at power correction ends */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDISCHRG + { + internal ushort aps; + internal ushort year; + internal ushort month; + internal ushort day; + internal ushort hour; + internal ushort minute; + internal ushort second; + internal short hpc; + internal short hfq; + internal short hdt; + internal short hpa; + internal int hce; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal int[] rfi; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal int[] rfv; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal int[] dci; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal int[] dcv; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal int[] dcw; + } - /* cnc_rddischrgalm:read alarm history data related to electrical discharg */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDISCHRGALM_data - { - internal ushort year; - internal ushort month; - internal ushort day; - internal ushort hour; - internal ushort minute; - internal ushort second; - internal int almnum; - internal uint psec; - internal short hpc; - internal short hfq; - internal short hdt; - internal short hpa; - internal int hce; - internal ushort asq; - internal ushort psu; - internal ushort aps; - internal short dummy; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal int[] rfi; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal int[] rfv; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal int[] dci; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal int[] dcv; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal int[] dcw; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal short[] almcd; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBDISCHRGALM - { - internal ODBDISCHRGALM_data data1 = new ODBDISCHRGALM_data(); - internal ODBDISCHRGALM_data data2 = new ODBDISCHRGALM_data(); - internal ODBDISCHRGALM_data data3 = new ODBDISCHRGALM_data(); - internal ODBDISCHRGALM_data data4 = new ODBDISCHRGALM_data(); - internal ODBDISCHRGALM_data data5 = new ODBDISCHRGALM_data(); - } + /* cnc_rddischrgalm:read alarm history data related to electrical discharg */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDISCHRGALM_data + { + internal ushort year; + internal ushort month; + internal ushort day; + internal ushort hour; + internal ushort minute; + internal ushort second; + internal int almnum; + internal uint psec; + internal short hpc; + internal short hfq; + internal short hdt; + internal short hpa; + internal int hce; + internal ushort asq; + internal ushort psu; + internal ushort aps; + internal short dummy; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal int[] rfi; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal int[] rfv; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal int[] dci; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal int[] dcv; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal int[] dcw; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal short[] almcd; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBDISCHRGALM + { + internal ODBDISCHRGALM_data data1 = new ODBDISCHRGALM_data(); + internal ODBDISCHRGALM_data data2 = new ODBDISCHRGALM_data(); + internal ODBDISCHRGALM_data data3 = new ODBDISCHRGALM_data(); + internal ODBDISCHRGALM_data data4 = new ODBDISCHRGALM_data(); + internal ODBDISCHRGALM_data data5 = new ODBDISCHRGALM_data(); + } - /* cnc_gettimer:get date and time from cnc */ - /* cnc_settimer:set date and time for cnc */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal struct TIMER_DATE - { - internal short year; - internal short month; - internal short date; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal struct TIMER_TIME - { - internal short hour; - internal short minute; - internal short second; - } - [StructLayout(LayoutKind.Explicit)] - internal class IODBTIMER - { - [FieldOffset(0)] - internal short type; - [FieldOffset(2)] - internal short dummy; - [FieldOffset(4)] - internal TIMER_DATE date; - [FieldOffset(4)] - internal TIMER_TIME time; - } + /* cnc_gettimer:get date and time from cnc */ + /* cnc_settimer:set date and time for cnc */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal struct TIMER_DATE + { + internal short year; + internal short month; + internal short date; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal struct TIMER_TIME + { + internal short hour; + internal short minute; + internal short second; + } + [StructLayout(LayoutKind.Explicit)] + internal class IODBTIMER + { + [FieldOffset(0)] + internal short type; + [FieldOffset(2)] + internal short dummy; + [FieldOffset(4)] + internal TIMER_DATE date; + [FieldOffset(4)] + internal TIMER_TIME time; + } - /* cnc_rdtimer:read timer data from cnc */ - /* cnc_wrtimer:write timer data for cnc */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTIME - { - internal int minute; - internal int msec; - } + /* cnc_rdtimer:read timer data from cnc */ + /* cnc_wrtimer:write timer data for cnc */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTIME + { + internal int minute; + internal int msec; + } - /* cnc_rdtlctldata: read tool controll data */ - /* cnc_wrtlctldata: write tool controll data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLCTL - { - internal short slct; - internal short used_tool; - internal short turret_indx; - internal int zero_tl_no; - internal int t_axis_move; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal int[] total_punch = new int[2]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 11)] - internal short[] reserve = new short[11]; - } + /* cnc_rdtlctldata: read tool controll data */ + /* cnc_wrtlctldata: write tool controll data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLCTL + { + internal short slct; + internal short used_tool; + internal short turret_indx; + internal int zero_tl_no; + internal int t_axis_move; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal int[] total_punch = new int[2]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 11)] + internal short[] reserve = new short[11]; + } - /* cnc_rdtooldata: read tool data */ - /* cnc_wrtooldata: read tool data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLDT_data - { - internal short slct; - internal int tool_no; - internal int x_axis_ofs; - internal int y_axis_ofs; - internal int turret_pos; - internal int chg_tl_no; - internal int punch_count; - internal int tool_life; - internal int m_tl_radius; - internal int m_tl_angle; - internal byte tl_shape; - internal int tl_size_i; - internal int tl_size_j; - internal int tl_angle; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] - internal int[] reserve = new int[3]; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLDT - { - internal IODBTLDT_data data1 = new IODBTLDT_data(); - internal IODBTLDT_data data2 = new IODBTLDT_data(); - internal IODBTLDT_data data3 = new IODBTLDT_data(); - internal IODBTLDT_data data4 = new IODBTLDT_data(); - internal IODBTLDT_data data5 = new IODBTLDT_data(); - internal IODBTLDT_data data6 = new IODBTLDT_data(); - internal IODBTLDT_data data7 = new IODBTLDT_data(); - internal IODBTLDT_data data8 = new IODBTLDT_data(); - internal IODBTLDT_data data9 = new IODBTLDT_data(); - internal IODBTLDT_data data10 = new IODBTLDT_data(); - } /* In case that the number of data is 10 */ + /* cnc_rdtooldata: read tool data */ + /* cnc_wrtooldata: read tool data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLDT_data + { + internal short slct; + internal int tool_no; + internal int x_axis_ofs; + internal int y_axis_ofs; + internal int turret_pos; + internal int chg_tl_no; + internal int punch_count; + internal int tool_life; + internal int m_tl_radius; + internal int m_tl_angle; + internal byte tl_shape; + internal int tl_size_i; + internal int tl_size_j; + internal int tl_angle; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] + internal int[] reserve = new int[3]; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLDT + { + internal IODBTLDT_data data1 = new IODBTLDT_data(); + internal IODBTLDT_data data2 = new IODBTLDT_data(); + internal IODBTLDT_data data3 = new IODBTLDT_data(); + internal IODBTLDT_data data4 = new IODBTLDT_data(); + internal IODBTLDT_data data5 = new IODBTLDT_data(); + internal IODBTLDT_data data6 = new IODBTLDT_data(); + internal IODBTLDT_data data7 = new IODBTLDT_data(); + internal IODBTLDT_data data8 = new IODBTLDT_data(); + internal IODBTLDT_data data9 = new IODBTLDT_data(); + internal IODBTLDT_data data10 = new IODBTLDT_data(); + } /* In case that the number of data is 10 */ - /* cnc_rdmultitldt: read multi tool data */ - /* cnc_wrmultitldt: write multi tool data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBMLTTL_data - { - internal short slct; - internal short m_tl_no; - internal int m_tl_radius; - internal int m_tl_angle; - internal int x_axis_ofs; - internal int y_axis_ofs; - internal byte tl_shape; - internal int tl_size_i; - internal int tl_size_j; - internal int tl_angle; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)] - internal int[] reserve = new int[7]; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBMLTTL - { - internal IODBMLTTL_data data1 = new IODBMLTTL_data(); - internal IODBMLTTL_data data2 = new IODBMLTTL_data(); - internal IODBMLTTL_data data3 = new IODBMLTTL_data(); - internal IODBMLTTL_data data4 = new IODBMLTTL_data(); - internal IODBMLTTL_data data5 = new IODBMLTTL_data(); - internal IODBMLTTL_data data6 = new IODBMLTTL_data(); - internal IODBMLTTL_data data7 = new IODBMLTTL_data(); - internal IODBMLTTL_data data8 = new IODBMLTTL_data(); - internal IODBMLTTL_data data9 = new IODBMLTTL_data(); - internal IODBMLTTL_data data10 = new IODBMLTTL_data(); - } /* In case that the number of data is 10 */ + /* cnc_rdmultitldt: read multi tool data */ + /* cnc_wrmultitldt: write multi tool data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBMLTTL_data + { + internal short slct; + internal short m_tl_no; + internal int m_tl_radius; + internal int m_tl_angle; + internal int x_axis_ofs; + internal int y_axis_ofs; + internal byte tl_shape; + internal int tl_size_i; + internal int tl_size_j; + internal int tl_angle; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)] + internal int[] reserve = new int[7]; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBMLTTL + { + internal IODBMLTTL_data data1 = new IODBMLTTL_data(); + internal IODBMLTTL_data data2 = new IODBMLTTL_data(); + internal IODBMLTTL_data data3 = new IODBMLTTL_data(); + internal IODBMLTTL_data data4 = new IODBMLTTL_data(); + internal IODBMLTTL_data data5 = new IODBMLTTL_data(); + internal IODBMLTTL_data data6 = new IODBMLTTL_data(); + internal IODBMLTTL_data data7 = new IODBMLTTL_data(); + internal IODBMLTTL_data data8 = new IODBMLTTL_data(); + internal IODBMLTTL_data data9 = new IODBMLTTL_data(); + internal IODBMLTTL_data data10 = new IODBMLTTL_data(); + } /* In case that the number of data is 10 */ - /* cnc_rdmtapdata: read multi tap data */ - /* cnc_wrmtapdata: write multi tap data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBMTAP_data - { - internal short slct; - internal int tool_no; - internal int x_axis_ofs; - internal int y_axis_ofs; - internal int punch_count; - internal int tool_life; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 11)] - internal int[] reserve = new int[11]; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBMTAP - { - internal IODBMTAP_data data1 = new IODBMTAP_data(); - internal IODBMTAP_data data2 = new IODBMTAP_data(); - internal IODBMTAP_data data3 = new IODBMTAP_data(); - internal IODBMTAP_data data4 = new IODBMTAP_data(); - internal IODBMTAP_data data5 = new IODBMTAP_data(); - internal IODBMTAP_data data6 = new IODBMTAP_data(); - internal IODBMTAP_data data7 = new IODBMTAP_data(); - internal IODBMTAP_data data8 = new IODBMTAP_data(); - internal IODBMTAP_data data9 = new IODBMTAP_data(); - internal IODBMTAP_data data10 = new IODBMTAP_data(); - } + /* cnc_rdmtapdata: read multi tap data */ + /* cnc_wrmtapdata: write multi tap data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBMTAP_data + { + internal short slct; + internal int tool_no; + internal int x_axis_ofs; + internal int y_axis_ofs; + internal int punch_count; + internal int tool_life; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 11)] + internal int[] reserve = new int[11]; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBMTAP + { + internal IODBMTAP_data data1 = new IODBMTAP_data(); + internal IODBMTAP_data data2 = new IODBMTAP_data(); + internal IODBMTAP_data data3 = new IODBMTAP_data(); + internal IODBMTAP_data data4 = new IODBMTAP_data(); + internal IODBMTAP_data data5 = new IODBMTAP_data(); + internal IODBMTAP_data data6 = new IODBMTAP_data(); + internal IODBMTAP_data data7 = new IODBMTAP_data(); + internal IODBMTAP_data data8 = new IODBMTAP_data(); + internal IODBMTAP_data data9 = new IODBMTAP_data(); + internal IODBMTAP_data data10 = new IODBMTAP_data(); + } - /* cnc_rdtoolinfo: read tool information */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPTLINF - { - internal short tld_max; - internal short mlt_max; - internal short reserve; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal short[] tld_size; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal short[] mlt_size; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - internal short[] reserves; - } + /* cnc_rdtoolinfo: read tool information */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPTLINF + { + internal short tld_max; + internal short mlt_max; + internal short reserve; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal short[] tld_size; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal short[] mlt_size; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + internal short[] reserves; + } - /* cnc_rdsafetyzone: read safetyzone data */ - /* cnc_wrsafetyzone: write safetyzone data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSAFE_data - { - internal short slct; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] - internal int[] data = new int[3]; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSAFE - { - internal IODBSAFE_data data1 = new IODBSAFE_data(); - internal IODBSAFE_data data2 = new IODBSAFE_data(); - internal IODBSAFE_data data3 = new IODBSAFE_data(); - internal IODBSAFE_data data4 = new IODBSAFE_data(); - } /* In case that the number of data is 4 */ + /* cnc_rdsafetyzone: read safetyzone data */ + /* cnc_wrsafetyzone: write safetyzone data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSAFE_data + { + internal short slct; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] + internal int[] data = new int[3]; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSAFE + { + internal IODBSAFE_data data1 = new IODBSAFE_data(); + internal IODBSAFE_data data2 = new IODBSAFE_data(); + internal IODBSAFE_data data3 = new IODBSAFE_data(); + internal IODBSAFE_data data4 = new IODBSAFE_data(); + } /* In case that the number of data is 4 */ - /* cnc_rdtoolzone: read toolzone data */ - /* cnc_wrtoolzone: write toolzone data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLZN_data - { - internal short slct; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal int[] data = new int[12]; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBTLZN - { - internal IODBTLZN_data data1 = new IODBTLZN_data(); - internal IODBTLZN_data data2 = new IODBTLZN_data(); - internal IODBTLZN_data data3 = new IODBTLZN_data(); - internal IODBTLZN_data data4 = new IODBTLZN_data(); - internal IODBTLZN_data data5 = new IODBTLZN_data(); - internal IODBTLZN_data data6 = new IODBTLZN_data(); - internal IODBTLZN_data data7 = new IODBTLZN_data(); - internal IODBTLZN_data data8 = new IODBTLZN_data(); - internal IODBTLZN_data data9 = new IODBTLZN_data(); - internal IODBTLZN_data data10 = new IODBTLZN_data(); - internal IODBTLZN_data data11 = new IODBTLZN_data(); - internal IODBTLZN_data data12 = new IODBTLZN_data(); - } /* In case that the number of data is 12 */ + /* cnc_rdtoolzone: read toolzone data */ + /* cnc_wrtoolzone: write toolzone data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLZN_data + { + internal short slct; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal int[] data = new int[12]; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBTLZN + { + internal IODBTLZN_data data1 = new IODBTLZN_data(); + internal IODBTLZN_data data2 = new IODBTLZN_data(); + internal IODBTLZN_data data3 = new IODBTLZN_data(); + internal IODBTLZN_data data4 = new IODBTLZN_data(); + internal IODBTLZN_data data5 = new IODBTLZN_data(); + internal IODBTLZN_data data6 = new IODBTLZN_data(); + internal IODBTLZN_data data7 = new IODBTLZN_data(); + internal IODBTLZN_data data8 = new IODBTLZN_data(); + internal IODBTLZN_data data9 = new IODBTLZN_data(); + internal IODBTLZN_data data10 = new IODBTLZN_data(); + internal IODBTLZN_data data11 = new IODBTLZN_data(); + internal IODBTLZN_data data12 = new IODBTLZN_data(); + } /* In case that the number of data is 12 */ - /* cnc_rdacttlzone: read active toolzone data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBACTTLZN - { - internal short act_no; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal int[] data; - } + /* cnc_rdacttlzone: read active toolzone data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBACTTLZN + { + internal short act_no; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal int[] data; + } - /* cnc_rdbrstrinfo:read block restart information */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBBRS - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] dest; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] dist; - } /* In case that the number of axes is MAX_AXIS */ + /* cnc_rdbrstrinfo:read block restart information */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBBRS + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] dest; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] dist; + } /* In case that the number of axes is MAX_AXIS */ - /* cnc_rdradofs:read tool radius offset for position data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBROFS - { - internal short mode; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal short[] pln_axes; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal int[] ofsvct; - } + /* cnc_rdradofs:read tool radius offset for position data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBROFS + { + internal short mode; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal short[] pln_axes; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal int[] ofsvct; + } - /* cnc_rdlenofs:read tool length offset for position data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBLOFS - { - internal short mode; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] ofsvct; - } /* In case that the number of axes is MAX_AXIS */ + /* cnc_rdlenofs:read tool length offset for position data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBLOFS + { + internal short mode; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] ofsvct; + } /* In case that the number of axes is MAX_AXIS */ - /* cnc_rdfixcycle:read fixed cycle for position data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBFIX - { - internal short mode; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal short[] pln_axes; - internal short drl_axes; - internal int i_pos; - internal int r_pos; - internal int z_pos; - internal int cmd_cnt; - internal int act_cnt; - internal int cut; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal int[] shift; - } + /* cnc_rdfixcycle:read fixed cycle for position data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBFIX + { + internal short mode; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal short[] pln_axes; + internal short drl_axes; + internal int i_pos; + internal int r_pos; + internal int z_pos; + internal int cmd_cnt; + internal int act_cnt; + internal int cut; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal int[] shift; + } - /* cnc_rdcdrotate:read coordinate rotate for position data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBROT - { - internal short mode; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal short[] pln_axes; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal int[] center; - internal int angle; - } + /* cnc_rdcdrotate:read coordinate rotate for position data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBROT + { + internal short mode; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal short[] pln_axes; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal int[] center; + internal int angle; + } - /* cnc_rd3dcdcnv:read 3D coordinate convert for position data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODB3DCD - { - internal short mode; - internal short dno; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] - internal short[] cd_axes; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2 * 3)] - internal int[] center; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2 * 3)] - internal int[] direct; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] - internal int[] angle; - } + /* cnc_rd3dcdcnv:read 3D coordinate convert for position data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODB3DCD + { + internal short mode; + internal short dno; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] + internal short[] cd_axes; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2 * 3)] + internal int[] center; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2 * 3)] + internal int[] direct; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] + internal int[] angle; + } - /* cnc_rdmirimage:read programable mirror image for position data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBMIR - { - internal short mode; - internal int mir_flag; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] mir_pos; - } /* In case that the number of axes is MAX_AXIS */ + /* cnc_rdmirimage:read programable mirror image for position data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBMIR + { + internal short mode; + internal int mir_flag; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] mir_pos; + } /* In case that the number of axes is MAX_AXIS */ - /* cnc_rdscaling:read scaling data for position data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSCL - { - internal short mode; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] center; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] magnif; - } /* In case that the number of axes is MAX_AXIS */ + /* cnc_rdscaling:read scaling data for position data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSCL + { + internal short mode; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] center; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] magnif; + } /* In case that the number of axes is MAX_AXIS */ - /* cnc_rd3dtofs:read 3D tool offset for position data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODB3DTO - { - internal short mode; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] - internal short[] ofs_axes; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] - internal int[] ofsvct; - } + /* cnc_rd3dtofs:read 3D tool offset for position data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODB3DTO + { + internal short mode; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] + internal short[] ofs_axes; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] + internal int[] ofsvct; + } - /* cnc_rdposofs:read tool position offset for position data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPOFS - { - internal short mode; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal int[] ofsvct; - } /* In case that the number of axes is MAX_AXIS */ + /* cnc_rdposofs:read tool position offset for position data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPOFS + { + internal short mode; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal int[] ofsvct; + } /* In case that the number of axes is MAX_AXIS */ - /* cnc_rdhpccset:read hpcc setting data */ - /* cnc_wrhpccset:write hpcc setting data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBHPST - { - internal short slct; - internal short hpcc; - internal short multi; - internal short ovr1; - internal short ign_f; - internal short foward; - internal int max_f; - internal short ovr2; - internal short ovr3; - internal short ovr4; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)] - internal int[] reserve = new int[7]; - } + /* cnc_rdhpccset:read hpcc setting data */ + /* cnc_wrhpccset:write hpcc setting data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBHPST + { + internal short slct; + internal short hpcc; + internal short multi; + internal short ovr1; + internal short ign_f; + internal short foward; + internal int max_f; + internal short ovr2; + internal short ovr3; + internal short ovr4; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)] + internal int[] reserve = new int[7]; + } - /* cnc_rdhpcctupr:read hpcc tuning data ( parameter input ) */ - /* cnc_wrhpcctupr:write hpcc tuning data ( parameter input ) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBHPPR_tune - { - internal short slct; - internal short diff; - internal short fine; - internal short acc_lv; - internal int max_f; - internal short bipl; - internal short aipl; - internal int corner; - internal short clamp; - internal int radius; - internal int max_cf; - internal int min_cf; - internal int foward; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] - internal int[] reserve = new int[5]; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBHPPR - { - internal IODBHPPR_tune tune1 = new IODBHPPR_tune(); - internal IODBHPPR_tune tune2 = new IODBHPPR_tune(); - internal IODBHPPR_tune tune3 = new IODBHPPR_tune(); - } + /* cnc_rdhpcctupr:read hpcc tuning data ( parameter input ) */ + /* cnc_wrhpcctupr:write hpcc tuning data ( parameter input ) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBHPPR_tune + { + internal short slct; + internal short diff; + internal short fine; + internal short acc_lv; + internal int max_f; + internal short bipl; + internal short aipl; + internal int corner; + internal short clamp; + internal int radius; + internal int max_cf; + internal int min_cf; + internal int foward; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] + internal int[] reserve = new int[5]; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBHPPR + { + internal IODBHPPR_tune tune1 = new IODBHPPR_tune(); + internal IODBHPPR_tune tune2 = new IODBHPPR_tune(); + internal IODBHPPR_tune tune3 = new IODBHPPR_tune(); + } - /* cnc_rdhpcctuac:read hpcc tuning data ( acc input ) */ - /* cnc_wrhpcctuac:write hpcc tuning data ( acc input ) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBHPAC_tune - { - internal short slct; - internal short diff; - internal short fine; - internal short acc_lv; - internal int bipl; - internal short aipl; - internal int corner; - internal int clamp; - internal int c_acc; - internal int foward; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal int[] reserve = new int[8]; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBHPAC - { - internal IODBHPAC_tune tune1 = new IODBHPAC_tune(); - internal IODBHPAC_tune tune2 = new IODBHPAC_tune(); - internal IODBHPAC_tune tune3 = new IODBHPAC_tune(); - } + /* cnc_rdhpcctuac:read hpcc tuning data ( acc input ) */ + /* cnc_wrhpcctuac:write hpcc tuning data ( acc input ) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBHPAC_tune + { + internal short slct; + internal short diff; + internal short fine; + internal short acc_lv; + internal int bipl; + internal short aipl; + internal int corner; + internal int clamp; + internal int c_acc; + internal int foward; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal int[] reserve = new int[8]; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBHPAC + { + internal IODBHPAC_tune tune1 = new IODBHPAC_tune(); + internal IODBHPAC_tune tune2 = new IODBHPAC_tune(); + internal IODBHPAC_tune tune3 = new IODBHPAC_tune(); + } - /* cnc_rd3dtooltip:read tip of tool for 3D handle */ - /* cnc_rd3dmovrlap:read move overrlap of tool for 3D handle */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODB3DHDL_data - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] - internal short[] axes; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] - internal int[] data; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODB3DHDL - { - internal ODB3DHDL_data data1 = new ODB3DHDL_data(); - internal ODB3DHDL_data data2 = new ODB3DHDL_data(); - } + /* cnc_rd3dtooltip:read tip of tool for 3D handle */ + /* cnc_rd3dmovrlap:read move overrlap of tool for 3D handle */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODB3DHDL_data + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] + internal short[] axes; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] + internal int[] data; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODB3DHDL + { + internal ODB3DHDL_data data1 = new ODB3DHDL_data(); + internal ODB3DHDL_data data2 = new ODB3DHDL_data(); + } - /* cnc_rd3dpulse:read pulse for 3D handle */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODB3DPLS_data - { - internal int right_angle_x; - internal int right_angle_y; - internal int tool_axis; - internal int tool_tip_a_b; - internal int tool_tip_c; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODB3DPLS - { - internal ODB3DPLS_data pls1 = new ODB3DPLS_data(); - internal ODB3DPLS_data pls2 = new ODB3DPLS_data(); - } + /* cnc_rd3dpulse:read pulse for 3D handle */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODB3DPLS_data + { + internal int right_angle_x; + internal int right_angle_y; + internal int tool_axis; + internal int tool_tip_a_b; + internal int tool_tip_c; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODB3DPLS + { + internal ODB3DPLS_data pls1 = new ODB3DPLS_data(); + internal ODB3DPLS_data pls2 = new ODB3DPLS_data(); + } - /* cnc_rdaxisname: read axis name */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBAXISNAME_data - { - internal byte name; /* axis name */ - internal byte suff; /* suffix */ - } + /* cnc_rdaxisname: read axis name */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBAXISNAME_data + { + internal byte name; /* axis name */ + internal byte suff; /* suffix */ + } #if FS30D - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBAXISNAME - { - internal ODBAXISNAME_data data1 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data2 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data3 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data4 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data5 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data6 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data7 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data8 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data9 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data10 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data11 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data12 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data13 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data14 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data15 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data16 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data17 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data18 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data19 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data20 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data21 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data22 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data23 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data24 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data25 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data26 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data27 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data28 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data29 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data30 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data31 = new ODBAXISNAME_data(); - internal ODBAXISNAME_data data32 = new ODBAXISNAME_data(); - } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBAXISNAME + { + internal ODBAXISNAME_data data1 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data2 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data3 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data4 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data5 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data6 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data7 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data8 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data9 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data10 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data11 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data12 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data13 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data14 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data15 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data16 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data17 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data18 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data19 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data20 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data21 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data22 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data23 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data24 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data25 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data26 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data27 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data28 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data29 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data30 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data31 = new ODBAXISNAME_data(); + internal ODBAXISNAME_data data32 = new ODBAXISNAME_data(); + } #elif M_AXIS2 [StructLayout(LayoutKind.Sequential,Pack=4)] internal class ODBAXISNAME @@ -7021,1361 +7021,1361 @@ internal class Focas1 } #endif - /* cnc_rdspdlname: read spindle name */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSPDLNAME_data - { - internal byte name; /* spindle name */ - internal byte suff1; /* suffix */ - internal byte suff2; /* suffix */ - internal byte suff3; /* suffix */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSPDLNAME - { - internal ODBSPDLNAME_data data1 = new ODBSPDLNAME_data(); - internal ODBSPDLNAME_data data2 = new ODBSPDLNAME_data(); - internal ODBSPDLNAME_data data3 = new ODBSPDLNAME_data(); - internal ODBSPDLNAME_data data4 = new ODBSPDLNAME_data(); - } - - /* cnc_exaxisname: read extended axis name */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBEXAXISNAME - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname1 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname2 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname3 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname4 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname5 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname6 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname7 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname8 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname9 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname10 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname11 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname12 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname13 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname14 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname15 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname16 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname17 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname18 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname19 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname20 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname21 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname22 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname23 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname24 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname25 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname26 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname27 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname28 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname29 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname30 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname31 = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string axname32 = new string(' ', 4); - } - - /* cnc_wrunsolicprm: Set the unsolicited message parameters */ - /* cnc_rdunsolicprm: Get the unsolicited message parameters */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal struct IODBUNSOLIC_pmc - { - internal short type; - internal short rdaddr; - internal short rdno; - internal short rdsize; - private int dummy; - } - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class IODBUNSOLIC - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string ipaddr = new string(' ', 16); - internal ushort port; - internal short reqaddr; - internal short pmcno; - internal short retry; - internal short timeout; - internal short alivetime; - internal short setno; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] - internal IODBUNSOLIC_pmc[] rddata = new IODBUNSOLIC_pmc[3]; - } - - /* cnc_wrunsolicprm2: Set the unsolicited message parameters(2) */ - /* cnc_rdunsolicprm2: Get the unsolicited message parameters(2) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal struct UNSOLICMSG_TYPE_PRM - { - internal ushort type; - private ushort dummy1; - internal ushort path; - internal short addr; - internal uint no; - internal uint num_or_size; - } - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class IODBUNSOLIC2 - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] - internal string ipaddr = new string(' ', 64); - internal uint port; - internal ushort retry; - internal ushort timeout; - internal ushort alivetime; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - private byte[] dummy1 = new byte[8]; - internal UNSOLICMSG_TYPE_PRM cntrl; - internal ushort transnum; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 14)] - private byte[] dummy2 = new byte[14]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] - internal UNSOLICMSG_TYPE_PRM[] trans = new UNSOLICMSG_TYPE_PRM[3]; - } - - /* cnc_rdunsolicmsg: Reads the unsolicited message data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal struct IDBUNSOLICMSG_msg - { - internal short rdsize; - internal IntPtr data; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IDBUNSOLICMSG - { - internal short getno; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] - internal IDBUNSOLICMSG_msg[] msg = new IDBUNSOLICMSG_msg[3]; - } - - /* cnc_rdunsolicmsg2: Reads the unsolicited message data(2) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal struct UNSOLICMSG_TYPE_MSG - { - internal ushort type; - private ushort dummy1; - internal ushort path; - private ushort dummy2; - internal int num_or_size; - internal IntPtr data; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IDBUNSOLICMSG2 - { - internal ushort getnum; - private ushort dummy; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] - internal UNSOLICMSG_TYPE_MSG[] get = new UNSOLICMSG_TYPE_MSG[3]; - } - - /* cnc_rdpm_cncitem: read cnc maintenance item */ - /* cnc_rdpm_mcnitem: read machine specific maintenance item */ - /* cnc_wrpm_mcnitem: write machine specific maintenance item */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBITEM - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] - internal string name1 = new string(' ', 62); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] - internal string name2 = new string(' ', 62); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] - internal string name3 = new string(' ', 62); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] - internal string name4 = new string(' ', 62); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] - internal string name5 = new string(' ', 62); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] - internal string name6 = new string(' ', 62); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] - internal string name7 = new string(' ', 62); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] - internal string name8 = new string(' ', 62); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] - internal string name9 = new string(' ', 62); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] - internal string name10 = new string(' ', 62); - } - - /* cnc_rdpm_item:read maintenance item status */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPMAINTE_data - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] - internal string name = new string(' ', 62); /* name */ - internal int type; /* life count type */ - internal int total; /* total life time (minite basis) */ - internal int remain; /* life rest time */ - internal int stat; /* life state */ - } - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPMAINTE - { - internal IODBPMAINTE_data data1 = new IODBPMAINTE_data(); - internal IODBPMAINTE_data data2 = new IODBPMAINTE_data(); - internal IODBPMAINTE_data data3 = new IODBPMAINTE_data(); - internal IODBPMAINTE_data data4 = new IODBPMAINTE_data(); - internal IODBPMAINTE_data data5 = new IODBPMAINTE_data(); - internal IODBPMAINTE_data data6 = new IODBPMAINTE_data(); - internal IODBPMAINTE_data data7 = new IODBPMAINTE_data(); - internal IODBPMAINTE_data data8 = new IODBPMAINTE_data(); - internal IODBPMAINTE_data data9 = new IODBPMAINTE_data(); - internal IODBPMAINTE_data data10 = new IODBPMAINTE_data(); - } - - /* cnc_sysinfo_ex:read CNC system path information */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSYSEX_path - { - internal short system; - internal short group; - internal short attrib; - internal short ctrl_axis; - internal short ctrl_srvo; - internal short ctrl_spdl; - internal short mchn_no; - internal short reserved; - } - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSYSEX_data - { - internal ODBSYSEX_path data1 = new ODBSYSEX_path(); - internal ODBSYSEX_path data2 = new ODBSYSEX_path(); - internal ODBSYSEX_path data3 = new ODBSYSEX_path(); - internal ODBSYSEX_path data4 = new ODBSYSEX_path(); - internal ODBSYSEX_path data5 = new ODBSYSEX_path(); - internal ODBSYSEX_path data6 = new ODBSYSEX_path(); - internal ODBSYSEX_path data7 = new ODBSYSEX_path(); - internal ODBSYSEX_path data8 = new ODBSYSEX_path(); - internal ODBSYSEX_path data9 = new ODBSYSEX_path(); - internal ODBSYSEX_path data10 = new ODBSYSEX_path(); - } - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSYSEX - { - internal short max_axis; - internal short max_spdl; - internal short max_path; - internal short max_mchn; - internal short ctrl_axis; - internal short ctrl_srvo; - internal short ctrl_spdl; - internal short ctrl_path; - internal short ctrl_mchn; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] - internal short[] reserved = new short[3]; - internal ODBSYSEX_data path = new ODBSYSEX_data(); - } - - /*------------------*/ - /* CNC : SERCOS I/F */ - /*------------------*/ - - /* cnc_srcsrdidinfo:Read ID information of SERCOS I/F */ - /* cnc_srcswridinfo:Write ID information of SERCOS I/F */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class IODBIDINF - { - internal int id_no; - internal short drv_no; - internal short acc_element; - internal short err_general; - internal short err_id_no; - internal short err_id_name; - internal short err_attr; - internal short err_unit; - internal short err_min_val; - internal short err_max_val; - internal short id_name_len; - internal short id_name_max; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 60)] - internal string id_name = new string(' ', 60); - internal int attr; - internal short unit_len; - internal short unit_max; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] - internal byte[] unit = new byte[12]; - internal int min_val; - internal int max_val; - } - - /* cnc_srcsrdexstat:Get execution status of reading/writing operation data of SERCOS I/F */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSRCSST - { - internal short acc_element; - internal short err_general; - internal short err_id_no; - internal short err_attr; - internal short err_op_data; - } - - /* cnc_srcsrdlayout:Read drive assign of SERCOS I/F */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBSRCSLYT - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] - internal short[] spndl; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal short[] servo; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)] - internal string axis_name = new string(' ', 8); - } - - /*----------------------------*/ - /* CNC : Servo Guide */ - /*----------------------------*/ - /* cnc_sdsetchnl:Servo Guide (Channel data set) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IDBCHAN_data - { - internal byte chno; - internal sbyte axis; - internal int datanum; - internal ushort datainf; - internal short dataadr; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IDBCHAN - { - internal IDBCHAN_data data1 = new IDBCHAN_data(); - internal IDBCHAN_data data2 = new IDBCHAN_data(); - internal IDBCHAN_data data3 = new IDBCHAN_data(); - internal IDBCHAN_data data4 = new IDBCHAN_data(); - internal IDBCHAN_data data5 = new IDBCHAN_data(); - internal IDBCHAN_data data6 = new IDBCHAN_data(); - internal IDBCHAN_data data7 = new IDBCHAN_data(); - internal IDBCHAN_data data8 = new IDBCHAN_data(); - } - - /* cnc_sdsetchnl:Servo Guide (read Sampling data) */ - /* cnc_sfbreadsmpl:Servo feedback data (read Sampling data) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSD - { - internal IntPtr chadata; - internal IntPtr count; - } - - /* cnc_sfbsetchnl:Servo feedback data (Channel data set) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IDBSFBCHAN - { - internal byte chno; - internal sbyte axis; - internal ushort shift; - } - - - /*-------------------------*/ - /* CNC : FS18-LN function */ - /*-------------------------*/ - - /* cnc_allowcnd:read allowanced state */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBCAXIS - { - internal short dummy; /* dummy */ - internal short type; /* axis number */ - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] - internal sbyte[] data; /* data value */ - } - - - /*---------------------------------*/ - /* CNC : C-EXE SRAM file function */ - /*---------------------------------*/ - - /* read C-EXE SRAM disk directory */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class CFILEINFO_data - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)] - internal string fname = new string(' ', 12); /* file name */ - internal int file_size; /* file size (bytes) */ - internal int file_attr; /* attribute */ - internal short year; /* year */ - internal short month; /* month */ - internal short day; /* day */ - internal short hour; /* hour */ - internal short minute; /* mimute */ - internal short second; /* second */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class CFILEINFO - { - internal CFILEINFO_data data1 = new CFILEINFO_data(); - internal CFILEINFO_data data2 = new CFILEINFO_data(); - internal CFILEINFO_data data3 = new CFILEINFO_data(); - internal CFILEINFO_data data4 = new CFILEINFO_data(); - internal CFILEINFO_data data5 = new CFILEINFO_data(); - internal CFILEINFO_data data6 = new CFILEINFO_data(); - internal CFILEINFO_data data7 = new CFILEINFO_data(); - internal CFILEINFO_data data8 = new CFILEINFO_data(); - internal CFILEINFO_data data9 = new CFILEINFO_data(); - internal CFILEINFO_data data10 = new CFILEINFO_data(); - } - - /*-----*/ - /* PMC */ - /*-----*/ - - /* pmc_rdpmcrng:read PMC data(area specified) */ - /* pmc_wrpmcrng:write PMC data(area specified) */ - [StructLayout(LayoutKind.Explicit)] - internal class IODBPMC0 - { - [FieldOffset(0)] - internal short type_a; /* PMC address type */ - [FieldOffset(2)] - internal short type_d; /* PMC data type */ - [FieldOffset(4)] - internal short datano_s; /* start PMC address */ - [FieldOffset(6)] - internal short datano_e; /* end PMC address */ - [FieldOffset(8), - MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)] - internal byte[] cdata; /* PMC data */ - } /* In case that the number of data is 5 */ - - [StructLayout(LayoutKind.Explicit)] - internal class IODBPMC1 - { - [FieldOffset(0)] - internal short type_a; /* PMC address type */ - [FieldOffset(2)] - internal short type_d; /* PMC data type */ - [FieldOffset(4)] - internal short datano_s; /* start PMC address */ - [FieldOffset(6)] - internal short datano_e; /* end PMC address */ - [FieldOffset(8), - MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)] - internal short[] idata; - } /* In case that the number of data is 5 */ - - [StructLayout(LayoutKind.Explicit)] - internal class IODBPMC2 - { - [FieldOffset(0)] - internal short type_a; /* PMC address type */ - [FieldOffset(2)] - internal short type_d; /* PMC data type */ - [FieldOffset(4)] - internal short datano_s; /* start PMC address */ - [FieldOffset(6)] - internal short datano_e; /* end PMC address */ - [FieldOffset(8), - MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)] - internal int[] ldata; - } /* In case that the number of data is 5 */ - - /* pmc_rdpmcinfo:read informations of PMC data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPMCINF_info - { - internal char pmc_adr; - internal byte adr_attr; - internal ushort top_num; - internal ushort last_num; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPMCINF1 - { - internal ODBPMCINF_info info1 = new ODBPMCINF_info(); - internal ODBPMCINF_info info2 = new ODBPMCINF_info(); - internal ODBPMCINF_info info3 = new ODBPMCINF_info(); - internal ODBPMCINF_info info4 = new ODBPMCINF_info(); - internal ODBPMCINF_info info5 = new ODBPMCINF_info(); - internal ODBPMCINF_info info6 = new ODBPMCINF_info(); - internal ODBPMCINF_info info7 = new ODBPMCINF_info(); - internal ODBPMCINF_info info8 = new ODBPMCINF_info(); - internal ODBPMCINF_info info9 = new ODBPMCINF_info(); - internal ODBPMCINF_info info10 = new ODBPMCINF_info(); - internal ODBPMCINF_info info11 = new ODBPMCINF_info(); - internal ODBPMCINF_info info12 = new ODBPMCINF_info(); - internal ODBPMCINF_info info13 = new ODBPMCINF_info(); - internal ODBPMCINF_info info14 = new ODBPMCINF_info(); - internal ODBPMCINF_info info15 = new ODBPMCINF_info(); - internal ODBPMCINF_info info16 = new ODBPMCINF_info(); - internal ODBPMCINF_info info17 = new ODBPMCINF_info(); - internal ODBPMCINF_info info18 = new ODBPMCINF_info(); - internal ODBPMCINF_info info19 = new ODBPMCINF_info(); - internal ODBPMCINF_info info20 = new ODBPMCINF_info(); - internal ODBPMCINF_info info21 = new ODBPMCINF_info(); - internal ODBPMCINF_info info22 = new ODBPMCINF_info(); - internal ODBPMCINF_info info23 = new ODBPMCINF_info(); - internal ODBPMCINF_info info24 = new ODBPMCINF_info(); - internal ODBPMCINF_info info25 = new ODBPMCINF_info(); - internal ODBPMCINF_info info26 = new ODBPMCINF_info(); - internal ODBPMCINF_info info27 = new ODBPMCINF_info(); - internal ODBPMCINF_info info28 = new ODBPMCINF_info(); - internal ODBPMCINF_info info29 = new ODBPMCINF_info(); - internal ODBPMCINF_info info30 = new ODBPMCINF_info(); - internal ODBPMCINF_info info31 = new ODBPMCINF_info(); - internal ODBPMCINF_info info32 = new ODBPMCINF_info(); - internal ODBPMCINF_info info33 = new ODBPMCINF_info(); - internal ODBPMCINF_info info34 = new ODBPMCINF_info(); - internal ODBPMCINF_info info35 = new ODBPMCINF_info(); - internal ODBPMCINF_info info36 = new ODBPMCINF_info(); - internal ODBPMCINF_info info37 = new ODBPMCINF_info(); - internal ODBPMCINF_info info38 = new ODBPMCINF_info(); - internal ODBPMCINF_info info39 = new ODBPMCINF_info(); - internal ODBPMCINF_info info40 = new ODBPMCINF_info(); - internal ODBPMCINF_info info41 = new ODBPMCINF_info(); - internal ODBPMCINF_info info42 = new ODBPMCINF_info(); - internal ODBPMCINF_info info43 = new ODBPMCINF_info(); - internal ODBPMCINF_info info44 = new ODBPMCINF_info(); - internal ODBPMCINF_info info45 = new ODBPMCINF_info(); - internal ODBPMCINF_info info46 = new ODBPMCINF_info(); - internal ODBPMCINF_info info47 = new ODBPMCINF_info(); - internal ODBPMCINF_info info48 = new ODBPMCINF_info(); - internal ODBPMCINF_info info49 = new ODBPMCINF_info(); - internal ODBPMCINF_info info50 = new ODBPMCINF_info(); - internal ODBPMCINF_info info51 = new ODBPMCINF_info(); - internal ODBPMCINF_info info52 = new ODBPMCINF_info(); - internal ODBPMCINF_info info53 = new ODBPMCINF_info(); - internal ODBPMCINF_info info54 = new ODBPMCINF_info(); - internal ODBPMCINF_info info55 = new ODBPMCINF_info(); - internal ODBPMCINF_info info56 = new ODBPMCINF_info(); - internal ODBPMCINF_info info57 = new ODBPMCINF_info(); - internal ODBPMCINF_info info58 = new ODBPMCINF_info(); - internal ODBPMCINF_info info59 = new ODBPMCINF_info(); - internal ODBPMCINF_info info60 = new ODBPMCINF_info(); - internal ODBPMCINF_info info61 = new ODBPMCINF_info(); - internal ODBPMCINF_info info62 = new ODBPMCINF_info(); - internal ODBPMCINF_info info63 = new ODBPMCINF_info(); - internal ODBPMCINF_info info64 = new ODBPMCINF_info(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPMCINF - { - internal short datano; - internal ODBPMCINF1 info = new ODBPMCINF1(); - } - - /* pmc_rdcntldata:read PMC parameter data table control data */ - /* pmc_wrcntldata:write PMC parameter data table control data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPMCCNTL_info - { - internal byte tbl_prm; - internal byte data_type; - internal ushort data_size; - internal ushort data_dsp; - internal short dummy; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPMCCNTL1 - { - internal IODBPMCCNTL_info info1 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info2 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info3 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info4 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info5 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info6 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info7 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info8 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info9 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info10 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info11 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info12 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info13 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info14 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info15 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info16 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info17 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info18 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info19 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info20 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info21 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info22 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info23 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info24 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info25 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info26 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info27 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info28 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info29 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info30 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info31 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info32 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info33 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info34 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info35 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info36 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info37 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info38 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info39 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info40 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info41 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info42 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info43 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info44 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info45 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info46 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info47 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info48 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info49 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info50 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info51 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info52 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info53 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info54 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info55 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info56 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info57 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info58 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info59 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info60 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info61 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info62 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info63 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info64 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info65 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info66 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info67 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info68 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info69 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info70 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info71 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info72 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info73 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info74 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info75 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info76 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info77 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info78 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info79 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info80 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info81 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info82 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info83 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info84 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info85 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info86 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info87 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info88 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info89 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info90 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info91 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info92 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info93 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info94 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info95 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info96 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info97 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info98 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info99 = new IODBPMCCNTL_info(); - internal IODBPMCCNTL_info info100 = new IODBPMCCNTL_info(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPMCCNTL - { - internal short datano_s; - internal short dummy; - internal short datano_e; - internal IODBPMCCNTL1 info = new IODBPMCCNTL1(); - } - - /* pmc_rdalmmsg:read PMC alarm message */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBPMCALM_data - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] - internal string almmsg = new string(' ', 128); /* alarm message */ - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPMCALM - { - internal ODBPMCALM_data msg1 = new ODBPMCALM_data(); - internal ODBPMCALM_data msg2 = new ODBPMCALM_data(); - internal ODBPMCALM_data msg3 = new ODBPMCALM_data(); - internal ODBPMCALM_data msg4 = new ODBPMCALM_data(); - internal ODBPMCALM_data msg5 = new ODBPMCALM_data(); - internal ODBPMCALM_data msg6 = new ODBPMCALM_data(); - internal ODBPMCALM_data msg7 = new ODBPMCALM_data(); - internal ODBPMCALM_data msg8 = new ODBPMCALM_data(); - internal ODBPMCALM_data msg9 = new ODBPMCALM_data(); - internal ODBPMCALM_data msg10 = new ODBPMCALM_data(); - } /* In case that the number of data is 10 */ - - /* pmc_getdtailerr:get detail error for pmc */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPMCERR - { - internal short err_no; - internal short err_dtno; - } - - /* pmc_rdpmctitle:read pmc title data */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBPMCTITLE - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)] - internal string mtb = new string(' ', 48); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)] - internal string machine = new string(' ', 48); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)] - internal string type = new string(' ', 48); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)] - internal string prgno = new string(' ', 8); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] - internal string prgvers = new string(' ', 4); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)] - internal string prgdraw = new string(' ', 48); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] - internal string date = new string(' ', 32); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)] - internal string design = new string(' ', 48); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)] - internal string written = new string(' ', 48); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)] - internal string remarks = new string(' ', 48); - } - - /* pmc_rdpmcrng_ext:read PMC data */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPMCEXT - { - internal short type_a; /* PMC address type */ - internal short type_d; /* PMC data type */ - internal short datano_s; /* start PMC address */ - internal short datano_e; /* end PMC address */ - internal short err_code; /* error code */ - internal short reserved; /* reserved */ - [MarshalAs(UnmanagedType.AsAny)] - internal object data; /* pointer to buffer */ - } - - /* pmc_rdpmcaddr:read PMC address information */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPMCADR_info - { - internal byte pmc_adr; - internal byte adr_attr; - internal ushort offset; - internal ushort top; - internal ushort num; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPMCADR1 - { - internal ODBPMCADR_info info1 = new ODBPMCADR_info(); - internal ODBPMCADR_info info2 = new ODBPMCADR_info(); - internal ODBPMCADR_info info3 = new ODBPMCADR_info(); - internal ODBPMCADR_info info4 = new ODBPMCADR_info(); - internal ODBPMCADR_info info5 = new ODBPMCADR_info(); - internal ODBPMCADR_info info6 = new ODBPMCADR_info(); - internal ODBPMCADR_info info7 = new ODBPMCADR_info(); - internal ODBPMCADR_info info8 = new ODBPMCADR_info(); - internal ODBPMCADR_info info9 = new ODBPMCADR_info(); - internal ODBPMCADR_info info10 = new ODBPMCADR_info(); - internal ODBPMCADR_info info11 = new ODBPMCADR_info(); - internal ODBPMCADR_info info12 = new ODBPMCADR_info(); - internal ODBPMCADR_info info13 = new ODBPMCADR_info(); - internal ODBPMCADR_info info14 = new ODBPMCADR_info(); - internal ODBPMCADR_info info15 = new ODBPMCADR_info(); - internal ODBPMCADR_info info16 = new ODBPMCADR_info(); - internal ODBPMCADR_info info17 = new ODBPMCADR_info(); - internal ODBPMCADR_info info18 = new ODBPMCADR_info(); - internal ODBPMCADR_info info19 = new ODBPMCADR_info(); - internal ODBPMCADR_info info20 = new ODBPMCADR_info(); - internal ODBPMCADR_info info21 = new ODBPMCADR_info(); - internal ODBPMCADR_info info22 = new ODBPMCADR_info(); - internal ODBPMCADR_info info23 = new ODBPMCADR_info(); - internal ODBPMCADR_info info24 = new ODBPMCADR_info(); - internal ODBPMCADR_info info25 = new ODBPMCADR_info(); - internal ODBPMCADR_info info26 = new ODBPMCADR_info(); - internal ODBPMCADR_info info27 = new ODBPMCADR_info(); - internal ODBPMCADR_info info28 = new ODBPMCADR_info(); - internal ODBPMCADR_info info29 = new ODBPMCADR_info(); - internal ODBPMCADR_info info30 = new ODBPMCADR_info(); - internal ODBPMCADR_info info31 = new ODBPMCADR_info(); - internal ODBPMCADR_info info32 = new ODBPMCADR_info(); - internal ODBPMCADR_info info33 = new ODBPMCADR_info(); - internal ODBPMCADR_info info34 = new ODBPMCADR_info(); - internal ODBPMCADR_info info35 = new ODBPMCADR_info(); - internal ODBPMCADR_info info36 = new ODBPMCADR_info(); - internal ODBPMCADR_info info37 = new ODBPMCADR_info(); - internal ODBPMCADR_info info38 = new ODBPMCADR_info(); - internal ODBPMCADR_info info39 = new ODBPMCADR_info(); - internal ODBPMCADR_info info40 = new ODBPMCADR_info(); - internal ODBPMCADR_info info41 = new ODBPMCADR_info(); - internal ODBPMCADR_info info42 = new ODBPMCADR_info(); - internal ODBPMCADR_info info43 = new ODBPMCADR_info(); - internal ODBPMCADR_info info44 = new ODBPMCADR_info(); - internal ODBPMCADR_info info45 = new ODBPMCADR_info(); - internal ODBPMCADR_info info46 = new ODBPMCADR_info(); - internal ODBPMCADR_info info47 = new ODBPMCADR_info(); - internal ODBPMCADR_info info48 = new ODBPMCADR_info(); - internal ODBPMCADR_info info49 = new ODBPMCADR_info(); - internal ODBPMCADR_info info50 = new ODBPMCADR_info(); - internal ODBPMCADR_info info51 = new ODBPMCADR_info(); - internal ODBPMCADR_info info52 = new ODBPMCADR_info(); - internal ODBPMCADR_info info53 = new ODBPMCADR_info(); - internal ODBPMCADR_info info54 = new ODBPMCADR_info(); - internal ODBPMCADR_info info55 = new ODBPMCADR_info(); - internal ODBPMCADR_info info56 = new ODBPMCADR_info(); - internal ODBPMCADR_info info57 = new ODBPMCADR_info(); - internal ODBPMCADR_info info58 = new ODBPMCADR_info(); - internal ODBPMCADR_info info59 = new ODBPMCADR_info(); - internal ODBPMCADR_info info60 = new ODBPMCADR_info(); - internal ODBPMCADR_info info61 = new ODBPMCADR_info(); - internal ODBPMCADR_info info62 = new ODBPMCADR_info(); - internal ODBPMCADR_info info63 = new ODBPMCADR_info(); - internal ODBPMCADR_info info64 = new ODBPMCADR_info(); - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBPMCADR - { - internal uint io_adr; - internal short datano; - internal ODBPMCADR1 info = new ODBPMCADR1(); - } - - - /*--------------------------*/ - /* PROFIBUS function */ - /*--------------------------*/ - - /* pmc_prfrdconfig:read PROFIBUS configration data */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBPRFCNF - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string master_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)] - internal string master_ver = new string(' ', 3); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string slave_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)] - internal string slave_ver = new string(' ', 3); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] - internal string cntl_ser = new string(' ', 5); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)] - internal string cntl_ver = new string(' ', 3); - } - - /* pmc_prfrdbusprm:read bus parameter for master function */ - /* pmc_prfwrbusprm:write bus parameter for master function */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBBUSPRM - { - internal sbyte fdl_add; - internal sbyte baudrate; - internal ushort tsl; - internal ushort min_tsdr; - internal ushort max_tsdr; - internal byte tqui; - internal byte tset; - internal int ttr; - internal sbyte gap; - internal sbyte hsa; - internal sbyte max_retry; - internal byte bp_flag; - internal ushort min_slv_int; - internal ushort poll_tout; - internal ushort data_cntl; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] - internal byte[] reserve1 = new byte[6]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - internal byte[] cls2_name = new byte[32]; - internal short user_dlen; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 62)] - internal byte[] user_data = new byte[62]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 96)] - internal byte[] reserve2 = new byte[96]; - } - - /* pmc_prfrdslvprm:read slave parameter for master function */ - /* pmc_prfwrslvprm:write slave parameter for master function */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSLVPRM - { - internal short dis_enb; - internal ushort ident_no; - internal byte slv_flag; - internal byte slv_type; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] - internal byte[] reserve1 = new byte[12]; - internal byte slv_stat; - internal byte wd_fact1; - internal byte wd_fact2; - internal byte min_tsdr; - internal char reserve2; - internal byte grp_ident; - internal short user_plen; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - internal byte[] user_pdata = new byte[32]; - internal short cnfg_dlen; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 126)] - internal byte[] cnfg_data = new byte[126]; - internal short slv_ulen; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 30)] - internal byte[] slv_udata = new byte[30]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal byte[] reserve3 = new byte[8]; - } - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSLVPRM2 - { - internal short dis_enb; - internal ushort ident_no; - internal byte slv_flag; - internal byte slv_type; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] - internal byte[] reserve1 = new byte[12]; - internal byte slv_stat; - internal byte wd_fact1; - internal byte wd_fact2; - internal byte min_tsdr; - internal sbyte reserve2; - internal byte grp_ident; - internal short user_plen; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 206)] - internal byte[] user_pdata = new byte[206]; - internal short cnfg_dlen; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 126)] - internal byte[] cnfg_data = new byte[126]; - internal short slv_ulen; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 30)] - internal byte[] slv_udata = new byte[30]; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - internal byte[] reserve3 = new byte[8]; - } - - /* pmc_prfrdallcadr:read allocation address for master function */ - /* pmc_prfwrallcadr:set allocation address for master function */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBPRFADR - { - internal byte di_size; - internal byte di_type; - internal ushort di_addr; - internal short reserve1; - internal byte do_size; - internal byte do_type; - internal ushort do_addr; - internal short reserve2; - internal byte dgn_size; - internal byte dgn_type; - internal ushort dgn_addr; - } - - /* pmc_prfrdslvaddr:read allocation address for slave function */ - /* pmc_prfwrslvaddr:set allocation address for slave function */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSLVADR - { - internal byte slave_no; - internal byte di_size; - internal byte di_type; - internal ushort di_addr; - internal byte do_size; - internal byte do_type; - internal ushort do_addr; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)] - internal byte[] reserve = new byte[7]; - } - - /* pmc_prfrdslvstat:read status for slave function */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBSLVST - { - internal byte cnfg_stat; - internal byte prm_stat; - internal sbyte wdg_stat; - internal byte live_stat; - internal short ident_no; - } - - /* pmc_prfrdslvid:Reads slave index data of master function */ - /* pmc_prfwrslvid:Writes slave index data of master function */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSLVID - { - internal short dis_enb; - internal short slave_no; - internal short nsl; - internal byte dgn_size; - internal char dgn_type; - internal ushort dgn_addr; - } - - /* pmc_prfrdslvprm2:Reads slave parameter of master function(2) */ - /* pmc_prfwrslvprm2:Writes slave parameter of master function(2) */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBSLVPRM3 - { - internal ushort ident_no; - internal byte slv_flag; - internal byte slv_type; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] - internal char[] reserve1 = new char[12]; - internal byte slv_stat; - internal byte wd_fact1; - internal byte wd_fact2; - internal byte min_tsdr; - internal char reserve2; - internal byte grp_ident; - internal short user_plen; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 206)] - internal char[] user_pdata = new char[206]; - internal short slv_ulen; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 30)] - internal char[] slv_udata = new char[30]; - } - - /* pmc_prfrddido:Reads DI/DO parameter of master function */ - /* pmc_prfwrdido:Writes DI/DO parameter of master function */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBDIDO - { - internal short slave_no; - internal short slot_no; - internal byte di_size; - internal char di_type; - internal ushort di_addr; - internal byte do_size; - internal char do_type; - internal ushort do_addr; - internal short shift; - internal byte module_dlen; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)] - internal char[] module_data = new char[128]; - } - - /* pmc_prfrdindiadr:Reads indication address of master function */ - /* pmc_prfwrindiadr:Writes indication address of master function */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBINDEADR - { - internal byte dummy; - internal char indi_type; - internal ushort indi_addr; - } - - /*-----------------------------------------------*/ - /* DS : Data server & Ethernet board function */ - /*-----------------------------------------------*/ - - /* etb_rdparam : read@the parameter of the Ethernet board */ - /* etb_wrparam : write the parameter of the Ethernet board */ - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class TCPPRM - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string OwnIPAddress = new string(' ', 16); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string SubNetMask = new string(' ', 16); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string RouterIPAddress = new string(' ', 16); - } - - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class HOSTPRM - { - internal short DataServerPort; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string DataServerIPAddress = new string(' ', 16); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] - internal string DataServerUserName = new string(' ', 32); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] - internal string DataServerPassword = new string(' ', 32); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] - internal string DataServerLoginDirectory = new string(' ', 128); - } - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class FTPPRM - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] - internal string FTPServerUserName = new string(' ', 32); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] - internal string FTPServerPassword = new string(' ', 32); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] - internal string FTPServerLoginDirectory = new string(' ', 128); - } - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ETBPRM - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 13)] - internal string OwnMACAddress = new string(' ', 128); - internal short MaximumChannel; - internal short HDDExistence; - internal short NumberOfScreens; - } - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBETP - { - internal short Dummy_ParameterType; - - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 210)] - internal byte[] prm = new byte[210]; - } - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBETP_TCP - { - internal short ParameterType; - internal TCPPRM tcp; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBETP_HOST - { - internal short ParameterType; - internal HOSTPRM host; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBETP_FTP - { - internal short ParameterType; - internal FTPPRM ftp; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class IODBETP_ETB - { - internal short ParameterType; - internal ETBPRM etb; - } - - /* etb_rderrmsg : read the error message of the Ethernet board */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBETMSG - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 33)] - internal string title = new string(' ', 33); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 390)] - internal string message = new string(' ', 390); - } - - /* ds_rdhddinfo : read information of the Data Server's HDD */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBHDDINF - { - internal int file_num; - internal int remainder_l; - internal int remainder_h; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - internal char[] current_dir = new char[32]; - } - - /* ds_rdhdddir : read the file list of the Data Server's HDD */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBHDDDIR_data - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] - internal string file_name = new string(' ', 64); - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)] - internal string comment = new string(' ', 80); - internal short attribute; - internal short reserved; - internal int size; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] - internal string date = new string(' ', 16); - } - - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBHDDDIR - { - internal ODBHDDDIR_data data1 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data2 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data3 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data4 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data5 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data6 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data7 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data8 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data9 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data10 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data11 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data12 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data13 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data14 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data15 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data16 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data17 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data18 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data19 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data20 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data21 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data22 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data23 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data24 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data25 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data26 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data27 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data28 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data29 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data30 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data31 = new ODBHDDDIR_data(); - internal ODBHDDDIR_data data32 = new ODBHDDDIR_data(); - } - - /* ds_rdhostdir : read the file list of the host */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBHOSTDIR_data - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)] - internal char[] host_file = new char[128]; - } - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class ODBHOSTDIR - { - internal ODBHOSTDIR_data data1 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data2 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data3 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data4 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data5 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data6 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data7 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data8 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data9 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data10 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data11 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data12 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data13 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data14 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data15 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data16 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data17 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data18 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data19 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data20 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data21 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data22 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data23 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data24 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data25 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data26 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data27 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data28 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data29 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data30 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data31 = new ODBHOSTDIR_data(); - internal ODBHOSTDIR_data data32 = new ODBHOSTDIR_data(); - } - - /* ds_rdmntinfo : read maintenance information */ - [StructLayout(LayoutKind.Sequential, Pack = 4)] - internal class DSMNTINFO - { - internal ushort empty_cnt; - internal uint total_size; - internal ushort ReadPtr; - internal ushort WritePtr; - }; - - /*--------------------------*/ - /* HSSB multiple connection */ - /*--------------------------*/ - - /* cnc_rdnodeinfo:read node informations */ - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] - internal class ODBNODE - { - internal int node_no; - internal int io_base; - internal int status; - internal int cnc_type; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)] - internal string node_name = new string(' ', 20); - } - - - /*-------------------------------------*/ - /* CNC: Control axis / spindle related */ - /*-------------------------------------*/ - - /* read actual axis feedrate(F) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_actf")] - internal static extern short cnc_actf(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBACT a); - - /* read absolute axis position */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_absolute")] - internal static extern short cnc_absolute(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); - - /* read machine axis position */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_machine")] - internal static extern short cnc_machine(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); - - /* read relative axis position */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_relative")] - internal static extern short cnc_relative(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); - - /* read distance to go */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_distance")] - internal static extern short cnc_distance(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); - - /* read skip position */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_skip")] - internal static extern short cnc_skip(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); - - /* read servo delay value */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srvdelay")] - internal static extern short cnc_srvdelay(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); - - /* read acceleration/deceleration delay value */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_accdecdly")] - internal static extern short cnc_accdecdly(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); - - /* read all dynamic data */ + /* cnc_rdspdlname: read spindle name */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSPDLNAME_data + { + internal byte name; /* spindle name */ + internal byte suff1; /* suffix */ + internal byte suff2; /* suffix */ + internal byte suff3; /* suffix */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSPDLNAME + { + internal ODBSPDLNAME_data data1 = new ODBSPDLNAME_data(); + internal ODBSPDLNAME_data data2 = new ODBSPDLNAME_data(); + internal ODBSPDLNAME_data data3 = new ODBSPDLNAME_data(); + internal ODBSPDLNAME_data data4 = new ODBSPDLNAME_data(); + } + + /* cnc_exaxisname: read extended axis name */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBEXAXISNAME + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname1 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname2 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname3 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname4 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname5 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname6 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname7 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname8 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname9 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname10 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname11 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname12 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname13 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname14 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname15 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname16 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname17 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname18 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname19 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname20 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname21 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname22 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname23 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname24 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname25 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname26 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname27 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname28 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname29 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname30 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname31 = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string axname32 = new string(' ', 4); + } + + /* cnc_wrunsolicprm: Set the unsolicited message parameters */ + /* cnc_rdunsolicprm: Get the unsolicited message parameters */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal struct IODBUNSOLIC_pmc + { + internal short type; + internal short rdaddr; + internal short rdno; + internal short rdsize; + private int dummy; + } + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class IODBUNSOLIC + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string ipaddr = new string(' ', 16); + internal ushort port; + internal short reqaddr; + internal short pmcno; + internal short retry; + internal short timeout; + internal short alivetime; + internal short setno; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] + internal IODBUNSOLIC_pmc[] rddata = new IODBUNSOLIC_pmc[3]; + } + + /* cnc_wrunsolicprm2: Set the unsolicited message parameters(2) */ + /* cnc_rdunsolicprm2: Get the unsolicited message parameters(2) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal struct UNSOLICMSG_TYPE_PRM + { + internal ushort type; + private ushort dummy1; + internal ushort path; + internal short addr; + internal uint no; + internal uint num_or_size; + } + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class IODBUNSOLIC2 + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] + internal string ipaddr = new string(' ', 64); + internal uint port; + internal ushort retry; + internal ushort timeout; + internal ushort alivetime; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + private byte[] dummy1 = new byte[8]; + internal UNSOLICMSG_TYPE_PRM cntrl; + internal ushort transnum; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 14)] + private byte[] dummy2 = new byte[14]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] + internal UNSOLICMSG_TYPE_PRM[] trans = new UNSOLICMSG_TYPE_PRM[3]; + } + + /* cnc_rdunsolicmsg: Reads the unsolicited message data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal struct IDBUNSOLICMSG_msg + { + internal short rdsize; + internal IntPtr data; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IDBUNSOLICMSG + { + internal short getno; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] + internal IDBUNSOLICMSG_msg[] msg = new IDBUNSOLICMSG_msg[3]; + } + + /* cnc_rdunsolicmsg2: Reads the unsolicited message data(2) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal struct UNSOLICMSG_TYPE_MSG + { + internal ushort type; + private ushort dummy1; + internal ushort path; + private ushort dummy2; + internal int num_or_size; + internal IntPtr data; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IDBUNSOLICMSG2 + { + internal ushort getnum; + private ushort dummy; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] + internal UNSOLICMSG_TYPE_MSG[] get = new UNSOLICMSG_TYPE_MSG[3]; + } + + /* cnc_rdpm_cncitem: read cnc maintenance item */ + /* cnc_rdpm_mcnitem: read machine specific maintenance item */ + /* cnc_wrpm_mcnitem: write machine specific maintenance item */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBITEM + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] + internal string name1 = new string(' ', 62); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] + internal string name2 = new string(' ', 62); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] + internal string name3 = new string(' ', 62); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] + internal string name4 = new string(' ', 62); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] + internal string name5 = new string(' ', 62); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] + internal string name6 = new string(' ', 62); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] + internal string name7 = new string(' ', 62); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] + internal string name8 = new string(' ', 62); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] + internal string name9 = new string(' ', 62); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] + internal string name10 = new string(' ', 62); + } + + /* cnc_rdpm_item:read maintenance item status */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPMAINTE_data + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)] + internal string name = new string(' ', 62); /* name */ + internal int type; /* life count type */ + internal int total; /* total life time (minite basis) */ + internal int remain; /* life rest time */ + internal int stat; /* life state */ + } + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPMAINTE + { + internal IODBPMAINTE_data data1 = new IODBPMAINTE_data(); + internal IODBPMAINTE_data data2 = new IODBPMAINTE_data(); + internal IODBPMAINTE_data data3 = new IODBPMAINTE_data(); + internal IODBPMAINTE_data data4 = new IODBPMAINTE_data(); + internal IODBPMAINTE_data data5 = new IODBPMAINTE_data(); + internal IODBPMAINTE_data data6 = new IODBPMAINTE_data(); + internal IODBPMAINTE_data data7 = new IODBPMAINTE_data(); + internal IODBPMAINTE_data data8 = new IODBPMAINTE_data(); + internal IODBPMAINTE_data data9 = new IODBPMAINTE_data(); + internal IODBPMAINTE_data data10 = new IODBPMAINTE_data(); + } + + /* cnc_sysinfo_ex:read CNC system path information */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSYSEX_path + { + internal short system; + internal short group; + internal short attrib; + internal short ctrl_axis; + internal short ctrl_srvo; + internal short ctrl_spdl; + internal short mchn_no; + internal short reserved; + } + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSYSEX_data + { + internal ODBSYSEX_path data1 = new ODBSYSEX_path(); + internal ODBSYSEX_path data2 = new ODBSYSEX_path(); + internal ODBSYSEX_path data3 = new ODBSYSEX_path(); + internal ODBSYSEX_path data4 = new ODBSYSEX_path(); + internal ODBSYSEX_path data5 = new ODBSYSEX_path(); + internal ODBSYSEX_path data6 = new ODBSYSEX_path(); + internal ODBSYSEX_path data7 = new ODBSYSEX_path(); + internal ODBSYSEX_path data8 = new ODBSYSEX_path(); + internal ODBSYSEX_path data9 = new ODBSYSEX_path(); + internal ODBSYSEX_path data10 = new ODBSYSEX_path(); + } + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSYSEX + { + internal short max_axis; + internal short max_spdl; + internal short max_path; + internal short max_mchn; + internal short ctrl_axis; + internal short ctrl_srvo; + internal short ctrl_spdl; + internal short ctrl_path; + internal short ctrl_mchn; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] + internal short[] reserved = new short[3]; + internal ODBSYSEX_data path = new ODBSYSEX_data(); + } + + /*------------------*/ + /* CNC : SERCOS I/F */ + /*------------------*/ + + /* cnc_srcsrdidinfo:Read ID information of SERCOS I/F */ + /* cnc_srcswridinfo:Write ID information of SERCOS I/F */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class IODBIDINF + { + internal int id_no; + internal short drv_no; + internal short acc_element; + internal short err_general; + internal short err_id_no; + internal short err_id_name; + internal short err_attr; + internal short err_unit; + internal short err_min_val; + internal short err_max_val; + internal short id_name_len; + internal short id_name_max; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 60)] + internal string id_name = new string(' ', 60); + internal int attr; + internal short unit_len; + internal short unit_max; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] + internal byte[] unit = new byte[12]; + internal int min_val; + internal int max_val; + } + + /* cnc_srcsrdexstat:Get execution status of reading/writing operation data of SERCOS I/F */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSRCSST + { + internal short acc_element; + internal short err_general; + internal short err_id_no; + internal short err_attr; + internal short err_op_data; + } + + /* cnc_srcsrdlayout:Read drive assign of SERCOS I/F */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBSRCSLYT + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] + internal short[] spndl; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal short[] servo; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)] + internal string axis_name = new string(' ', 8); + } + + /*----------------------------*/ + /* CNC : Servo Guide */ + /*----------------------------*/ + /* cnc_sdsetchnl:Servo Guide (Channel data set) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IDBCHAN_data + { + internal byte chno; + internal sbyte axis; + internal int datanum; + internal ushort datainf; + internal short dataadr; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IDBCHAN + { + internal IDBCHAN_data data1 = new IDBCHAN_data(); + internal IDBCHAN_data data2 = new IDBCHAN_data(); + internal IDBCHAN_data data3 = new IDBCHAN_data(); + internal IDBCHAN_data data4 = new IDBCHAN_data(); + internal IDBCHAN_data data5 = new IDBCHAN_data(); + internal IDBCHAN_data data6 = new IDBCHAN_data(); + internal IDBCHAN_data data7 = new IDBCHAN_data(); + internal IDBCHAN_data data8 = new IDBCHAN_data(); + } + + /* cnc_sdsetchnl:Servo Guide (read Sampling data) */ + /* cnc_sfbreadsmpl:Servo feedback data (read Sampling data) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSD + { + internal IntPtr chadata; + internal IntPtr count; + } + + /* cnc_sfbsetchnl:Servo feedback data (Channel data set) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IDBSFBCHAN + { + internal byte chno; + internal sbyte axis; + internal ushort shift; + } + + + /*-------------------------*/ + /* CNC : FS18-LN function */ + /*-------------------------*/ + + /* cnc_allowcnd:read allowanced state */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBCAXIS + { + internal short dummy; /* dummy */ + internal short type; /* axis number */ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)] + internal sbyte[] data; /* data value */ + } + + + /*---------------------------------*/ + /* CNC : C-EXE SRAM file function */ + /*---------------------------------*/ + + /* read C-EXE SRAM disk directory */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class CFILEINFO_data + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)] + internal string fname = new string(' ', 12); /* file name */ + internal int file_size; /* file size (bytes) */ + internal int file_attr; /* attribute */ + internal short year; /* year */ + internal short month; /* month */ + internal short day; /* day */ + internal short hour; /* hour */ + internal short minute; /* mimute */ + internal short second; /* second */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class CFILEINFO + { + internal CFILEINFO_data data1 = new CFILEINFO_data(); + internal CFILEINFO_data data2 = new CFILEINFO_data(); + internal CFILEINFO_data data3 = new CFILEINFO_data(); + internal CFILEINFO_data data4 = new CFILEINFO_data(); + internal CFILEINFO_data data5 = new CFILEINFO_data(); + internal CFILEINFO_data data6 = new CFILEINFO_data(); + internal CFILEINFO_data data7 = new CFILEINFO_data(); + internal CFILEINFO_data data8 = new CFILEINFO_data(); + internal CFILEINFO_data data9 = new CFILEINFO_data(); + internal CFILEINFO_data data10 = new CFILEINFO_data(); + } + + /*-----*/ + /* PMC */ + /*-----*/ + + /* pmc_rdpmcrng:read PMC data(area specified) */ + /* pmc_wrpmcrng:write PMC data(area specified) */ + [StructLayout(LayoutKind.Explicit)] + internal class IODBPMC0 + { + [FieldOffset(0)] + internal short type_a; /* PMC address type */ + [FieldOffset(2)] + internal short type_d; /* PMC data type */ + [FieldOffset(4)] + internal short datano_s; /* start PMC address */ + [FieldOffset(6)] + internal short datano_e; /* end PMC address */ + [FieldOffset(8), + MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)] + internal byte[] cdata; /* PMC data */ + } /* In case that the number of data is 5 */ + + [StructLayout(LayoutKind.Explicit)] + internal class IODBPMC1 + { + [FieldOffset(0)] + internal short type_a; /* PMC address type */ + [FieldOffset(2)] + internal short type_d; /* PMC data type */ + [FieldOffset(4)] + internal short datano_s; /* start PMC address */ + [FieldOffset(6)] + internal short datano_e; /* end PMC address */ + [FieldOffset(8), + MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)] + internal short[] idata; + } /* In case that the number of data is 5 */ + + [StructLayout(LayoutKind.Explicit)] + internal class IODBPMC2 + { + [FieldOffset(0)] + internal short type_a; /* PMC address type */ + [FieldOffset(2)] + internal short type_d; /* PMC data type */ + [FieldOffset(4)] + internal short datano_s; /* start PMC address */ + [FieldOffset(6)] + internal short datano_e; /* end PMC address */ + [FieldOffset(8), + MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)] + internal int[] ldata; + } /* In case that the number of data is 5 */ + + /* pmc_rdpmcinfo:read informations of PMC data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPMCINF_info + { + internal char pmc_adr; + internal byte adr_attr; + internal ushort top_num; + internal ushort last_num; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPMCINF1 + { + internal ODBPMCINF_info info1 = new ODBPMCINF_info(); + internal ODBPMCINF_info info2 = new ODBPMCINF_info(); + internal ODBPMCINF_info info3 = new ODBPMCINF_info(); + internal ODBPMCINF_info info4 = new ODBPMCINF_info(); + internal ODBPMCINF_info info5 = new ODBPMCINF_info(); + internal ODBPMCINF_info info6 = new ODBPMCINF_info(); + internal ODBPMCINF_info info7 = new ODBPMCINF_info(); + internal ODBPMCINF_info info8 = new ODBPMCINF_info(); + internal ODBPMCINF_info info9 = new ODBPMCINF_info(); + internal ODBPMCINF_info info10 = new ODBPMCINF_info(); + internal ODBPMCINF_info info11 = new ODBPMCINF_info(); + internal ODBPMCINF_info info12 = new ODBPMCINF_info(); + internal ODBPMCINF_info info13 = new ODBPMCINF_info(); + internal ODBPMCINF_info info14 = new ODBPMCINF_info(); + internal ODBPMCINF_info info15 = new ODBPMCINF_info(); + internal ODBPMCINF_info info16 = new ODBPMCINF_info(); + internal ODBPMCINF_info info17 = new ODBPMCINF_info(); + internal ODBPMCINF_info info18 = new ODBPMCINF_info(); + internal ODBPMCINF_info info19 = new ODBPMCINF_info(); + internal ODBPMCINF_info info20 = new ODBPMCINF_info(); + internal ODBPMCINF_info info21 = new ODBPMCINF_info(); + internal ODBPMCINF_info info22 = new ODBPMCINF_info(); + internal ODBPMCINF_info info23 = new ODBPMCINF_info(); + internal ODBPMCINF_info info24 = new ODBPMCINF_info(); + internal ODBPMCINF_info info25 = new ODBPMCINF_info(); + internal ODBPMCINF_info info26 = new ODBPMCINF_info(); + internal ODBPMCINF_info info27 = new ODBPMCINF_info(); + internal ODBPMCINF_info info28 = new ODBPMCINF_info(); + internal ODBPMCINF_info info29 = new ODBPMCINF_info(); + internal ODBPMCINF_info info30 = new ODBPMCINF_info(); + internal ODBPMCINF_info info31 = new ODBPMCINF_info(); + internal ODBPMCINF_info info32 = new ODBPMCINF_info(); + internal ODBPMCINF_info info33 = new ODBPMCINF_info(); + internal ODBPMCINF_info info34 = new ODBPMCINF_info(); + internal ODBPMCINF_info info35 = new ODBPMCINF_info(); + internal ODBPMCINF_info info36 = new ODBPMCINF_info(); + internal ODBPMCINF_info info37 = new ODBPMCINF_info(); + internal ODBPMCINF_info info38 = new ODBPMCINF_info(); + internal ODBPMCINF_info info39 = new ODBPMCINF_info(); + internal ODBPMCINF_info info40 = new ODBPMCINF_info(); + internal ODBPMCINF_info info41 = new ODBPMCINF_info(); + internal ODBPMCINF_info info42 = new ODBPMCINF_info(); + internal ODBPMCINF_info info43 = new ODBPMCINF_info(); + internal ODBPMCINF_info info44 = new ODBPMCINF_info(); + internal ODBPMCINF_info info45 = new ODBPMCINF_info(); + internal ODBPMCINF_info info46 = new ODBPMCINF_info(); + internal ODBPMCINF_info info47 = new ODBPMCINF_info(); + internal ODBPMCINF_info info48 = new ODBPMCINF_info(); + internal ODBPMCINF_info info49 = new ODBPMCINF_info(); + internal ODBPMCINF_info info50 = new ODBPMCINF_info(); + internal ODBPMCINF_info info51 = new ODBPMCINF_info(); + internal ODBPMCINF_info info52 = new ODBPMCINF_info(); + internal ODBPMCINF_info info53 = new ODBPMCINF_info(); + internal ODBPMCINF_info info54 = new ODBPMCINF_info(); + internal ODBPMCINF_info info55 = new ODBPMCINF_info(); + internal ODBPMCINF_info info56 = new ODBPMCINF_info(); + internal ODBPMCINF_info info57 = new ODBPMCINF_info(); + internal ODBPMCINF_info info58 = new ODBPMCINF_info(); + internal ODBPMCINF_info info59 = new ODBPMCINF_info(); + internal ODBPMCINF_info info60 = new ODBPMCINF_info(); + internal ODBPMCINF_info info61 = new ODBPMCINF_info(); + internal ODBPMCINF_info info62 = new ODBPMCINF_info(); + internal ODBPMCINF_info info63 = new ODBPMCINF_info(); + internal ODBPMCINF_info info64 = new ODBPMCINF_info(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPMCINF + { + internal short datano; + internal ODBPMCINF1 info = new ODBPMCINF1(); + } + + /* pmc_rdcntldata:read PMC parameter data table control data */ + /* pmc_wrcntldata:write PMC parameter data table control data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPMCCNTL_info + { + internal byte tbl_prm; + internal byte data_type; + internal ushort data_size; + internal ushort data_dsp; + internal short dummy; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPMCCNTL1 + { + internal IODBPMCCNTL_info info1 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info2 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info3 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info4 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info5 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info6 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info7 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info8 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info9 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info10 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info11 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info12 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info13 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info14 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info15 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info16 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info17 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info18 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info19 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info20 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info21 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info22 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info23 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info24 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info25 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info26 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info27 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info28 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info29 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info30 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info31 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info32 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info33 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info34 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info35 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info36 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info37 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info38 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info39 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info40 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info41 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info42 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info43 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info44 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info45 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info46 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info47 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info48 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info49 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info50 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info51 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info52 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info53 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info54 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info55 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info56 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info57 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info58 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info59 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info60 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info61 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info62 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info63 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info64 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info65 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info66 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info67 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info68 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info69 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info70 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info71 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info72 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info73 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info74 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info75 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info76 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info77 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info78 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info79 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info80 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info81 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info82 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info83 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info84 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info85 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info86 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info87 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info88 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info89 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info90 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info91 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info92 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info93 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info94 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info95 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info96 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info97 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info98 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info99 = new IODBPMCCNTL_info(); + internal IODBPMCCNTL_info info100 = new IODBPMCCNTL_info(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPMCCNTL + { + internal short datano_s; + internal short dummy; + internal short datano_e; + internal IODBPMCCNTL1 info = new IODBPMCCNTL1(); + } + + /* pmc_rdalmmsg:read PMC alarm message */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBPMCALM_data + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] + internal string almmsg = new string(' ', 128); /* alarm message */ + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPMCALM + { + internal ODBPMCALM_data msg1 = new ODBPMCALM_data(); + internal ODBPMCALM_data msg2 = new ODBPMCALM_data(); + internal ODBPMCALM_data msg3 = new ODBPMCALM_data(); + internal ODBPMCALM_data msg4 = new ODBPMCALM_data(); + internal ODBPMCALM_data msg5 = new ODBPMCALM_data(); + internal ODBPMCALM_data msg6 = new ODBPMCALM_data(); + internal ODBPMCALM_data msg7 = new ODBPMCALM_data(); + internal ODBPMCALM_data msg8 = new ODBPMCALM_data(); + internal ODBPMCALM_data msg9 = new ODBPMCALM_data(); + internal ODBPMCALM_data msg10 = new ODBPMCALM_data(); + } /* In case that the number of data is 10 */ + + /* pmc_getdtailerr:get detail error for pmc */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPMCERR + { + internal short err_no; + internal short err_dtno; + } + + /* pmc_rdpmctitle:read pmc title data */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBPMCTITLE + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)] + internal string mtb = new string(' ', 48); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)] + internal string machine = new string(' ', 48); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)] + internal string type = new string(' ', 48); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)] + internal string prgno = new string(' ', 8); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + internal string prgvers = new string(' ', 4); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)] + internal string prgdraw = new string(' ', 48); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + internal string date = new string(' ', 32); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)] + internal string design = new string(' ', 48); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)] + internal string written = new string(' ', 48); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)] + internal string remarks = new string(' ', 48); + } + + /* pmc_rdpmcrng_ext:read PMC data */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPMCEXT + { + internal short type_a; /* PMC address type */ + internal short type_d; /* PMC data type */ + internal short datano_s; /* start PMC address */ + internal short datano_e; /* end PMC address */ + internal short err_code; /* error code */ + internal short reserved; /* reserved */ + [MarshalAs(UnmanagedType.AsAny)] + internal object data; /* pointer to buffer */ + } + + /* pmc_rdpmcaddr:read PMC address information */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPMCADR_info + { + internal byte pmc_adr; + internal byte adr_attr; + internal ushort offset; + internal ushort top; + internal ushort num; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPMCADR1 + { + internal ODBPMCADR_info info1 = new ODBPMCADR_info(); + internal ODBPMCADR_info info2 = new ODBPMCADR_info(); + internal ODBPMCADR_info info3 = new ODBPMCADR_info(); + internal ODBPMCADR_info info4 = new ODBPMCADR_info(); + internal ODBPMCADR_info info5 = new ODBPMCADR_info(); + internal ODBPMCADR_info info6 = new ODBPMCADR_info(); + internal ODBPMCADR_info info7 = new ODBPMCADR_info(); + internal ODBPMCADR_info info8 = new ODBPMCADR_info(); + internal ODBPMCADR_info info9 = new ODBPMCADR_info(); + internal ODBPMCADR_info info10 = new ODBPMCADR_info(); + internal ODBPMCADR_info info11 = new ODBPMCADR_info(); + internal ODBPMCADR_info info12 = new ODBPMCADR_info(); + internal ODBPMCADR_info info13 = new ODBPMCADR_info(); + internal ODBPMCADR_info info14 = new ODBPMCADR_info(); + internal ODBPMCADR_info info15 = new ODBPMCADR_info(); + internal ODBPMCADR_info info16 = new ODBPMCADR_info(); + internal ODBPMCADR_info info17 = new ODBPMCADR_info(); + internal ODBPMCADR_info info18 = new ODBPMCADR_info(); + internal ODBPMCADR_info info19 = new ODBPMCADR_info(); + internal ODBPMCADR_info info20 = new ODBPMCADR_info(); + internal ODBPMCADR_info info21 = new ODBPMCADR_info(); + internal ODBPMCADR_info info22 = new ODBPMCADR_info(); + internal ODBPMCADR_info info23 = new ODBPMCADR_info(); + internal ODBPMCADR_info info24 = new ODBPMCADR_info(); + internal ODBPMCADR_info info25 = new ODBPMCADR_info(); + internal ODBPMCADR_info info26 = new ODBPMCADR_info(); + internal ODBPMCADR_info info27 = new ODBPMCADR_info(); + internal ODBPMCADR_info info28 = new ODBPMCADR_info(); + internal ODBPMCADR_info info29 = new ODBPMCADR_info(); + internal ODBPMCADR_info info30 = new ODBPMCADR_info(); + internal ODBPMCADR_info info31 = new ODBPMCADR_info(); + internal ODBPMCADR_info info32 = new ODBPMCADR_info(); + internal ODBPMCADR_info info33 = new ODBPMCADR_info(); + internal ODBPMCADR_info info34 = new ODBPMCADR_info(); + internal ODBPMCADR_info info35 = new ODBPMCADR_info(); + internal ODBPMCADR_info info36 = new ODBPMCADR_info(); + internal ODBPMCADR_info info37 = new ODBPMCADR_info(); + internal ODBPMCADR_info info38 = new ODBPMCADR_info(); + internal ODBPMCADR_info info39 = new ODBPMCADR_info(); + internal ODBPMCADR_info info40 = new ODBPMCADR_info(); + internal ODBPMCADR_info info41 = new ODBPMCADR_info(); + internal ODBPMCADR_info info42 = new ODBPMCADR_info(); + internal ODBPMCADR_info info43 = new ODBPMCADR_info(); + internal ODBPMCADR_info info44 = new ODBPMCADR_info(); + internal ODBPMCADR_info info45 = new ODBPMCADR_info(); + internal ODBPMCADR_info info46 = new ODBPMCADR_info(); + internal ODBPMCADR_info info47 = new ODBPMCADR_info(); + internal ODBPMCADR_info info48 = new ODBPMCADR_info(); + internal ODBPMCADR_info info49 = new ODBPMCADR_info(); + internal ODBPMCADR_info info50 = new ODBPMCADR_info(); + internal ODBPMCADR_info info51 = new ODBPMCADR_info(); + internal ODBPMCADR_info info52 = new ODBPMCADR_info(); + internal ODBPMCADR_info info53 = new ODBPMCADR_info(); + internal ODBPMCADR_info info54 = new ODBPMCADR_info(); + internal ODBPMCADR_info info55 = new ODBPMCADR_info(); + internal ODBPMCADR_info info56 = new ODBPMCADR_info(); + internal ODBPMCADR_info info57 = new ODBPMCADR_info(); + internal ODBPMCADR_info info58 = new ODBPMCADR_info(); + internal ODBPMCADR_info info59 = new ODBPMCADR_info(); + internal ODBPMCADR_info info60 = new ODBPMCADR_info(); + internal ODBPMCADR_info info61 = new ODBPMCADR_info(); + internal ODBPMCADR_info info62 = new ODBPMCADR_info(); + internal ODBPMCADR_info info63 = new ODBPMCADR_info(); + internal ODBPMCADR_info info64 = new ODBPMCADR_info(); + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBPMCADR + { + internal uint io_adr; + internal short datano; + internal ODBPMCADR1 info = new ODBPMCADR1(); + } + + + /*--------------------------*/ + /* PROFIBUS function */ + /*--------------------------*/ + + /* pmc_prfrdconfig:read PROFIBUS configration data */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBPRFCNF + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string master_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)] + internal string master_ver = new string(' ', 3); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string slave_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)] + internal string slave_ver = new string(' ', 3); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] + internal string cntl_ser = new string(' ', 5); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)] + internal string cntl_ver = new string(' ', 3); + } + + /* pmc_prfrdbusprm:read bus parameter for master function */ + /* pmc_prfwrbusprm:write bus parameter for master function */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBBUSPRM + { + internal sbyte fdl_add; + internal sbyte baudrate; + internal ushort tsl; + internal ushort min_tsdr; + internal ushort max_tsdr; + internal byte tqui; + internal byte tset; + internal int ttr; + internal sbyte gap; + internal sbyte hsa; + internal sbyte max_retry; + internal byte bp_flag; + internal ushort min_slv_int; + internal ushort poll_tout; + internal ushort data_cntl; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] + internal byte[] reserve1 = new byte[6]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + internal byte[] cls2_name = new byte[32]; + internal short user_dlen; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 62)] + internal byte[] user_data = new byte[62]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 96)] + internal byte[] reserve2 = new byte[96]; + } + + /* pmc_prfrdslvprm:read slave parameter for master function */ + /* pmc_prfwrslvprm:write slave parameter for master function */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSLVPRM + { + internal short dis_enb; + internal ushort ident_no; + internal byte slv_flag; + internal byte slv_type; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] + internal byte[] reserve1 = new byte[12]; + internal byte slv_stat; + internal byte wd_fact1; + internal byte wd_fact2; + internal byte min_tsdr; + internal char reserve2; + internal byte grp_ident; + internal short user_plen; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + internal byte[] user_pdata = new byte[32]; + internal short cnfg_dlen; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 126)] + internal byte[] cnfg_data = new byte[126]; + internal short slv_ulen; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 30)] + internal byte[] slv_udata = new byte[30]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal byte[] reserve3 = new byte[8]; + } + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSLVPRM2 + { + internal short dis_enb; + internal ushort ident_no; + internal byte slv_flag; + internal byte slv_type; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] + internal byte[] reserve1 = new byte[12]; + internal byte slv_stat; + internal byte wd_fact1; + internal byte wd_fact2; + internal byte min_tsdr; + internal sbyte reserve2; + internal byte grp_ident; + internal short user_plen; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 206)] + internal byte[] user_pdata = new byte[206]; + internal short cnfg_dlen; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 126)] + internal byte[] cnfg_data = new byte[126]; + internal short slv_ulen; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 30)] + internal byte[] slv_udata = new byte[30]; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + internal byte[] reserve3 = new byte[8]; + } + + /* pmc_prfrdallcadr:read allocation address for master function */ + /* pmc_prfwrallcadr:set allocation address for master function */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBPRFADR + { + internal byte di_size; + internal byte di_type; + internal ushort di_addr; + internal short reserve1; + internal byte do_size; + internal byte do_type; + internal ushort do_addr; + internal short reserve2; + internal byte dgn_size; + internal byte dgn_type; + internal ushort dgn_addr; + } + + /* pmc_prfrdslvaddr:read allocation address for slave function */ + /* pmc_prfwrslvaddr:set allocation address for slave function */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSLVADR + { + internal byte slave_no; + internal byte di_size; + internal byte di_type; + internal ushort di_addr; + internal byte do_size; + internal byte do_type; + internal ushort do_addr; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)] + internal byte[] reserve = new byte[7]; + } + + /* pmc_prfrdslvstat:read status for slave function */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBSLVST + { + internal byte cnfg_stat; + internal byte prm_stat; + internal sbyte wdg_stat; + internal byte live_stat; + internal short ident_no; + } + + /* pmc_prfrdslvid:Reads slave index data of master function */ + /* pmc_prfwrslvid:Writes slave index data of master function */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSLVID + { + internal short dis_enb; + internal short slave_no; + internal short nsl; + internal byte dgn_size; + internal char dgn_type; + internal ushort dgn_addr; + } + + /* pmc_prfrdslvprm2:Reads slave parameter of master function(2) */ + /* pmc_prfwrslvprm2:Writes slave parameter of master function(2) */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBSLVPRM3 + { + internal ushort ident_no; + internal byte slv_flag; + internal byte slv_type; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] + internal char[] reserve1 = new char[12]; + internal byte slv_stat; + internal byte wd_fact1; + internal byte wd_fact2; + internal byte min_tsdr; + internal char reserve2; + internal byte grp_ident; + internal short user_plen; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 206)] + internal char[] user_pdata = new char[206]; + internal short slv_ulen; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 30)] + internal char[] slv_udata = new char[30]; + } + + /* pmc_prfrddido:Reads DI/DO parameter of master function */ + /* pmc_prfwrdido:Writes DI/DO parameter of master function */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBDIDO + { + internal short slave_no; + internal short slot_no; + internal byte di_size; + internal char di_type; + internal ushort di_addr; + internal byte do_size; + internal char do_type; + internal ushort do_addr; + internal short shift; + internal byte module_dlen; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)] + internal char[] module_data = new char[128]; + } + + /* pmc_prfrdindiadr:Reads indication address of master function */ + /* pmc_prfwrindiadr:Writes indication address of master function */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBINDEADR + { + internal byte dummy; + internal char indi_type; + internal ushort indi_addr; + } + + /*-----------------------------------------------*/ + /* DS : Data server & Ethernet board function */ + /*-----------------------------------------------*/ + + /* etb_rdparam : read@the parameter of the Ethernet board */ + /* etb_wrparam : write the parameter of the Ethernet board */ + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class TCPPRM + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string OwnIPAddress = new string(' ', 16); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string SubNetMask = new string(' ', 16); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string RouterIPAddress = new string(' ', 16); + } + + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class HOSTPRM + { + internal short DataServerPort; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string DataServerIPAddress = new string(' ', 16); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + internal string DataServerUserName = new string(' ', 32); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + internal string DataServerPassword = new string(' ', 32); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] + internal string DataServerLoginDirectory = new string(' ', 128); + } + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class FTPPRM + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + internal string FTPServerUserName = new string(' ', 32); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + internal string FTPServerPassword = new string(' ', 32); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] + internal string FTPServerLoginDirectory = new string(' ', 128); + } + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ETBPRM + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 13)] + internal string OwnMACAddress = new string(' ', 128); + internal short MaximumChannel; + internal short HDDExistence; + internal short NumberOfScreens; + } + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBETP + { + internal short Dummy_ParameterType; + + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 210)] + internal byte[] prm = new byte[210]; + } + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBETP_TCP + { + internal short ParameterType; + internal TCPPRM tcp; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBETP_HOST + { + internal short ParameterType; + internal HOSTPRM host; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBETP_FTP + { + internal short ParameterType; + internal FTPPRM ftp; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class IODBETP_ETB + { + internal short ParameterType; + internal ETBPRM etb; + } + + /* etb_rderrmsg : read the error message of the Ethernet board */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBETMSG + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 33)] + internal string title = new string(' ', 33); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 390)] + internal string message = new string(' ', 390); + } + + /* ds_rdhddinfo : read information of the Data Server's HDD */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBHDDINF + { + internal int file_num; + internal int remainder_l; + internal int remainder_h; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + internal char[] current_dir = new char[32]; + } + + /* ds_rdhdddir : read the file list of the Data Server's HDD */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBHDDDIR_data + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] + internal string file_name = new string(' ', 64); + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)] + internal string comment = new string(' ', 80); + internal short attribute; + internal short reserved; + internal int size; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] + internal string date = new string(' ', 16); + } + + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBHDDDIR + { + internal ODBHDDDIR_data data1 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data2 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data3 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data4 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data5 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data6 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data7 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data8 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data9 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data10 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data11 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data12 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data13 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data14 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data15 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data16 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data17 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data18 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data19 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data20 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data21 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data22 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data23 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data24 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data25 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data26 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data27 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data28 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data29 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data30 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data31 = new ODBHDDDIR_data(); + internal ODBHDDDIR_data data32 = new ODBHDDDIR_data(); + } + + /* ds_rdhostdir : read the file list of the host */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBHOSTDIR_data + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)] + internal char[] host_file = new char[128]; + } + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class ODBHOSTDIR + { + internal ODBHOSTDIR_data data1 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data2 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data3 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data4 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data5 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data6 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data7 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data8 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data9 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data10 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data11 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data12 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data13 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data14 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data15 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data16 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data17 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data18 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data19 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data20 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data21 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data22 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data23 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data24 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data25 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data26 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data27 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data28 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data29 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data30 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data31 = new ODBHOSTDIR_data(); + internal ODBHOSTDIR_data data32 = new ODBHOSTDIR_data(); + } + + /* ds_rdmntinfo : read maintenance information */ + [StructLayout(LayoutKind.Sequential, Pack = 4)] + internal class DSMNTINFO + { + internal ushort empty_cnt; + internal uint total_size; + internal ushort ReadPtr; + internal ushort WritePtr; + }; + + /*--------------------------*/ + /* HSSB multiple connection */ + /*--------------------------*/ + + /* cnc_rdnodeinfo:read node informations */ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)] + internal class ODBNODE + { + internal int node_no; + internal int io_base; + internal int status; + internal int cnc_type; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)] + internal string node_name = new string(' ', 20); + } + + + /*-------------------------------------*/ + /* CNC: Control axis / spindle related */ + /*-------------------------------------*/ + + /* read actual axis feedrate(F) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_actf")] + internal static extern short cnc_actf(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBACT a); + + /* read absolute axis position */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_absolute")] + internal static extern short cnc_absolute(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); + + /* read machine axis position */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_machine")] + internal static extern short cnc_machine(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); + + /* read relative axis position */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_relative")] + internal static extern short cnc_relative(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); + + /* read distance to go */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_distance")] + internal static extern short cnc_distance(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); + + /* read skip position */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_skip")] + internal static extern short cnc_skip(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); + + /* read servo delay value */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srvdelay")] + internal static extern short cnc_srvdelay(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); + + /* read acceleration/deceleration delay value */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_accdecdly")] + internal static extern short cnc_accdecdly(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); + + /* read all dynamic data */ #if (!ONO8D) - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddynamic")] - internal static extern short cnc_rddynamic(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDY_1 c); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddynamic")] - internal static extern short cnc_rddynamic(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDY_2 c); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddynamic")] + internal static extern short cnc_rddynamic(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDY_1 c); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddynamic")] + internal static extern short cnc_rddynamic(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDY_2 c); #else [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rddynamico8")] internal static extern short cnc_rddynamic(ushort FlibHndl, @@ -8385,3515 +8385,3515 @@ internal class Focas1 short a, short b, [Out,MarshalAs(UnmanagedType.LPStruct)] ODBDY_2 c); #endif - /* read all dynamic data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddynamic2")] - internal static extern short cnc_rddynamic2(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDY2_1 c); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddynamic2")] - internal static extern short cnc_rddynamic2(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDY2_2 c); + /* read all dynamic data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddynamic2")] + internal static extern short cnc_rddynamic2(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDY2_1 c); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddynamic2")] + internal static extern short cnc_rddynamic2(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDY2_2 c); - /* read actual spindle speed(S) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_acts")] - internal static extern short cnc_acts(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBACT a); + /* read actual spindle speed(S) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_acts")] + internal static extern short cnc_acts(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBACT a); - /* read actual spindle speed(S) (All or spesified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_acts2")] - internal static extern short cnc_acts2(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBACT2 b); + /* read actual spindle speed(S) (All or spesified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_acts2")] + internal static extern short cnc_acts2(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBACT2 b); - /* set origin / preset relative axis position */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrrelpos")] - internal static extern short cnc_wrrelpos(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBWRR b); + /* set origin / preset relative axis position */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrrelpos")] + internal static extern short cnc_wrrelpos(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBWRR b); - /* preset work coordinate */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_prstwkcd")] - internal static extern short cnc_prstwkcd(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBWRA b); + /* preset work coordinate */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_prstwkcd")] + internal static extern short cnc_prstwkcd(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBWRA b); - /* read manual overlapped motion value */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmovrlap")] - internal static extern short cnc_rdmovrlap(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBOVL c); + /* read manual overlapped motion value */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmovrlap")] + internal static extern short cnc_rdmovrlap(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBOVL c); - /* cancel manual overlapped motion value */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_canmovrlap")] - internal static extern short cnc_canmovrlap(ushort FlibHndl, short a); + /* cancel manual overlapped motion value */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_canmovrlap")] + internal static extern short cnc_canmovrlap(ushort FlibHndl, short a); - /* read load information of serial spindle */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspload")] - internal static extern short cnc_rdspload(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPN b); + /* read load information of serial spindle */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspload")] + internal static extern short cnc_rdspload(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPN b); - /* read maximum r.p.m. ratio of serial spindle */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspmaxrpm")] - internal static extern short cnc_rdspmaxrpm(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPN b); + /* read maximum r.p.m. ratio of serial spindle */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspmaxrpm")] + internal static extern short cnc_rdspmaxrpm(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPN b); - /* read gear ratio of serial spindle */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspgear")] - internal static extern short cnc_rdspgear(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPN b); + /* read gear ratio of serial spindle */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspgear")] + internal static extern short cnc_rdspgear(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPN b); - /* read absolute axis position 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_absolute2")] - internal static extern short cnc_absolute2(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); + /* read absolute axis position 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_absolute2")] + internal static extern short cnc_absolute2(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); - /* read relative axis position 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_relative2")] - internal static extern short cnc_relative2(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); + /* read relative axis position 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_relative2")] + internal static extern short cnc_relative2(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); - /* set wire vertival position */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setvrtclpos")] - internal static extern short cnc_setvrtclpos(ushort FlibHndl, short a); + /* set wire vertival position */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setvrtclpos")] + internal static extern short cnc_setvrtclpos(ushort FlibHndl, short a); - /* set wire threading position */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setthrdngpos")] - internal static extern short cnc_setthrdngpos(ushort FlibHndl); + /* set wire threading position */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setthrdngpos")] + internal static extern short cnc_setthrdngpos(ushort FlibHndl); - /* read tool position */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdposition")] - internal static extern short cnc_rdposition(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPOS c); + /* read tool position */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdposition")] + internal static extern short cnc_rdposition(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPOS c); - /* read current speed */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspeed")] - internal static extern short cnc_rdspeed(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPEED b); + /* read current speed */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspeed")] + internal static extern short cnc_rdspeed(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPEED b); - /* read servo load meter */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsvmeter")] - internal static extern short cnc_rdsvmeter(ushort FlibHndl, - ref short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSVLOAD b); + /* read servo load meter */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsvmeter")] + internal static extern short cnc_rdsvmeter(ushort FlibHndl, + ref short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSVLOAD b); - /* read spindle load meter */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspmeter")] - internal static extern short cnc_rdspmeter(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPLOAD c); + /* read spindle load meter */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspmeter")] + internal static extern short cnc_rdspmeter(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPLOAD c); - /* read manual feed for 5-axis machining */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd5axmandt")] - internal static extern short cnc_rd5axmandt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB5AXMAN a); + /* read manual feed for 5-axis machining */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd5axmandt")] + internal static extern short cnc_rd5axmandt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB5AXMAN a); - /* read amount of machine axes movement of manual feed for 5-axis machining */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd5axovrlap")] - internal static extern short cnc_rd5axovrlap(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); + /* read amount of machine axes movement of manual feed for 5-axis machining */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd5axovrlap")] + internal static extern short cnc_rd5axovrlap(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); - /* read handle interruption */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhndintrpt")] - internal static extern short cnc_rdhndintrpt(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHND c); + /* read handle interruption */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhndintrpt")] + internal static extern short cnc_rdhndintrpt(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHND c); - /* clear pulse values of manual feed for 5-axis machining */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clr5axpls")] - internal static extern short cnc_clr5axpls(ushort FlibHndl, short a); + /* clear pulse values of manual feed for 5-axis machining */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clr5axpls")] + internal static extern short cnc_clr5axpls(ushort FlibHndl, short a); - /* read constant surface speed */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspcss")] - internal static extern short cnc_rdspcss(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBCSS a); + /* read constant surface speed */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspcss")] + internal static extern short cnc_rdspcss(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBCSS a); - /* read execution program pointer */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdexecpt")] - internal static extern short cnc_rdexecpt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGPNT a, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGPNT b); + /* read execution program pointer */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdexecpt")] + internal static extern short cnc_rdexecpt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGPNT a, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGPNT b); - /* read various axis data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdaxisdata")] - internal static extern short cnc_rdaxisdata(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, short c, ref short d, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXDT e); + /* read various axis data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdaxisdata")] + internal static extern short cnc_rdaxisdata(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, short c, ref short d, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXDT e); - /*----------------------*/ - /* CNC: Program related */ - /*----------------------*/ + /*----------------------*/ + /* CNC: Program related */ + /*----------------------*/ - /* start downloading NC program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnstart")] - internal static extern short cnc_dwnstart(ushort FlibHndl); + /* start downloading NC program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnstart")] + internal static extern short cnc_dwnstart(ushort FlibHndl); - /* download NC program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_download")] - internal static extern short cnc_download(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b); + /* download NC program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_download")] + internal static extern short cnc_download(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b); - /* download NC program(conditional) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cdownload")] - internal static extern short cnc_cdownload(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b); + /* download NC program(conditional) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cdownload")] + internal static extern short cnc_cdownload(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b); - /* end of downloading NC program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnend")] - internal static extern short cnc_dwnend(ushort FlibHndl); + /* end of downloading NC program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnend")] + internal static extern short cnc_dwnend(ushort FlibHndl); - /* end of downloading NC program 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnend2")] - internal static extern short cnc_dwnend2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + /* end of downloading NC program 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnend2")] + internal static extern short cnc_dwnend2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - /* start downloading NC program 3 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnstart3")] - internal static extern short cnc_dwnstart3(ushort FlibHndl, short a); + /* start downloading NC program 3 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnstart3")] + internal static extern short cnc_dwnstart3(ushort FlibHndl, short a); - /* start downloading NC program 3 special */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnstart3_f")] - internal static extern short cnc_dwnstart3_f(ushort FlibHndl, - short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, [In, MarshalAs(UnmanagedType.AsAny)] Object c); + /* start downloading NC program 3 special */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnstart3_f")] + internal static extern short cnc_dwnstart3_f(ushort FlibHndl, + short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, [In, MarshalAs(UnmanagedType.AsAny)] Object c); - /* download NC program 3 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_download3")] - internal static extern short cnc_download3(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + /* download NC program 3 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_download3")] + internal static extern short cnc_download3(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - /* end of downloading NC program 3 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnend3")] - internal static extern short cnc_dwnend3(ushort FlibHndl); + /* end of downloading NC program 3 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnend3")] + internal static extern short cnc_dwnend3(ushort FlibHndl); - /* start downloading NC program 4 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnstart4")] - internal static extern short cnc_dwnstart4(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + /* start downloading NC program 4 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnstart4")] + internal static extern short cnc_dwnstart4(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - /* download NC program 4 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_download4")] - internal static extern short cnc_download4(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + /* download NC program 4 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_download4")] + internal static extern short cnc_download4(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - /* end of downloading NC program 4 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnend4")] - internal static extern short cnc_dwnend4(ushort FlibHndl); + /* end of downloading NC program 4 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnend4")] + internal static extern short cnc_dwnend4(ushort FlibHndl); - /* start verification of NC program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_vrfstart")] - internal static extern short cnc_vrfstart(ushort FlibHndl); + /* start verification of NC program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_vrfstart")] + internal static extern short cnc_vrfstart(ushort FlibHndl); - /* verify NC program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_verify")] - internal static extern short cnc_verify(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b); + /* verify NC program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_verify")] + internal static extern short cnc_verify(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b); - /* verify NC program(conditional) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cverify")] - internal static extern short cnc_cverify(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b); + /* verify NC program(conditional) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cverify")] + internal static extern short cnc_cverify(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b); - /* end of verification */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_vrfend")] - internal static extern short cnc_vrfend(ushort FlibHndl); + /* end of verification */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_vrfend")] + internal static extern short cnc_vrfend(ushort FlibHndl); - /* start verification of NC program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_vrfstart4")] - internal static extern short cnc_vrfstart4(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + /* start verification of NC program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_vrfstart4")] + internal static extern short cnc_vrfstart4(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - /* verify NC program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_verify4")] - internal static extern short cnc_verify4(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + /* verify NC program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_verify4")] + internal static extern short cnc_verify4(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - /* end of verification */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_vrfend4")] - internal static extern short cnc_vrfend4(ushort FlibHndl); + /* end of verification */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_vrfend4")] + internal static extern short cnc_vrfend4(ushort FlibHndl); - /* start downloading DNC program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dncstart")] - internal static extern short cnc_dncstart(ushort FlibHndl); + /* start downloading DNC program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dncstart")] + internal static extern short cnc_dncstart(ushort FlibHndl); - /* download DNC program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dnc")] - internal static extern short cnc_dnc(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ushort b); + /* download DNC program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dnc")] + internal static extern short cnc_dnc(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ushort b); - /* download DNC program(conditional) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cdnc")] - internal static extern short cnc_cdnc(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ushort b); + /* download DNC program(conditional) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cdnc")] + internal static extern short cnc_cdnc(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ushort b); - /* end of downloading DNC program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dncend")] - internal static extern short cnc_dncend(ushort FlibHndl); + /* end of downloading DNC program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dncend")] + internal static extern short cnc_dncend(ushort FlibHndl); - /* start downloading DNC program 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dncstart2")] - internal static extern short cnc_dncstart2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + /* start downloading DNC program 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dncstart2")] + internal static extern short cnc_dncstart2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - /* download DNC program 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dnc2")] - internal static extern short cnc_dnc2(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + /* download DNC program 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dnc2")] + internal static extern short cnc_dnc2(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - /* end of downloading DNC program 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dncend2")] - internal static extern short cnc_dncend2(ushort FlibHndl, short a); + /* end of downloading DNC program 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dncend2")] + internal static extern short cnc_dncend2(ushort FlibHndl, short a); - /* read the diagnosis data of DNC operation */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddncdgndt")] - internal static extern short cnc_rddncdgndt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDNCDGN a); + /* read the diagnosis data of DNC operation */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddncdgndt")] + internal static extern short cnc_rddncdgndt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDNCDGN a); - /* start uploading NC program */ + /* start uploading NC program */ #if (!ONO8D) - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upstart")] - internal static extern short cnc_upstart(ushort FlibHndl, short a); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upstart")] + internal static extern short cnc_upstart(ushort FlibHndl, short a); #else [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_upstarto8")] internal static extern short cnc_upstart( ushort FlibHndl, int a ); #endif - /* upload NC program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upload")] - internal static extern short cnc_upload(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBUP a, ref ushort b); + /* upload NC program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upload")] + internal static extern short cnc_upload(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBUP a, ref ushort b); - /* upload NC program(conditional) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cupload")] - internal static extern short cnc_cupload(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBUP a, ref ushort b); + /* upload NC program(conditional) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cupload")] + internal static extern short cnc_cupload(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBUP a, ref ushort b); - /* end of uploading NC program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upend")] - internal static extern short cnc_upend(ushort FlibHndl); + /* end of uploading NC program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upend")] + internal static extern short cnc_upend(ushort FlibHndl); - /* start uploading NC program 3 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upstart3")] - internal static extern short cnc_upstart3(ushort FlibHndl, short a, int b, int c); + /* start uploading NC program 3 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upstart3")] + internal static extern short cnc_upstart3(ushort FlibHndl, short a, int b, int c); - /* start uploading NC program special 3 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upstart3_f")] - internal static extern short cnc_upstart3_f(ushort FlibHndl, - short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, [In, MarshalAs(UnmanagedType.AsAny)] Object c); + /* start uploading NC program special 3 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upstart3_f")] + internal static extern short cnc_upstart3_f(ushort FlibHndl, + short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, [In, MarshalAs(UnmanagedType.AsAny)] Object c); - /* upload NC program 3 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upload3")] - internal static extern short cnc_upload3(ushort FlibHndl, ref int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); + /* upload NC program 3 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upload3")] + internal static extern short cnc_upload3(ushort FlibHndl, ref int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); - /* end of uploading NC program 3 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upend3")] - internal static extern short cnc_upend3(ushort FlibHndl); + /* end of uploading NC program 3 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upend3")] + internal static extern short cnc_upend3(ushort FlibHndl); - /* start uploading NC program 4 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upstart4")] - internal static extern short cnc_upstart4(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); + /* start uploading NC program 4 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upstart4")] + internal static extern short cnc_upstart4(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); - /* upload NC program 4 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upload4")] - internal static extern short cnc_upload4(ushort FlibHndl, ref int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); + /* upload NC program 4 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upload4")] + internal static extern short cnc_upload4(ushort FlibHndl, ref int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); - /* end of uploading NC program 4 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upend4")] - internal static extern short cnc_upend4(ushort FlibHndl); + /* end of uploading NC program 4 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upend4")] + internal static extern short cnc_upend4(ushort FlibHndl); - /* read buffer status for downloading/verification NC program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_buff")] - internal static extern short cnc_buff(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBBUF a); + /* read buffer status for downloading/verification NC program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_buff")] + internal static extern short cnc_buff(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBBUF a); - /* search specified program */ + /* search specified program */ #if (!ONO8D) - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_search")] - internal static extern short cnc_search(ushort FlibHndl, short a); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_search")] + internal static extern short cnc_search(ushort FlibHndl, short a); #else [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_searcho8")] internal static extern short cnc_search( ushort FlibHndl, int a ); #endif - /* search specified program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_search2")] - internal static extern short cnc_search2(ushort FlibHndl, int a); + /* search specified program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_search2")] + internal static extern short cnc_search2(ushort FlibHndl, int a); - /* delete all programs */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_delall")] - internal static extern short cnc_delall(ushort FlibHndl); + /* delete all programs */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_delall")] + internal static extern short cnc_delall(ushort FlibHndl); - /* delete specified program */ + /* delete specified program */ #if (!ONO8D) - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_delete")] - internal static extern short cnc_delete(ushort FlibHndl, short a); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_delete")] + internal static extern short cnc_delete(ushort FlibHndl, short a); #else [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_deleteo8")] internal static extern short cnc_delete( ushort FlibHndl, int a ); #endif - /* delete program (area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_delrange")] - internal static extern short cnc_delrange(ushort FlibHndl, int a, int b); + /* delete program (area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_delrange")] + internal static extern short cnc_delrange(ushort FlibHndl, int a, int b); - /* read program directory */ + /* read program directory */ #if (!ONO8D) - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogdir")] - internal static extern short cnc_rdprogdir(ushort FlibHndl, - short a, short b, short c, ushort d, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIR e); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogdir")] + internal static extern short cnc_rdprogdir(ushort FlibHndl, + short a, short b, short c, ushort d, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIR e); #else [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdprogdiro8")] internal static extern short cnc_rdprogdir( ushort FlibHndl, short a, short b, short c, ushort d, [Out,MarshalAs(UnmanagedType.LPStruct)] PRGDIR e ); #endif - /* read program information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdproginfo")] - internal static extern short cnc_rdproginfo(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBNC_1 c); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdproginfo")] - internal static extern short cnc_rdproginfo(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBNC_2 c); + /* read program information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdproginfo")] + internal static extern short cnc_rdproginfo(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBNC_1 c); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdproginfo")] + internal static extern short cnc_rdproginfo(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBNC_2 c); - /* read program number under execution */ + /* read program number under execution */ #if (!ONO8D) - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprgnum")] - internal static extern short cnc_rdprgnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPRO a); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprgnum")] + internal static extern short cnc_rdprgnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPRO a); #else [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdprgnumo8")] internal static extern short cnc_rdprgnum( ushort FlibHndl, [Out,MarshalAs(UnmanagedType.LPStruct)] ODBPRO a ); #endif - /* read program name under execution */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_exeprgname")] - internal static extern short cnc_exeprgname(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBEXEPRG a); + /* read program name under execution */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_exeprgname")] + internal static extern short cnc_exeprgname(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBEXEPRG a); - /* read sequence number under execution */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdseqnum")] - internal static extern short cnc_rdseqnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSEQ a); + /* read sequence number under execution */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdseqnum")] + internal static extern short cnc_rdseqnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSEQ a); - /* search specified sequence number */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_seqsrch")] - internal static extern short cnc_seqsrch(ushort FlibHndl, int a); + /* search specified sequence number */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_seqsrch")] + internal static extern short cnc_seqsrch(ushort FlibHndl, int a); - /* search specified sequence number (2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_seqsrch2")] - internal static extern short cnc_seqsrch2(ushort FlibHndl, int a); + /* search specified sequence number (2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_seqsrch2")] + internal static extern short cnc_seqsrch2(ushort FlibHndl, int a); - /* rewind cursor of NC program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rewind")] - internal static extern short cnc_rewind(ushort FlibHndl); + /* rewind cursor of NC program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rewind")] + internal static extern short cnc_rewind(ushort FlibHndl); - /* read block counter */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdblkcount")] - internal static extern short cnc_rdblkcount(ushort FlibHndl, out int a); + /* read block counter */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdblkcount")] + internal static extern short cnc_rdblkcount(ushort FlibHndl, out int a); - /* read program under execution */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdexecprog")] - internal static extern short cnc_rdexecprog(ushort FlibHndl, ref ushort a, out short b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c); + /* read program under execution */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdexecprog")] + internal static extern short cnc_rdexecprog(ushort FlibHndl, ref ushort a, out short b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c); - /* read program for MDI operation */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmdiprog")] - internal static extern short cnc_rdmdiprog(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); + /* read program for MDI operation */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmdiprog")] + internal static extern short cnc_rdmdiprog(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); - /* write program for MDI operation */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmdiprog")] - internal static extern short cnc_wrmdiprog(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + /* write program for MDI operation */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmdiprog")] + internal static extern short cnc_wrmdiprog(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - /* read execution pointer for MDI operation */ + /* read execution pointer for MDI operation */ #if (!ONO8D) - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmdipntr")] - internal static extern short cnc_rdmdipntr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDIP a); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmdipntr")] + internal static extern short cnc_rdmdipntr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDIP a); #else [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdmdipntro8")] internal static extern short cnc_rdmdipntr( ushort FlibHndl, [Out,MarshalAs(UnmanagedType.LPStruct)] ODBMDIP a ); #endif - /* write execution pointer for MDI operation */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmdipntr")] - internal static extern short cnc_wrmdipntr(ushort FlibHndl, int a); + /* write execution pointer for MDI operation */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmdipntr")] + internal static extern short cnc_wrmdipntr(ushort FlibHndl, int a); - /* register new program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_newprog")] - internal static extern short cnc_newprog(ushort FlibHndl, int a); + /* register new program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_newprog")] + internal static extern short cnc_newprog(ushort FlibHndl, int a); - /* copy program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_copyprog")] - internal static extern short cnc_copyprog(ushort FlibHndl, int a, int b); + /* copy program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_copyprog")] + internal static extern short cnc_copyprog(ushort FlibHndl, int a, int b); - /* rename program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_renameprog")] - internal static extern short cnc_renameprog(ushort FlibHndl, int a, int b); + /* rename program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_renameprog")] + internal static extern short cnc_renameprog(ushort FlibHndl, int a, int b); - /* condense program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_condense")] - internal static extern short cnc_condense(ushort FlibHndl, short a, int b); + /* condense program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_condense")] + internal static extern short cnc_condense(ushort FlibHndl, short a, int b); - /* merge program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_mergeprog")] - internal static extern short cnc_mergeprog(ushort FlibHndl, short a, int b, uint c, int d); + /* merge program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_mergeprog")] + internal static extern short cnc_mergeprog(ushort FlibHndl, short a, int b, uint c, int d); - /* read current program and its pointer */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdactpt")] - internal static extern short cnc_rdactpt(ushort FlibHndl, out int a, out int b); + /* read current program and its pointer */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdactpt")] + internal static extern short cnc_rdactpt(ushort FlibHndl, out int a, out int b); - /* read current program and its pointer and UV macro pointer */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rduvactpt")] - internal static extern short cnc_rduvactpt(ushort FlibHndl, out int a, out int b, out int c); + /* read current program and its pointer and UV macro pointer */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rduvactpt")] + internal static extern short cnc_rduvactpt(ushort FlibHndl, out int a, out int b, out int c); - /* set current program and its pointer */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wractpt")] - internal static extern short cnc_wractpt(ushort FlibHndl, int a, short b, ref int c); + /* set current program and its pointer */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wractpt")] + internal static extern short cnc_wractpt(ushort FlibHndl, int a, short b, ref int c); - /* line edit (read program) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogline")] - internal static extern short cnc_rdprogline(ushort FlibHndl, - int a, uint b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, ref uint d, ref uint e); + /* line edit (read program) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogline")] + internal static extern short cnc_rdprogline(ushort FlibHndl, + int a, uint b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, ref uint d, ref uint e); - /* line edit (read program) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogline2")] - internal static extern short cnc_rdprogline2(ushort FlibHndl, - int a, uint b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, ref uint d, ref uint e); + /* line edit (read program) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogline2")] + internal static extern short cnc_rdprogline2(ushort FlibHndl, + int a, uint b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, ref uint d, ref uint e); - /* line edit (write program) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrprogline")] - internal static extern short cnc_wrprogline(ushort FlibHndl, int a, uint b, [In, MarshalAs(UnmanagedType.AsAny)] Object c, uint d); + /* line edit (write program) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrprogline")] + internal static extern short cnc_wrprogline(ushort FlibHndl, int a, uint b, [In, MarshalAs(UnmanagedType.AsAny)] Object c, uint d); - /* line edit (delete line in program) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_delprogline")] - internal static extern short cnc_delprogline(ushort FlibHndl, int a, uint b, uint c); + /* line edit (delete line in program) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_delprogline")] + internal static extern short cnc_delprogline(ushort FlibHndl, int a, uint b, uint c); - /* line edit (search string) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_searchword")] - internal static extern short cnc_searchword(ushort FlibHndl, - int a, uint b, short c, short d, uint e, [In, MarshalAs(UnmanagedType.AsAny)] Object f); + /* line edit (search string) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_searchword")] + internal static extern short cnc_searchword(ushort FlibHndl, + int a, uint b, short c, short d, uint e, [In, MarshalAs(UnmanagedType.AsAny)] Object f); - /* line edit (search string) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_searchresult")] - internal static extern short cnc_searchresult(ushort FlibHndl, out uint a); + /* line edit (search string) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_searchresult")] + internal static extern short cnc_searchresult(ushort FlibHndl, out uint a); - /* line edit (read program by file name) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_line")] - internal static extern short cnc_rdpdf_line(ushort FlibHndl, - [In, MarshalAs(UnmanagedType.AsAny)] Object a, uint b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, ref uint d, ref uint e); + /* line edit (read program by file name) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_line")] + internal static extern short cnc_rdpdf_line(ushort FlibHndl, + [In, MarshalAs(UnmanagedType.AsAny)] Object a, uint b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, ref uint d, ref uint e); - /* program lock */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setpglock")] - internal static extern short cnc_setpglock(ushort FlibHndl, int a); + /* program lock */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setpglock")] + internal static extern short cnc_setpglock(ushort FlibHndl, int a); - /* program unlock */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_resetpglock")] - internal static extern short cnc_resetpglock(ushort FlibHndl, int a); + /* program unlock */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_resetpglock")] + internal static extern short cnc_resetpglock(ushort FlibHndl, int a); - /* read the status of the program lock */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpglockstat")] - internal static extern short cnc_rdpglockstat(ushort FlibHndl, out int a, out int b); + /* read the status of the program lock */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpglockstat")] + internal static extern short cnc_rdpglockstat(ushort FlibHndl, out int a, out int b); - /* create file or directory */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_add")] - internal static extern short cnc_pdf_add(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + /* create file or directory */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_add")] + internal static extern short cnc_pdf_add(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - /* condense program file */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_cond")] - internal static extern short cnc_pdf_cond(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + /* condense program file */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_cond")] + internal static extern short cnc_pdf_cond(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - /* change attribute of program file and directory */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpdf_attr")] - internal static extern short cnc_wrpdf_attr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [Out, MarshalAs(UnmanagedType.LPStruct)] IDBPDFTDIR b); + /* change attribute of program file and directory */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpdf_attr")] + internal static extern short cnc_wrpdf_attr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [Out, MarshalAs(UnmanagedType.LPStruct)] IDBPDFTDIR b); - /* copy program file */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_copy")] - internal static extern short cnc_pdf_copy(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + /* copy program file */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_copy")] + internal static extern short cnc_pdf_copy(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - /* delete file or directory */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_del")] - internal static extern short cnc_pdf_del(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + /* delete file or directory */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_del")] + internal static extern short cnc_pdf_del(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - /* line edit (write program by file name) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpdf_line")] - internal static extern short cnc_wrpdf_line(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, uint b, [In, MarshalAs(UnmanagedType.AsAny)] Object c, uint d); + /* line edit (write program by file name) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpdf_line")] + internal static extern short cnc_wrpdf_line(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, uint b, [In, MarshalAs(UnmanagedType.AsAny)] Object c, uint d); - /* line edit (delete line by file name) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_delline")] - internal static extern short cnc_pdf_delline(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, uint b, uint c); + /* line edit (delete line by file name) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_delline")] + internal static extern short cnc_pdf_delline(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, uint b, uint c); - /* move program file */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_move")] - internal static extern short cnc_pdf_move(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + /* move program file */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_move")] + internal static extern short cnc_pdf_move(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - /* read current program and its pointer */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_rdactpt")] - internal static extern short cnc_pdf_rdactpt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a, out int b); + /* read current program and its pointer */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_rdactpt")] + internal static extern short cnc_pdf_rdactpt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a, out int b); - /* read selected file name */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_rdmain")] - internal static extern short cnc_pdf_rdmain(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); + /* read selected file name */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_rdmain")] + internal static extern short cnc_pdf_rdmain(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); - /* rename file or directory */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_rename")] - internal static extern short cnc_pdf_rename(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + /* rename file or directory */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_rename")] + internal static extern short cnc_pdf_rename(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - /* line edit (search string) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_searchword")] - internal static extern short cnc_pdf_searchword(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, uint b, uint c, uint d, uint e, [In, MarshalAs(UnmanagedType.AsAny)] Object f); + /* line edit (search string) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_searchword")] + internal static extern short cnc_pdf_searchword(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, uint b, uint c, uint d, uint e, [In, MarshalAs(UnmanagedType.AsAny)] Object f); - /* line edit (search string) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_searchresult")] - internal static extern short cnc_pdf_searchresult(ushort FlibHndl, out uint a); + /* line edit (search string) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_searchresult")] + internal static extern short cnc_pdf_searchresult(ushort FlibHndl, out uint a); - /* select program file */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_slctmain")] - internal static extern short cnc_pdf_slctmain(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + /* select program file */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_slctmain")] + internal static extern short cnc_pdf_slctmain(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - /* set current program and its pointer */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_wractpt")] - internal static extern short cnc_pdf_wractpt(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b, ref int c); + /* set current program and its pointer */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_wractpt")] + internal static extern short cnc_pdf_wractpt(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b, ref int c); - /* read program drive information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_inf")] - internal static extern short cnc_rdpdf_inf(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c); + /* read program drive information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_inf")] + internal static extern short cnc_rdpdf_inf(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c); - /* read program drive directory */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_drive")] - internal static extern short cnc_rdpdf_drive(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); + /* read program drive directory */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_drive")] + internal static extern short cnc_rdpdf_drive(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); - /* read current directory */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_curdir")] - internal static extern short cnc_rdpdf_curdir(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); + /* read current directory */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_curdir")] + internal static extern short cnc_rdpdf_curdir(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); - /* set current directory */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpdf_curdir")] - internal static extern short cnc_wrpdf_curdir(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); + /* set current directory */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpdf_curdir")] + internal static extern short cnc_wrpdf_curdir(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); - /* read directory (sub directories) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_subdir")] - internal static extern short cnc_rdpdf_subdir(ushort FlibHndl, - ref short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBPDFSDIR b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPDFSDIR c); + /* read directory (sub directories) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_subdir")] + internal static extern short cnc_rdpdf_subdir(ushort FlibHndl, + ref short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBPDFSDIR b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPDFSDIR c); - /* read directory (all files) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_alldir")] - internal static extern short cnc_rdpdf_alldir(ushort FlibHndl, ref short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c); + /* read directory (all files) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_alldir")] + internal static extern short cnc_rdpdf_alldir(ushort FlibHndl, ref short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c); - /* read file count in directory */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_subdirn")] - internal static extern short cnc_rdpdf_subdirn(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPDFNFIL b); + /* read file count in directory */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_subdirn")] + internal static extern short cnc_rdpdf_subdirn(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPDFNFIL b); - /*---------------------------*/ - /* CNC: NC file data related */ - /*---------------------------*/ + /*---------------------------*/ + /* CNC: NC file data related */ + /*---------------------------*/ - /* read tool offset value */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofs")] - internal static extern short cnc_rdtofs(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTOFS d); + /* read tool offset value */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofs")] + internal static extern short cnc_rdtofs(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTOFS d); - /* write tool offset value */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofs")] - internal static extern short cnc_wrtofs(ushort FlibHndl, short a, short b, short c, int d); + /* write tool offset value */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofs")] + internal static extern short cnc_wrtofs(ushort FlibHndl, short a, short b, short c, int d); - /* read tool offset value(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsr")] - internal static extern short cnc_rdtofsr(ushort FlibHndl, - short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_1 e); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsr")] - internal static extern short cnc_rdtofsr(ushort FlibHndl, - short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_2 e); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsr")] - internal static extern short cnc_rdtofsr(ushort FlibHndl, - short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_3 e); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsr")] - internal static extern short cnc_rdtofsr(ushort FlibHndl, - short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_2 e); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsr")] - internal static extern short cnc_rdtofsr(ushort FlibHndl, - short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_3 e); + /* read tool offset value(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsr")] + internal static extern short cnc_rdtofsr(ushort FlibHndl, + short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_1 e); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsr")] + internal static extern short cnc_rdtofsr(ushort FlibHndl, + short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_2 e); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsr")] + internal static extern short cnc_rdtofsr(ushort FlibHndl, + short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_3 e); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsr")] + internal static extern short cnc_rdtofsr(ushort FlibHndl, + short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_2 e); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsr")] + internal static extern short cnc_rdtofsr(ushort FlibHndl, + short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_3 e); - /* write tool offset value(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofsr")] - internal static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_1 b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofsr")] - internal static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_2 b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofsr")] - internal static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_3 b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofsr")] - internal static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_2 b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofsr")] - internal static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_3 b); + /* write tool offset value(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofsr")] + internal static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_1 b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofsr")] + internal static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_2 b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofsr")] + internal static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_3 b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofsr")] + internal static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_2 b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofsr")] + internal static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_3 b); - /* read work zero offset value */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdzofs")] - internal static extern short cnc_rdzofs(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBZOFS d); + /* read work zero offset value */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdzofs")] + internal static extern short cnc_rdzofs(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBZOFS d); - /* write work zero offset value */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrzofs")] - internal static extern short cnc_wrzofs(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBZOFS b); + /* write work zero offset value */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrzofs")] + internal static extern short cnc_wrzofs(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBZOFS b); - /* read work zero offset value(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdzofsr")] - internal static extern short cnc_rdzofsr(ushort FlibHndl, - short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBZOR e); + /* read work zero offset value(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdzofsr")] + internal static extern short cnc_rdzofsr(ushort FlibHndl, + short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBZOR e); - /* write work zero offset value(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrzofsr")] - internal static extern short cnc_wrzofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBZOR b); + /* write work zero offset value(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrzofsr")] + internal static extern short cnc_wrzofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBZOR b); - /* read mesured point value */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmsptype")] - internal static extern short cnc_rdmsptype(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMSTP d); + /* read mesured point value */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmsptype")] + internal static extern short cnc_rdmsptype(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMSTP d); - /* write mesured point value */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmsptype")] - internal static extern short cnc_wrmsptype(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMSTP d); + /* write mesured point value */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmsptype")] + internal static extern short cnc_wrmsptype(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMSTP d); - /* read parameter */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam")] - internal static extern short cnc_rdparam(ushort FlibHndl, - short number, short axis, short length, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD param); + /* read parameter */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam")] + internal static extern short cnc_rdparam(ushort FlibHndl, + short number, short axis, short length, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD param); #if LEAVE_OLD_STYLE - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam")] - internal static extern short cnc_rdparam(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 d); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam")] - internal static extern short cnc_rdparam(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 d); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam")] - internal static extern short cnc_rdparam(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 d); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam")] - internal static extern short cnc_rdparam(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 d); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam")] + internal static extern short cnc_rdparam(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 d); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam")] + internal static extern short cnc_rdparam(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 d); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam")] + internal static extern short cnc_rdparam(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 d); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam")] + internal static extern short cnc_rdparam(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 d); #endif - /* write parameter */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparam")] - internal static extern short cnc_wrparam(ushort FlibHndl, short length, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD param); + /* write parameter */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparam")] + internal static extern short cnc_wrparam(ushort FlibHndl, short length, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD param); #if LEAVE_OLD_STYLE - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparam")] - internal static extern short cnc_wrparam(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparam")] - internal static extern short cnc_wrparam(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparam")] - internal static extern short cnc_wrparam(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparam")] - internal static extern short cnc_wrparam(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparam")] + internal static extern short cnc_wrparam(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparam")] + internal static extern short cnc_wrparam(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparam")] + internal static extern short cnc_wrparam(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparam")] + internal static extern short cnc_wrparam(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 b); #endif - /* read parameter(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparar")] - internal static extern short cnc_rdparar(ushort FlibHndl, - ref short a, short b, ref short c, ref short d, [Out, MarshalAs(UnmanagedType.AsAny)] Object e); - // [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdparar")] - // internal static extern short cnc_rdparar( ushort FlibHndl, - // ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] IODBPSD_A e ); - // [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdparar")] - // internal static extern short cnc_rdparar( ushort FlibHndl, - // ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] IODBPSD_B e ); - // [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdparar")] - // internal static extern short cnc_rdparar( ushort FlibHndl, - // ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] IODBPSD_C e ); - // [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdparar")] - // internal static extern short cnc_rdparar( ushort FlibHndl, - // ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] IODBPSD_D e ); + /* read parameter(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparar")] + internal static extern short cnc_rdparar(ushort FlibHndl, + ref short a, short b, ref short c, ref short d, [Out, MarshalAs(UnmanagedType.AsAny)] Object e); + // [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdparar")] + // internal static extern short cnc_rdparar( ushort FlibHndl, + // ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] IODBPSD_A e ); + // [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdparar")] + // internal static extern short cnc_rdparar( ushort FlibHndl, + // ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] IODBPSD_B e ); + // [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdparar")] + // internal static extern short cnc_rdparar( ushort FlibHndl, + // ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] IODBPSD_C e ); + // [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdparar")] + // internal static extern short cnc_rdparar( ushort FlibHndl, + // ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] IODBPSD_D e ); - /* write parameter(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparas")] - internal static extern short cnc_wrparas(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + /* write parameter(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparas")] + internal static extern short cnc_wrparas(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - /* read setting data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdset")] - internal static extern short cnc_rdset(ushort FlibHndl, - short number, short axis, short length, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD set); + /* read setting data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdset")] + internal static extern short cnc_rdset(ushort FlibHndl, + short number, short axis, short length, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD set); #if LEAVE_OLD_STYLE - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdset")] - internal static extern short cnc_rdset(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 d); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdset")] - internal static extern short cnc_rdset(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 d); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdset")] - internal static extern short cnc_rdset(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 d); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdset")] - internal static extern short cnc_rdset(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 d); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdset")] + internal static extern short cnc_rdset(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 d); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdset")] + internal static extern short cnc_rdset(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 d); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdset")] + internal static extern short cnc_rdset(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 d); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdset")] + internal static extern short cnc_rdset(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 d); #endif - /* write setting data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrset")] - internal static extern short cnc_wrset(ushort FlibHndl, short length, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD set); + /* write setting data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrset")] + internal static extern short cnc_wrset(ushort FlibHndl, short length, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD set); #if LEAVE_OLD_STYLE - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrset")] - internal static extern short cnc_wrset(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrset")] - internal static extern short cnc_wrset(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrset")] - internal static extern short cnc_wrset(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrset")] - internal static extern short cnc_wrset(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrset")] + internal static extern short cnc_wrset(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrset")] + internal static extern short cnc_wrset(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrset")] + internal static extern short cnc_wrset(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrset")] + internal static extern short cnc_wrset(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 b); #endif - /* read setting data(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsetr")] - internal static extern short cnc_rdsetr(ushort FlibHndl, - ref short a, short b, ref short c, ref short d, [Out, MarshalAs(UnmanagedType.AsAny)] Object e); + /* read setting data(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsetr")] + internal static extern short cnc_rdsetr(ushort FlibHndl, + ref short a, short b, ref short c, ref short d, [Out, MarshalAs(UnmanagedType.AsAny)] Object e); - /* write setting data(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrsets")] - internal static extern short cnc_wrsets(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + /* write setting data(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrsets")] + internal static extern short cnc_wrsets(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - /* read parameters */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam_ext")] - internal static extern short cnc_rdparam_ext(ushort FlibHndl, - [In, Out, MarshalAs(UnmanagedType.LPStruct)] IODBPRMNO a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPRM c); + /* read parameters */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam_ext")] + internal static extern short cnc_rdparam_ext(ushort FlibHndl, + [In, Out, MarshalAs(UnmanagedType.LPStruct)] IODBPRMNO a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPRM c); - /* read parameter */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam3")] - internal static extern short cnc_rdparam3(ushort FlibHndl, - short number, short axis, short length, short absolute, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD param); + /* read parameter */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam3")] + internal static extern short cnc_rdparam3(ushort FlibHndl, + short number, short axis, short length, short absolute, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD param); #if LEAVE_OLD_STYLE - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam3")] - internal static extern short cnc_rdparam3(ushort FlibHndl, - short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 e); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam3")] - internal static extern short cnc_rdparam3(ushort FlibHndl, - short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 e); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam3")] - internal static extern short cnc_rdparam3(ushort FlibHndl, - short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 e); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam3")] - internal static extern short cnc_rdparam3(ushort FlibHndl, - short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 e); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam3")] + internal static extern short cnc_rdparam3(ushort FlibHndl, + short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 e); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam3")] + internal static extern short cnc_rdparam3(ushort FlibHndl, + short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 e); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam3")] + internal static extern short cnc_rdparam3(ushort FlibHndl, + short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 e); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam3")] + internal static extern short cnc_rdparam3(ushort FlibHndl, + short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 e); #endif - /* async parameter write start */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_start_async_wrparam")] - internal static extern short cnc_start_async_wrparam(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPRM a); - - /* async parameter write end */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_end_async_wrparam")] - internal static extern short cnc_end_async_wrparam(ushort FlibHndl, out short a); - - /* read cause of busy for async parameter write */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_async_busy_state")] - internal static extern short cnc_async_busy_state(ushort FlibHndl, out short a); - - /* read diagnosis data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddiag_ext")] - internal static extern short cnc_rddiag_ext(ushort FlibHndl, - [In, Out, MarshalAs(UnmanagedType.LPStruct)] IODBPRMNO a, short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPRM c); - - /* read pitch error compensation data(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpitchr")] - internal static extern short cnc_rdpitchr(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPI d); - - /* write pitch error compensation data(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpitchr")] - internal static extern short cnc_wrpitchr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPI b); + /* async parameter write start */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_start_async_wrparam")] + internal static extern short cnc_start_async_wrparam(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPRM a); + + /* async parameter write end */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_end_async_wrparam")] + internal static extern short cnc_end_async_wrparam(ushort FlibHndl, out short a); + + /* read cause of busy for async parameter write */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_async_busy_state")] + internal static extern short cnc_async_busy_state(ushort FlibHndl, out short a); + + /* read diagnosis data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddiag_ext")] + internal static extern short cnc_rddiag_ext(ushort FlibHndl, + [In, Out, MarshalAs(UnmanagedType.LPStruct)] IODBPRMNO a, short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPRM c); + + /* read pitch error compensation data(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpitchr")] + internal static extern short cnc_rdpitchr(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPI d); + + /* write pitch error compensation data(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpitchr")] + internal static extern short cnc_wrpitchr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPI b); - /* read custom macro variable */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmacro")] - internal static extern short cnc_rdmacro(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBM c); + /* read custom macro variable */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmacro")] + internal static extern short cnc_rdmacro(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBM c); - /* write custom macro variable */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmacro")] - internal static extern short cnc_wrmacro(ushort FlibHndl, short a, short b, int c, short d); + /* write custom macro variable */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmacro")] + internal static extern short cnc_wrmacro(ushort FlibHndl, short a, short b, int c, short d); - /* read custom macro variables(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmacror")] - internal static extern short cnc_rdmacror(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMR d); + /* read custom macro variables(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmacror")] + internal static extern short cnc_rdmacror(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMR d); - /* write custom macro variables(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmacror")] - internal static extern short cnc_wrmacror(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMR b); + /* write custom macro variables(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmacror")] + internal static extern short cnc_wrmacror(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMR b); - /* read custom macro variables(IEEE double version) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmacror2")] - internal static extern short cnc_rdmacror2(ushort FlibHndl, int a, ref int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c); + /* read custom macro variables(IEEE double version) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmacror2")] + internal static extern short cnc_rdmacror2(ushort FlibHndl, int a, ref int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c); - /* write custom macro variables(IEEE double version) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmacror2")] - internal static extern short cnc_wrmacror2(ushort FlibHndl, int a, ref int b, [In, MarshalAs(UnmanagedType.AsAny)] Object c); + /* write custom macro variables(IEEE double version) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmacror2")] + internal static extern short cnc_wrmacror2(ushort FlibHndl, int a, ref int b, [In, MarshalAs(UnmanagedType.AsAny)] Object c); - /* read P code macro variable */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpmacro")] - internal static extern short cnc_rdpmacro(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPM b); + /* read P code macro variable */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpmacro")] + internal static extern short cnc_rdpmacro(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPM b); - /* write P code macro variable */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpmacro")] - internal static extern short cnc_wrpmacro(ushort FlibHndl, int a, int b, short c); - - /* read P code macro variables(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpmacror")] - internal static extern short cnc_rdpmacror(ushort FlibHndl, - int a, int b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPR d); - - /* write P code macro variables(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpmacror")] - internal static extern short cnc_wrpmacror(ushort FlibHndl, ushort a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPR b); - - /* read P code macro variables(IEEE double version) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpmacror2")] - internal static extern short cnc_rdpmacror2(ushort FlibHndl, uint a, ref uint b, ushort c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d); - - /* write P code macro variables(IEEE double version) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpmacror2")] - internal static extern short cnc_wrpmacror2(ushort FlibHndl, uint a, ref uint b, ushort c, [In, MarshalAs(UnmanagedType.AsAny)] Object d); - - /* read tool offset information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsinfo")] - internal static extern short cnc_rdtofsinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLINF a); - - /* read tool offset information(2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsinfo2")] - internal static extern short cnc_rdtofsinfo2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLINF2 a); - - /* read work zero offset information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdzofsinfo")] - internal static extern short cnc_rdzofsinfo(ushort FlibHndl, out short a); - - /* read pitch error compensation data information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpitchinfo")] - internal static extern short cnc_rdpitchinfo(ushort FlibHndl, out short a); - - /* read custom macro variable information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmacroinfo")] - internal static extern short cnc_rdmacroinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMVINF a); - - /* read P code macro variable information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpmacroinfo")] - internal static extern short cnc_rdpmacroinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMINF a); - - /* read validity of tool offset */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_tofs_rnge")] - internal static extern short cnc_tofs_rnge(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDATRNG c); - - /* read validity of work zero offset */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_zofs_rnge")] - internal static extern short cnc_zofs_rnge(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDATRNG c); - - /* read validity of work zero offset */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wksft_rnge")] - internal static extern short cnc_wksft_rnge(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDATRNG b); - - /* read the information for function cnc_rdhsparam() */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhsprminfo")] - internal static extern short cnc_rdhsprminfo(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.LPStruct)] HSPINFO_data b); - - /* read parameters at the high speed */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhsparam")] - internal static extern short cnc_rdhsparam(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.LPStruct)] HSPINFO b, [Out, MarshalAs(UnmanagedType.LPStruct)] HSPDATA_1 c); - - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhsparam")] - internal static extern short cnc_rdhsparam(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.LPStruct)] HSPINFO b, [Out, MarshalAs(UnmanagedType.LPStruct)] HSPDATA_2 c); - - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhsparam")] - internal static extern short cnc_rdhsparam(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.LPStruct)] HSPINFO b, [Out, MarshalAs(UnmanagedType.LPStruct)] HSPDATA_3 c); - - /*----------------------------------------*/ - /* CNC: Tool life management data related */ - /*----------------------------------------*/ - - /* read tool life management data(tool group number) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpid")] - internal static extern short cnc_rdgrpid(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE1 b); - - /* read tool life management data(number of tool groups) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdngrp")] - internal static extern short cnc_rdngrp(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE2 a); - - /* read tool life management data(number of tools) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdntool")] - internal static extern short cnc_rdntool(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE3 b); - - /* read tool life management data(tool life) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlife")] - internal static extern short cnc_rdlife(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE3 b); - - /* read tool life management data(tool lift counter) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcount")] - internal static extern short cnc_rdcount(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE3 b); - - /* read tool life management data(tool length number-1) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd1length")] - internal static extern short cnc_rd1length(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c); - - /* read tool life management data(tool length number-2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd2length")] - internal static extern short cnc_rd2length(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c); - - /* read tool life management data(cutter compensation no.-1) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd1radius")] - internal static extern short cnc_rd1radius(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c); - - /* read tool life management data(cutter compensation no.-2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd2radius")] - internal static extern short cnc_rd2radius(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c); - - /* read tool life management data(tool information-1) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_t1info")] - internal static extern short cnc_t1info(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c); - - /* read tool life management data(tool information-2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_t2info")] - internal static extern short cnc_t2info(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c); - - /* read tool life management data(tool number) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_toolnum")] - internal static extern short cnc_toolnum(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c); - - /* read tool life management data(tool number, tool life, tool life counter)(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtoolrng")] - internal static extern short cnc_rdtoolrng(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTR d); - - /* read tool life management data(all data within group) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtoolgrp")] - internal static extern short cnc_rdtoolgrp(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTG c); - - /* write tool life management data(tool life counter) (area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrcountr")] - internal static extern short cnc_wrcountr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBWRC b); - - /* read tool life management data(used tool group number) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdusegrpid")] - internal static extern short cnc_rdusegrpid(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBUSEGR a); - - /* read tool life management data(max. number of tool groups) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmaxgrp")] - internal static extern short cnc_rdmaxgrp(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLFNO a); - - /* read tool life management data(maximum number of tool within group) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmaxtool")] - internal static extern short cnc_rdmaxtool(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLFNO a); - - /* read tool life management data(used tool no. within group) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdusetlno")] - internal static extern short cnc_rdusetlno(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLUSE d); - - /* read tool life management data(tool data1) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd1tlifedata")] - internal static extern short cnc_rd1tlifedata(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTD c); - - /* read tool life management data(tool data2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd2tlifedata")] - internal static extern short cnc_rd2tlifedata(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTD c); - - /* write tool life management data(tool data1) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wr1tlifedata")] - internal static extern short cnc_wr1tlifedata(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTD a); - - /* write tool life management data(tool data2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wr2tlifedata")] - internal static extern short cnc_wr2tlifedata(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTD a); - - /* read tool life management data(tool group information) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpinfo")] - internal static extern short cnc_rdgrpinfo(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTGI d); - - /* read tool life management data(tool group information 2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpinfo2")] - internal static extern short cnc_rdgrpinfo2(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTGI2 d); - - /* read tool life management data(tool group information 3) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpinfo3")] - internal static extern short cnc_rdgrpinfo3(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTGI3 d); - - /* read tool life management data(tool group information 4) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpinfo4")] - internal static extern short cnc_rdgrpinfo4(ushort FlibHndl, - short a, short b, short c, out short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTGI4 e); - - /* write tool life management data(tool group information) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrgrpinfo")] - internal static extern short cnc_wrgrpinfo(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTGI b); - - /* write tool life management data(tool group information 2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrgrpinfo2")] - internal static extern short cnc_wrgrpinfo2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTGI2 b); - - /* write tool life management data(tool group information 3) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrgrpinfo3")] - internal static extern short cnc_wrgrpinfo3(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTGI3 b); - - /* delete tool life management data(tool group) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_deltlifegrp")] - internal static extern short cnc_deltlifegrp(ushort FlibHndl, short a); - - /* insert tool life management data(tool data) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_instlifedt")] - internal static extern short cnc_instlifedt(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IDBITD a); - - /* delete tool life management data(tool data) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_deltlifedt")] - internal static extern short cnc_deltlifedt(ushort FlibHndl, short a, short b); - - /* clear tool life management data(tool life counter, tool information)(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clrcntinfo")] - internal static extern short cnc_clrcntinfo(ushort FlibHndl, short a, short b); - - /* read tool life management data(tool group number) 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpid2")] - internal static extern short cnc_rdgrpid2(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE5 b); - - /* read tool life management data(tool data1) 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd1tlifedat2")] - internal static extern short cnc_rd1tlifedat2(ushort FlibHndl, - short a, int b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTD2 c); - - /* write tool life management data(tool data1) 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wr1tlifedat2")] - internal static extern short cnc_wr1tlifedat2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTD2 a); - - /* read tool life management data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtlinfo")] - internal static extern short cnc_rdtlinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLINFO a); - - /* read tool life management data(used tool group number) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtlusegrp")] - internal static extern short cnc_rdtlusegrp(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBUSEGRP a); - - /* read tool life management data(tool group information 2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtlgrp")] - internal static extern short cnc_rdtlgrp(ushort FlibHndl, - int a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLGRP c); - - /* read tool life management data (tool data1) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtltool")] - internal static extern short cnc_rdtltool(ushort FlibHndl, - int a, int b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLTOOL d); - - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdexchgtgrp")] - internal static extern short cnc_rdexchgtgrp(ushort FlibHndl, - ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBEXGP c); - - /*-----------------------------------*/ - /* CNC: Tool management data related */ - /*-----------------------------------*/ - - /* new registration of tool management data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_regtool")] - internal static extern short cnc_regtool(ushort FlibHndl, - short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG c); - - /* new registration of tool management data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_regtool_f2")] - internal static extern short cnc_regtool_f2(ushort FlibHndl, - short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG_F2 c); - - /* deletion of tool management data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_deltool")] - internal static extern short cnc_deltool(ushort FlibHndl, short a, ref short b); - - /* lead of tool management data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtool")] - internal static extern short cnc_rdtool(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG c); - - /* lead of tool management data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtool_f2")] - internal static extern short cnc_rdtool_f2(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG_F2 c); - - /* write of tool management data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtool")] - internal static extern short cnc_wrtool(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG b); - - /* write of individual data of tool management data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtool2")] - internal static extern short cnc_wrtool2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBTLM b); - - /* write tool management data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtool_f2")] - internal static extern short cnc_wrtool_f2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG_F2_data b); - - /* new registration of magazine management data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_regmagazine")] - internal static extern short cnc_regmagazine(ushort FlibHndl, ref short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMAG b); - - /* deletion of magazine management data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_delmagazine")] - internal static extern short cnc_delmagazine(ushort FlibHndl, ref short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMAG2 b); - - /* lead of magazine management data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmagazine")] - internal static extern short cnc_rdmagazine(ushort FlibHndl, ref short a, [In, Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLMAG b); - - /* Individual write of magazine management data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmagazine")] - internal static extern short cnc_wrmagazine(ushort FlibHndl, short a, short b, short c); - - - /*-------------------------------------*/ - /* CNC: Operation history data related */ - /*-------------------------------------*/ - - /* stop logging operation history data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopophis")] - internal static extern short cnc_stopophis(ushort FlibHndl); - - /* restart logging operation history data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startophis")] - internal static extern short cnc_startophis(ushort FlibHndl); - - /* read number of operation history data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophisno")] - internal static extern short cnc_rdophisno(ushort FlibHndl, out ushort a); - - /* read operation history data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry")] - internal static extern short cnc_rdophistry(ushort FlibHndl, - ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHIS d); - - /* read operation history data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry2")] - internal static extern short cnc_rdophistry2(ushort FlibHndl, - ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d); - - /* read operation history data F30i*/ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] - internal static extern short cnc_rdophistry4(ushort FlibHndl, - ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_1 d); - - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] - internal static extern short cnc_rdophistry4(ushort FlibHndl, - ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_2 d); - - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] - internal static extern short cnc_rdophistry4(ushort FlibHndl, - ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_3 d); - - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] - internal static extern short cnc_rdophistry4(ushort FlibHndl, - ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_4 d); - - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] - internal static extern short cnc_rdophistry4(ushort FlibHndl, - ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_5 d); - - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] - internal static extern short cnc_rdophistry4(ushort FlibHndl, - ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_6 d); - - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] - internal static extern short cnc_rdophistry4(ushort FlibHndl, - ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_7 d); - - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] - internal static extern short cnc_rdophistry4(ushort FlibHndl, - ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_8 d); - - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] - internal static extern short cnc_rdophistry4(ushort FlibHndl, - ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_9 d); - - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] - internal static extern short cnc_rdophistry4(ushort FlibHndl, - ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_10 d); - - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] - internal static extern short cnc_rdophistry4(ushort FlibHndl, - ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_11 d); - - /* read number of alarm history data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhisno")] - internal static extern short cnc_rdalmhisno(ushort FlibHndl, out ushort a); - - /* read alarm history data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhistry")] - internal static extern short cnc_rdalmhistry(ushort FlibHndl, - ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS d); - - /* read alarm history data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhistry_w")] - internal static extern short cnc_rdalmhistry_w(ushort FlibHndl, - ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS d); - - /* read alarm history data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhistry2")] - internal static extern short cnc_rdalmhistry2(ushort FlibHndl, - ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS2 d); - - /* read alarm history data F30i*/ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhistry3")] - internal static extern short cnc_rdalmhistry3(ushort FlibHndl, - ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS3 d); - - /* read alarm history data F30i*/ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhistry5")] - internal static extern short cnc_rdalmhistry5(ushort FlibHndl, - ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS5 d); - - /* clear operation history data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clearophis")] - internal static extern short cnc_clearophis(ushort FlibHndl, short a); - - /* read signals related operation history */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhissgnl")] - internal static extern short cnc_rdhissgnl(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSIG a); - - /* read signals related operation history 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhissgnl2")] - internal static extern short cnc_rdhissgnl2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSIG2 a); - - /* read signals related operation history 3 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhissgnl3")] - internal static extern short cnc_rdhissgnl3(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSIG3 a); - - /* write signals related operation history */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhissgnl")] - internal static extern short cnc_wrhissgnl(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSIG a); - - /* write signals related operation history 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhissgnl2")] - internal static extern short cnc_wrhissgnl2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSIG2 a); - - /* write signals related operation history for F30i*/ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhissgnl3")] - internal static extern short cnc_wrhissgnl3(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSIG3 a); - - /* read number of operater message history data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdomhisno")] - internal static extern short cnc_rdomhisno(ushort FlibHndl, out ushort a); - - /*-------------*/ - /* CNC: Others */ - /*-------------*/ - - /* read CNC system information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcncid")] - internal static extern short cnc_rdcncid(ushort FlibHndl, out ulong a); + /* write P code macro variable */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpmacro")] + internal static extern short cnc_wrpmacro(ushort FlibHndl, int a, int b, short c); + + /* read P code macro variables(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpmacror")] + internal static extern short cnc_rdpmacror(ushort FlibHndl, + int a, int b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPR d); + + /* write P code macro variables(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpmacror")] + internal static extern short cnc_wrpmacror(ushort FlibHndl, ushort a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPR b); + + /* read P code macro variables(IEEE double version) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpmacror2")] + internal static extern short cnc_rdpmacror2(ushort FlibHndl, uint a, ref uint b, ushort c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d); + + /* write P code macro variables(IEEE double version) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpmacror2")] + internal static extern short cnc_wrpmacror2(ushort FlibHndl, uint a, ref uint b, ushort c, [In, MarshalAs(UnmanagedType.AsAny)] Object d); + + /* read tool offset information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsinfo")] + internal static extern short cnc_rdtofsinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLINF a); + + /* read tool offset information(2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsinfo2")] + internal static extern short cnc_rdtofsinfo2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLINF2 a); + + /* read work zero offset information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdzofsinfo")] + internal static extern short cnc_rdzofsinfo(ushort FlibHndl, out short a); + + /* read pitch error compensation data information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpitchinfo")] + internal static extern short cnc_rdpitchinfo(ushort FlibHndl, out short a); + + /* read custom macro variable information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmacroinfo")] + internal static extern short cnc_rdmacroinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMVINF a); + + /* read P code macro variable information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpmacroinfo")] + internal static extern short cnc_rdpmacroinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMINF a); + + /* read validity of tool offset */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_tofs_rnge")] + internal static extern short cnc_tofs_rnge(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDATRNG c); + + /* read validity of work zero offset */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_zofs_rnge")] + internal static extern short cnc_zofs_rnge(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDATRNG c); + + /* read validity of work zero offset */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wksft_rnge")] + internal static extern short cnc_wksft_rnge(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDATRNG b); + + /* read the information for function cnc_rdhsparam() */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhsprminfo")] + internal static extern short cnc_rdhsprminfo(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.LPStruct)] HSPINFO_data b); + + /* read parameters at the high speed */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhsparam")] + internal static extern short cnc_rdhsparam(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.LPStruct)] HSPINFO b, [Out, MarshalAs(UnmanagedType.LPStruct)] HSPDATA_1 c); + + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhsparam")] + internal static extern short cnc_rdhsparam(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.LPStruct)] HSPINFO b, [Out, MarshalAs(UnmanagedType.LPStruct)] HSPDATA_2 c); + + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhsparam")] + internal static extern short cnc_rdhsparam(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.LPStruct)] HSPINFO b, [Out, MarshalAs(UnmanagedType.LPStruct)] HSPDATA_3 c); + + /*----------------------------------------*/ + /* CNC: Tool life management data related */ + /*----------------------------------------*/ + + /* read tool life management data(tool group number) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpid")] + internal static extern short cnc_rdgrpid(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE1 b); + + /* read tool life management data(number of tool groups) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdngrp")] + internal static extern short cnc_rdngrp(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE2 a); + + /* read tool life management data(number of tools) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdntool")] + internal static extern short cnc_rdntool(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE3 b); + + /* read tool life management data(tool life) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlife")] + internal static extern short cnc_rdlife(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE3 b); + + /* read tool life management data(tool lift counter) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcount")] + internal static extern short cnc_rdcount(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE3 b); + + /* read tool life management data(tool length number-1) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd1length")] + internal static extern short cnc_rd1length(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c); + + /* read tool life management data(tool length number-2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd2length")] + internal static extern short cnc_rd2length(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c); + + /* read tool life management data(cutter compensation no.-1) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd1radius")] + internal static extern short cnc_rd1radius(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c); + + /* read tool life management data(cutter compensation no.-2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd2radius")] + internal static extern short cnc_rd2radius(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c); + + /* read tool life management data(tool information-1) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_t1info")] + internal static extern short cnc_t1info(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c); + + /* read tool life management data(tool information-2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_t2info")] + internal static extern short cnc_t2info(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c); + + /* read tool life management data(tool number) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_toolnum")] + internal static extern short cnc_toolnum(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c); + + /* read tool life management data(tool number, tool life, tool life counter)(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtoolrng")] + internal static extern short cnc_rdtoolrng(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTR d); + + /* read tool life management data(all data within group) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtoolgrp")] + internal static extern short cnc_rdtoolgrp(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTG c); + + /* write tool life management data(tool life counter) (area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrcountr")] + internal static extern short cnc_wrcountr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBWRC b); + + /* read tool life management data(used tool group number) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdusegrpid")] + internal static extern short cnc_rdusegrpid(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBUSEGR a); + + /* read tool life management data(max. number of tool groups) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmaxgrp")] + internal static extern short cnc_rdmaxgrp(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLFNO a); + + /* read tool life management data(maximum number of tool within group) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmaxtool")] + internal static extern short cnc_rdmaxtool(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLFNO a); + + /* read tool life management data(used tool no. within group) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdusetlno")] + internal static extern short cnc_rdusetlno(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLUSE d); + + /* read tool life management data(tool data1) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd1tlifedata")] + internal static extern short cnc_rd1tlifedata(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTD c); + + /* read tool life management data(tool data2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd2tlifedata")] + internal static extern short cnc_rd2tlifedata(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTD c); + + /* write tool life management data(tool data1) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wr1tlifedata")] + internal static extern short cnc_wr1tlifedata(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTD a); + + /* write tool life management data(tool data2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wr2tlifedata")] + internal static extern short cnc_wr2tlifedata(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTD a); + + /* read tool life management data(tool group information) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpinfo")] + internal static extern short cnc_rdgrpinfo(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTGI d); + + /* read tool life management data(tool group information 2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpinfo2")] + internal static extern short cnc_rdgrpinfo2(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTGI2 d); + + /* read tool life management data(tool group information 3) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpinfo3")] + internal static extern short cnc_rdgrpinfo3(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTGI3 d); + + /* read tool life management data(tool group information 4) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpinfo4")] + internal static extern short cnc_rdgrpinfo4(ushort FlibHndl, + short a, short b, short c, out short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTGI4 e); + + /* write tool life management data(tool group information) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrgrpinfo")] + internal static extern short cnc_wrgrpinfo(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTGI b); + + /* write tool life management data(tool group information 2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrgrpinfo2")] + internal static extern short cnc_wrgrpinfo2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTGI2 b); + + /* write tool life management data(tool group information 3) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrgrpinfo3")] + internal static extern short cnc_wrgrpinfo3(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTGI3 b); + + /* delete tool life management data(tool group) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_deltlifegrp")] + internal static extern short cnc_deltlifegrp(ushort FlibHndl, short a); + + /* insert tool life management data(tool data) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_instlifedt")] + internal static extern short cnc_instlifedt(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IDBITD a); + + /* delete tool life management data(tool data) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_deltlifedt")] + internal static extern short cnc_deltlifedt(ushort FlibHndl, short a, short b); + + /* clear tool life management data(tool life counter, tool information)(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clrcntinfo")] + internal static extern short cnc_clrcntinfo(ushort FlibHndl, short a, short b); + + /* read tool life management data(tool group number) 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpid2")] + internal static extern short cnc_rdgrpid2(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE5 b); + + /* read tool life management data(tool data1) 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd1tlifedat2")] + internal static extern short cnc_rd1tlifedat2(ushort FlibHndl, + short a, int b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTD2 c); + + /* write tool life management data(tool data1) 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wr1tlifedat2")] + internal static extern short cnc_wr1tlifedat2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTD2 a); + + /* read tool life management data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtlinfo")] + internal static extern short cnc_rdtlinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLINFO a); + + /* read tool life management data(used tool group number) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtlusegrp")] + internal static extern short cnc_rdtlusegrp(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBUSEGRP a); + + /* read tool life management data(tool group information 2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtlgrp")] + internal static extern short cnc_rdtlgrp(ushort FlibHndl, + int a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLGRP c); + + /* read tool life management data (tool data1) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtltool")] + internal static extern short cnc_rdtltool(ushort FlibHndl, + int a, int b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLTOOL d); + + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdexchgtgrp")] + internal static extern short cnc_rdexchgtgrp(ushort FlibHndl, + ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBEXGP c); + + /*-----------------------------------*/ + /* CNC: Tool management data related */ + /*-----------------------------------*/ + + /* new registration of tool management data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_regtool")] + internal static extern short cnc_regtool(ushort FlibHndl, + short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG c); + + /* new registration of tool management data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_regtool_f2")] + internal static extern short cnc_regtool_f2(ushort FlibHndl, + short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG_F2 c); + + /* deletion of tool management data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_deltool")] + internal static extern short cnc_deltool(ushort FlibHndl, short a, ref short b); + + /* lead of tool management data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtool")] + internal static extern short cnc_rdtool(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG c); + + /* lead of tool management data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtool_f2")] + internal static extern short cnc_rdtool_f2(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG_F2 c); + + /* write of tool management data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtool")] + internal static extern short cnc_wrtool(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG b); + + /* write of individual data of tool management data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtool2")] + internal static extern short cnc_wrtool2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBTLM b); + + /* write tool management data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtool_f2")] + internal static extern short cnc_wrtool_f2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG_F2_data b); + + /* new registration of magazine management data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_regmagazine")] + internal static extern short cnc_regmagazine(ushort FlibHndl, ref short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMAG b); + + /* deletion of magazine management data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_delmagazine")] + internal static extern short cnc_delmagazine(ushort FlibHndl, ref short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMAG2 b); + + /* lead of magazine management data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmagazine")] + internal static extern short cnc_rdmagazine(ushort FlibHndl, ref short a, [In, Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLMAG b); + + /* Individual write of magazine management data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmagazine")] + internal static extern short cnc_wrmagazine(ushort FlibHndl, short a, short b, short c); + + + /*-------------------------------------*/ + /* CNC: Operation history data related */ + /*-------------------------------------*/ + + /* stop logging operation history data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopophis")] + internal static extern short cnc_stopophis(ushort FlibHndl); + + /* restart logging operation history data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startophis")] + internal static extern short cnc_startophis(ushort FlibHndl); + + /* read number of operation history data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophisno")] + internal static extern short cnc_rdophisno(ushort FlibHndl, out ushort a); + + /* read operation history data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry")] + internal static extern short cnc_rdophistry(ushort FlibHndl, + ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHIS d); + + /* read operation history data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry2")] + internal static extern short cnc_rdophistry2(ushort FlibHndl, + ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d); + + /* read operation history data F30i*/ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] + internal static extern short cnc_rdophistry4(ushort FlibHndl, + ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_1 d); + + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] + internal static extern short cnc_rdophistry4(ushort FlibHndl, + ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_2 d); + + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] + internal static extern short cnc_rdophistry4(ushort FlibHndl, + ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_3 d); + + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] + internal static extern short cnc_rdophistry4(ushort FlibHndl, + ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_4 d); + + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] + internal static extern short cnc_rdophistry4(ushort FlibHndl, + ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_5 d); + + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] + internal static extern short cnc_rdophistry4(ushort FlibHndl, + ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_6 d); + + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] + internal static extern short cnc_rdophistry4(ushort FlibHndl, + ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_7 d); + + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] + internal static extern short cnc_rdophistry4(ushort FlibHndl, + ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_8 d); + + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] + internal static extern short cnc_rdophistry4(ushort FlibHndl, + ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_9 d); + + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] + internal static extern short cnc_rdophistry4(ushort FlibHndl, + ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_10 d); + + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")] + internal static extern short cnc_rdophistry4(ushort FlibHndl, + ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_11 d); + + /* read number of alarm history data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhisno")] + internal static extern short cnc_rdalmhisno(ushort FlibHndl, out ushort a); + + /* read alarm history data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhistry")] + internal static extern short cnc_rdalmhistry(ushort FlibHndl, + ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS d); + + /* read alarm history data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhistry_w")] + internal static extern short cnc_rdalmhistry_w(ushort FlibHndl, + ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS d); + + /* read alarm history data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhistry2")] + internal static extern short cnc_rdalmhistry2(ushort FlibHndl, + ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS2 d); + + /* read alarm history data F30i*/ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhistry3")] + internal static extern short cnc_rdalmhistry3(ushort FlibHndl, + ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS3 d); + + /* read alarm history data F30i*/ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhistry5")] + internal static extern short cnc_rdalmhistry5(ushort FlibHndl, + ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS5 d); + + /* clear operation history data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clearophis")] + internal static extern short cnc_clearophis(ushort FlibHndl, short a); + + /* read signals related operation history */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhissgnl")] + internal static extern short cnc_rdhissgnl(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSIG a); + + /* read signals related operation history 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhissgnl2")] + internal static extern short cnc_rdhissgnl2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSIG2 a); + + /* read signals related operation history 3 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhissgnl3")] + internal static extern short cnc_rdhissgnl3(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSIG3 a); + + /* write signals related operation history */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhissgnl")] + internal static extern short cnc_wrhissgnl(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSIG a); + + /* write signals related operation history 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhissgnl2")] + internal static extern short cnc_wrhissgnl2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSIG2 a); + + /* write signals related operation history for F30i*/ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhissgnl3")] + internal static extern short cnc_wrhissgnl3(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSIG3 a); + + /* read number of operater message history data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdomhisno")] + internal static extern short cnc_rdomhisno(ushort FlibHndl, out ushort a); + + /*-------------*/ + /* CNC: Others */ + /*-------------*/ /* read CNC system information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sysinfo")] - internal static extern short cnc_sysinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYS a); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcncid")] + internal static extern short cnc_rdcncid(ushort FlibHndl, out ulong a); - /* read CNC status information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_statinfo")] - internal static extern short cnc_statinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBST a); + /* read CNC system information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sysinfo")] + internal static extern short cnc_sysinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYS a); - /* read alarm status */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_alarm")] - internal static extern short cnc_alarm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBALM a); + /* read CNC status information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_statinfo")] + internal static extern short cnc_statinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBST a); - /* read alarm status */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_alarm2")] - internal static extern short cnc_alarm2(ushort FlibHndl, out int a); + /* read alarm status */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_alarm")] + internal static extern short cnc_alarm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBALM a); - /* read alarm information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalminfo")] - internal static extern short cnc_rdalminfo(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ALMINFO_1 d); + /* read alarm status */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_alarm2")] + internal static extern short cnc_alarm2(ushort FlibHndl, out int a); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalminfo")] - internal static extern short cnc_rdalminfo(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ALMINFO_2 d); + /* read alarm information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalminfo")] + internal static extern short cnc_rdalminfo(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ALMINFO_1 d); - /* read alarm message */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmmsg")] - internal static extern short cnc_rdalmmsg(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBALMMSG c); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalminfo")] + internal static extern short cnc_rdalminfo(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ALMINFO_2 d); - /* read alarm message(2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmmsg2")] - internal static extern short cnc_rdalmmsg2(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBALMMSG2 c); + /* read alarm message */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmmsg")] + internal static extern short cnc_rdalmmsg(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBALMMSG c); - /* clear CNC alarm */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clralm")] - internal static extern short cnc_clralm(ushort FlibHndl, short a); + /* read alarm message(2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmmsg2")] + internal static extern short cnc_rdalmmsg2(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBALMMSG2 c); - /* read modal data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")] - internal static extern short cnc_modal(ushort FlibHndl, - short type, short block, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL modal); + /* clear CNC alarm */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clralm")] + internal static extern short cnc_clralm(ushort FlibHndl, short a); + + /* read modal data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")] + internal static extern short cnc_modal(ushort FlibHndl, + short type, short block, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL modal); #if LEAVE_OLD_STYLE - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")] - internal static extern short cnc_modal(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_1 c); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")] - internal static extern short cnc_modal(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_2 c); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")] - internal static extern short cnc_modal(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_3 c); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")] - internal static extern short cnc_modal(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_4 c); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")] - internal static extern short cnc_modal(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_5 c); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")] + internal static extern short cnc_modal(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_1 c); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")] + internal static extern short cnc_modal(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_2 c); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")] + internal static extern short cnc_modal(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_3 c); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")] + internal static extern short cnc_modal(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_4 c); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")] + internal static extern short cnc_modal(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_5 c); #endif - /* read G code */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgcode")] - internal static extern short cnc_rdgcode(ushort FlibHndl, - short a, short b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBGCD d); + /* read G code */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgcode")] + internal static extern short cnc_rdgcode(ushort FlibHndl, + short a, short b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBGCD d); - /* read command value */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcommand")] - internal static extern short cnc_rdcommand(ushort FlibHndl, - short a, short b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBCMD d); + /* read command value */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcommand")] + internal static extern short cnc_rdcommand(ushort FlibHndl, + short a, short b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBCMD d); - /* read diagnosis data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnoss")] - internal static extern short cnc_diagnoss(ushort FlibHndl, - short number, short axis, short length, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN diag); + /* read diagnosis data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnoss")] + internal static extern short cnc_diagnoss(ushort FlibHndl, + short number, short axis, short length, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN diag); #if LEAVE_OLD_STYLE - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnoss")] - internal static extern short cnc_diagnoss(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN_1 d); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnoss")] - internal static extern short cnc_diagnoss(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN_2 d); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnoss")] - internal static extern short cnc_diagnoss(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN_3 d); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnoss")] - internal static extern short cnc_diagnoss(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN_4 d); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnoss")] + internal static extern short cnc_diagnoss(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN_1 d); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnoss")] + internal static extern short cnc_diagnoss(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN_2 d); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnoss")] + internal static extern short cnc_diagnoss(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN_3 d); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnoss")] + internal static extern short cnc_diagnoss(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN_4 d); #endif - /* read diagnosis data(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnosr")] - internal static extern short cnc_diagnosr(ushort FlibHndl, - ref short a, short b, ref short c, ref short d, [Out, MarshalAs(UnmanagedType.AsAny)] Object e); - // [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_diagnosr")] - // internal static extern short cnc_diagnosr( ushort FlibHndl, - // ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] ODBDGN e ); - - /* read A/D conversion data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_adcnv")] - internal static extern short cnc_adcnv(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAD c); - - /* read operator's message */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopmsg")] - internal static extern short cnc_rdopmsg(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] OPMSG c); - - /* read operator's message */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopmsg2")] - internal static extern short cnc_rdopmsg2(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] OPMSG2 c); - - /* read operator's message */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopmsg3")] - internal static extern short cnc_rdopmsg3(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] OPMSG3 c); - - /* set path number(for 4 axes lathes, multi-path) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setpath")] - internal static extern short cnc_setpath(ushort FlibHndl, short a); - - /* get path number(for 4 axes lathes, multi-path) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getpath")] - internal static extern short cnc_getpath(ushort FlibHndl, out short a, out short b); - - /* allocate library handle */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allclibhndl")] - internal static extern short cnc_allclibhndl(out ushort FlibHndl); - - /* free library handle */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_freelibhndl")] - internal static extern short cnc_freelibhndl(ushort FlibHndl); - - /* get library option */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getlibopt")] - internal static extern short cnc_getlibopt(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c); - - /* set library option */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setlibopt")] - internal static extern short cnc_setlibopt(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, int c); - - /* get custom macro type */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getmactype")] - internal static extern short cnc_getmactype(ushort FlibHndl, out short a); - - /* set custom macro type */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setmactype")] - internal static extern short cnc_setmactype(ushort FlibHndl, short a); - - /* get P code macro type */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getpmactype")] - internal static extern short cnc_getpmactype(ushort FlibHndl, out short a); - - /* set P code macro type */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setpmactype")] - internal static extern short cnc_setpmactype(ushort FlibHndl, short a); - - /* get screen status */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getcrntscrn")] - internal static extern short cnc_getcrntscrn(ushort FlibHndl, out short a); - - /* change screen mode */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_slctscrn")] - internal static extern short cnc_slctscrn(ushort FlibHndl, short a); - - /* read CNC configuration information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sysconfig")] - internal static extern short cnc_sysconfig(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSC a); - - /* read program restart information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprstrinfo")] - internal static extern short cnc_rdprstrinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPRS a); - - /* search sequence number for program restart */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rstrseqsrch")] - internal static extern short cnc_rstrseqsrch(ushort FlibHndl, int a, int b, short c, short d); - - /* search sequence number for program restart 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rstrseqsrch2")] - internal static extern short cnc_rstrseqsrch2(ushort FlibHndl, int a, int b, short c, short d, int e); - - /* read output signal image of software operator's panel */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopnlsgnl")] - internal static extern short cnc_rdopnlsgnl(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSGNL b); - - /* write output signal of software operator's panel */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wropnlsgnl")] - internal static extern short cnc_wropnlsgnl(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSGNL a); - - /* read general signal image of software operator's panel */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopnlgnrl")] - internal static extern short cnc_rdopnlgnrl(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBGNRL b); - - /* write general signal image of software operator's panel */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wropnlgnrl")] - internal static extern short cnc_wropnlgnrl(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBGNRL a); - - /* read general signal name of software operator's panel */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopnlgsname")] - internal static extern short cnc_rdopnlgsname(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBRDNA b); - - /* write general signal name of software operator's panel */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wropnlgsname")] - internal static extern short cnc_wropnlgsname(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBRDNA a); - - /* get detail error */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getdtailerr")] - internal static extern short cnc_getdtailerr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBERR a); - - /* read informations of CNC parameter */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparainfo")] - internal static extern short cnc_rdparainfo(ushort FlibHndl, - short a, ushort b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPARAIF c); - - /* read informations of CNC setting data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsetinfo")] - internal static extern short cnc_rdsetinfo(ushort FlibHndl, - short a, ushort b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSETIF c); - - /* read informations of CNC diagnose data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddiaginfo")] - internal static extern short cnc_rddiaginfo(ushort FlibHndl, - short a, ushort b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDIAGIF c); - - /* read maximum, minimum and total number of CNC parameter */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparanum")] - internal static extern short cnc_rdparanum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPARANUM a); - - /* read maximum, minimum and total number of CNC setting data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsetnum")] - internal static extern short cnc_rdsetnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSETNUM a); - - /* read maximum, minimum and total number of CNC diagnose data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddiagnum")] - internal static extern short cnc_rddiagnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDIAGNUM a); - - /* get maximum valid figures and number of decimal places */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getfigure")] - internal static extern short cnc_getfigure(ushort FlibHndl, - short a, out short b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d); - - /* read F-ROM information on CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdfrominfo")] - internal static extern short cnc_rdfrominfo(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBFINFO b); - - /* start of reading F-ROM data from CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromsvstart")] - internal static extern short cnc_fromsvstart(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, int c); - - /* read F-ROM data from CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromsave")] - internal static extern short cnc_fromsave(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c); - - /* end of reading F-ROM data from CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromsvend")] - internal static extern short cnc_fromsvend(ushort FlibHndl); - - /* start of writing F-ROM data to CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromldstart")] - internal static extern short cnc_fromldstart(ushort FlibHndl, short a, int b); - - /* write F-ROM data to CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromload")] - internal static extern short cnc_fromload(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ref int b); - - /* end of writing F-ROM data to CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromldend")] - internal static extern short cnc_fromldend(ushort FlibHndl); - - /* delete F-ROM data on CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromdelete")] - internal static extern short cnc_fromdelete(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, int c); - - /* read S-RAM information on CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsraminfo")] - internal static extern short cnc_rdsraminfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSINFO a); - - /* start of reading S-RAM data from CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srambkstart")] - internal static extern short cnc_srambkstart(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, int b); - - /* read S-RAM data from CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srambackup")] - internal static extern short cnc_srambackup(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c); - - /* end of reading S-RAM data from CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srambkend")] - internal static extern short cnc_srambkend(ushort FlibHndl); - - /* read F-ROM information on CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getfrominfo")] - internal static extern short cnc_getfrominfo(ushort FlibHndl, - short a, out short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBFINFORM c); - - /* start of reading F-ROM data from CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromgetstart")] - internal static extern short cnc_fromgetstart(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* read F-ROM data from CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromget")] - internal static extern short cnc_fromget(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c); - - /* end of reading F-ROM data from CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromgetend")] - internal static extern short cnc_fromgetend(ushort FlibHndl); - - /* start of writing F-ROM data to CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromputstart")] - internal static extern short cnc_fromputstart(ushort FlibHndl, short a); - - /* write F-ROM data to CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromput")] - internal static extern short cnc_fromput(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ref int b); - - /* end of writing F-ROM data to CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromputend")] - internal static extern short cnc_fromputend(ushort FlibHndl); - - /* delete F-ROM data on CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromremove")] - internal static extern short cnc_fromremove(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* read S-RAM information on CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getsraminfo")] - internal static extern short cnc_getsraminfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSINFO a); - - /* start of reading S-RAM data from CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramgetstart")] - internal static extern short cnc_sramgetstart(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* start of reading S-RAM data from CNC (2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramgetstart2")] - internal static extern short cnc_sramgetstart2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* read S-RAM data from CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramget")] - internal static extern short cnc_sramget(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c); - - /* read S-RAM data from CNC (2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramget2")] - internal static extern short cnc_sramget2(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c); - - /* end of reading S-RAM data from CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramgetend")] - internal static extern short cnc_sramgetend(ushort FlibHndl); - - /* end of reading S-RAM data from CNC (2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramgetend2")] - internal static extern short cnc_sramgetend2(ushort FlibHndl); - - /* read number of S-RAM data kind on CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsramnum")] - internal static extern short cnc_rdsramnum(ushort FlibHndl, out short a); - - /* read S-RAM data address information on CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsramaddr")] - internal static extern short cnc_rdsramaddr(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.LPStruct)] SRAMADDR b); - - /* get current NC data protection information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getlockstat")] - internal static extern short cnc_getlockstat(ushort FlibHndl, short a, out byte b); - - /* change NC data protection status */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_chgprotbit")] - internal static extern short cnc_chgprotbit(ushort FlibHndl, short a, ref byte b, int c); - - /* transfer a file from host computer to CNC by FTP */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvftpget")] - internal static extern short cnc_dtsvftpget(ushort FlibHndl, - [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* transfer a file from CNC to host computer by FTP */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvftpput")] - internal static extern short cnc_dtsvftpput(ushort FlibHndl, - [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* get transfer status for FTP */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvftpstat")] - internal static extern short cnc_dtsvftpstat(ushort FlibHndl); - - /* read file directory in Data Server */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvrdpgdir")] - internal static extern short cnc_dtsvrdpgdir(ushort FlibHndl, - [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDSDIR c); - - /* delete files in Data Server */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvdelete")] - internal static extern short cnc_dtsvdelete(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* down load from CNC (transfer a file from CNC to MMC) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvdownload")] - internal static extern short cnc_dtsvdownload(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* up load to CNC (transfer a file from MMC to CNC) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvupload")] - internal static extern short cnc_dtsvupload(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* close upload/download between Data Server and CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvcnclupdn")] - internal static extern short cnc_dtsvcnclupdn(ushort FlibHndl); - - /* get transfer status for up/down load */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvupdnstat")] - internal static extern short cnc_dtsvupdnstat(ushort FlibHndl); - - /* get file name for DNC operation in Data Server */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvgetdncpg")] - internal static extern short cnc_dtsvgetdncpg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* set program number of DNC oparation to CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvsetdncpg")] - internal static extern short cnc_dtsvsetdncpg(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* read setting data for Data Server */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvrdset")] - internal static extern short cnc_dtsvrdset(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBDSSET a); - - /* write setting data for Data Server */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvwrset")] - internal static extern short cnc_dtsvwrset(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBDSSET a); - - /* check hard disk in Data Server */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvchkdsk")] - internal static extern short cnc_dtsvchkdsk(ushort FlibHndl); - - /* format hard disk in Data Server */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvhdformat")] - internal static extern short cnc_dtsvhdformat(ushort FlibHndl); - - /* save interface area in Data Server */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvsavecram")] - internal static extern short cnc_dtsvsavecram(ushort FlibHndl); - - /* get interface area in Data Server */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvrdcram")] - internal static extern short cnc_dtsvrdcram(ushort FlibHndl, int a, ref int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c); - - /* read maintenance information for Data Server */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvmntinfo")] - internal static extern short cnc_dtsvmntinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDSMNT a); - - /* get Data Server mode */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvgetmode")] - internal static extern short cnc_dtsvgetmode(ushort FlibHndl, out short a); - - /* set Data Server mode */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvsetmode")] - internal static extern short cnc_dtsvsetmode(ushort FlibHndl, short a); - - /* read error message for Data Server */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvrderrmsg")] - internal static extern short cnc_dtsvrderrmsg(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* transfar file from Pc to Data Server */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvwrfile")] - internal static extern short cnc_dtsvwrfile(ushort FlibHndl, - [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, short c); - - /* transfar file from Data Server to Pc */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvrdfile")] - internal static extern short cnc_dtsvrdfile(ushort FlibHndl, - [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, short c); - - /* read the loop gain for each axis */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdloopgain")] - internal static extern short cnc_rdloopgain(ushort FlibHndl, out int a); - - /* read the actual current for each axis */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcurrent")] - internal static extern short cnc_rdcurrent(ushort FlibHndl, out short a); - - /* read the actual speed for each axis */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsrvspeed")] - internal static extern short cnc_rdsrvspeed(ushort FlibHndl, out int a); - - /* read the operation mode */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopmode")] - internal static extern short cnc_rdopmode(ushort FlibHndl, out short a); - - /* read the position deviation S */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdposerrs")] - internal static extern short cnc_rdposerrs(ushort FlibHndl, out int a); - - /* read the position deviation S1 and S2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdposerrs2")] - internal static extern short cnc_rdposerrs2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPSER a); - - /* read the position deviation Z in the rigid tap mode */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdposerrz")] - internal static extern short cnc_rdposerrz(ushort FlibHndl, out int a); - - /* read the synchronous error in the synchronous control mode */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsynerrsy")] - internal static extern short cnc_rdsynerrsy(ushort FlibHndl, out int a); - - /* read the synchronous error in the rigid tap mode */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsynerrrg")] - internal static extern short cnc_rdsynerrrg(ushort FlibHndl, out int a); - - /* read the spindle alarm */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspdlalm")] - internal static extern short cnc_rdspdlalm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* read the control input signal */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdctrldi")] - internal static extern short cnc_rdctrldi(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPDI a); - - /* read the control output signal */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdctrldo")] - internal static extern short cnc_rdctrldo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPDO a); - - /* read the number of controled spindle */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdnspdl")] - internal static extern short cnc_rdnspdl(ushort FlibHndl, out short a); - - /* read data from FANUC BUS */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdfbusmem")] - internal static extern short cnc_rdfbusmem(ushort FlibHndl, - short a, short b, int c, int d, [Out, MarshalAs(UnmanagedType.AsAny)] Object e); - - /* write data to FANUC BUS */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrfbusmem")] - internal static extern short cnc_wrfbusmem(ushort FlibHndl, - short a, short b, int c, int d, [In, MarshalAs(UnmanagedType.AsAny)] Object e); - - /* read the parameter of wave diagnosis */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdwaveprm")] - internal static extern short cnc_rdwaveprm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBWAVE a); - - /* write the parameter of wave diagnosis */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrwaveprm")] - internal static extern short cnc_wrwaveprm(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBWAVE a); - - /* read the parameter of wave diagnosis 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdwaveprm2")] - internal static extern short cnc_rdwaveprm2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBWVPRM a); - - /* write the parameter of wave diagnosis 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrwaveprm2")] - internal static extern short cnc_wrwaveprm2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBWVPRM a); - - /* start the sampling for wave diagnosis */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wavestart")] - internal static extern short cnc_wavestart(ushort FlibHndl); - - /* stop the sampling for wave diagnosis */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wavestop")] - internal static extern short cnc_wavestop(ushort FlibHndl); - - /* read the status of wave diagnosis */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wavestat")] - internal static extern short cnc_wavestat(ushort FlibHndl, out short a); - - /* read the data of wave diagnosis */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdwavedata")] - internal static extern short cnc_rdwavedata(ushort FlibHndl, - short a, short b, int c, ref int d, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBWVDT e); - - /* read the parameter of wave diagnosis for remort diagnosis */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrmtwaveprm")] - internal static extern short cnc_rdrmtwaveprm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBRMTPRM a, short b); - - /* write the parameter of wave diagnosis for remort diagnosis */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrrmtwaveprm")] - internal static extern short cnc_wrrmtwaveprm(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBRMTPRM a); - - /* start the sampling for wave diagnosis for remort diagnosis */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rmtwavestart")] - internal static extern short cnc_rmtwavestart(ushort FlibHndl); - - /* stop the sampling for wave diagnosis for remort diagnosis */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rmtwavestop")] - internal static extern short cnc_rmtwavestop(ushort FlibHndl); - - /* read the status of wave diagnosis for remort diagnosis*/ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rmtwavestat")] - internal static extern short cnc_rmtwavestat(ushort FlibHndl, out short a); - - /* read the data of wave diagnosis for remort diagnosis */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrmtwavedt")] - internal static extern short cnc_rdrmtwavedt(ushort FlibHndl, - short a, int b, ref int c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBRMTDT d); - - /* read of address for PMC signal batch save */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsavsigadr")] - internal static extern short cnc_rdsavsigadr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSIGAD a, short b); - - /* write of address for PMC signal batch save */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrsavsigadr")] - internal static extern short cnc_wrsavsigadr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSIGAD a, out short b); - - /* read of data for PMC signal batch save */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsavsigdata")] - internal static extern short cnc_rdsavsigdata(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, ref short d); - - /* read M-code group data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmgrpdata")] - internal static extern short cnc_rdmgrpdata(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMGRP c); - - /* write M-code group data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmgrpdata")] - internal static extern short cnc_wrmgrpdata(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IDBMGRP a); - - /* read executing M-code group data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdexecmcode")] - internal static extern short cnc_rdexecmcode(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBEXEM c); - - /* read program restart M-code group data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrstrmcode")] - internal static extern short cnc_rdrstrmcode(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBRSTRM c); - - /* read processing time stamp data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdproctime")] - internal static extern short cnc_rdproctime(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPTIME a); - - /* read MDI program stat */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmdiprgstat")] - internal static extern short cnc_rdmdiprgstat(ushort FlibHndl, out ushort a); - - /* read program directory for processing time data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprgdirtime")] - internal static extern short cnc_rdprgdirtime(ushort FlibHndl, - ref int a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIRTM c); - - /* read program directory 2 */ + /* read diagnosis data(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnosr")] + internal static extern short cnc_diagnosr(ushort FlibHndl, + ref short a, short b, ref short c, ref short d, [Out, MarshalAs(UnmanagedType.AsAny)] Object e); + // [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_diagnosr")] + // internal static extern short cnc_diagnosr( ushort FlibHndl, + // ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] ODBDGN e ); + + /* read A/D conversion data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_adcnv")] + internal static extern short cnc_adcnv(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAD c); + + /* read operator's message */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopmsg")] + internal static extern short cnc_rdopmsg(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] OPMSG c); + + /* read operator's message */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopmsg2")] + internal static extern short cnc_rdopmsg2(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] OPMSG2 c); + + /* read operator's message */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopmsg3")] + internal static extern short cnc_rdopmsg3(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] OPMSG3 c); + + /* set path number(for 4 axes lathes, multi-path) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setpath")] + internal static extern short cnc_setpath(ushort FlibHndl, short a); + + /* get path number(for 4 axes lathes, multi-path) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getpath")] + internal static extern short cnc_getpath(ushort FlibHndl, out short a, out short b); + + /* allocate library handle */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allclibhndl")] + internal static extern short cnc_allclibhndl(out ushort FlibHndl); + + /* free library handle */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_freelibhndl")] + internal static extern short cnc_freelibhndl(ushort FlibHndl); + + /* get library option */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getlibopt")] + internal static extern short cnc_getlibopt(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c); + + /* set library option */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setlibopt")] + internal static extern short cnc_setlibopt(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, int c); + + /* get custom macro type */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getmactype")] + internal static extern short cnc_getmactype(ushort FlibHndl, out short a); + + /* set custom macro type */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setmactype")] + internal static extern short cnc_setmactype(ushort FlibHndl, short a); + + /* get P code macro type */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getpmactype")] + internal static extern short cnc_getpmactype(ushort FlibHndl, out short a); + + /* set P code macro type */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setpmactype")] + internal static extern short cnc_setpmactype(ushort FlibHndl, short a); + + /* get screen status */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getcrntscrn")] + internal static extern short cnc_getcrntscrn(ushort FlibHndl, out short a); + + /* change screen mode */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_slctscrn")] + internal static extern short cnc_slctscrn(ushort FlibHndl, short a); + + /* read CNC configuration information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sysconfig")] + internal static extern short cnc_sysconfig(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSC a); + + /* read program restart information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprstrinfo")] + internal static extern short cnc_rdprstrinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPRS a); + + /* search sequence number for program restart */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rstrseqsrch")] + internal static extern short cnc_rstrseqsrch(ushort FlibHndl, int a, int b, short c, short d); + + /* search sequence number for program restart 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rstrseqsrch2")] + internal static extern short cnc_rstrseqsrch2(ushort FlibHndl, int a, int b, short c, short d, int e); + + /* read output signal image of software operator's panel */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopnlsgnl")] + internal static extern short cnc_rdopnlsgnl(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSGNL b); + + /* write output signal of software operator's panel */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wropnlsgnl")] + internal static extern short cnc_wropnlsgnl(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSGNL a); + + /* read general signal image of software operator's panel */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopnlgnrl")] + internal static extern short cnc_rdopnlgnrl(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBGNRL b); + + /* write general signal image of software operator's panel */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wropnlgnrl")] + internal static extern short cnc_wropnlgnrl(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBGNRL a); + + /* read general signal name of software operator's panel */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopnlgsname")] + internal static extern short cnc_rdopnlgsname(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBRDNA b); + + /* write general signal name of software operator's panel */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wropnlgsname")] + internal static extern short cnc_wropnlgsname(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBRDNA a); + + /* get detail error */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getdtailerr")] + internal static extern short cnc_getdtailerr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBERR a); + + /* read informations of CNC parameter */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparainfo")] + internal static extern short cnc_rdparainfo(ushort FlibHndl, + short a, ushort b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPARAIF c); + + /* read informations of CNC setting data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsetinfo")] + internal static extern short cnc_rdsetinfo(ushort FlibHndl, + short a, ushort b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSETIF c); + + /* read informations of CNC diagnose data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddiaginfo")] + internal static extern short cnc_rddiaginfo(ushort FlibHndl, + short a, ushort b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDIAGIF c); + + /* read maximum, minimum and total number of CNC parameter */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparanum")] + internal static extern short cnc_rdparanum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPARANUM a); + + /* read maximum, minimum and total number of CNC setting data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsetnum")] + internal static extern short cnc_rdsetnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSETNUM a); + + /* read maximum, minimum and total number of CNC diagnose data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddiagnum")] + internal static extern short cnc_rddiagnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDIAGNUM a); + + /* get maximum valid figures and number of decimal places */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getfigure")] + internal static extern short cnc_getfigure(ushort FlibHndl, + short a, out short b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d); + + /* read F-ROM information on CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdfrominfo")] + internal static extern short cnc_rdfrominfo(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBFINFO b); + + /* start of reading F-ROM data from CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromsvstart")] + internal static extern short cnc_fromsvstart(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, int c); + + /* read F-ROM data from CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromsave")] + internal static extern short cnc_fromsave(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c); + + /* end of reading F-ROM data from CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromsvend")] + internal static extern short cnc_fromsvend(ushort FlibHndl); + + /* start of writing F-ROM data to CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromldstart")] + internal static extern short cnc_fromldstart(ushort FlibHndl, short a, int b); + + /* write F-ROM data to CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromload")] + internal static extern short cnc_fromload(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ref int b); + + /* end of writing F-ROM data to CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromldend")] + internal static extern short cnc_fromldend(ushort FlibHndl); + + /* delete F-ROM data on CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromdelete")] + internal static extern short cnc_fromdelete(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, int c); + + /* read S-RAM information on CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsraminfo")] + internal static extern short cnc_rdsraminfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSINFO a); + + /* start of reading S-RAM data from CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srambkstart")] + internal static extern short cnc_srambkstart(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, int b); + + /* read S-RAM data from CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srambackup")] + internal static extern short cnc_srambackup(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c); + + /* end of reading S-RAM data from CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srambkend")] + internal static extern short cnc_srambkend(ushort FlibHndl); + + /* read F-ROM information on CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getfrominfo")] + internal static extern short cnc_getfrominfo(ushort FlibHndl, + short a, out short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBFINFORM c); + + /* start of reading F-ROM data from CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromgetstart")] + internal static extern short cnc_fromgetstart(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* read F-ROM data from CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromget")] + internal static extern short cnc_fromget(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c); + + /* end of reading F-ROM data from CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromgetend")] + internal static extern short cnc_fromgetend(ushort FlibHndl); + + /* start of writing F-ROM data to CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromputstart")] + internal static extern short cnc_fromputstart(ushort FlibHndl, short a); + + /* write F-ROM data to CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromput")] + internal static extern short cnc_fromput(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ref int b); + + /* end of writing F-ROM data to CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromputend")] + internal static extern short cnc_fromputend(ushort FlibHndl); + + /* delete F-ROM data on CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromremove")] + internal static extern short cnc_fromremove(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* read S-RAM information on CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getsraminfo")] + internal static extern short cnc_getsraminfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSINFO a); + + /* start of reading S-RAM data from CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramgetstart")] + internal static extern short cnc_sramgetstart(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* start of reading S-RAM data from CNC (2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramgetstart2")] + internal static extern short cnc_sramgetstart2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* read S-RAM data from CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramget")] + internal static extern short cnc_sramget(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c); + + /* read S-RAM data from CNC (2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramget2")] + internal static extern short cnc_sramget2(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c); + + /* end of reading S-RAM data from CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramgetend")] + internal static extern short cnc_sramgetend(ushort FlibHndl); + + /* end of reading S-RAM data from CNC (2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramgetend2")] + internal static extern short cnc_sramgetend2(ushort FlibHndl); + + /* read number of S-RAM data kind on CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsramnum")] + internal static extern short cnc_rdsramnum(ushort FlibHndl, out short a); + + /* read S-RAM data address information on CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsramaddr")] + internal static extern short cnc_rdsramaddr(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.LPStruct)] SRAMADDR b); + + /* get current NC data protection information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getlockstat")] + internal static extern short cnc_getlockstat(ushort FlibHndl, short a, out byte b); + + /* change NC data protection status */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_chgprotbit")] + internal static extern short cnc_chgprotbit(ushort FlibHndl, short a, ref byte b, int c); + + /* transfer a file from host computer to CNC by FTP */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvftpget")] + internal static extern short cnc_dtsvftpget(ushort FlibHndl, + [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* transfer a file from CNC to host computer by FTP */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvftpput")] + internal static extern short cnc_dtsvftpput(ushort FlibHndl, + [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* get transfer status for FTP */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvftpstat")] + internal static extern short cnc_dtsvftpstat(ushort FlibHndl); + + /* read file directory in Data Server */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvrdpgdir")] + internal static extern short cnc_dtsvrdpgdir(ushort FlibHndl, + [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDSDIR c); + + /* delete files in Data Server */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvdelete")] + internal static extern short cnc_dtsvdelete(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* down load from CNC (transfer a file from CNC to MMC) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvdownload")] + internal static extern short cnc_dtsvdownload(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* up load to CNC (transfer a file from MMC to CNC) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvupload")] + internal static extern short cnc_dtsvupload(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* close upload/download between Data Server and CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvcnclupdn")] + internal static extern short cnc_dtsvcnclupdn(ushort FlibHndl); + + /* get transfer status for up/down load */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvupdnstat")] + internal static extern short cnc_dtsvupdnstat(ushort FlibHndl); + + /* get file name for DNC operation in Data Server */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvgetdncpg")] + internal static extern short cnc_dtsvgetdncpg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* set program number of DNC oparation to CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvsetdncpg")] + internal static extern short cnc_dtsvsetdncpg(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* read setting data for Data Server */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvrdset")] + internal static extern short cnc_dtsvrdset(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBDSSET a); + + /* write setting data for Data Server */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvwrset")] + internal static extern short cnc_dtsvwrset(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBDSSET a); + + /* check hard disk in Data Server */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvchkdsk")] + internal static extern short cnc_dtsvchkdsk(ushort FlibHndl); + + /* format hard disk in Data Server */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvhdformat")] + internal static extern short cnc_dtsvhdformat(ushort FlibHndl); + + /* save interface area in Data Server */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvsavecram")] + internal static extern short cnc_dtsvsavecram(ushort FlibHndl); + + /* get interface area in Data Server */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvrdcram")] + internal static extern short cnc_dtsvrdcram(ushort FlibHndl, int a, ref int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c); + + /* read maintenance information for Data Server */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvmntinfo")] + internal static extern short cnc_dtsvmntinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDSMNT a); + + /* get Data Server mode */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvgetmode")] + internal static extern short cnc_dtsvgetmode(ushort FlibHndl, out short a); + + /* set Data Server mode */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvsetmode")] + internal static extern short cnc_dtsvsetmode(ushort FlibHndl, short a); + + /* read error message for Data Server */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvrderrmsg")] + internal static extern short cnc_dtsvrderrmsg(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* transfar file from Pc to Data Server */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvwrfile")] + internal static extern short cnc_dtsvwrfile(ushort FlibHndl, + [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, short c); + + /* transfar file from Data Server to Pc */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvrdfile")] + internal static extern short cnc_dtsvrdfile(ushort FlibHndl, + [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, short c); + + /* read the loop gain for each axis */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdloopgain")] + internal static extern short cnc_rdloopgain(ushort FlibHndl, out int a); + + /* read the actual current for each axis */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcurrent")] + internal static extern short cnc_rdcurrent(ushort FlibHndl, out short a); + + /* read the actual speed for each axis */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsrvspeed")] + internal static extern short cnc_rdsrvspeed(ushort FlibHndl, out int a); + + /* read the operation mode */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopmode")] + internal static extern short cnc_rdopmode(ushort FlibHndl, out short a); + + /* read the position deviation S */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdposerrs")] + internal static extern short cnc_rdposerrs(ushort FlibHndl, out int a); + + /* read the position deviation S1 and S2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdposerrs2")] + internal static extern short cnc_rdposerrs2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPSER a); + + /* read the position deviation Z in the rigid tap mode */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdposerrz")] + internal static extern short cnc_rdposerrz(ushort FlibHndl, out int a); + + /* read the synchronous error in the synchronous control mode */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsynerrsy")] + internal static extern short cnc_rdsynerrsy(ushort FlibHndl, out int a); + + /* read the synchronous error in the rigid tap mode */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsynerrrg")] + internal static extern short cnc_rdsynerrrg(ushort FlibHndl, out int a); + + /* read the spindle alarm */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspdlalm")] + internal static extern short cnc_rdspdlalm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* read the control input signal */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdctrldi")] + internal static extern short cnc_rdctrldi(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPDI a); + + /* read the control output signal */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdctrldo")] + internal static extern short cnc_rdctrldo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPDO a); + + /* read the number of controled spindle */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdnspdl")] + internal static extern short cnc_rdnspdl(ushort FlibHndl, out short a); + + /* read data from FANUC BUS */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdfbusmem")] + internal static extern short cnc_rdfbusmem(ushort FlibHndl, + short a, short b, int c, int d, [Out, MarshalAs(UnmanagedType.AsAny)] Object e); + + /* write data to FANUC BUS */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrfbusmem")] + internal static extern short cnc_wrfbusmem(ushort FlibHndl, + short a, short b, int c, int d, [In, MarshalAs(UnmanagedType.AsAny)] Object e); + + /* read the parameter of wave diagnosis */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdwaveprm")] + internal static extern short cnc_rdwaveprm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBWAVE a); + + /* write the parameter of wave diagnosis */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrwaveprm")] + internal static extern short cnc_wrwaveprm(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBWAVE a); + + /* read the parameter of wave diagnosis 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdwaveprm2")] + internal static extern short cnc_rdwaveprm2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBWVPRM a); + + /* write the parameter of wave diagnosis 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrwaveprm2")] + internal static extern short cnc_wrwaveprm2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBWVPRM a); + + /* start the sampling for wave diagnosis */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wavestart")] + internal static extern short cnc_wavestart(ushort FlibHndl); + + /* stop the sampling for wave diagnosis */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wavestop")] + internal static extern short cnc_wavestop(ushort FlibHndl); + + /* read the status of wave diagnosis */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wavestat")] + internal static extern short cnc_wavestat(ushort FlibHndl, out short a); + + /* read the data of wave diagnosis */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdwavedata")] + internal static extern short cnc_rdwavedata(ushort FlibHndl, + short a, short b, int c, ref int d, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBWVDT e); + + /* read the parameter of wave diagnosis for remort diagnosis */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrmtwaveprm")] + internal static extern short cnc_rdrmtwaveprm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBRMTPRM a, short b); + + /* write the parameter of wave diagnosis for remort diagnosis */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrrmtwaveprm")] + internal static extern short cnc_wrrmtwaveprm(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBRMTPRM a); + + /* start the sampling for wave diagnosis for remort diagnosis */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rmtwavestart")] + internal static extern short cnc_rmtwavestart(ushort FlibHndl); + + /* stop the sampling for wave diagnosis for remort diagnosis */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rmtwavestop")] + internal static extern short cnc_rmtwavestop(ushort FlibHndl); + + /* read the status of wave diagnosis for remort diagnosis*/ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rmtwavestat")] + internal static extern short cnc_rmtwavestat(ushort FlibHndl, out short a); + + /* read the data of wave diagnosis for remort diagnosis */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrmtwavedt")] + internal static extern short cnc_rdrmtwavedt(ushort FlibHndl, + short a, int b, ref int c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBRMTDT d); + + /* read of address for PMC signal batch save */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsavsigadr")] + internal static extern short cnc_rdsavsigadr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSIGAD a, short b); + + /* write of address for PMC signal batch save */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrsavsigadr")] + internal static extern short cnc_wrsavsigadr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSIGAD a, out short b); + + /* read of data for PMC signal batch save */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsavsigdata")] + internal static extern short cnc_rdsavsigdata(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, ref short d); + + /* read M-code group data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmgrpdata")] + internal static extern short cnc_rdmgrpdata(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMGRP c); + + /* write M-code group data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmgrpdata")] + internal static extern short cnc_wrmgrpdata(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IDBMGRP a); + + /* read executing M-code group data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdexecmcode")] + internal static extern short cnc_rdexecmcode(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBEXEM c); + + /* read program restart M-code group data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrstrmcode")] + internal static extern short cnc_rdrstrmcode(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBRSTRM c); + + /* read processing time stamp data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdproctime")] + internal static extern short cnc_rdproctime(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPTIME a); + + /* read MDI program stat */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmdiprgstat")] + internal static extern short cnc_rdmdiprgstat(ushort FlibHndl, out ushort a); + + /* read program directory for processing time data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprgdirtime")] + internal static extern short cnc_rdprgdirtime(ushort FlibHndl, + ref int a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIRTM c); + + /* read program directory 2 */ #if (!ONO8D) - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogdir2")] - internal static extern short cnc_rdprogdir2(ushort FlibHndl, - short a, ref short b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIR2 d); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogdir2")] + internal static extern short cnc_rdprogdir2(ushort FlibHndl, + short a, ref short b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIR2 d); #else [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdprogdir2o8")] internal static extern short cnc_rdprogdir2( ushort FlibHndl, short a, ref short b, ref short c, [Out,MarshalAs(UnmanagedType.LPStruct)] PRGDIR2 d ); #endif - /* read program directory 3 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogdir3")] - internal static extern short cnc_rdprogdir3(ushort FlibHndl, - short a, ref int b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIR3 d); - - /* read program directory 4 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogdir4")] - internal static extern short cnc_rdprogdir4(ushort FlibHndl, - short a, int b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIR4 d); - - /* read DNC file name for DNC1, DNC2, OSI-Ethernet */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddncfname")] - internal static extern short cnc_rddncfname(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* write DNC file name for DNC1, DNC2, OSI-Ethernet */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrdncfname")] - internal static extern short cnc_wrdncfname(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* read communication parameter for DNC1, DNC2, OSI-Ethernet */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcomparam")] - internal static extern short cnc_rdcomparam(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBCPRM a); - - /* write communication parameter for DNC1, DNC2, OSI-Ethernet */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrcomparam")] - internal static extern short cnc_wrcomparam(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBCPRM a); - - /* read log message for DNC2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcomlogmsg")] - internal static extern short cnc_rdcomlogmsg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* read operator message for DNC1, DNC2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcomopemsg")] - internal static extern short cnc_rdcomopemsg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* read recieve message for OSI-Ethernet */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrcvmsg")] - internal static extern short cnc_rdrcvmsg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* read send message for OSI-Ethernet */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsndmsg")] - internal static extern short cnc_rdsndmsg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* send message for OSI-Ethernet */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sendmessage")] - internal static extern short cnc_sendmessage(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* clear message buffer for OSI-Ethernet */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clrmsgbuff")] - internal static extern short cnc_clrmsgbuff(ushort FlibHndl, short a); - - /* read message recieve status for OSI-Ethernet */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrcvstat")] - internal static extern short cnc_rdrcvstat(ushort FlibHndl, out ushort a); - - /* read interference check */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdintchk")] - internal static extern short cnc_rdintchk(ushort FlibHndl, - short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBINT e); - - /* write interference check */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrintchk")] - internal static extern short cnc_wrintchk(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBINT b); - - /* read interference check information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdintinfo")] - internal static extern short cnc_rdintinfo(ushort FlibHndl, out short a); - - /* read work coordinate shift */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdwkcdshft")] - internal static extern short cnc_rdwkcdshft(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBWCSF c); - - /* write work coordinate shift */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrwkcdshft")] - internal static extern short cnc_wrwkcdshft(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBWCSF b); - - /* read work coordinate shift measure */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdwkcdsfms")] - internal static extern short cnc_rdwkcdsfms(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBWCSF c); - - /* write work coordinate shift measure */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrwkcdsfms")] - internal static extern short cnc_wrwkcdsfms(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBWCSF b); - - /* stop the sampling for operator message history */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopomhis")] - internal static extern short cnc_stopomhis(ushort FlibHndl); - - /* start the sampling for operator message history */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startomhis")] - internal static extern short cnc_startomhis(ushort FlibHndl); - - /* read operator message history information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdomhisinfo")] - internal static extern short cnc_rdomhisinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOMIF a); - - /* read operator message history */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdomhistry")] - internal static extern short cnc_rdomhistry(ushort FlibHndl, - ushort a, ref ushort b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOMHIS c); - - /* read operater message history data F30i */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdomhistry2")] - internal static extern short cnc_rdomhistry2(ushort FlibHndl, - ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOMHIS2 d); - - /* write external key operation history for F30i*/ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrkeyhistry")] - internal static extern short cnc_wrkeyhistry(ushort FlibHndl, byte a); - - /* clear operator message history */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clearomhis")] - internal static extern short cnc_clearomhis(ushort FlibHndl); - - /* read b-axis tool offset value(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdbtofsr")] - internal static extern short cnc_rdbtofsr(ushort FlibHndl, - short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBBTO e); - - /* write b-axis tool offset value(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrbtofsr")] - internal static extern short cnc_wrbtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBBTO b); - - /* read b-axis tool offset information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdbtofsinfo")] - internal static extern short cnc_rdbtofsinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBBTLINF a); - - /* read b-axis command */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdbaxis")] - internal static extern short cnc_rdbaxis(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBBAXIS a); - - /* read CNC system soft series and version */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsyssoft")] - internal static extern short cnc_rdsyssoft(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSS a); - - /* read CNC system soft series and version (2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsyssoft2")] - internal static extern short cnc_rdsyssoft2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSS2 a); - - /* read CNC module configuration information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmdlconfig")] - internal static extern short cnc_rdmdlconfig(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDLC a); - - /* read CNC module configuration information 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmdlconfig2")] - internal static extern short cnc_rdmdlconfig2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* read processing condition file (processing data) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpscdproc")] - internal static extern short cnc_rdpscdproc(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSCD c); - - /* write processing condition file (processing data) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpscdproc")] - internal static extern short cnc_wrpscdproc(ushort FlibHndl, - short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSCD c); - - /* read processing condition file (piercing data) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpscdpirc")] - internal static extern short cnc_rdpscdpirc(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPIRC c); - - /* write processing condition file (piercing data) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpscdpirc")] - internal static extern short cnc_wrpscdpirc(ushort FlibHndl, - short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPIRC c); - - /* read processing condition file (edging data) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpscdedge")] - internal static extern short cnc_rdpscdedge(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBEDGE c); - - /* write processing condition file (edging data) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpscdedge")] - internal static extern short cnc_wrpscdedge(ushort FlibHndl, - short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBEDGE c); - - /* read processing condition file (slope data) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpscdslop")] - internal static extern short cnc_rdpscdslop(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLOP c); - - /* write processing condition file (slope data) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpscdslop")] - internal static extern short cnc_wrpscdslop(ushort FlibHndl, - short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLOP c); - - /* read power controll duty data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlpwrdty")] - internal static extern short cnc_rdlpwrdty(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLPWDT a); - - /* write power controll duty data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlpwrdty")] - internal static extern short cnc_wrlpwrdty(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLPWDT a); - - /* read laser power data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlpwrdat")] - internal static extern short cnc_rdlpwrdat(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLOPDT a); - - /* read power complement */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlpwrcpst")] - internal static extern short cnc_rdlpwrcpst(ushort FlibHndl, out short a); - - /* write power complement */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlpwrcpst")] - internal static extern short cnc_wrlpwrcpst(ushort FlibHndl, short a); - - /* read laser assist gas selection */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlagslt")] - internal static extern short cnc_rdlagslt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLAGSL a); - - /* write laser assist gas selection */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlagslt")] - internal static extern short cnc_wrlagslt(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLAGSL a); - - /* read laser assist gas flow */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlagst")] - internal static extern short cnc_rdlagst(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLAGST a); - - /* write laser assist gas flow */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlagst")] - internal static extern short cnc_wrlagst(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLAGST a); - - /* read laser power for edge processing */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdledgprc")] - internal static extern short cnc_rdledgprc(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLEGPR a); - - /* write laser power for edge processing */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrledgprc")] - internal static extern short cnc_wrledgprc(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLEGPR a); - - /* read laser power for piercing */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlprcprc")] - internal static extern short cnc_rdlprcprc(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLPCPR a); - - /* write laser power for piercing */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlprcprc")] - internal static extern short cnc_wrlprcprc(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLPCPR a); - - /* read laser command data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlcmddat")] - internal static extern short cnc_rdlcmddat(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLCMDT a); - - /* read displacement */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdldsplc")] - internal static extern short cnc_rdldsplc(ushort FlibHndl, out short a); - - /* write displacement */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrldsplc")] - internal static extern short cnc_wrldsplc(ushort FlibHndl, short a); - - /* read error for axis z */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlerrz")] - internal static extern short cnc_rdlerrz(ushort FlibHndl, out short a); - - /* read active number */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlactnum")] - internal static extern short cnc_rdlactnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLACTN a); - - /* read laser comment */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlcmmt")] - internal static extern short cnc_rdlcmmt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLCMMT a); - - /* read laser power select */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlpwrslt")] - internal static extern short cnc_rdlpwrslt(ushort FlibHndl, out short a); - - /* write laser power select */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlpwrslt")] - internal static extern short cnc_wrlpwrslt(ushort FlibHndl, short a); - - /* read laser power controll */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlpwrctrl")] - internal static extern short cnc_rdlpwrctrl(ushort FlibHndl, out short a); - - /* write laser power controll */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlpwrctrl")] - internal static extern short cnc_wrlpwrctrl(ushort FlibHndl, short a); - - /* read power correction factor history data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpwofsthis")] - internal static extern short cnc_rdpwofsthis(ushort FlibHndl, - int a, ref int b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPWOFST c); - - /* read management time */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmngtime")] - internal static extern short cnc_rdmngtime(ushort FlibHndl, - int a, ref int b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMNGTIME c); - - /* write management time */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmngtime")] - internal static extern short cnc_wrmngtime(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMNGTIME b); - - /* read data related to electrical discharge at power correction ends */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddischarge")] - internal static extern short cnc_rddischarge(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDISCHRG a); - - /* read alarm history data related to electrical discharg */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddischrgalm")] - internal static extern short cnc_rddischrgalm(ushort FlibHndl, - int a, ref int b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDISCHRGALM c); - - /* get date and time from cnc */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_gettimer")] - internal static extern short cnc_gettimer(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTIMER a); - - /* set date and time for cnc */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_settimer")] - internal static extern short cnc_settimer(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTIMER a); - - /* read timer data from cnc */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtimer")] - internal static extern short cnc_rdtimer(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTIME b); - - /* write timer data for cnc */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtimer")] - internal static extern short cnc_wrtimer(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTIME b); - - /* read tool controll data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtlctldata")] - internal static extern short cnc_rdtlctldata(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLCTL a); - - /* write tool controll data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtlctldata")] - internal static extern short cnc_wrtlctldata(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLCTL a); - - /* read tool data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtooldata")] - internal static extern short cnc_rdtooldata(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLDT c); - - /* read tool data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtooldata")] - internal static extern short cnc_wrtooldata(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLDT c); - - /* read multi tool data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmultitldt")] - internal static extern short cnc_rdmultitldt(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMLTTL c); - - /* write multi tool data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmultitldt")] - internal static extern short cnc_wrmultitldt(ushort FlibHndl, - short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMLTTL c); - - /* read multi tap data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmtapdata")] - internal static extern short cnc_rdmtapdata(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMTAP c); - - /* write multi tap data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmtapdata")] - internal static extern short cnc_wrmtapdata(ushort FlibHndl, - short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMTAP c); - - /* read multi-piece machining number */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmultipieceno")] - internal static extern short cnc_rdmultipieceno(ushort FlibHndl, out int a); - - /* read tool information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtoolinfo")] - internal static extern short cnc_rdtoolinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPTLINF a); - - /* read safetyzone data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsafetyzone")] - internal static extern short cnc_rdsafetyzone(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSAFE c); - - /* write safetyzone data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrsafetyzone")] - internal static extern short cnc_wrsafetyzone(ushort FlibHndl, - short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSAFE c); - - /* read toolzone data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtoolzone")] - internal static extern short cnc_rdtoolzone(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLZN c); - - /* write toolzone data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtoolzone")] - internal static extern short cnc_wrtoolzone(ushort FlibHndl, - short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLZN c); - - /* read active toolzone data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdacttlzone")] - internal static extern short cnc_rdacttlzone(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBACTTLZN a); - - /* read setzone number */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsetzone")] - internal static extern short cnc_rdsetzone(ushort FlibHndl, out short a); - - /* write setzone number */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrsetzone")] - internal static extern short cnc_wrsetzone(ushort FlibHndl, short a); - - /* read block restart information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdbrstrinfo")] - internal static extern short cnc_rdbrstrinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBBRS a); - - /* read menu switch signal */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmenuswitch")] - internal static extern short cnc_rdmenuswitch(ushort FlibHndl, out short a); - - /* write menu switch signal */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmenuswitch")] - internal static extern short cnc_wrmenuswitch(ushort FlibHndl, short a, short b); - - /* read tool radius offset for position data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdradofs")] - internal static extern short cnc_rdradofs(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBROFS a); - - /* read tool length offset for position data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlenofs")] - internal static extern short cnc_rdlenofs(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLOFS a); - - /* read fixed cycle for position data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdfixcycle")] - internal static extern short cnc_rdfixcycle(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBFIX a); - - /* read coordinate rotate for position data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcdrotate")] - internal static extern short cnc_rdcdrotate(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBROT a); - - /* read 3D coordinate convert for position data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dcdcnv")] - internal static extern short cnc_rd3dcdcnv(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DCD a); - - /* read programable mirror image for position data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmirimage")] - internal static extern short cnc_rdmirimage(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMIR a); - - /* read scaling for position data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdscaling")] - internal static extern short cnc_rdscaling(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSCL a); - - /* read 3D tool offset for position data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dtofs")] - internal static extern short cnc_rd3dtofs(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DTO a); - - /* read tool position offset for position data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdposofs")] - internal static extern short cnc_rdposofs(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPOFS a); - - /* read hpcc setting data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhpccset")] - internal static extern short cnc_rdhpccset(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBHPST a); - - /* write hpcc setting data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhpccset")] - internal static extern short cnc_wrhpccset(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBHPST a); - - /* hpcc data auto setting data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_hpccatset")] - internal static extern short cnc_hpccatset(ushort FlibHndl); - - /* read hpcc tuning data ( parameter input ) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhpcctupr")] - internal static extern short cnc_rdhpcctupr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBHPPR a); - - /* write hpcc tuning data ( parameter input ) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhpcctupr")] - internal static extern short cnc_wrhpcctupr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBHPPR a); - - /* read hpcc tuning data ( acc input ) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhpcctuac")] - internal static extern short cnc_rdhpcctuac(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBHPAC a); - - /* write hpcc tuning data ( acc input ) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhpcctuac")] - internal static extern short cnc_wrhpcctuac(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBHPAC a); - - /* hpcc data auto tuning */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_hpccattune")] - internal static extern short cnc_hpccattune(ushort FlibHndl, short a, out short b); - - /* read hpcc fine level */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_hpccactfine")] - internal static extern short cnc_hpccactfine(ushort FlibHndl, out short a); - - /* select hpcc fine level */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_hpccselfine")] - internal static extern short cnc_hpccselfine(ushort FlibHndl, short a); - - /* read active fixture offset */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdactfixofs")] - internal static extern short cnc_rdactfixofs(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBZOFS b); - - /* read fixture offset */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdfixofs")] - internal static extern short cnc_rdfixofs(ushort FlibHndl, - short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBZOR e); - - /* write fixture offset */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrfixofs")] - internal static extern short cnc_wrfixofs(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBZOR b); - - /* read tip of tool for 3D handle */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dtooltip")] - internal static extern short cnc_rd3dtooltip(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DHDL a); - - /* read pulse for 3D handle */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dpulse")] - internal static extern short cnc_rd3dpulse(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DPLS a); - - /* read move overrlap of tool for 3D handle */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dmovrlap")] - internal static extern short cnc_rd3dmovrlap(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DHDL a); - - /* read change offset for 3D handle */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dofschg")] - internal static extern short cnc_rd3dofschg(ushort FlibHndl, ref int a); - - /* clear pulse and change offset for 3D handle */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clr3dplsmov")] - internal static extern short cnc_clr3dplsmov(ushort FlibHndl, short a); - - /* cycle start */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_start")] - internal static extern short cnc_start(ushort FlibHndl); - - /* reset CNC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_reset")] - internal static extern short cnc_reset(ushort FlibHndl); - - /* reset CNC 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_reset2")] - internal static extern short cnc_reset2(ushort FlibHndl); - - /* read axis name */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdaxisname")] - internal static extern short cnc_rdaxisname(ushort FlibHndl, - ref short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXISNAME b); - - /* read spindle name */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspdlname")] - internal static extern short cnc_rdspdlname(ushort FlibHndl, - ref short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPDLNAME b); - - /* read extended axis name */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_exaxisname")] - internal static extern short cnc_exaxisname(ushort FlibHndl, - short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBEXAXISNAME c); - - /* read SRAM variable area for C language executor */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcexesram")] - internal static extern short cnc_rdcexesram(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c); - - /* write SRAM variable area for C language executor */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrcexesram")] - internal static extern short cnc_wrcexesram(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c); - - /* read maximum size and linear address of SRAM variable area for C language executor */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cexesraminfo")] - internal static extern short cnc_cexesraminfo(ushort FlibHndl, out short a, out int b, out int c); - - /* read maximum size of SRAM variable area for C language executor */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cexesramsize")] - internal static extern short cnc_cexesramsize(ushort FlibHndl, out int a); - - /* read additional workpiece coordinate systems number */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcoordnum")] - internal static extern short cnc_rdcoordnum(ushort FlibHndl, out short a); - - /* converts from FANUC code to Shift JIS code */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_ftosjis")] - internal static extern short cnc_ftosjis(ushort FlibHndl, - [In, MarshalAs(UnmanagedType.AsAny)] Object a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* Set the unsolicited message parameters */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrunsolicprm")] - internal static extern short cnc_wrunsolicprm(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBUNSOLIC b); - - /* Get the unsolicited message parameters */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdunsolicprm")] - internal static extern short cnc_rdunsolicprm(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBUNSOLIC b); - - /* Set the unsolicited message parameters(2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrunsolicprm2")] - internal static extern short cnc_wrunsolicprm2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBUNSOLIC2 b); - - /* Get the unsolicited message parameters(2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdunsolicprm2")] - internal static extern short cnc_rdunsolicprm2(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBUNSOLIC2 b); - - /* Start of unsolicited message */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_unsolicstart")] - internal static extern short cnc_unsolicstart(ushort FlibHndl, short a, int hWnd, uint c, short d, out short e); - - /* End of unsolicited message */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_unsolicstop")] - internal static extern short cnc_unsolicstop(ushort FlibHndl, short a); - - /* Reads the unsolicited message data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdunsolicmsg")] - internal static extern short cnc_rdunsolicmsg(short a, [In, Out] IDBUNSOLICMSG b); - - /* Reads the unsolicited message data(2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdunsolicmsg2")] - internal static extern short cnc_rdunsolicmsg2(short a, [In, Out] IDBUNSOLICMSG2 b); - - /* read machine specific maintenance item */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpm_mcnitem")] - internal static extern short cnc_rdpm_mcnitem(ushort FlibHndl, short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBITEM c); - - /* write machine specific maintenance item */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpm_mcnitem")] - internal static extern short cnc_wrpm_mcnitem(ushort FlibHndl, short a, short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBITEM c); + /* read program directory 3 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogdir3")] + internal static extern short cnc_rdprogdir3(ushort FlibHndl, + short a, ref int b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIR3 d); + + /* read program directory 4 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogdir4")] + internal static extern short cnc_rdprogdir4(ushort FlibHndl, + short a, int b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIR4 d); + + /* read DNC file name for DNC1, DNC2, OSI-Ethernet */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddncfname")] + internal static extern short cnc_rddncfname(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* write DNC file name for DNC1, DNC2, OSI-Ethernet */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrdncfname")] + internal static extern short cnc_wrdncfname(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* read communication parameter for DNC1, DNC2, OSI-Ethernet */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcomparam")] + internal static extern short cnc_rdcomparam(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBCPRM a); + + /* write communication parameter for DNC1, DNC2, OSI-Ethernet */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrcomparam")] + internal static extern short cnc_wrcomparam(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBCPRM a); + + /* read log message for DNC2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcomlogmsg")] + internal static extern short cnc_rdcomlogmsg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* read operator message for DNC1, DNC2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcomopemsg")] + internal static extern short cnc_rdcomopemsg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* read recieve message for OSI-Ethernet */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrcvmsg")] + internal static extern short cnc_rdrcvmsg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* read send message for OSI-Ethernet */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsndmsg")] + internal static extern short cnc_rdsndmsg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* send message for OSI-Ethernet */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sendmessage")] + internal static extern short cnc_sendmessage(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* clear message buffer for OSI-Ethernet */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clrmsgbuff")] + internal static extern short cnc_clrmsgbuff(ushort FlibHndl, short a); + + /* read message recieve status for OSI-Ethernet */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrcvstat")] + internal static extern short cnc_rdrcvstat(ushort FlibHndl, out ushort a); + + /* read interference check */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdintchk")] + internal static extern short cnc_rdintchk(ushort FlibHndl, + short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBINT e); + + /* write interference check */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrintchk")] + internal static extern short cnc_wrintchk(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBINT b); + + /* read interference check information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdintinfo")] + internal static extern short cnc_rdintinfo(ushort FlibHndl, out short a); + + /* read work coordinate shift */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdwkcdshft")] + internal static extern short cnc_rdwkcdshft(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBWCSF c); + + /* write work coordinate shift */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrwkcdshft")] + internal static extern short cnc_wrwkcdshft(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBWCSF b); + + /* read work coordinate shift measure */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdwkcdsfms")] + internal static extern short cnc_rdwkcdsfms(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBWCSF c); + + /* write work coordinate shift measure */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrwkcdsfms")] + internal static extern short cnc_wrwkcdsfms(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBWCSF b); + + /* stop the sampling for operator message history */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopomhis")] + internal static extern short cnc_stopomhis(ushort FlibHndl); + + /* start the sampling for operator message history */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startomhis")] + internal static extern short cnc_startomhis(ushort FlibHndl); + + /* read operator message history information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdomhisinfo")] + internal static extern short cnc_rdomhisinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOMIF a); + + /* read operator message history */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdomhistry")] + internal static extern short cnc_rdomhistry(ushort FlibHndl, + ushort a, ref ushort b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOMHIS c); + + /* read operater message history data F30i */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdomhistry2")] + internal static extern short cnc_rdomhistry2(ushort FlibHndl, + ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOMHIS2 d); + + /* write external key operation history for F30i*/ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrkeyhistry")] + internal static extern short cnc_wrkeyhistry(ushort FlibHndl, byte a); + + /* clear operator message history */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clearomhis")] + internal static extern short cnc_clearomhis(ushort FlibHndl); + + /* read b-axis tool offset value(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdbtofsr")] + internal static extern short cnc_rdbtofsr(ushort FlibHndl, + short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBBTO e); + + /* write b-axis tool offset value(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrbtofsr")] + internal static extern short cnc_wrbtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBBTO b); + + /* read b-axis tool offset information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdbtofsinfo")] + internal static extern short cnc_rdbtofsinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBBTLINF a); + + /* read b-axis command */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdbaxis")] + internal static extern short cnc_rdbaxis(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBBAXIS a); + + /* read CNC system soft series and version */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsyssoft")] + internal static extern short cnc_rdsyssoft(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSS a); + + /* read CNC system soft series and version (2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsyssoft2")] + internal static extern short cnc_rdsyssoft2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSS2 a); + + /* read CNC module configuration information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmdlconfig")] + internal static extern short cnc_rdmdlconfig(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDLC a); + + /* read CNC module configuration information 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmdlconfig2")] + internal static extern short cnc_rdmdlconfig2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* read processing condition file (processing data) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpscdproc")] + internal static extern short cnc_rdpscdproc(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSCD c); + + /* write processing condition file (processing data) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpscdproc")] + internal static extern short cnc_wrpscdproc(ushort FlibHndl, + short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSCD c); + + /* read processing condition file (piercing data) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpscdpirc")] + internal static extern short cnc_rdpscdpirc(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPIRC c); + + /* write processing condition file (piercing data) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpscdpirc")] + internal static extern short cnc_wrpscdpirc(ushort FlibHndl, + short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPIRC c); + + /* read processing condition file (edging data) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpscdedge")] + internal static extern short cnc_rdpscdedge(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBEDGE c); + + /* write processing condition file (edging data) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpscdedge")] + internal static extern short cnc_wrpscdedge(ushort FlibHndl, + short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBEDGE c); + + /* read processing condition file (slope data) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpscdslop")] + internal static extern short cnc_rdpscdslop(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLOP c); + + /* write processing condition file (slope data) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpscdslop")] + internal static extern short cnc_wrpscdslop(ushort FlibHndl, + short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLOP c); + + /* read power controll duty data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlpwrdty")] + internal static extern short cnc_rdlpwrdty(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLPWDT a); + + /* write power controll duty data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlpwrdty")] + internal static extern short cnc_wrlpwrdty(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLPWDT a); + + /* read laser power data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlpwrdat")] + internal static extern short cnc_rdlpwrdat(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLOPDT a); + + /* read power complement */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlpwrcpst")] + internal static extern short cnc_rdlpwrcpst(ushort FlibHndl, out short a); + + /* write power complement */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlpwrcpst")] + internal static extern short cnc_wrlpwrcpst(ushort FlibHndl, short a); + + /* read laser assist gas selection */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlagslt")] + internal static extern short cnc_rdlagslt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLAGSL a); + + /* write laser assist gas selection */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlagslt")] + internal static extern short cnc_wrlagslt(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLAGSL a); + + /* read laser assist gas flow */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlagst")] + internal static extern short cnc_rdlagst(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLAGST a); + + /* write laser assist gas flow */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlagst")] + internal static extern short cnc_wrlagst(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLAGST a); + + /* read laser power for edge processing */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdledgprc")] + internal static extern short cnc_rdledgprc(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLEGPR a); + + /* write laser power for edge processing */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrledgprc")] + internal static extern short cnc_wrledgprc(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLEGPR a); + + /* read laser power for piercing */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlprcprc")] + internal static extern short cnc_rdlprcprc(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLPCPR a); + + /* write laser power for piercing */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlprcprc")] + internal static extern short cnc_wrlprcprc(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLPCPR a); + + /* read laser command data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlcmddat")] + internal static extern short cnc_rdlcmddat(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLCMDT a); + + /* read displacement */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdldsplc")] + internal static extern short cnc_rdldsplc(ushort FlibHndl, out short a); + + /* write displacement */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrldsplc")] + internal static extern short cnc_wrldsplc(ushort FlibHndl, short a); + + /* read error for axis z */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlerrz")] + internal static extern short cnc_rdlerrz(ushort FlibHndl, out short a); + + /* read active number */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlactnum")] + internal static extern short cnc_rdlactnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLACTN a); + + /* read laser comment */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlcmmt")] + internal static extern short cnc_rdlcmmt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLCMMT a); + + /* read laser power select */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlpwrslt")] + internal static extern short cnc_rdlpwrslt(ushort FlibHndl, out short a); + + /* write laser power select */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlpwrslt")] + internal static extern short cnc_wrlpwrslt(ushort FlibHndl, short a); + + /* read laser power controll */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlpwrctrl")] + internal static extern short cnc_rdlpwrctrl(ushort FlibHndl, out short a); + + /* write laser power controll */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlpwrctrl")] + internal static extern short cnc_wrlpwrctrl(ushort FlibHndl, short a); + + /* read power correction factor history data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpwofsthis")] + internal static extern short cnc_rdpwofsthis(ushort FlibHndl, + int a, ref int b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPWOFST c); + + /* read management time */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmngtime")] + internal static extern short cnc_rdmngtime(ushort FlibHndl, + int a, ref int b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMNGTIME c); + + /* write management time */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmngtime")] + internal static extern short cnc_wrmngtime(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMNGTIME b); + + /* read data related to electrical discharge at power correction ends */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddischarge")] + internal static extern short cnc_rddischarge(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDISCHRG a); + + /* read alarm history data related to electrical discharg */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddischrgalm")] + internal static extern short cnc_rddischrgalm(ushort FlibHndl, + int a, ref int b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDISCHRGALM c); + + /* get date and time from cnc */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_gettimer")] + internal static extern short cnc_gettimer(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTIMER a); + + /* set date and time for cnc */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_settimer")] + internal static extern short cnc_settimer(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTIMER a); + + /* read timer data from cnc */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtimer")] + internal static extern short cnc_rdtimer(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTIME b); + + /* write timer data for cnc */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtimer")] + internal static extern short cnc_wrtimer(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTIME b); + + /* read tool controll data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtlctldata")] + internal static extern short cnc_rdtlctldata(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLCTL a); + + /* write tool controll data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtlctldata")] + internal static extern short cnc_wrtlctldata(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLCTL a); + + /* read tool data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtooldata")] + internal static extern short cnc_rdtooldata(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLDT c); + + /* read tool data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtooldata")] + internal static extern short cnc_wrtooldata(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLDT c); + + /* read multi tool data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmultitldt")] + internal static extern short cnc_rdmultitldt(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMLTTL c); + + /* write multi tool data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmultitldt")] + internal static extern short cnc_wrmultitldt(ushort FlibHndl, + short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMLTTL c); + + /* read multi tap data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmtapdata")] + internal static extern short cnc_rdmtapdata(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMTAP c); + + /* write multi tap data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmtapdata")] + internal static extern short cnc_wrmtapdata(ushort FlibHndl, + short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMTAP c); + + /* read multi-piece machining number */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmultipieceno")] + internal static extern short cnc_rdmultipieceno(ushort FlibHndl, out int a); + + /* read tool information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtoolinfo")] + internal static extern short cnc_rdtoolinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPTLINF a); + + /* read safetyzone data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsafetyzone")] + internal static extern short cnc_rdsafetyzone(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSAFE c); + + /* write safetyzone data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrsafetyzone")] + internal static extern short cnc_wrsafetyzone(ushort FlibHndl, + short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSAFE c); + + /* read toolzone data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtoolzone")] + internal static extern short cnc_rdtoolzone(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLZN c); + + /* write toolzone data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtoolzone")] + internal static extern short cnc_wrtoolzone(ushort FlibHndl, + short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLZN c); + + /* read active toolzone data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdacttlzone")] + internal static extern short cnc_rdacttlzone(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBACTTLZN a); + + /* read setzone number */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsetzone")] + internal static extern short cnc_rdsetzone(ushort FlibHndl, out short a); + + /* write setzone number */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrsetzone")] + internal static extern short cnc_wrsetzone(ushort FlibHndl, short a); + + /* read block restart information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdbrstrinfo")] + internal static extern short cnc_rdbrstrinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBBRS a); + + /* read menu switch signal */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmenuswitch")] + internal static extern short cnc_rdmenuswitch(ushort FlibHndl, out short a); + + /* write menu switch signal */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmenuswitch")] + internal static extern short cnc_wrmenuswitch(ushort FlibHndl, short a, short b); + + /* read tool radius offset for position data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdradofs")] + internal static extern short cnc_rdradofs(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBROFS a); + + /* read tool length offset for position data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlenofs")] + internal static extern short cnc_rdlenofs(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLOFS a); + + /* read fixed cycle for position data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdfixcycle")] + internal static extern short cnc_rdfixcycle(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBFIX a); + + /* read coordinate rotate for position data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcdrotate")] + internal static extern short cnc_rdcdrotate(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBROT a); + + /* read 3D coordinate convert for position data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dcdcnv")] + internal static extern short cnc_rd3dcdcnv(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DCD a); + + /* read programable mirror image for position data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmirimage")] + internal static extern short cnc_rdmirimage(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMIR a); + + /* read scaling for position data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdscaling")] + internal static extern short cnc_rdscaling(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSCL a); + + /* read 3D tool offset for position data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dtofs")] + internal static extern short cnc_rd3dtofs(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DTO a); + + /* read tool position offset for position data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdposofs")] + internal static extern short cnc_rdposofs(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPOFS a); + + /* read hpcc setting data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhpccset")] + internal static extern short cnc_rdhpccset(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBHPST a); + + /* write hpcc setting data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhpccset")] + internal static extern short cnc_wrhpccset(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBHPST a); + + /* hpcc data auto setting data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_hpccatset")] + internal static extern short cnc_hpccatset(ushort FlibHndl); + + /* read hpcc tuning data ( parameter input ) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhpcctupr")] + internal static extern short cnc_rdhpcctupr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBHPPR a); + + /* write hpcc tuning data ( parameter input ) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhpcctupr")] + internal static extern short cnc_wrhpcctupr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBHPPR a); + + /* read hpcc tuning data ( acc input ) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhpcctuac")] + internal static extern short cnc_rdhpcctuac(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBHPAC a); + + /* write hpcc tuning data ( acc input ) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhpcctuac")] + internal static extern short cnc_wrhpcctuac(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBHPAC a); + + /* hpcc data auto tuning */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_hpccattune")] + internal static extern short cnc_hpccattune(ushort FlibHndl, short a, out short b); + + /* read hpcc fine level */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_hpccactfine")] + internal static extern short cnc_hpccactfine(ushort FlibHndl, out short a); + + /* select hpcc fine level */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_hpccselfine")] + internal static extern short cnc_hpccselfine(ushort FlibHndl, short a); + + /* read active fixture offset */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdactfixofs")] + internal static extern short cnc_rdactfixofs(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBZOFS b); + + /* read fixture offset */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdfixofs")] + internal static extern short cnc_rdfixofs(ushort FlibHndl, + short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBZOR e); + + /* write fixture offset */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrfixofs")] + internal static extern short cnc_wrfixofs(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBZOR b); + + /* read tip of tool for 3D handle */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dtooltip")] + internal static extern short cnc_rd3dtooltip(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DHDL a); + + /* read pulse for 3D handle */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dpulse")] + internal static extern short cnc_rd3dpulse(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DPLS a); + + /* read move overrlap of tool for 3D handle */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dmovrlap")] + internal static extern short cnc_rd3dmovrlap(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DHDL a); + + /* read change offset for 3D handle */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dofschg")] + internal static extern short cnc_rd3dofschg(ushort FlibHndl, ref int a); + + /* clear pulse and change offset for 3D handle */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clr3dplsmov")] + internal static extern short cnc_clr3dplsmov(ushort FlibHndl, short a); + + /* cycle start */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_start")] + internal static extern short cnc_start(ushort FlibHndl); + + /* reset CNC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_reset")] + internal static extern short cnc_reset(ushort FlibHndl); + + /* reset CNC 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_reset2")] + internal static extern short cnc_reset2(ushort FlibHndl); + + /* read axis name */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdaxisname")] + internal static extern short cnc_rdaxisname(ushort FlibHndl, + ref short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXISNAME b); + + /* read spindle name */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspdlname")] + internal static extern short cnc_rdspdlname(ushort FlibHndl, + ref short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPDLNAME b); + + /* read extended axis name */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_exaxisname")] + internal static extern short cnc_exaxisname(ushort FlibHndl, + short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBEXAXISNAME c); + + /* read SRAM variable area for C language executor */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcexesram")] + internal static extern short cnc_rdcexesram(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c); + + /* write SRAM variable area for C language executor */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrcexesram")] + internal static extern short cnc_wrcexesram(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c); + + /* read maximum size and linear address of SRAM variable area for C language executor */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cexesraminfo")] + internal static extern short cnc_cexesraminfo(ushort FlibHndl, out short a, out int b, out int c); + + /* read maximum size of SRAM variable area for C language executor */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cexesramsize")] + internal static extern short cnc_cexesramsize(ushort FlibHndl, out int a); + + /* read additional workpiece coordinate systems number */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcoordnum")] + internal static extern short cnc_rdcoordnum(ushort FlibHndl, out short a); + + /* converts from FANUC code to Shift JIS code */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_ftosjis")] + internal static extern short cnc_ftosjis(ushort FlibHndl, + [In, MarshalAs(UnmanagedType.AsAny)] Object a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* Set the unsolicited message parameters */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrunsolicprm")] + internal static extern short cnc_wrunsolicprm(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBUNSOLIC b); + + /* Get the unsolicited message parameters */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdunsolicprm")] + internal static extern short cnc_rdunsolicprm(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBUNSOLIC b); + + /* Set the unsolicited message parameters(2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrunsolicprm2")] + internal static extern short cnc_wrunsolicprm2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBUNSOLIC2 b); + + /* Get the unsolicited message parameters(2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdunsolicprm2")] + internal static extern short cnc_rdunsolicprm2(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBUNSOLIC2 b); + + /* Start of unsolicited message */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_unsolicstart")] + internal static extern short cnc_unsolicstart(ushort FlibHndl, short a, int hWnd, uint c, short d, out short e); + + /* End of unsolicited message */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_unsolicstop")] + internal static extern short cnc_unsolicstop(ushort FlibHndl, short a); + + /* Reads the unsolicited message data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdunsolicmsg")] + internal static extern short cnc_rdunsolicmsg(short a, [In, Out] IDBUNSOLICMSG b); + + /* Reads the unsolicited message data(2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdunsolicmsg2")] + internal static extern short cnc_rdunsolicmsg2(short a, [In, Out] IDBUNSOLICMSG2 b); + + /* read machine specific maintenance item */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpm_mcnitem")] + internal static extern short cnc_rdpm_mcnitem(ushort FlibHndl, short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBITEM c); + + /* write machine specific maintenance item */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpm_mcnitem")] + internal static extern short cnc_wrpm_mcnitem(ushort FlibHndl, short a, short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBITEM c); - /* read cnc maintenance item */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpm_cncitem")] - internal static extern short cnc_rdpm_cncitem(ushort FlibHndl, short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBITEM c); + /* read cnc maintenance item */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpm_cncitem")] + internal static extern short cnc_rdpm_cncitem(ushort FlibHndl, short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBITEM c); - /* read maintenance item status */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpm_item")] - internal static extern short cnc_rdpm_item(ushort FlibHndl, short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMAINTE c); + /* read maintenance item status */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpm_item")] + internal static extern short cnc_rdpm_item(ushort FlibHndl, short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMAINTE c); - /* write maintenance item status */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpm_item")] - internal static extern short cnc_wrpm_item(ushort FlibHndl, short a, short b, short c, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMAINTE d); + /* write maintenance item status */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpm_item")] + internal static extern short cnc_wrpm_item(ushort FlibHndl, short a, short b, short c, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMAINTE d); - /* Display of optional message */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dispoptmsg")] - internal static extern short cnc_dispoptmsg(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + /* Display of optional message */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dispoptmsg")] + internal static extern short cnc_dispoptmsg(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - /* Reading of answer for optional message display */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_optmsgans")] - internal static extern short cnc_optmsgans(ushort FlibHndl, out short a); + /* Reading of answer for optional message display */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_optmsgans")] + internal static extern short cnc_optmsgans(ushort FlibHndl, out short a); - /* Get CNC Model */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getcncmodel")] - internal static extern short cnc_getcncmodel(ushort FlibHndl, out short a); + /* Get CNC Model */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getcncmodel")] + internal static extern short cnc_getcncmodel(ushort FlibHndl, out short a); - /* read number of repeats */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrepeatval")] - internal static extern short cnc_rdrepeatval(ushort FlibHndl, out int a); + /* read number of repeats */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrepeatval")] + internal static extern short cnc_rdrepeatval(ushort FlibHndl, out int a); - /* read CNC system hard info */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsyshard")] - internal static extern short cnc_rdsyshard(ushort FlibHndl, short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSH c); + /* read CNC system hard info */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsyshard")] + internal static extern short cnc_rdsyshard(ushort FlibHndl, short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSH c); - /* read CNC system soft series and version (3) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsyssoft3")] - internal static extern short cnc_rdsyssoft3(ushort FlibHndl, short a, ref short b, out short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSS3 d); + /* read CNC system soft series and version (3) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsyssoft3")] + internal static extern short cnc_rdsyssoft3(ushort FlibHndl, short a, ref short b, out short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSS3 d); - /* read digit of program number */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_progdigit")] - internal static extern short cnc_progdigit(ushort FlibHndl, out short a); + /* read digit of program number */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_progdigit")] + internal static extern short cnc_progdigit(ushort FlibHndl, out short a); - /* read CNC system path information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sysinfo_ex")] - internal static extern short cnc_sysinfo_ex(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSEX a); + /* read CNC system path information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sysinfo_ex")] + internal static extern short cnc_sysinfo_ex(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSEX a); - /*------------------*/ - /* CNC : SERCOS I/F */ - /*------------------*/ + /*------------------*/ + /* CNC : SERCOS I/F */ + /*------------------*/ - /* Get reservation of service channel for SERCOS I/F */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrsvchnl")] - internal static extern short cnc_srcsrsvchnl(ushort FlibHndl); + /* Get reservation of service channel for SERCOS I/F */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrsvchnl")] + internal static extern short cnc_srcsrsvchnl(ushort FlibHndl); - /* Read ID information of SERCOS I/F */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrdidinfo")] - internal static extern short cnc_srcsrdidinfo(ushort FlibHndl, - int a, short b, short c, [Out, MarshalAs(UnmanagedType.AsAny)] IODBIDINF d); + /* Read ID information of SERCOS I/F */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrdidinfo")] + internal static extern short cnc_srcsrdidinfo(ushort FlibHndl, + int a, short b, short c, [Out, MarshalAs(UnmanagedType.AsAny)] IODBIDINF d); - /* Write ID information of SERCOS I/F */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcswridinfo")] - internal static extern short cnc_srcswridinfo(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBIDINF a); + /* Write ID information of SERCOS I/F */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcswridinfo")] + internal static extern short cnc_srcswridinfo(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBIDINF a); - /* Start of reading operation data from drive of SERCOS I/F */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsstartrd")] - internal static extern short cnc_srcsstartrd(ushort FlibHndl, int a, short b); + /* Start of reading operation data from drive of SERCOS I/F */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsstartrd")] + internal static extern short cnc_srcsstartrd(ushort FlibHndl, int a, short b); - /* Start of writing operation data to drive of SERCOS I/F */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsstartwrt")] - internal static extern short cnc_srcsstartwrt(ushort FlibHndl, int a, short b); + /* Start of writing operation data to drive of SERCOS I/F */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsstartwrt")] + internal static extern short cnc_srcsstartwrt(ushort FlibHndl, int a, short b); - /* Stop of reading/writing operation data from/to drive of SERCOS I/F */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsstopexec")] - internal static extern short cnc_srcsstopexec(ushort FlibHndl); + /* Stop of reading/writing operation data from/to drive of SERCOS I/F */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsstopexec")] + internal static extern short cnc_srcsstopexec(ushort FlibHndl); - /* Get execution status of reading/writing operation data of SERCOS I/F */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrdexstat")] - internal static extern short cnc_srcsrdexstat(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSRCSST a); + /* Get execution status of reading/writing operation data of SERCOS I/F */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrdexstat")] + internal static extern short cnc_srcsrdexstat(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSRCSST a); - /* Read operation data from data buffer for SERCOS I/F */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrdopdata")] - internal static extern short cnc_srcsrdopdata(ushort FlibHndl, int a, ref int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c); + /* Read operation data from data buffer for SERCOS I/F */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrdopdata")] + internal static extern short cnc_srcsrdopdata(ushort FlibHndl, int a, ref int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c); - /* Write operation data to data buffer for SERCOS I/F */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcswropdata")] - internal static extern short cnc_srcswropdata(ushort FlibHndl, int a, int b, [In, MarshalAs(UnmanagedType.AsAny)] Object c); + /* Write operation data to data buffer for SERCOS I/F */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcswropdata")] + internal static extern short cnc_srcswropdata(ushort FlibHndl, int a, int b, [In, MarshalAs(UnmanagedType.AsAny)] Object c); - /* Free reservation of service channel for SERCOS I/F */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsfreechnl")] - internal static extern short cnc_srcsfreechnl(ushort FlibHndl); + /* Free reservation of service channel for SERCOS I/F */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsfreechnl")] + internal static extern short cnc_srcsfreechnl(ushort FlibHndl); - /* Read drive assign of SERCOS I/F */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrdlayout")] - internal static extern short cnc_srcsrdlayout(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSRCSLYT a); + /* Read drive assign of SERCOS I/F */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrdlayout")] + internal static extern short cnc_srcsrdlayout(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSRCSLYT a); - /* Read communication phase of drive of SERCOS I/F */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrddrvcp")] - internal static extern short cnc_srcsrddrvcp(ushort FlibHndl, out short a); + /* Read communication phase of drive of SERCOS I/F */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrddrvcp")] + internal static extern short cnc_srcsrddrvcp(ushort FlibHndl, out short a); - /*----------------------------*/ - /* CNC : Graphic command data */ - /*----------------------------*/ + /*----------------------------*/ + /* CNC : Graphic command data */ + /*----------------------------*/ - /* Start drawing position */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startdrawpos")] - internal static extern short cnc_startdrawpos(ushort FlibHndl); + /* Start drawing position */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startdrawpos")] + internal static extern short cnc_startdrawpos(ushort FlibHndl); - /* Stop drawing position */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopdrawpos")] - internal static extern short cnc_stopdrawpos(ushort FlibHndl); + /* Stop drawing position */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopdrawpos")] + internal static extern short cnc_stopdrawpos(ushort FlibHndl); - /* Start dynamic graphic */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startdyngrph")] - internal static extern short cnc_startdyngrph(ushort FlibHndl); + /* Start dynamic graphic */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startdyngrph")] + internal static extern short cnc_startdyngrph(ushort FlibHndl); - /* Stop dynamic graphic */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopdyngrph")] - internal static extern short cnc_stopdyngrph(ushort FlibHndl); + /* Stop dynamic graphic */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopdyngrph")] + internal static extern short cnc_stopdyngrph(ushort FlibHndl); - /* Read graphic command data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrphcmd")] - internal static extern short cnc_rdgrphcmd(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); + /* Read graphic command data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrphcmd")] + internal static extern short cnc_rdgrphcmd(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); - /* Update graphic command read pointer */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrgrphcmdptr")] - internal static extern short cnc_wrgrphcmdptr(ushort FlibHndl, short a); + /* Update graphic command read pointer */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrgrphcmdptr")] + internal static extern short cnc_wrgrphcmdptr(ushort FlibHndl, short a); - /* Read cancel flag */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrphcanflg")] - internal static extern short cnc_rdgrphcanflg(ushort FlibHndl, out short a); + /* Read cancel flag */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrphcanflg")] + internal static extern short cnc_rdgrphcanflg(ushort FlibHndl, out short a); - /* Clear graphic command */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clrgrphcmd")] - internal static extern short cnc_clrgrphcmd(ushort FlibHndl); + /* Clear graphic command */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clrgrphcmd")] + internal static extern short cnc_clrgrphcmd(ushort FlibHndl); - /*---------------------------*/ - /* CNC : Servo learning data */ - /*---------------------------*/ + /*---------------------------*/ + /* CNC : Servo learning data */ + /*---------------------------*/ - /* Servo learning data read start */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtstartrd")] - internal static extern short cnc_svdtstartrd(ushort FlibHndl, short a); + /* Servo learning data read start */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtstartrd")] + internal static extern short cnc_svdtstartrd(ushort FlibHndl, short a); - /* Servo learning data write start */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtstartwr")] - internal static extern short cnc_svdtstartwr(ushort FlibHndl, short a); + /* Servo learning data write start */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtstartwr")] + internal static extern short cnc_svdtstartwr(ushort FlibHndl, short a); - /* Servo learning data read end */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtendrd")] - internal static extern short cnc_svdtendrd(ushort FlibHndl); + /* Servo learning data read end */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtendrd")] + internal static extern short cnc_svdtendrd(ushort FlibHndl); - /* Servo learning data write end */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtendwr")] - internal static extern short cnc_svdtendwr(ushort FlibHndl); + /* Servo learning data write end */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtendwr")] + internal static extern short cnc_svdtendwr(ushort FlibHndl); - /* Servo learning data read/write stop */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtstopexec")] - internal static extern short cnc_svdtstopexec(ushort FlibHndl); + /* Servo learning data read/write stop */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtstopexec")] + internal static extern short cnc_svdtstopexec(ushort FlibHndl); - /* Servo learning data read from I/F buffer */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtrddata")] - internal static extern short cnc_svdtrddata(ushort FlibHndl, - out short a, ref int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c); + /* Servo learning data read from I/F buffer */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtrddata")] + internal static extern short cnc_svdtrddata(ushort FlibHndl, + out short a, ref int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c); - /* Servo learning data write to I/F buffer */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtwrdata")] - internal static extern short cnc_svdtwrdata(ushort FlibHndl, - out short a, ref int b, [In, MarshalAs(UnmanagedType.AsAny)] Object c); + /* Servo learning data write to I/F buffer */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtwrdata")] + internal static extern short cnc_svdtwrdata(ushort FlibHndl, + out short a, ref int b, [In, MarshalAs(UnmanagedType.AsAny)] Object c); - /*----------------------------*/ - /* CNC : Servo Guide */ - /*----------------------------*/ - /* Servo Guide (Channel data set) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdsetchnl")] - internal static extern short cnc_sdsetchnl(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBCHAN b); + /*----------------------------*/ + /* CNC : Servo Guide */ + /*----------------------------*/ + /* Servo Guide (Channel data set) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdsetchnl")] + internal static extern short cnc_sdsetchnl(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBCHAN b); - /* Servo Guide (Channel data clear) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdclrchnl")] - internal static extern short cnc_sdclrchnl(ushort FlibHndl); + /* Servo Guide (Channel data clear) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdclrchnl")] + internal static extern short cnc_sdclrchnl(ushort FlibHndl); - /* Servo Guide (Sampling start) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdstartsmpl")] - internal static extern short cnc_sdstartsmpl(ushort FlibHndl, short a, int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c); + /* Servo Guide (Sampling start) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdstartsmpl")] + internal static extern short cnc_sdstartsmpl(ushort FlibHndl, short a, int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c); - /* Servo Guide (Sampling cancel) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdcancelsmpl")] - internal static extern short cnc_sdcancelsmpl(ushort FlibHndl); + /* Servo Guide (Sampling cancel) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdcancelsmpl")] + internal static extern short cnc_sdcancelsmpl(ushort FlibHndl); - /* Servo Guide (read Sampling data) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdreadsmpl")] - internal static extern short cnc_sdreadsmpl(ushort FlibHndl, - out short a, int b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSD c); + /* Servo Guide (read Sampling data) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdreadsmpl")] + internal static extern short cnc_sdreadsmpl(ushort FlibHndl, + out short a, int b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSD c); - /* Servo Guide (Sampling end) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdendsmpl")] - internal static extern short cnc_sdendsmpl(ushort FlibHndl); + /* Servo Guide (Sampling end) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdendsmpl")] + internal static extern short cnc_sdendsmpl(ushort FlibHndl); - /* Servo Guide (read 1 shot data) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdread1shot")] - internal static extern short cnc_sdread1shot(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); + /* Servo Guide (read 1 shot data) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdread1shot")] + internal static extern short cnc_sdread1shot(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); - /* Servo feedback data (Channel data set) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbsetchnl")] - internal static extern short cnc_sfbsetchnl(ushort FlibHndl, - short a, int b, [In, MarshalAs(UnmanagedType.LPStruct)] IDBSFBCHAN c); + /* Servo feedback data (Channel data set) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbsetchnl")] + internal static extern short cnc_sfbsetchnl(ushort FlibHndl, + short a, int b, [In, MarshalAs(UnmanagedType.LPStruct)] IDBSFBCHAN c); - /* Servo feedback data (Channel data clear) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbclrchnl")] - internal static extern short cnc_sfbclrchnl(ushort FlibHndl); + /* Servo feedback data (Channel data clear) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbclrchnl")] + internal static extern short cnc_sfbclrchnl(ushort FlibHndl); - /* Servo feedback data (Sampling start) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbstartsmpl")] - internal static extern short cnc_sfbstartsmpl(ushort FlibHndl, short a, int b); + /* Servo feedback data (Sampling start) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbstartsmpl")] + internal static extern short cnc_sfbstartsmpl(ushort FlibHndl, short a, int b); - /* Servo feedback data (Sampling cancel) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbcancelsmpl")] - internal static extern short cnc_sfbcancelsmpl(ushort FlibHndl); + /* Servo feedback data (Sampling cancel) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbcancelsmpl")] + internal static extern short cnc_sfbcancelsmpl(ushort FlibHndl); - /* Servo feedback data (read Sampling data) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbreadsmpl")] - internal static extern short cnc_sfbreadsmpl(ushort FlibHndl, - out short a, int b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSD c); + /* Servo feedback data (read Sampling data) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbreadsmpl")] + internal static extern short cnc_sfbreadsmpl(ushort FlibHndl, + out short a, int b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSD c); - /* Servo feedback data (Sampling end) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbendsmpl")] - internal static extern short cnc_sfbendsmpl(ushort FlibHndl); + /* Servo feedback data (Sampling end) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbendsmpl")] + internal static extern short cnc_sfbendsmpl(ushort FlibHndl); - /*----------------------------*/ - /* CNC : NC display function */ - /*----------------------------*/ + /*----------------------------*/ + /* CNC : NC display function */ + /*----------------------------*/ - /* Start NC display */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startnccmd")] - internal static extern short cnc_startnccmd(ushort FlibHndl); + /* Start NC display */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startnccmd")] + internal static extern short cnc_startnccmd(ushort FlibHndl); - /* Start NC display (2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startnccmd2")] - internal static extern short cnc_startnccmd2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + /* Start NC display (2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startnccmd2")] + internal static extern short cnc_startnccmd2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - /* Stop NC display */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopnccmd")] - internal static extern short cnc_stopnccmd(ushort FlibHndl); + /* Stop NC display */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopnccmd")] + internal static extern short cnc_stopnccmd(ushort FlibHndl); - /* Get NC display mode */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getdspmode")] - internal static extern short cnc_getdspmode(ushort FlibHndl, out short a); + /* Get NC display mode */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getdspmode")] + internal static extern short cnc_getdspmode(ushort FlibHndl, out short a); - /*------------------------------------*/ - /* CNC : Remote diagnostics function */ - /*------------------------------------*/ + /*------------------------------------*/ + /* CNC : Remote diagnostics function */ + /*------------------------------------*/ - /* Start remote diagnostics function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startrmtdgn")] - internal static extern short cnc_startrmtdgn(ushort FlibHndl); + /* Start remote diagnostics function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startrmtdgn")] + internal static extern short cnc_startrmtdgn(ushort FlibHndl); - /* Stop remote diagnostics function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stoprmtdgn")] - internal static extern short cnc_stoprmtdgn(ushort FlibHndl); + /* Stop remote diagnostics function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stoprmtdgn")] + internal static extern short cnc_stoprmtdgn(ushort FlibHndl); - /* Read data from remote diagnostics I/F */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrmtdgn")] - internal static extern short cnc_rdrmtdgn(ushort FlibHndl, out int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); + /* Read data from remote diagnostics I/F */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrmtdgn")] + internal static extern short cnc_rdrmtdgn(ushort FlibHndl, out int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); - /* Write data to remote diagnostics I/F */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrrmtdgn")] - internal static extern short cnc_wrrmtdgn(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + /* Write data to remote diagnostics I/F */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrrmtdgn")] + internal static extern short cnc_wrrmtdgn(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - /* Set CommStatus of remote diagnostics I/F area */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrcommstatus")] - internal static extern short cnc_wrcommstatus(ushort FlibHndl, short a); + /* Set CommStatus of remote diagnostics I/F area */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrcommstatus")] + internal static extern short cnc_wrcommstatus(ushort FlibHndl, short a); - /* Check remote diagnostics I/F */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_chkrmtdgn")] - internal static extern short cnc_chkrmtdgn(ushort FlibHndl); + /* Check remote diagnostics I/F */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_chkrmtdgn")] + internal static extern short cnc_chkrmtdgn(ushort FlibHndl); - /*-------------------------*/ - /* CNC : FS18-LN function */ - /*-------------------------*/ + /*-------------------------*/ + /* CNC : FS18-LN function */ + /*-------------------------*/ - /* read allowance */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allowance")] - internal static extern short cnc_allowance(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); + /* read allowance */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allowance")] + internal static extern short cnc_allowance(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); - /* read allowanced state */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allowcnd")] - internal static extern short cnc_allowcnd(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBCAXIS c); + /* read allowanced state */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allowcnd")] + internal static extern short cnc_allowcnd(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBCAXIS c); - /* set work zero */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_workzero")] - internal static extern short cnc_workzero(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBZOFS b); + /* set work zero */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_workzero")] + internal static extern short cnc_workzero(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBZOFS b); - /* set slide position */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_slide")] - internal static extern short cnc_slide(ushort FlibHndl, - short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); + /* set slide position */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_slide")] + internal static extern short cnc_slide(ushort FlibHndl, + short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c); - /*----------------------------------*/ - /* CNC: Teaching data I/F function */ - /*----------------------------------*/ + /*----------------------------------*/ + /* CNC: Teaching data I/F function */ + /*----------------------------------*/ - /* Teaching data get start */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startgetdgdat")] - internal static extern short cnc_startgetdgdat(ushort FlibHndl); + /* Teaching data get start */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startgetdgdat")] + internal static extern short cnc_startgetdgdat(ushort FlibHndl); - /* Teaching data get stop */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopgetdgdat")] - internal static extern short cnc_stopgetdgdat(ushort FlibHndl); + /* Teaching data get stop */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopgetdgdat")] + internal static extern short cnc_stopgetdgdat(ushort FlibHndl); - /* Teaching data read */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddgdat")] - internal static extern short cnc_rddgdat(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); + /* Teaching data read */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddgdat")] + internal static extern short cnc_rddgdat(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); - /* Teaching data read pointer write */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrdgdatptr")] - internal static extern short cnc_wrdgdatptr(ushort FlibHndl, short a); + /* Teaching data read pointer write */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrdgdatptr")] + internal static extern short cnc_wrdgdatptr(ushort FlibHndl, short a); - /* Teaching data clear */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clrdgdat")] - internal static extern short cnc_clrdgdat(ushort FlibHndl); + /* Teaching data clear */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clrdgdat")] + internal static extern short cnc_clrdgdat(ushort FlibHndl); - /*---------------------------------*/ - /* CNC : C-EXE SRAM file function */ - /*---------------------------------*/ + /*---------------------------------*/ + /* CNC : C-EXE SRAM file function */ + /*---------------------------------*/ - /* open C-EXE SRAM file */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_opencexefile")] - internal static extern short cnc_opencexefile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b, short c); + /* open C-EXE SRAM file */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_opencexefile")] + internal static extern short cnc_opencexefile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b, short c); - /* close C-EXE SRAM file */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_closecexefile")] - internal static extern short cnc_closecexefile(ushort FlibHndl); + /* close C-EXE SRAM file */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_closecexefile")] + internal static extern short cnc_closecexefile(ushort FlibHndl); - /* read C-EXE SRAM file */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcexefile")] - internal static extern short cnc_rdcexefile(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a, ref uint b); + /* read C-EXE SRAM file */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcexefile")] + internal static extern short cnc_rdcexefile(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a, ref uint b); - /* write C-EXE SRAM file */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrcexefile")] - internal static extern short cnc_wrcexefile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ref uint b); + /* write C-EXE SRAM file */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrcexefile")] + internal static extern short cnc_wrcexefile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ref uint b); - /* read C-EXE SRAM disk directory */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cexedirectory")] - internal static extern short cnc_cexedirectory(ushort FlibHndl, - [In, MarshalAs(UnmanagedType.AsAny)] Object a, ref ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] CFILEINFO d); - - - /*-----*/ - /* PMC */ - /*-----*/ - - /* read message from PMC to MMC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdmsg")] - internal static extern short pmc_rdmsg(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* write message from MMC to PMC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrmsg")] - internal static extern short pmc_wrmsg(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* read message from PMC to MMC(conditional) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_crdmsg")] - internal static extern short pmc_crdmsg(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* write message from MMC to PMC(conditional) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_cwrmsg")] - internal static extern short pmc_cwrmsg(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* read PMC data(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcrng")] - internal static extern short pmc_rdpmcrng(ushort FlibHndl, - short a, short b, ushort c, ushort d, ushort e, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMC0 f); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcrng")] - internal static extern short pmc_rdpmcrng(ushort FlibHndl, - short a, short b, ushort c, ushort d, ushort e, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMC1 f); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcrng")] - internal static extern short pmc_rdpmcrng(ushort FlibHndl, - short a, short b, ushort c, ushort d, ushort e, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMC2 f); - - /* write PMC data(area specified) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcrng")] - internal static extern short pmc_wrpmcrng(ushort FlibHndl, ushort a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMC0 b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcrng")] - internal static extern short pmc_wrpmcrng(ushort FlibHndl, ushort a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMC1 b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcrng")] - internal static extern short pmc_wrpmcrng(ushort FlibHndl, ushort a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMC2 b); - - /* read data from extended backup memory */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdkpm")] - internal static extern short pmc_rdkpm(ushort FlibHndl, uint a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ushort c); - - /* write data to extended backup memory */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrkpm")] - internal static extern short pmc_wrkpm(ushort FlibHndl, uint a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, ushort c); - - /* read data from extended backup memory 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdkpm2")] - internal static extern short pmc_rdkpm2(ushort FlibHndl, uint a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, uint c); - - /* write data to extended backup memory 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrkpm2")] - internal static extern short pmc_wrkpm2(ushort FlibHndl, uint a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, uint c); - - /* read maximum size of extended backup memory */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_kpmsiz")] - internal static extern short pmc_kpmsiz(ushort FlibHndl, out uint a); - - /* read informations of PMC data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcinfo")] - internal static extern short pmc_rdpmcinfo(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCINF b); - - /* read PMC parameter data table contorol data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdcntldata")] - internal static extern short pmc_rdcntldata(ushort FlibHndl, - short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMCCNTL d); - - /* write PMC parameter data table contorol data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrcntldata")] - internal static extern short pmc_wrcntldata(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMCCNTL b); - - /* read PMC parameter data table contorol data group number */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdcntlgrp")] - internal static extern short pmc_rdcntlgrp(ushort FlibHndl, out short a); - - /* write PMC parameter data table contorol data group number */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrcntlgrp")] - internal static extern short pmc_wrcntlgrp(ushort FlibHndl, short a); - - /* read PMC alarm message */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdalmmsg")] - internal static extern short pmc_rdalmmsg(ushort FlibHndl, - short a, ref short b, out short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCALM d); - - /* get detail error for pmc */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_getdtailerr")] - internal static extern short pmc_getdtailerr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCERR a); - - /* read PMC memory data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcmem")] - internal static extern short pmc_rdpmcmem(ushort FlibHndl, - short a, int b, int c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d); - - /* write PMC memory data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcmem")] - internal static extern short pmc_wrpmcmem(ushort FlibHndl, - short a, int b, int c, [In, MarshalAs(UnmanagedType.AsAny)] Object d); - - /* read PMC-SE memory data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcsemem")] - internal static extern short pmc_rdpmcsemem(ushort FlibHndl, - short a, int b, int c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d); - - /* write PMC-SE memory data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcsemem")] - internal static extern short pmc_wrpmcsemem(ushort FlibHndl, - short a, int b, int c, [In, MarshalAs(UnmanagedType.AsAny)] Object d); - - /* read pmc title data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmctitle")] - internal static extern short pmc_rdpmctitle(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCTITLE a); - - /* read PMC parameter start */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdprmstart")] - internal static extern short pmc_rdprmstart(ushort FlibHndl); - - /* read PMC parameter */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcparam")] - internal static extern short pmc_rdpmcparam(ushort FlibHndl, ref int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* read PMC parameter end */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdprmend")] - internal static extern short pmc_rdprmend(ushort FlibHndl); - - /* write PMC parameter start */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrprmstart")] - internal static extern short pmc_wrprmstart(ushort FlibHndl); - - /* write PMC parameter */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcparam")] - internal static extern short pmc_wrpmcparam(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* write PMC parameter end */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrprmend")] - internal static extern short pmc_wrprmend(ushort FlibHndl); - - /* read PMC data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcrng_ext")] - internal static extern short pmc_rdpmcrng_ext(ushort FlibHndl, - short a, [In, Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMCEXT b); - - /* write PMC I/O link assigned data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wriolinkdat")] - internal static extern short pmc_wriolinkdat(ushort FlibHndl, uint a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, uint c); - - /* read PMC address information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcaddr")] - internal static extern short pmc_rdpmcaddr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCADR a); - - /* select PMC unit */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_select_pmc_unit")] - internal static extern short pmc_select_pmc_unit(ushort FlibHndl, int a); - - /* get current PMC unit */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_get_current_pmc_unit")] - internal static extern short pmc_get_current_pmc_unit(ushort FlibHndl, ref int a); - - /* get number of PMC */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_get_number_of_pmc")] - internal static extern short pmc_get_number_of_pmc(ushort FlibHndl, ref int a); - - /* get PMC unit types */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_get_pmc_unit_types")] - internal static extern short pmc_get_pmc_unit_types(ushort FlibHndl, int[] a, ref int b); - - /* set PMC Timer type */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_set_timer_type")] - internal static extern short pmc_set_timer_type(ushort FlibHndl, ushort a, ushort b, ref short c); - - /* get PMC Timer type */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_get_timer_type")] - internal static extern short pmc_get_timer_type(ushort FlibHndl, ushort a, ushort b, ref short c); - - /*----------------------------*/ - /* PMC : PROFIBUS function */ - /*----------------------------*/ - - /* read PROFIBUS configration data */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdconfig")] - internal static extern short pmc_prfrdconfig(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPRFCNF a); - - /* read bus parameter for master function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdbusprm")] - internal static extern short pmc_prfrdbusprm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBBUSPRM a); - - /* write bus parameter for master function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrbusprm")] - internal static extern short pmc_prfwrbusprm(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBBUSPRM a); - - /* read slave parameter for master function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvprm")] - internal static extern short pmc_prfrdslvprm(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvprm")] - internal static extern short pmc_prfrdslvprm(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM2 b); - - /* write slave parameter for master function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrslvprm")] - internal static extern short pmc_prfwrslvprm(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrslvprm")] - internal static extern short pmc_prfwrslvprm(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM2 b); - - /* read allocation address for master function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdallcadr")] - internal static extern short pmc_prfrdallcadr(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPRFADR b); - - /* set allocation address for master function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrallcadr")] - internal static extern short pmc_prfwrallcadr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPRFADR b); - - /* read allocation address for slave function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvaddr")] - internal static extern short pmc_prfrdslvaddr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVADR a); - - /* set allocation address for slave function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrslvaddr")] - internal static extern short pmc_prfwrslvaddr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVADR a); - - /* read status for slave function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvstat")] - internal static extern short pmc_prfrdslvstat(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSLVST a); - - /* Reads slave index data of master function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvid")] - internal static extern short pmc_prfrdslvid(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVID b); - - /* Writes slave index data of master function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrslvid")] - internal static extern short pmc_prfwrslvid(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVID b); - - /* Reads slave parameter of master function(2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvprm2")] - internal static extern short pmc_prfrdslvprm2(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM3 b); - - /* Writes slave parameter of master function(2) */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrslvprm2")] - internal static extern short pmc_prfwrslvprm2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM3 b); - - /* Reads DI/DO parameter of master function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrddido")] - internal static extern short pmc_prfrddido(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBDIDO b); - - /* Writes DI/DO parameter of master function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrdido")] - internal static extern short pmc_prfwrdido(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBDIDO b); - - /* Reads indication address of master function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdindiadr")] - internal static extern short pmc_prfrdindiadr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBINDEADR a); - - /* Writes indication address of master function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrindiadr")] - internal static extern short pmc_prfwrindiadr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBINDEADR a); - - /* Reads operation mode of master function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdopmode")] - internal static extern short pmc_prfrdopmode(ushort FlibHndl, ref short a); - - /* Writes operation mode of master function */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwropmode")] - internal static extern short pmc_prfwropmode(ushort FlibHndl, short a, ref short b); - - /*-----------------------------------------------*/ - /* DS : Data server & Ethernet board function */ - /*-----------------------------------------------*/ - - /* read the parameter of the Ethernet board */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_rdparam")] - internal static extern short etb_rdparam(ushort FlibHndl, - short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBETP_TCP b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_rdparam")] - internal static extern short etb_rdparam(ushort FlibHndl, - short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBETP_HOST b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_rdparam")] - internal static extern short etb_rdparam(ushort FlibHndl, - short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBETP_FTP b); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_rdparam")] - internal static extern short etb_rdparam(ushort FlibHndl, - short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBETP_ETB b); - - /* write the parameter of the Ethernet board */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_wrparam")] - internal static extern short etb_wrparam(ushort FlibHndl, - [In, MarshalAs(UnmanagedType.LPStruct)] IODBETP_TCP a); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_wrparam")] - internal static extern short etb_wrparam(ushort FlibHndl, - [In, MarshalAs(UnmanagedType.LPStruct)] IODBETP_HOST a); - [DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_wrparam")] - internal static extern short etb_wrparam(ushort FlibHndl, - [In, MarshalAs(UnmanagedType.LPStruct)] IODBETP_FTP a); - - /* read the error message of the Ethernet board */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_rderrmsg")] - internal static extern short etb_rderrmsg(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBETMSG b); - - /* read the mode of the Data Server */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdmode")] - internal static extern short ds_rdmode(ushort FlibHndl, ref short a); - - /* write the mode of the Data Server */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrmode")] - internal static extern short ds_wrmode(ushort FlibHndl, short a); - - /* read information of the Data Server's HDD */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhddinfo")] - internal static extern short ds_rdhddinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHDDINF a); - - /* read the file list of the Data Server's HDD */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhdddir")] - internal static extern short ds_rdhdddir(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, int b, out short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHDDDIR d); - - /* delete the file of the Data Serve's HDD */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_delhddfile")] - internal static extern short ds_delhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* copy the file of the Data Server's HDD */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_copyhddfile")] - internal static extern short ds_copyhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* change the file name of the Data Server's HDD */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_renhddfile")] - internal static extern short ds_renhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* execute the PUT command of the FTP */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_puthddfile")] - internal static extern short ds_puthddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* execute the MPUT command of the FTP */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_mputhddfile")] - internal static extern short ds_mputhddfile(ushort hLib, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* read information of the host */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhostinfo")] - internal static extern short ds_rdhostinfo(ushort FlibHndl, out int a, int b); - - /* read the file list of the host */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhostdir")] - internal static extern short ds_rdhostdir(ushort FlibHndl, short a, int b, out short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHOSTDIR d, int e); - - /* read the file list of the host 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhostdir2")] - internal static extern short ds_rdhostdir2(ushort FlibHndl, short a, int b, out short c, out int d, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHOSTDIR e, int f); - - /* delete the file of the host */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_delhostfile")] - internal static extern short ds_delhostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, int b); - - /* execute the GET command of the FTP */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_gethostfile")] - internal static extern short ds_gethostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* execute the MGET command of the FTP */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_mgethostfile")] - internal static extern short ds_mgethostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* read the execution result */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdresult")] - internal static extern short ds_rdresult(ushort FlibHndl); - - /* stop the execution of the command */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_cancel")] - internal static extern short ds_cancel(ushort FlibHndl); - - /* read the file from the Data Server */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdncfile")] - internal static extern short ds_rdncfile(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* read the file from the Data Server 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdncfile2")] - internal static extern short ds_rdncfile2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* write the file to the Data Server */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrncfile")] - internal static extern short ds_wrncfile(ushort FlibHndl, short a, int b); - - /* read the file name for the DNC operation in the Data Server's HDD */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rddnchddfile")] - internal static extern short ds_rddnchddfile(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* write the file name for the DNC operation in the Data Server's HDD */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrdnchddfile")] - internal static extern short ds_wrdnchddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* read the file name for the DNC operation in the host */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rddnchostfile")] - internal static extern short ds_rddnchostfile(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* write the file name for the DNC operation in the host */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrdnchostfile")] - internal static extern short ds_wrdnchostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* read the connecting host number */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhostno")] - internal static extern short ds_rdhostno(ushort FlibHndl, out short a); + /* read C-EXE SRAM disk directory */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cexedirectory")] + internal static extern short cnc_cexedirectory(ushort FlibHndl, + [In, MarshalAs(UnmanagedType.AsAny)] Object a, ref ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] CFILEINFO d); + + + /*-----*/ + /* PMC */ + /*-----*/ + + /* read message from PMC to MMC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdmsg")] + internal static extern short pmc_rdmsg(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* write message from MMC to PMC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrmsg")] + internal static extern short pmc_wrmsg(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* read message from PMC to MMC(conditional) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_crdmsg")] + internal static extern short pmc_crdmsg(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* write message from MMC to PMC(conditional) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_cwrmsg")] + internal static extern short pmc_cwrmsg(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* read PMC data(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcrng")] + internal static extern short pmc_rdpmcrng(ushort FlibHndl, + short a, short b, ushort c, ushort d, ushort e, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMC0 f); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcrng")] + internal static extern short pmc_rdpmcrng(ushort FlibHndl, + short a, short b, ushort c, ushort d, ushort e, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMC1 f); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcrng")] + internal static extern short pmc_rdpmcrng(ushort FlibHndl, + short a, short b, ushort c, ushort d, ushort e, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMC2 f); + + /* write PMC data(area specified) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcrng")] + internal static extern short pmc_wrpmcrng(ushort FlibHndl, ushort a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMC0 b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcrng")] + internal static extern short pmc_wrpmcrng(ushort FlibHndl, ushort a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMC1 b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcrng")] + internal static extern short pmc_wrpmcrng(ushort FlibHndl, ushort a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMC2 b); + + /* read data from extended backup memory */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdkpm")] + internal static extern short pmc_rdkpm(ushort FlibHndl, uint a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ushort c); + + /* write data to extended backup memory */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrkpm")] + internal static extern short pmc_wrkpm(ushort FlibHndl, uint a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, ushort c); + + /* read data from extended backup memory 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdkpm2")] + internal static extern short pmc_rdkpm2(ushort FlibHndl, uint a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, uint c); + + /* write data to extended backup memory 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrkpm2")] + internal static extern short pmc_wrkpm2(ushort FlibHndl, uint a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, uint c); + + /* read maximum size of extended backup memory */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_kpmsiz")] + internal static extern short pmc_kpmsiz(ushort FlibHndl, out uint a); + + /* read informations of PMC data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcinfo")] + internal static extern short pmc_rdpmcinfo(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCINF b); + + /* read PMC parameter data table contorol data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdcntldata")] + internal static extern short pmc_rdcntldata(ushort FlibHndl, + short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMCCNTL d); + + /* write PMC parameter data table contorol data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrcntldata")] + internal static extern short pmc_wrcntldata(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMCCNTL b); + + /* read PMC parameter data table contorol data group number */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdcntlgrp")] + internal static extern short pmc_rdcntlgrp(ushort FlibHndl, out short a); + + /* write PMC parameter data table contorol data group number */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrcntlgrp")] + internal static extern short pmc_wrcntlgrp(ushort FlibHndl, short a); + + /* read PMC alarm message */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdalmmsg")] + internal static extern short pmc_rdalmmsg(ushort FlibHndl, + short a, ref short b, out short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCALM d); + + /* get detail error for pmc */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_getdtailerr")] + internal static extern short pmc_getdtailerr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCERR a); + + /* read PMC memory data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcmem")] + internal static extern short pmc_rdpmcmem(ushort FlibHndl, + short a, int b, int c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d); + + /* write PMC memory data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcmem")] + internal static extern short pmc_wrpmcmem(ushort FlibHndl, + short a, int b, int c, [In, MarshalAs(UnmanagedType.AsAny)] Object d); + + /* read PMC-SE memory data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcsemem")] + internal static extern short pmc_rdpmcsemem(ushort FlibHndl, + short a, int b, int c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d); + + /* write PMC-SE memory data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcsemem")] + internal static extern short pmc_wrpmcsemem(ushort FlibHndl, + short a, int b, int c, [In, MarshalAs(UnmanagedType.AsAny)] Object d); + + /* read pmc title data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmctitle")] + internal static extern short pmc_rdpmctitle(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCTITLE a); + + /* read PMC parameter start */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdprmstart")] + internal static extern short pmc_rdprmstart(ushort FlibHndl); + + /* read PMC parameter */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcparam")] + internal static extern short pmc_rdpmcparam(ushort FlibHndl, ref int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* read PMC parameter end */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdprmend")] + internal static extern short pmc_rdprmend(ushort FlibHndl); + + /* write PMC parameter start */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrprmstart")] + internal static extern short pmc_wrprmstart(ushort FlibHndl); + + /* write PMC parameter */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcparam")] + internal static extern short pmc_wrpmcparam(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* write PMC parameter end */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrprmend")] + internal static extern short pmc_wrprmend(ushort FlibHndl); + + /* read PMC data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcrng_ext")] + internal static extern short pmc_rdpmcrng_ext(ushort FlibHndl, + short a, [In, Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMCEXT b); + + /* write PMC I/O link assigned data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wriolinkdat")] + internal static extern short pmc_wriolinkdat(ushort FlibHndl, uint a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, uint c); + + /* read PMC address information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcaddr")] + internal static extern short pmc_rdpmcaddr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCADR a); + + /* select PMC unit */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_select_pmc_unit")] + internal static extern short pmc_select_pmc_unit(ushort FlibHndl, int a); + + /* get current PMC unit */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_get_current_pmc_unit")] + internal static extern short pmc_get_current_pmc_unit(ushort FlibHndl, ref int a); + + /* get number of PMC */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_get_number_of_pmc")] + internal static extern short pmc_get_number_of_pmc(ushort FlibHndl, ref int a); + + /* get PMC unit types */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_get_pmc_unit_types")] + internal static extern short pmc_get_pmc_unit_types(ushort FlibHndl, int[] a, ref int b); + + /* set PMC Timer type */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_set_timer_type")] + internal static extern short pmc_set_timer_type(ushort FlibHndl, ushort a, ushort b, ref short c); + + /* get PMC Timer type */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_get_timer_type")] + internal static extern short pmc_get_timer_type(ushort FlibHndl, ushort a, ushort b, ref short c); + + /*----------------------------*/ + /* PMC : PROFIBUS function */ + /*----------------------------*/ + + /* read PROFIBUS configration data */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdconfig")] + internal static extern short pmc_prfrdconfig(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPRFCNF a); + + /* read bus parameter for master function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdbusprm")] + internal static extern short pmc_prfrdbusprm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBBUSPRM a); + + /* write bus parameter for master function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrbusprm")] + internal static extern short pmc_prfwrbusprm(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBBUSPRM a); + + /* read slave parameter for master function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvprm")] + internal static extern short pmc_prfrdslvprm(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvprm")] + internal static extern short pmc_prfrdslvprm(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM2 b); + + /* write slave parameter for master function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrslvprm")] + internal static extern short pmc_prfwrslvprm(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrslvprm")] + internal static extern short pmc_prfwrslvprm(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM2 b); + + /* read allocation address for master function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdallcadr")] + internal static extern short pmc_prfrdallcadr(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPRFADR b); + + /* set allocation address for master function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrallcadr")] + internal static extern short pmc_prfwrallcadr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPRFADR b); + + /* read allocation address for slave function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvaddr")] + internal static extern short pmc_prfrdslvaddr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVADR a); + + /* set allocation address for slave function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrslvaddr")] + internal static extern short pmc_prfwrslvaddr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVADR a); + + /* read status for slave function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvstat")] + internal static extern short pmc_prfrdslvstat(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSLVST a); + + /* Reads slave index data of master function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvid")] + internal static extern short pmc_prfrdslvid(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVID b); + + /* Writes slave index data of master function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrslvid")] + internal static extern short pmc_prfwrslvid(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVID b); + + /* Reads slave parameter of master function(2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvprm2")] + internal static extern short pmc_prfrdslvprm2(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM3 b); + + /* Writes slave parameter of master function(2) */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrslvprm2")] + internal static extern short pmc_prfwrslvprm2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM3 b); + + /* Reads DI/DO parameter of master function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrddido")] + internal static extern short pmc_prfrddido(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBDIDO b); + + /* Writes DI/DO parameter of master function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrdido")] + internal static extern short pmc_prfwrdido(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBDIDO b); + + /* Reads indication address of master function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdindiadr")] + internal static extern short pmc_prfrdindiadr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBINDEADR a); + + /* Writes indication address of master function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrindiadr")] + internal static extern short pmc_prfwrindiadr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBINDEADR a); + + /* Reads operation mode of master function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdopmode")] + internal static extern short pmc_prfrdopmode(ushort FlibHndl, ref short a); + + /* Writes operation mode of master function */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwropmode")] + internal static extern short pmc_prfwropmode(ushort FlibHndl, short a, ref short b); + + /*-----------------------------------------------*/ + /* DS : Data server & Ethernet board function */ + /*-----------------------------------------------*/ + + /* read the parameter of the Ethernet board */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_rdparam")] + internal static extern short etb_rdparam(ushort FlibHndl, + short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBETP_TCP b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_rdparam")] + internal static extern short etb_rdparam(ushort FlibHndl, + short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBETP_HOST b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_rdparam")] + internal static extern short etb_rdparam(ushort FlibHndl, + short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBETP_FTP b); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_rdparam")] + internal static extern short etb_rdparam(ushort FlibHndl, + short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBETP_ETB b); + + /* write the parameter of the Ethernet board */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_wrparam")] + internal static extern short etb_wrparam(ushort FlibHndl, + [In, MarshalAs(UnmanagedType.LPStruct)] IODBETP_TCP a); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_wrparam")] + internal static extern short etb_wrparam(ushort FlibHndl, + [In, MarshalAs(UnmanagedType.LPStruct)] IODBETP_HOST a); + [DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_wrparam")] + internal static extern short etb_wrparam(ushort FlibHndl, + [In, MarshalAs(UnmanagedType.LPStruct)] IODBETP_FTP a); + + /* read the error message of the Ethernet board */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_rderrmsg")] + internal static extern short etb_rderrmsg(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBETMSG b); + + /* read the mode of the Data Server */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdmode")] + internal static extern short ds_rdmode(ushort FlibHndl, ref short a); + + /* write the mode of the Data Server */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrmode")] + internal static extern short ds_wrmode(ushort FlibHndl, short a); + + /* read information of the Data Server's HDD */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhddinfo")] + internal static extern short ds_rdhddinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHDDINF a); + + /* read the file list of the Data Server's HDD */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhdddir")] + internal static extern short ds_rdhdddir(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, int b, out short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHDDDIR d); + + /* delete the file of the Data Serve's HDD */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_delhddfile")] + internal static extern short ds_delhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* copy the file of the Data Server's HDD */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_copyhddfile")] + internal static extern short ds_copyhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* change the file name of the Data Server's HDD */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_renhddfile")] + internal static extern short ds_renhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* execute the PUT command of the FTP */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_puthddfile")] + internal static extern short ds_puthddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* execute the MPUT command of the FTP */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_mputhddfile")] + internal static extern short ds_mputhddfile(ushort hLib, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* read information of the host */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhostinfo")] + internal static extern short ds_rdhostinfo(ushort FlibHndl, out int a, int b); + + /* read the file list of the host */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhostdir")] + internal static extern short ds_rdhostdir(ushort FlibHndl, short a, int b, out short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHOSTDIR d, int e); + + /* read the file list of the host 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhostdir2")] + internal static extern short ds_rdhostdir2(ushort FlibHndl, short a, int b, out short c, out int d, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHOSTDIR e, int f); + + /* delete the file of the host */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_delhostfile")] + internal static extern short ds_delhostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, int b); + + /* execute the GET command of the FTP */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_gethostfile")] + internal static extern short ds_gethostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* execute the MGET command of the FTP */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_mgethostfile")] + internal static extern short ds_mgethostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* read the execution result */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdresult")] + internal static extern short ds_rdresult(ushort FlibHndl); + + /* stop the execution of the command */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_cancel")] + internal static extern short ds_cancel(ushort FlibHndl); + + /* read the file from the Data Server */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdncfile")] + internal static extern short ds_rdncfile(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* read the file from the Data Server 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdncfile2")] + internal static extern short ds_rdncfile2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* write the file to the Data Server */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrncfile")] + internal static extern short ds_wrncfile(ushort FlibHndl, short a, int b); + + /* read the file name for the DNC operation in the Data Server's HDD */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rddnchddfile")] + internal static extern short ds_rddnchddfile(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* write the file name for the DNC operation in the Data Server's HDD */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrdnchddfile")] + internal static extern short ds_wrdnchddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* read the file name for the DNC operation in the host */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rddnchostfile")] + internal static extern short ds_rddnchostfile(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* write the file name for the DNC operation in the host */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrdnchostfile")] + internal static extern short ds_wrdnchostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* read the connecting host number */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhostno")] + internal static extern short ds_rdhostno(ushort FlibHndl, out short a); - /* read maintenance information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdmntinfo")] - internal static extern short ds_rdmntinfo(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)]DSMNTINFO b); + /* read maintenance information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdmntinfo")] + internal static extern short ds_rdmntinfo(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)]DSMNTINFO b); - /* check the Data Server's HDD */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_checkhdd")] - internal static extern short ds_checkhdd(ushort FlibHndl); + /* check the Data Server's HDD */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_checkhdd")] + internal static extern short ds_checkhdd(ushort FlibHndl); - /* format the Data Server's HDD */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_formathdd")] - internal static extern short ds_formathdd(ushort FlibHndl); + /* format the Data Server's HDD */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_formathdd")] + internal static extern short ds_formathdd(ushort FlibHndl); - /* create the directory in the Data Server's HDD */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_makehdddir")] - internal static extern short ds_makehdddir(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + /* create the directory in the Data Server's HDD */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_makehdddir")] + internal static extern short ds_makehdddir(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - /* delete directory in the Data Server's HDD */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_delhdddir")] - internal static extern short ds_delhdddir(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + /* delete directory in the Data Server's HDD */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_delhdddir")] + internal static extern short ds_delhdddir(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - /* change the current directory */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_chghdddir")] - internal static extern short ds_chghdddir(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + /* change the current directory */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_chghdddir")] + internal static extern short ds_chghdddir(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - /* execute the PUT command according to the list file */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_lputhddfile")] - internal static extern short ds_lputhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + /* execute the PUT command according to the list file */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_lputhddfile")] + internal static extern short ds_lputhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - /* delete files according to the list file */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_ldelhddfile")] - internal static extern short ds_ldelhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + /* delete files according to the list file */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_ldelhddfile")] + internal static extern short ds_ldelhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - /* execute the GET command according to the list file */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_lgethostfile")] - internal static extern short ds_lgethostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); + /* execute the GET command according to the list file */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_lgethostfile")] + internal static extern short ds_lgethostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a); - /* read the directory for M198 operation */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdm198hdddir")] - internal static extern short ds_rdm198hdddir(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); + /* read the directory for M198 operation */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdm198hdddir")] + internal static extern short ds_rdm198hdddir(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a); - /* write the directory for M198 operation */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrm198hdddir")] - internal static extern short ds_wrm198hdddir(ushort FlibHndl); + /* write the directory for M198 operation */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrm198hdddir")] + internal static extern short ds_wrm198hdddir(ushort FlibHndl); - /* read the connecting host number for the M198 operation */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdm198host")] - internal static extern short ds_rdm198host(ushort FlibHndl, out short a); + /* read the connecting host number for the M198 operation */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdm198host")] + internal static extern short ds_rdm198host(ushort FlibHndl, out short a); - /* write the connecting host number for the M198 operation */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrm198host")] - internal static extern short ds_wrm198host(ushort FlibHndl); - - /* write the connecting host number */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrhostno")] - internal static extern short ds_wrhostno(ushort FlibHndl, short a); - - /* search string in data server program */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_searchword")] - internal static extern short ds_searchword(ushort FlibHndl, - [In, MarshalAs(UnmanagedType.AsAny)] Object a); - - /* read the searching result */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_searchresult")] - internal static extern short ds_searchresult(ushort FlibHndl); - - /* read file in the Data Server's HDD */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdfile")] - internal static extern short ds_rdfile(ushort FlibHndl, - [In, MarshalAs(UnmanagedType.AsAny)] Object a, - [In, MarshalAs(UnmanagedType.AsAny)] Object b); - - /* write file in the Data Server's HDD */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrfile")] - internal static extern short ds_wrfile(ushort FlibHndl, - [In, MarshalAs(UnmanagedType.AsAny)] Object a, - [In, MarshalAs(UnmanagedType.AsAny)] Object b); - - /*--------------------------*/ - /* HSSB multiple connection */ - /*--------------------------*/ - - /* read number of node */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdnodenum")] - internal static extern short cnc_rdnodenum(out int a); - - /* read node informations */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdnodeinfo")] - internal static extern short cnc_rdnodeinfo(int a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBNODE b); - - /* set default node number */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setdefnode")] - internal static extern short cnc_setdefnode(int a); - - /* allocate library handle 2 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allclibhndl2")] - internal static extern short cnc_allclibhndl2(int node, out ushort FlibHndl); - - - /*---------------------*/ - /* Ethernet connection */ - /*---------------------*/ - - /* allocate library handle 3 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allclibhndl3")] - internal static extern short cnc_allclibhndl3([In, MarshalAs(UnmanagedType.AsAny)] Object ip, - ushort port, int timeout, out ushort FlibHndl); - - /* allocate library handle 4 */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allclibhndl4")] - internal static extern short cnc_allclibhndl4([In, MarshalAs(UnmanagedType.AsAny)] Object ip, - ushort port, int timeout, uint id, out ushort FlibHndl); - - /* set timeout for socket */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_settimeout")] - internal static extern short cnc_settimeout(ushort FlibHndl, int a); - - /* reset all socket connection */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_resetconnect")] - internal static extern short cnc_resetconnect(ushort FlibHndl); - - /* get option state for FOCAS1/Ethernet */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getfocas1opt")] - internal static extern short cnc_getfocas1opt(ushort FlibHndl, short a, out int b); - - /* read Ethernet board information */ - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdetherinfo")] - internal static extern short cnc_rdetherinfo(ushort FlibHndl, out short a, out short b); - - - /*--------------------------*/ - /* Cursor Screen */ - /*--------------------------*/ - - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setcurscrn")] - internal static extern short cnc_setcurscrn(ushort FlibHndl, short scrn_no); - - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getcurscrn")] - internal static extern short cnc_getcurscrn(ushort FlibHndl, out short scrn_no); - - // funzioni aggiunte al marshalling - [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_chglang")] - public static extern short cnc_chglang(ushort FlibHndl, byte b); - - internal enum page_code: short - { - //POSITION - ABS = 0x0100, - REL = 0x0200, - ALL = 0x0300, - HNDL = 0x0400, - MONITOR = 0x0600, - AXMAN5 = 0X0700, - C_EXECUTOR_PO = 0X3200, - C_EXECUTOR_2_PO = 0X3300, - C_EXECUTOR_3_PO = 0X3400, - C_EXECUTOR_4_PO = 0X3500, - C_EXECUTOR_5_PO = 0X3600, - - //PROGRAM - PROG = 0X0101, - FOLDER = 0X0201, - NEXT = 0X0301, - CHECK = 0X0401, - STAMP = 0X0601, - JOG = 0X0701, - RSTR = 0X0801, - C_EXECUTOR_PR = 0X3201, - C_EXECUTOR_2_PR = 0X3301, - C_EXECUTOR_3_PR = 0X3401, - C_EXECUTOR_4_PR = 0X3501, - C_EXECUTOR_5_PR = 0X3601, - - //OFFSET - OFFSET = 0X0102, - SETTING = 0X0202, - WORK = 0X0302, - MACRO = 0X0602, - OPR = 0X0802, - TOOL_MANAGER = 0X0902, - OFST_2=0X0B02, - W_SHFT = 0X0C02, - GEOM_2=0X0D02, - TOOL_F = 0X0E02, - MODEM = 0X1002, - PR_LEV = 0X1102, - CHOP = 0X1302, - CHUCK_TAIL = 0X1502, - LANG=0X1602, - PROTECT = 0X1702, - GUARD = 0X1802, - ACTFIX = 0X1A02, - RTTFIX = 0X1B02, - C_EXECUTOR_O = 0X3202, - C_EXECUTOR_2_O = 0X3302, - C_EXECUTOR_3_O = 0X3402, - C_EXECUTOR_4_O = 0X3502, - C_EXECUTOR_5_O = 0X3602, - - //SYSTEM - PARAM = 0X0103, - DGNOS = 0X0203, - SERVO_GUIDEM = 0X0303, - SYSTEM = 0X0403, - MEMORY = 0X0603, - PITCH = 0X0703, - SV_PRM = 0X0803, - SP_SET = 0X0903, - PMC_MAINTE = 0X0B03, - PMC_LADDER = 0X0C03, - PMC_CONFIG = 0X0D03, - M_TUN = 0X1003, - ALL_IO = 0X1103, - ALL_IO2 = 0X1203, - OPEHIS = 0X1303, - COLOR = 0X1503, - MAINTE = 0X1603, - M_INFO = 0X1703, - W_DGNS = 0X1803, - TOUCH = 0X1A03, - FSSB = 0X1B03, - PRMTUN = 0X1C03, - PMM = 0X1D03, - EMBED_PORT = 0X1F03, - PCMCIA_LAN = 0X2003, - ETHER_BOARD = 0X2103, - PROFI_MASTER = 0X2203, - RMTDGN = 0X2403, - M_CODE = 0X2503, - LEARNCTRL = 0X2603, - ADJUST3D = 0X2703, - C_EXECUTOR_S = 0X3203, - C_EXECUTOR_2_S = 0X3303, - C_EXECUTOR_3_S = 0X3403, - C_EXECUTOR_4_S = 0X3503, - C_EXECUTOR_5_S = 0X3603, - - //MESSAGE - ALARM = 0X0104, - MSG = 0X0204, - HISTRY = 0X0304, - MSGHIS = 0X0404, - EMBED_LOG = 0X0604, - PCMCIA_LOG = 0X0704, - BOARD_LOG = 0X0804, - C_EXECUTOR_M = 0X3204, - C_EXECUTOR_2_M = 0X3304, - C_EXECUTOR_3_M = 0X3404, - C_EXECUTOR_4_M = 0X3504, - C_EXECUTOR_5_M = 0X3604, - - //GRAPHIC - PARAMETER = 0X0105, - GRAPH = 0X0205, - C_EXECUTOR_G = 0X3205, - C_EXECUTOR_2_G = 0X3305, - C_EXECUTOR_3_G = 0X3405, - C_EXECUTOR_4_G = 0X3505, - C_EXECUTOR_5_G = 0X3605, + /* write the connecting host number for the M198 operation */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrm198host")] + internal static extern short ds_wrm198host(ushort FlibHndl); + + /* write the connecting host number */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrhostno")] + internal static extern short ds_wrhostno(ushort FlibHndl, short a); + + /* search string in data server program */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_searchword")] + internal static extern short ds_searchword(ushort FlibHndl, + [In, MarshalAs(UnmanagedType.AsAny)] Object a); + + /* read the searching result */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_searchresult")] + internal static extern short ds_searchresult(ushort FlibHndl); + + /* read file in the Data Server's HDD */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdfile")] + internal static extern short ds_rdfile(ushort FlibHndl, + [In, MarshalAs(UnmanagedType.AsAny)] Object a, + [In, MarshalAs(UnmanagedType.AsAny)] Object b); + + /* write file in the Data Server's HDD */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrfile")] + internal static extern short ds_wrfile(ushort FlibHndl, + [In, MarshalAs(UnmanagedType.AsAny)] Object a, + [In, MarshalAs(UnmanagedType.AsAny)] Object b); + + /*--------------------------*/ + /* HSSB multiple connection */ + /*--------------------------*/ + + /* read number of node */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdnodenum")] + internal static extern short cnc_rdnodenum(out int a); + + /* read node informations */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdnodeinfo")] + internal static extern short cnc_rdnodeinfo(int a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBNODE b); + + /* set default node number */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setdefnode")] + internal static extern short cnc_setdefnode(int a); + + /* allocate library handle 2 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allclibhndl2")] + internal static extern short cnc_allclibhndl2(int node, out ushort FlibHndl); + + + /*---------------------*/ + /* Ethernet connection */ + /*---------------------*/ + + /* allocate library handle 3 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allclibhndl3")] + internal static extern short cnc_allclibhndl3([In, MarshalAs(UnmanagedType.AsAny)] Object ip, + ushort port, int timeout, out ushort FlibHndl); + + /* allocate library handle 4 */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allclibhndl4")] + internal static extern short cnc_allclibhndl4([In, MarshalAs(UnmanagedType.AsAny)] Object ip, + ushort port, int timeout, uint id, out ushort FlibHndl); + + /* set timeout for socket */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_settimeout")] + internal static extern short cnc_settimeout(ushort FlibHndl, int a); + + /* reset all socket connection */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_resetconnect")] + internal static extern short cnc_resetconnect(ushort FlibHndl); + + /* get option state for FOCAS1/Ethernet */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getfocas1opt")] + internal static extern short cnc_getfocas1opt(ushort FlibHndl, short a, out int b); + + /* read Ethernet board information */ + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdetherinfo")] + internal static extern short cnc_rdetherinfo(ushort FlibHndl, out short a, out short b); + + + /*--------------------------*/ + /* Cursor Screen */ + /*--------------------------*/ + + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setcurscrn")] + internal static extern short cnc_setcurscrn(ushort FlibHndl, short scrn_no); + + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getcurscrn")] + internal static extern short cnc_getcurscrn(ushort FlibHndl, out short scrn_no); + + // funzioni aggiunte al marshalling + [DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_chglang")] + public static extern short cnc_chglang(ushort FlibHndl, byte b); + + internal enum page_code : short + { + //POSITION + ABS = 0x0100, + REL = 0x0200, + ALL = 0x0300, + HNDL = 0x0400, + MONITOR = 0x0600, + AXMAN5 = 0X0700, + C_EXECUTOR_PO = 0X3200, + C_EXECUTOR_2_PO = 0X3300, + C_EXECUTOR_3_PO = 0X3400, + C_EXECUTOR_4_PO = 0X3500, + C_EXECUTOR_5_PO = 0X3600, + + //PROGRAM + PROG = 0X0101, + FOLDER = 0X0201, + NEXT = 0X0301, + CHECK = 0X0401, + STAMP = 0X0601, + JOG = 0X0701, + RSTR = 0X0801, + C_EXECUTOR_PR = 0X3201, + C_EXECUTOR_2_PR = 0X3301, + C_EXECUTOR_3_PR = 0X3401, + C_EXECUTOR_4_PR = 0X3501, + C_EXECUTOR_5_PR = 0X3601, + + //OFFSET + OFFSET = 0X0102, + SETTING = 0X0202, + WORK = 0X0302, + MACRO = 0X0602, + OPR = 0X0802, + TOOL_MANAGER = 0X0902, + OFST_2 = 0X0B02, + W_SHFT = 0X0C02, + GEOM_2 = 0X0D02, + TOOL_F = 0X0E02, + MODEM = 0X1002, + PR_LEV = 0X1102, + CHOP = 0X1302, + CHUCK_TAIL = 0X1502, + LANG = 0X1602, + PROTECT = 0X1702, + GUARD = 0X1802, + ACTFIX = 0X1A02, + RTTFIX = 0X1B02, + C_EXECUTOR_O = 0X3202, + C_EXECUTOR_2_O = 0X3302, + C_EXECUTOR_3_O = 0X3402, + C_EXECUTOR_4_O = 0X3502, + C_EXECUTOR_5_O = 0X3602, + + //SYSTEM + PARAM = 0X0103, + DGNOS = 0X0203, + SERVO_GUIDEM = 0X0303, + SYSTEM = 0X0403, + MEMORY = 0X0603, + PITCH = 0X0703, + SV_PRM = 0X0803, + SP_SET = 0X0903, + PMC_MAINTE = 0X0B03, + PMC_LADDER = 0X0C03, + PMC_CONFIG = 0X0D03, + M_TUN = 0X1003, + ALL_IO = 0X1103, + ALL_IO2 = 0X1203, + OPEHIS = 0X1303, + COLOR = 0X1503, + MAINTE = 0X1603, + M_INFO = 0X1703, + W_DGNS = 0X1803, + TOUCH = 0X1A03, + FSSB = 0X1B03, + PRMTUN = 0X1C03, + PMM = 0X1D03, + EMBED_PORT = 0X1F03, + PCMCIA_LAN = 0X2003, + ETHER_BOARD = 0X2103, + PROFI_MASTER = 0X2203, + RMTDGN = 0X2403, + M_CODE = 0X2503, + LEARNCTRL = 0X2603, + ADJUST3D = 0X2703, + C_EXECUTOR_S = 0X3203, + C_EXECUTOR_2_S = 0X3303, + C_EXECUTOR_3_S = 0X3403, + C_EXECUTOR_4_S = 0X3503, + C_EXECUTOR_5_S = 0X3603, + + //MESSAGE + ALARM = 0X0104, + MSG = 0X0204, + HISTRY = 0X0304, + MSGHIS = 0X0404, + EMBED_LOG = 0X0604, + PCMCIA_LOG = 0X0704, + BOARD_LOG = 0X0804, + C_EXECUTOR_M = 0X3204, + C_EXECUTOR_2_M = 0X3304, + C_EXECUTOR_3_M = 0X3404, + C_EXECUTOR_4_M = 0X3504, + C_EXECUTOR_5_M = 0X3604, + + //GRAPHIC + PARAMETER = 0X0105, + GRAPH = 0X0205, + C_EXECUTOR_G = 0X3205, + C_EXECUTOR_2_G = 0X3305, + C_EXECUTOR_3_G = 0X3405, + C_EXECUTOR_4_G = 0X3505, + C_EXECUTOR_5_G = 0X3605, //CUSTOM - TMAC = 0X0006, - TMAC1 = 0X0106, - TMAC2 = 0X0206, - TMAC3 = 0X0306, - C_EXECUTOR_C = 0X3206, - C_EXECUTOR_2_C = 0X3306, - C_EXECUTOR_3_C = 0X3406, - C_EXECUTOR_4_C = 0X3506, - C_EXECUTOR_5_C = 0X3606 - }; + TMAC = 0X0006, + TMAC1 = 0X0106, + TMAC2 = 0X0206, + TMAC3 = 0X0306, + C_EXECUTOR_C = 0X3206, + C_EXECUTOR_2_C = 0X3306, + C_EXECUTOR_3_C = 0X3406, + C_EXECUTOR_4_C = 0X3506, + C_EXECUTOR_5_C = 0X3606 + }; } // End for Focas1 class diff --git a/CMS_CORE_Library/Models/DataStructures.cs b/CMS_CORE_Library/Models/DataStructures.cs index 0be5f91..5987c2a 100644 --- a/CMS_CORE_Library/Models/DataStructures.cs +++ b/CMS_CORE_Library/Models/DataStructures.cs @@ -172,6 +172,10 @@ namespace CMS_CORE_Library.Models public static CmsError NO_ERROR = new CmsError(CMS_ERROR_CODES.OK, ""); public static CmsError NOT_CONNECTED_ERROR = new CmsError(CMS_ERROR_CODES.NOT_CONNECTED, "error_not_connected"); public static CmsError NOT_FOUND_ERROR = new CmsError(CMS_ERROR_CODES.INTERNAL_ERROR, "error_not_found"); + public static CmsError S7_PLC_EMPTY_READ = new CmsError(CMS_ERROR_CODES.PLC_MEM_CONF_ERROR, "error_s7_empy_data"); + public static CmsError S7_PLC_WRONG_DATA = new CmsError(CMS_ERROR_CODES.PLC_MEM_CONF_ERROR, "error_s7_wrong_data"); + public static CmsError S7_PLC_READ_ERROR = new CmsError(CMS_ERROR_CODES.PLC_MEM_CONF_ERROR, "error_s7_read_error"); + public static CmsError S7_PLC_WRITE_ERROR = new CmsError(CMS_ERROR_CODES.PLC_MEM_CONF_ERROR, "error_s7_write_error"); public static CmsError PROC_NOT_FOUND_ERROR = new CmsError(CMS_ERROR_CODES.FUNCTION_NOT_ALLOWED, "error_process_not_found"); public static CmsError FUNCTION_NOT_ALLOWED_ERROR = new CmsError(CMS_ERROR_CODES.FUNCTION_NOT_ALLOWED, "error_function_not_allowed"); public static CmsError BIT_NOT_IN_RANGE_ERROR = new CmsError(CMS_ERROR_CODES.BIT_NOT_IN_RANGE, "error_bit_not_in_range"); diff --git a/CMS_CORE_Library/Models/ThermoModels.cs b/CMS_CORE_Library/Models/ThermoModels.cs index 3fe6045..59d51ad 100644 --- a/CMS_CORE_Library/Models/ThermoModels.cs +++ b/CMS_CORE_Library/Models/ThermoModels.cs @@ -1,8 +1,5 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace CMS_CORE_Library.Models { @@ -245,6 +242,29 @@ namespace CMS_CORE_Library.Models { return base.GetHashCode(); } + + /// + /// Converte un singolo item in un array di byte per scrittura su PLC S7 + /// + /// + public byte[] convertToByte() + { + byte[] answ = new byte[50]; + Buffer.BlockCopy(S7.Net.Types.Int.ToByteArray(NumTarget), 0, answ, 0, 2); + Buffer.BlockCopy(S7.Net.Types.Int.ToByteArray(NumDone), 0, answ, 2, 2); + Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(TimeWarm), 0, answ, 6, 4); + Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(TimeVent), 0, answ, 10, 4); + Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(TimeVacuum), 0, answ, 14, 4); + Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(TimeCycleGross), 0, answ, 18, 4); + Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(TimeCycleNet), 0, answ, 22, 4); + Buffer.BlockCopy(S7.Net.Types.Double.ToByteArray(MaterialTempEndWarm), 0, answ, 26, 4); + Buffer.BlockCopy(S7.Net.Types.Double.ToByteArray(MaterialTempEndVent), 0, answ, 30, 4); + Buffer.BlockCopy(S7.Net.Types.Double.ToByteArray(MoldTemp), 0, answ, 34, 4); + Buffer.BlockCopy(S7.Net.Types.Double.ToByteArray(VacuumReadVal), 0, answ, 38, 4); + Buffer.BlockCopy(S7.Net.Types.Double.ToByteArray(MouldEnergyOUT), 0, answ, 42, 4); + Buffer.BlockCopy(S7.Net.Types.Double.ToByteArray(MouldEnergyIN), 0, answ, 46, 4); + return answ; + } } public class ProdCycleModel diff --git a/CMS_CORE_Library/Nc.cs b/CMS_CORE_Library/Nc.cs index 62516c0..95e39b9 100644 --- a/CMS_CORE_Library/Nc.cs +++ b/CMS_CORE_Library/Nc.cs @@ -2056,7 +2056,7 @@ namespace CMS_CORE_Library internal MEMORY_CELL PARAM_LING_FANUC = new MEMORY_CELL(MEMORY_TYPE.Null, 3281, 0, 1); internal MEMORY_CELL PARAM_LING_FANUC_W = new MEMORY_CELL(MEMORY_TYPE.Fanuc_G, 581, 0, 1); - + #endregion Fixed memory area /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/CMS_CORE_Library/NcThermo.cs b/CMS_CORE_Library/NcThermo.cs index 9d2ea36..5e68f5a 100644 --- a/CMS_CORE_Library/NcThermo.cs +++ b/CMS_CORE_Library/NcThermo.cs @@ -7,7 +7,6 @@ using System.IO; using System.Reflection; using static CMS_CORE_Library.Models.DataStructures; using static CMS_CORE_Library.Nc; -using static CMS_CORE_Library.Nc.MEMORY_TYPE; namespace CMS_CORE_Library { @@ -640,7 +639,7 @@ namespace CMS_CORE_Library /// /// public abstract CmsError PLC_WAckProdUpdate(); - + /// /// Get current recipe parameter list /// @@ -725,6 +724,13 @@ namespace CMS_CORE_Library /// public abstract CmsError PLC_RProdInfo(ref ThermoModels.ProdInfoModel currProdInfo); /// + /// Set ProdInfo data + /// + /// Qty requested (target) + /// Reset counter (actual counter) + /// + public abstract CmsError PLC_WProdInfo(short NumTarget, bool doReset); + /// /// Get current Production Cycle data /// /// diff --git a/CMS_CORE_Library/Osai/Nc_Osai.cs b/CMS_CORE_Library/Osai/Nc_Osai.cs index fe0d640..f81c60e 100644 --- a/CMS_CORE_Library/Osai/Nc_Osai.cs +++ b/CMS_CORE_Library/Osai/Nc_Osai.cs @@ -7,16 +7,13 @@ using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; -using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; -using System.Reflection; using System.ServiceModel; using System.Text; using System.Text.RegularExpressions; using System.Threading; -using System.Windows.Forms; using static CMS_CORE_Library.Models.DataStructures; using static CMS_CORE_Library.Nc; using static CMS_CORE_Library.Osai.MEMORY_ADDRESS; @@ -52,7 +49,7 @@ namespace CMS_CORE_Library.Osai //private const string TOOL_MANAGER_DIRECTORY_PATH = @"active\OEM\CMS\SYS\ACTIVE\"; - private static List EXT_PP = new List() { "", "TXT", "CNC", "INI" }; + private static List EXT_PP = new List() { "", "TXT", "CNC", "INI" }; private static List EXT_IMG = new List() { "PNG", "JPG", "JPEG" }; private const uint MAX_ROWS_FILE_PREVIEW = 10; // massimo 10 righe @@ -134,7 +131,7 @@ namespace CMS_CORE_Library.Osai bool directoryFound = false; CmsError cmsError = FileExist(TOOL_MANAGER_DIRECTORY_PATH, ref directoryFound); - if(cmsError.IsError()) + if (cmsError.IsError()) return cmsError; if (!directoryFound) @@ -145,9 +142,9 @@ namespace CMS_CORE_Library.Osai //// Check if tool manager folder exist //nReturn = OpenNC.LogFSFindFirst(TOOL_MANAGER_DIRECTORY_PATH, out FILEFINDDATA findData, out uint finder, out errorClass, out errorNum); - ////If there's an error - //if (errorClass != 0 || errorNum != 0 || nReturn == 0) - // return GetNCError(errorClass, errorNum); + ////If there's an error + //if (errorClass != 0 || errorNum != 0 || nReturn == 0) + // return GetNCError(errorClass, errorNum); } catch (Exception ex) { @@ -346,7 +343,7 @@ namespace CMS_CORE_Library.Osai MachNumber = Encoding.ASCII.GetString(lists.ToArray()); } - + return NO_ERROR; } @@ -723,7 +720,7 @@ namespace CMS_CORE_Library.Osai return NO_ERROR; } - + // MACHINE COUNTERS public override CmsError PLC_RMachineCounters(ref List counters) { @@ -893,7 +890,7 @@ namespace CMS_CORE_Library.Osai return NO_ERROR; } - + public override CmsError PLC_RWorkedTimeHead(int head, ref uint time) { int index = (head - 1) * 2; @@ -905,12 +902,12 @@ namespace CMS_CORE_Library.Osai return NO_ERROR; } - + public override CmsError PLC_WResetWorkedTimeHead(int head) { ushort usControlWord = 0; - if(head <= 0 || head > MAX_HEADS_NUMBER) + if (head <= 0 || head > MAX_HEADS_NUMBER) return INCORRECT_PARAMETERS_ERROR; // Read status @@ -952,12 +949,12 @@ namespace CMS_CORE_Library.Osai bool bitValue = true; int nTry = 0; - for (int i = 0; i<=4; i++) + for (int i = 0; i <= 4; i++) { //Scrivo il bit bitValue = true; nTry = 0; - cmsError = MEM_RWBoolean(W, 0, MACHINE_RESET_WORKED_TIME.MemType, MACHINE_RESET_WORKED_TIME.Address,0, ref bitValue); + cmsError = MEM_RWBoolean(W, 0, MACHINE_RESET_WORKED_TIME.MemType, MACHINE_RESET_WORKED_TIME.Address, 0, ref bitValue); if (cmsError.IsError()) return cmsError; @@ -1125,9 +1122,9 @@ namespace CMS_CORE_Library.Osai // Parse line & get parameters value.Add(new M156InputIsNeededModel() { - Process = (uint)processId, - Id = vals.ElementAt(processId - 1), - Value = responseVal + Process = (uint)processId, + Id = vals.ElementAt(processId - 1), + Value = responseVal }); } } @@ -1178,7 +1175,7 @@ namespace CMS_CORE_Library.Osai TimerInputNeeded = true, CountdownIsActive = false, Timer = 0 - }); + }); } else if (countdownActiveNeeded[processId - 1]) { @@ -1284,7 +1281,7 @@ namespace CMS_CORE_Library.Osai case "MD": Type = MEMORY_TYPE.Osai_MD; break; case "GD": Type = MEMORY_TYPE.Osai_GD; break; }; - + index = index[1].Split('.'); try @@ -1330,7 +1327,7 @@ namespace CMS_CORE_Library.Osai } } - catch(Exception ex) + catch (Exception ex) { return ManageException(ex); } @@ -1470,7 +1467,7 @@ namespace CMS_CORE_Library.Osai } public override CmsError PLC_WTerminateAssistedToolingProcedure() - { + { // Terminate procedure with ACK-STROBE method CmsError cmsError = PLC_ManageActiveAck(PLC_ASSISTED_TOOLING_STROBE.Address, PLC_ASSISTED_TOOLING_STROBE.SubAddress, HMI_ASSISTED_TOOLING_ACK.Address, HMI_ASSISTED_TOOLING_ACK.SubAddress, @@ -1697,7 +1694,7 @@ namespace CMS_CORE_Library.Osai return cmsError; // Build Long value - value = ((long)word << 32) + firtInt; + value = ((long)word << 32) + firtInt; return NO_ERROR; } @@ -2072,10 +2069,10 @@ namespace CMS_CORE_Library.Osai OffsetModel offsetData = new OffsetModel(); // Read offset data - if(info.actualtooloff != 0) + if (info.actualtooloff != 0) cmsError = TOOLS_ROffset((short)info.actualtooloff, ref offsetData); - if (cmsError.IsError()) - return cmsError; + if (cmsError.IsError()) + return cmsError; processData = new SelectedProcessData() { @@ -2090,11 +2087,11 @@ namespace CMS_CORE_Library.Osai return NO_ERROR; } - catch(Exception ex) + catch (Exception ex) { return ManageException(ex); } - + } #endregion PROCESS (PATH) High-level data @@ -2440,11 +2437,11 @@ namespace CMS_CORE_Library.Osai //if (errorClass != 0 || errorNum != 0 || nReturn == 0) // return GetNCError(errorClass, errorNum); - // Read axes info from NC + // Read axes info from NC nReturn = OpenNC.GetAxesInfo3(ushort.MaxValue, ref axesNumber, out unsignedshortarray axesProcess, out byte[] axesName, out unsignedshortarray axesType, out unsignedshortarray axesInterface, out uint errorClass, out uint errorNum); if (errorClass != 0 || errorNum != 0 || nReturn == 0) return GetNCError(errorClass, errorNum); - + // Get from PLC which axis can be selected List ids = new List(); List ints = new List(); @@ -2461,7 +2458,7 @@ namespace CMS_CORE_Library.Osai if ((charName < 'a' || charName > 'z') && charName != 'S' && charName != '\0' && axesProcess[i] == process) { var isVisible = ids.Where(x => x == i + 1)?.FirstOrDefault() == 0 ? false : true; - if(isVisible) + if (isVisible) // Add to returned value axesData.Add(new AxisModel() { @@ -2511,7 +2508,7 @@ namespace CMS_CORE_Library.Osai public override CmsError AXES_ROrigin(int numberOfAxes) { - for(uint i = 1; i <= 100; i++) + for (uint i = 1; i <= 100; i++) { OpenNC.GetOriginTabRecordII(i, out ORIGINTABLEII recordBuff, out uint errClass, out uint errNum); } @@ -3189,7 +3186,7 @@ namespace CMS_CORE_Library.Osai return NO_ERROR; } - catch(Exception ex) + catch (Exception ex) { return ManageException(ex); } @@ -3247,7 +3244,7 @@ namespace CMS_CORE_Library.Osai //If there's an error launch exception if (errorClass != 0 || errorNum != 0 || nReturn == 0) return GetNCError(errorClass, errorNum); - } + } catch (Exception ex) { return ManageException(ex); @@ -3421,7 +3418,7 @@ namespace CMS_CORE_Library.Osai CmsError cmsError = FILES_WProgram(newFilePath, customPartProgramContent); if (cmsError.IsError()) return cmsError; - + // Activate custom file return FILES_WSetActiveProgram(processId, newFilePath, ref activeData); } @@ -3478,7 +3475,7 @@ namespace CMS_CORE_Library.Osai Id = x.Id, Type = ConvertToSiemensMagazineType(x.Type), Name = x.Id.ToString(), - LoadingIsActive = x.Type != NC_MAGAZINE_TYPE.MAGAZINE_TOOL_BUFFER, + LoadingIsActive = x.Type != NC_MAGAZINE_TYPE.MAGAZINE_TOOL_BUFFER, MaxPositions = x.MaxPositions }).ToList(); @@ -3744,7 +3741,7 @@ namespace CMS_CORE_Library.Osai CmsError cmsError = CheckConnection(); if (cmsError.IsError()) return cmsError; - + cmsError = CreateBackup(); if (cmsError.IsError()) return cmsError; @@ -4012,7 +4009,7 @@ namespace CMS_CORE_Library.Osai CmsError cmsError = CheckConnection(); if (cmsError.IsError()) return cmsError; - + ushort nReturn; try @@ -4076,7 +4073,7 @@ namespace CMS_CORE_Library.Osai offsetData.LenVal[0].ValOrig = offset.Length * divider; offsetData.LenVal[0].ActChangeVal = offset.WearLength * divider; - for(int i = 0; i < offset.CustomDouble.Count(); i++) + for (int i = 0; i < offset.CustomDouble.Count(); i++) { offsetData.Duser[i] = offset.CustomDouble[i]; offsetData.Suser[i] = offset.CustomInt[i]; @@ -4317,7 +4314,7 @@ namespace CMS_CORE_Library.Osai return cmsError; bool[] values = IntToBits(val); - for(int i = 0; i < values.Length; i++ ) + for (int i = 0; i < values.Length; i++) { if (values[i]) ids.Add(i); @@ -4707,13 +4704,14 @@ namespace CMS_CORE_Library.Osai //Read From Files PlcMessages = File.ReadAllLines(Path) .Select(line => line.Split(',')) - .ToDictionary(line => Convert.ToInt32(line[0]), line => { + .ToDictionary(line => Convert.ToInt32(line[0]), line => + { if (line.Count() > 1) return line[1]; return ""; - }); - + }); + return NO_ERROR; } catch (Exception ex) @@ -4802,7 +4800,7 @@ namespace CMS_CORE_Library.Osai //Manage the Exception Launch private CmsError ManageException(Exception ex) - { + { Connected = false; //Catch the .Net exceptions @@ -4819,7 +4817,7 @@ namespace CMS_CORE_Library.Osai Connected = false; return NOT_CONNECTED_ERROR; } - else if(errorClass == 23) + else if (errorClass == 23) { return NO_ERROR; } @@ -5086,7 +5084,7 @@ namespace CMS_CORE_Library.Osai { switch (errorNum) { - case 1: szErrorDesc = "file_not_valid";break; + case 1: szErrorDesc = "file_not_valid"; break; case 161: szErrorDesc = "file_not_valid"; break; } } @@ -5212,11 +5210,11 @@ namespace CMS_CORE_Library.Osai internal static MEMORY_CELL SELF_ADAPTIVE_PATH = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 3472, 4); // Assisted tooling - internal static MEMORY_CELL ASSISTED_TOOLING_DATA = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4512, 7); - internal static MEMORY_CELL HMI_ASSISTED_TOOLING_STROBE = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4518, 0, 1); - internal static MEMORY_CELL HMI_ASSISTED_TOOLING_ACK = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4518, 1, 1); + internal static MEMORY_CELL ASSISTED_TOOLING_DATA = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4512, 7); + internal static MEMORY_CELL HMI_ASSISTED_TOOLING_STROBE = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4518, 0, 1); + internal static MEMORY_CELL HMI_ASSISTED_TOOLING_ACK = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4518, 1, 1); - internal static MEMORY_CELL PLC_ASSISTED_TOOLING_ACK = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4519, 1, 1); + internal static MEMORY_CELL PLC_ASSISTED_TOOLING_ACK = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4519, 1, 1); internal static MEMORY_CELL PLC_ASSISTED_TOOLING_STROBE = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4519, 1, 1); } diff --git a/CMS_CORE_Library/Osai/OSAIErrMgr.cs b/CMS_CORE_Library/Osai/OSAIErrMgr.cs index f877c06..dffa1ed 100644 --- a/CMS_CORE_Library/Osai/OSAIErrMgr.cs +++ b/CMS_CORE_Library/Osai/OSAIErrMgr.cs @@ -1,18 +1,14 @@ -using CndexLinkDotNet; +using CMS_CORE_Library.OPENControl; +using CndexLinkDotNet; using System; -using System.Collections.Generic; -using System.Linq; using System.Runtime.InteropServices; -using System.Text; -using System.Threading.Tasks; -using CMS_CORE_Library.OPENControl; namespace CMS_CORE_Library.Osai { partial class NativeConstants { - - //NUM_LINE_PER_MSG -> 4 + + //NUM_LINE_PER_MSG -> 4 public const int NUM_LINE_PER_MSG = 4; //NUM_WCHAR_PER_LINE -> 512 @@ -38,7 +34,7 @@ namespace CMS_CORE_Library.Osai return new MESSAGE_TEXT() { Line1 = value, Line2 = value, Line3 = value, Line4 = value }; } } - + class OSAIErrorManagerLibrary { /// diff --git a/CMS_CORE_Library/Properties/AssemblyInfo.cs b/CMS_CORE_Library/Properties/AssemblyInfo.cs index 8a0079f..dae287d 100644 --- a/CMS_CORE_Library/Properties/AssemblyInfo.cs +++ b/CMS_CORE_Library/Properties/AssemblyInfo.cs @@ -1,5 +1,4 @@ using System.Reflection; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Le informazioni generali relative a un assembly sono controllate dal seguente diff --git a/CMS_CORE_Library/S7Net/Nc_S7Net.cs b/CMS_CORE_Library/S7Net/Nc_S7Net.cs index 86b2f07..cf7e9f4 100644 --- a/CMS_CORE_Library/S7Net/Nc_S7Net.cs +++ b/CMS_CORE_Library/S7Net/Nc_S7Net.cs @@ -9,15 +9,11 @@ using System.Linq; using System.Net; using System.Net.NetworkInformation; using System.Text; -using System.Text.RegularExpressions; using System.Threading; -using System.Xml.Linq; using static CMS_CORE_Library.Models.DataStructures; -using static CMS_CORE_Library.NcThermo; -using static CMS_CORE_Library.Nc.MEMORY_TYPE; +using static CMS_CORE_Library.Nc; using static CMS_CORE_Library.S7Net.MEMORY_ADDRESS; using static CMS_CORE_Library.Utils.Nc_Utils; -using static CMS_CORE_Library.Nc; namespace CMS_CORE_Library.S7Net { @@ -58,11 +54,11 @@ namespace CMS_CORE_Library.S7Net // Dizionario parametri specifici per THERMO - private static Dictionary ThermoParamList; - private static Dictionary ThermoModuleList; - private static Dictionary ThermoWarmChannels; - private static ThermoModels.ProdInfoModel ThermoProdInfo; - private static ThermoModels.ProdCycleModel ThermoProdCycle; + private static Dictionary ThermoParamList = new Dictionary(); + private static Dictionary ThermoModuleList = new Dictionary(); + private static Dictionary ThermoWarmChannels = new Dictionary(); + private static ThermoModels.ProdInfoModel ThermoProdInfo = new ThermoModels.ProdInfoModel(); + private static ThermoModels.ProdCycleModel ThermoProdCycle = new ThermoModels.ProdCycleModel(); // connessione S7 private CpuType tipoCpu = CpuType.S71500; @@ -73,6 +69,10 @@ namespace CMS_CORE_Library.S7Net /// Oggetto PLC da ri-utilizzare... /// protected Plc currPLC; + /// + /// Lock per connessione PLC + /// + private readonly static object connectLock = new object(); #endregion @@ -132,12 +132,8 @@ namespace CMS_CORE_Library.S7Net Port = RemotePort; // mesasggi generici PLC PlcMessages = new Dictionary(); - // Init dati specifici Themo - ThermoParamList = new Dictionary(); - ThermoModuleList = new Dictionary(); - ThermoWarmChannels = new Dictionary(); - ThermoProdCycle = new ThermoModels.ProdCycleModel(); - ThermoProdInfo = new ThermoModels.ProdInfoModel(); + // Init dati specifici Thermo + } /// /// Connessione al PLC @@ -145,40 +141,42 @@ namespace CMS_CORE_Library.S7Net /// public override CmsError NC_Connect() { - // Try to get information - try + lock (connectLock) { - // Check if Siemens Environment is started - CmsError cmsError = CheckS7Ping(); - if (cmsError.IsError()) - return cmsError; - - // Check connection - currPLC = new Plc(tipoCpu, this.Ip, this.rack, this.slot); - currPLC.Open(); - if (currPLC.IsConnected) - Connected = true; - - // FARE TODO FIXME - // Setup the alarms (with DB bitmap) --> PlcMessages - - if (this.EnableAlarms) + // Try to get information + try { - // PlcMessages + // Check if Siemens Environment is started + CmsError libraryError = CheckS7Ping(); + if (libraryError.IsError()) + return libraryError; + + // Check connection + currPLC = new Plc(tipoCpu, this.Ip, this.rack, this.slot); + currPLC.Open(); + if (currPLC.IsConnected) + Connected = true; + + // FARE TODO FIXME + // Setup the alarms (with DB bitmap) --> PlcMessages + + if (this.EnableAlarms) + { + // PlcMessages #if false SiemensAlarms = new Alarm[] { }; SiemensAlmSvc = new AlarmSvc(ConvertToSTEPLanguage(SiemensLanguage).ThreeLetterISOLanguageName); SiemensAlmSvc.Subscribe(AlarmsChanged); Infrastructure.SubscribeLanguageChanged(NcLanguageChanged); #endif + } + + } + catch (Exception ex) + { + return ManageException(ex); } - } - catch (Exception ex) - { - return ManageException(ex); - } - return NO_ERROR; } /// @@ -300,9 +298,9 @@ namespace CMS_CORE_Library.S7Net /// public override CmsError NC_RProcessesNum(ref ushort ProcNumber) { - CmsError cmsError = ReadStaticNCData(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = ReadStaticNCData(); + if (libraryError.IsError()) + return libraryError; ProcNumber = (ushort)ConfChannelNo; @@ -316,9 +314,9 @@ namespace CMS_CORE_Library.S7Net /// public override CmsError NC_RModelName(ref string ModelName) { - CmsError cmsError = ReadStaticNCData(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = ReadStaticNCData(); + if (libraryError.IsError()) + return libraryError; ModelName = Cnc_name; @@ -332,9 +330,9 @@ namespace CMS_CORE_Library.S7Net /// public override CmsError NC_RSoftwareVersion(ref string SWV) { - CmsError cmsError = ReadStaticNCData(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = ReadStaticNCData(); + if (libraryError.IsError()) + return libraryError; SWV = Cnc_SftVersion; @@ -349,9 +347,9 @@ namespace CMS_CORE_Library.S7Net public override CmsError NC_RLanguage(ref CultureInfo Language) { // Read static data - CmsError cmsError = ReadStaticNCData(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = ReadStaticNCData(); + if (libraryError.IsError()) + return libraryError; Language = ConvertToSTEPLanguage(S7Language); @@ -375,9 +373,9 @@ namespace CMS_CORE_Library.S7Net /// public override CmsError NC_RSerialNumber(ref string serialNumber) { - CmsError cmsError = ReadStaticNCData(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = ReadStaticNCData(); + if (libraryError.IsError()) + return libraryError; serialNumber = Cnc_SeriesNum; @@ -394,9 +392,9 @@ namespace CMS_CORE_Library.S7Net { if (!hasLetters) { - CmsError cmsError = ReadStaticNCData(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = ReadStaticNCData(); + if (libraryError.IsError()) + return libraryError; MachNumber = Cms_MachNumber; } @@ -404,9 +402,9 @@ namespace CMS_CORE_Library.S7Net { // New method to read machine number List lists = new List(); - CmsError cmsError = MEM_RWByteList(R, 0, NEW_MATR_MACC.MemType, NEW_MATR_MACC.Address, NEW_MATR_MACC.SubAddress, 0, 4, ref lists); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByteList(R, 0, NEW_MATR_MACC.MemType, NEW_MATR_MACC.Address, NEW_MATR_MACC.SubAddress, 0, 4, ref lists); + if (libraryError.IsError()) + return libraryError; lists.Reverse(); @@ -436,9 +434,9 @@ namespace CMS_CORE_Library.S7Net { ushort nProcess = 0; // Get the number of processes - CmsError cmsError = NC_RProcessesNum(ref nProcess); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = NC_RProcessesNum(ref nProcess); + if (libraryError.IsError()) + return libraryError; ushort i = 1; running = false; @@ -447,9 +445,9 @@ namespace CMS_CORE_Library.S7Net PROC_STATUS procStatus = PROC_STATUS.IDLE; // Read process status - cmsError = PROC_RStatus(i, ref procStatus); - if (cmsError.IsError()) - return cmsError; + libraryError = PROC_RStatus(i, ref procStatus); + if (libraryError.IsError()) + return libraryError; if (procStatus == PROC_STATUS.RUN) running = true; @@ -466,9 +464,9 @@ namespace CMS_CORE_Library.S7Net /// public override CmsError NC_RUnitOfMeasure(ref string unitOfMeasure) { - CmsError cmsError = ReadStaticNCData(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = ReadStaticNCData(); + if (libraryError.IsError()) + return libraryError; unitOfMeasure = UnitOfMeasure; @@ -509,9 +507,9 @@ namespace CMS_CORE_Library.S7Net public override CmsError PLC_RWManageWatchdog() { bool plcWatchdog = false; - CmsError cmsError = MEM_RWBoolean(R, 0, NC_WATCHDOG.MemType, NC_WATCHDOG.Address, NC_WATCHDOG.SubAddress, 0, ref plcWatchdog); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWBoolean(R, 0, NC_WATCHDOG.MemType, NC_WATCHDOG.Address, NC_WATCHDOG.SubAddress, 0, ref plcWatchdog); + if (libraryError.IsError()) + return libraryError; if (plcWatchdog) return PLC_NOT_RUNNING_ERROR; @@ -531,21 +529,21 @@ namespace CMS_CORE_Library.S7Net bool[] statusBits; int i = 0; List readValues = new List(); - CmsError cmsError; + CmsError libraryError; try { alarms.Clear(); // Read on data from memory - cmsError = MEM_RWIntegerList(R, 0, + libraryError = MEM_RWIntegerList(R, 0, ALARMS_STATUS.MemType, ALARMS_STATUS.Address, ALARMS_STATUS.SubAddress, (ALARMS_STATUS.Size / 4) + (ALARMS_DATA.Size / 2), // status_bytes / 4 + data_word / 2 ref readValues); - if (cmsError.IsError()) - return cmsError; + if (libraryError.IsError()) + return libraryError; alarms.Clear(); @@ -594,9 +592,9 @@ namespace CMS_CORE_Library.S7Net return INCORRECT_PARAMETERS_ERROR; // Call restore message - CmsError cmsError = PLC_WStrobe(ALARM_ACK, ALARM_RESTORATION_STROBE, id); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PLC_WStrobe(ALARM_ACK, ALARM_RESTORATION_STROBE, id); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -608,9 +606,9 @@ namespace CMS_CORE_Library.S7Net return INCORRECT_PARAMETERS_ERROR; // Call restore message - CmsError cmsError = PLC_WStrobe(ALARM_ACK, ALARM_REFRESH_STROBE, id); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PLC_WStrobe(ALARM_ACK, ALARM_REFRESH_STROBE, id); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -624,9 +622,9 @@ namespace CMS_CORE_Library.S7Net { int readValue = 0; // Read pre power on and post power on data from memory - CmsError cmsError = MEM_RWInteger(R, 0, PRE_POST_POWER_ON.MemType, PRE_POST_POWER_ON.Address, PRE_POST_POWER_ON.SubAddress, ref readValue); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWInteger(R, 0, PRE_POST_POWER_ON.MemType, PRE_POST_POWER_ON.Address, PRE_POST_POWER_ON.SubAddress, ref readValue); + if (libraryError.IsError()) + return libraryError; bool[] bits = new bool[32]; @@ -666,9 +664,9 @@ namespace CMS_CORE_Library.S7Net return INCORRECT_PARAMETERS_ERROR; // Call restore message - CmsError cmsError = PLC_WStrobe(PRE_POST_POWER_ON_ACK, PRE_POST_POWER_ON_CLICKED, id); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PLC_WStrobe(PRE_POST_POWER_ON_ACK, PRE_POST_POWER_ON_CLICKED, id); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -678,9 +676,9 @@ namespace CMS_CORE_Library.S7Net List readValues = new List(); int numberOfIntegers = FUNCTION_ACCESS.Size / 4; // Read functions access data from memory - CmsError cmsError = MEM_RWIntegerList(R, 0, FUNCTION_ACCESS.MemType, FUNCTION_ACCESS.Address, FUNCTION_ACCESS.SubAddress, numberOfIntegers, ref readValues); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWIntegerList(R, 0, FUNCTION_ACCESS.MemType, FUNCTION_ACCESS.Address, FUNCTION_ACCESS.SubAddress, numberOfIntegers, ref readValues); + if (libraryError.IsError()) + return libraryError; functions = new List(); // Convert int into to true/false array @@ -702,9 +700,9 @@ namespace CMS_CORE_Library.S7Net { byte value = 0; // Read byte from memory - CmsError cmsError = MEM_RWByte(R, 0, AXIS_RESET_PROCEDURE.MemType, AXIS_RESET_PROCEDURE.Address, AXIS_RESET_PROCEDURE.SubAddress, 0, ref value); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByte(R, 0, AXIS_RESET_PROCEDURE.MemType, AXIS_RESET_PROCEDURE.Address, AXIS_RESET_PROCEDURE.SubAddress, 0, ref value); + if (libraryError.IsError()) + return libraryError; // Check last bit if is active if ((value & 128) == 128) @@ -725,18 +723,18 @@ namespace CMS_CORE_Library.S7Net public override CmsError PLC_RNcSoftKeys(ref List ncSoftKeys) { - CmsError cmsError = PLC_RSoftKeys(NC_SOFTKEYS_VALUE, NC_SOFTKEYS_CLICKABLE, ref ncSoftKeys); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PLC_RSoftKeys(NC_SOFTKEYS_VALUE, NC_SOFTKEYS_CLICKABLE, ref ncSoftKeys); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } public override CmsError PLC_RUserSoftKeys(ref List softKeys) { - CmsError cmsError = PLC_RSoftKeys(USER_SOFTKEYS_VALUE, USER_SOFTKEYS_CLICKABLE, ref softKeys); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PLC_RSoftKeys(USER_SOFTKEYS_VALUE, USER_SOFTKEYS_CLICKABLE, ref softKeys); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -751,15 +749,15 @@ namespace CMS_CORE_Library.S7Net int offset = softKeyStatusMemory.Size * 8; // Read on data from memory - CmsError cmsError = MEM_RWIntegerList(R, 0, + CmsError libraryError = MEM_RWIntegerList(R, 0, softKeyStatusMemory.MemType, softKeyStatusMemory.Address, softKeyStatusMemory.SubAddress, memorySizeToRead / 4, ref readValues); - if (cmsError.IsError()) - return cmsError; + if (libraryError.IsError()) + return libraryError; // Convert ints into an array of bools bool[] bits = IntToBits(readValues.ToArray()); @@ -784,9 +782,9 @@ namespace CMS_CORE_Library.S7Net return INCORRECT_PARAMETERS_ERROR; // Write strobe into memory - CmsError cmsError = PLC_WStrobe(NC_SOFT_KEYS_ACK, NC_SOFT_KEYS_CLICKED, id); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PLC_WStrobe(NC_SOFT_KEYS_ACK, NC_SOFT_KEYS_CLICKED, id); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -798,9 +796,9 @@ namespace CMS_CORE_Library.S7Net return INCORRECT_PARAMETERS_ERROR; // Write strobe into memory - CmsError cmsError = PLC_WStrobe(USER_SOFT_KEYS_ACK, USER_SOFT_KEYS_CLICKED, id); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PLC_WStrobe(USER_SOFT_KEYS_ACK, USER_SOFT_KEYS_CLICKED, id); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -823,9 +821,9 @@ namespace CMS_CORE_Library.S7Net public override CmsError PLC_RWorkedTimeMachine(ref uint time) { // Read Worked time - CmsError cmsError = MEM_RWDWord(R, 0, MACHINE_WORKED_TIME.MemType, MACHINE_WORKED_TIME.Address, MACHINE_WORKED_TIME.SubAddress, ref time); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWDWord(R, 0, MACHINE_WORKED_TIME.MemType, MACHINE_WORKED_TIME.Address, MACHINE_WORKED_TIME.SubAddress, ref time); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -835,9 +833,9 @@ namespace CMS_CORE_Library.S7Net uint actTime = 0; // Read actual Value - CmsError cmsError = MEM_RWDWord(R, 0, MACHINE_WORKED_TIME.MemType, MACHINE_WORKED_TIME.Address, MACHINE_WORKED_TIME.SubAddress, ref actTime); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWDWord(R, 0, MACHINE_WORKED_TIME.MemType, MACHINE_WORKED_TIME.Address, MACHINE_WORKED_TIME.SubAddress, ref actTime); + if (libraryError.IsError()) + return libraryError; // Per richiedere l'azzeramento del timer invio 4 volte il segnale velocemente al PLC // Il PLC resetta il bit e aspetta quello successivo entro 500ms, se no abortisce @@ -850,18 +848,18 @@ namespace CMS_CORE_Library.S7Net //Scrivo il bit bitValue = true; nTry = 0; - cmsError = MEM_RWBoolean(W, 0, MACHINE_RESET_WORKED_TIME.MemType, MACHINE_RESET_WORKED_TIME.Address, MACHINE_RESET_WORKED_TIME.SubAddress, 0, ref bitValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(W, 0, MACHINE_RESET_WORKED_TIME.MemType, MACHINE_RESET_WORKED_TIME.Address, MACHINE_RESET_WORKED_TIME.SubAddress, 0, ref bitValue); + if (libraryError.IsError()) + return libraryError; //Aspetto che venga abbassato do { Thread.Sleep(50); nTry += 1; - cmsError = MEM_RWBoolean(R, 0, MACHINE_RESET_WORKED_TIME.MemType, MACHINE_RESET_WORKED_TIME.Address, MACHINE_RESET_WORKED_TIME.SubAddress, 0, ref bitValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(R, 0, MACHINE_RESET_WORKED_TIME.MemType, MACHINE_RESET_WORKED_TIME.Address, MACHINE_RESET_WORKED_TIME.SubAddress, 0, ref bitValue); + if (libraryError.IsError()) + return libraryError; } while (bitValue && nTry <= 10); @@ -869,16 +867,16 @@ namespace CMS_CORE_Library.S7Net if (bitValue) { bitValue = true; - cmsError = MEM_RWBoolean(W, 0, MACHINE_RESET_WORKED_TIME.MemType, MACHINE_RESET_WORKED_TIME.Address, MACHINE_RESET_WORKED_TIME.SubAddress, 0, ref bitValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(W, 0, MACHINE_RESET_WORKED_TIME.MemType, MACHINE_RESET_WORKED_TIME.Address, MACHINE_RESET_WORKED_TIME.SubAddress, 0, ref bitValue); + if (libraryError.IsError()) + return libraryError; return PLC_NOT_RUNNING_ERROR; } else { //Se l'ha abbassato scrivo il nuovo dato - cmsError = MEM_RWDWord(W, 0, MACHINE_WORKED_TIME.MemType, MACHINE_WORKED_TIME.Address, MACHINE_WORKED_TIME.SubAddress, ref time); + libraryError = MEM_RWDWord(W, 0, MACHINE_WORKED_TIME.MemType, MACHINE_WORKED_TIME.Address, MACHINE_WORKED_TIME.SubAddress, ref time); } } @@ -896,9 +894,9 @@ namespace CMS_CORE_Library.S7Net { List val = new List(); // Read ints - CmsError cmsError = MEM_RWDWordList(R, 0, COUNTERS_DATA.MemType, COUNTERS_DATA.Address, COUNTERS_DATA.SubAddress, COUNTERS_DATA.Size / 4, ref val); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWDWordList(R, 0, COUNTERS_DATA.MemType, COUNTERS_DATA.Address, COUNTERS_DATA.SubAddress, COUNTERS_DATA.Size / 4, ref val); + if (libraryError.IsError()) + return libraryError; // Set return value uint i = 0; @@ -915,16 +913,16 @@ namespace CMS_CORE_Library.S7Net public override CmsError PLC_WResetMachineCounters(uint counter) { bool isResettable = false; - CmsError cmsError = MEM_RWBoolean(R, 0, COUNTER_IS_RESETTABLE.MemType, COUNTER_IS_RESETTABLE.Address, COUNTER_IS_RESETTABLE.SubAddress, (int)(counter - 1), ref isResettable); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWBoolean(R, 0, COUNTER_IS_RESETTABLE.MemType, COUNTER_IS_RESETTABLE.Address, COUNTER_IS_RESETTABLE.SubAddress, (int)(counter - 1), ref isResettable); + if (libraryError.IsError()) + return libraryError; if (!isResettable) return FUNCTION_NOT_ALLOWED_ERROR; - cmsError = PLC_WStrobe(COUNTER_IS_RESETTABLE_ACK, COUNTER_IS_RESETTABLE_STROBE, counter); - if (cmsError.IsError()) - return cmsError; + libraryError = PLC_WStrobe(COUNTER_IS_RESETTABLE_ACK, COUNTER_IS_RESETTABLE_STROBE, counter); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -941,16 +939,18 @@ namespace CMS_CORE_Library.S7Net public override CmsError PLC_RM154Data(ref List data, ref bool MTCOnOff) { - MTCOnOff = false; - CmsError cmsError = MEM_RWBoolean(R, 0, M154_SWITCH_ONOFF.MemType, M154_SWITCH_ONOFF.Address, M154_SWITCH_ONOFF.SubAddress, 1, ref MTCOnOff); + // FIXME TODO - levare? - if (cmsError.IsError()) - return cmsError; + MTCOnOff = false; + CmsError libraryError = MEM_RWBoolean(R, 0, M154_SWITCH_ONOFF.MemType, M154_SWITCH_ONOFF.Address, M154_SWITCH_ONOFF.SubAddress, 1, ref MTCOnOff); + + if (libraryError.IsError()) + return libraryError; byte val = 0; - cmsError = MEM_RWByte(R, 0, M154_STROBE.MemType, M154_STROBE.Address, M154_STROBE.SubAddress, 0, ref val); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByte(R, 0, M154_STROBE.MemType, M154_STROBE.Address, M154_STROBE.SubAddress, 0, ref val); + if (libraryError.IsError()) + return libraryError; // Convert a byte to an array of booleans bool[] bits = ByteToBits(val); @@ -962,9 +962,9 @@ namespace CMS_CORE_Library.S7Net if (bits[processId - 1]) { // Read active program line - cmsError = PROC_ReadActiveLine(processId, ref tmpStr); - if (cmsError.IsError()) - return cmsError; + libraryError = PROC_ReadActiveLine(processId, ref tmpStr); + if (libraryError.IsError()) + return libraryError; // Parse parameters parameters = ExtractM154ParametersFromNcCodeLine(tmpStr); @@ -990,13 +990,13 @@ namespace CMS_CORE_Library.S7Net { byte val = 0; List vals = new List(); - CmsError cmsError = MEM_RWByte(R, 0, M156_INPUT_NEEDED.MemType, M156_INPUT_NEEDED.Address, M156_INPUT_NEEDED.SubAddress, 0, ref val); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByte(R, 0, M156_INPUT_NEEDED.MemType, M156_INPUT_NEEDED.Address, M156_INPUT_NEEDED.SubAddress, 0, ref val); + if (libraryError.IsError()) + return libraryError; - cmsError = MEM_RWByteList(R, 0, M156_INPUT_ID_LIST.MemType, M156_INPUT_ID_LIST.Address, M156_INPUT_ID_LIST.SubAddress, 0, M156_INPUT_ID_LIST.Size, ref vals); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByteList(R, 0, M156_INPUT_ID_LIST.MemType, M156_INPUT_ID_LIST.Address, M156_INPUT_ID_LIST.SubAddress, 0, M156_INPUT_ID_LIST.Size, ref vals); + if (libraryError.IsError()) + return libraryError; bool[] bits = ByteToBits(val); @@ -1035,9 +1035,9 @@ namespace CMS_CORE_Library.S7Net public override CmsError PLC_WM156Response(int process, double responseVal) { - //CmsError cmsError = MEM_RWDouble(W, 0, MEMORY_TYPE.Osai_GD, 900 + (process - 1), ref responseVal); - //if (cmsError.IsError()) - // return cmsError; + //CmsError libraryError = MEM_RWDouble(W, 0, MEMORY_TYPE.Osai_GD, 900 + (process - 1), ref responseVal); + //if (libraryError.IsError()) + // return libraryError; return PLC_WStrobe(M156_INPUT_ACK, M156_INPUT_STROBE, (uint)process); } @@ -1059,7 +1059,7 @@ namespace CMS_CORE_Library.S7Net } string[] index = memIndex.Split('.'); - CmsError cmsError = NO_ERROR; + CmsError libraryError = NO_ERROR; try { if (index.Count() == 0 || index.Count() == 1) @@ -1070,28 +1070,28 @@ namespace CMS_CORE_Library.S7Net { // read INT int val = 0; - cmsError = MEM_RWInteger(R, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), ref val); + libraryError = MEM_RWInteger(R, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), ref val); value = val; } else if (memType == SCADA_MEM_TYPE.WORD) { // read WORD short val = 0; - cmsError = MEM_RWShort(R, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), ref val); + libraryError = MEM_RWShort(R, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), ref val); value = val; } else if (memType == SCADA_MEM_TYPE.REAL) { // read DOUBLE double val = 0; - cmsError = MEM_RWDouble(R, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), ref val); + libraryError = MEM_RWDouble(R, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), ref val); value = val; } else { // read BYTE byte val = 0; - cmsError = MEM_RWByte(R, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), 0, ref val); + libraryError = MEM_RWByte(R, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), 0, ref val); value = val; } @@ -1099,7 +1099,7 @@ namespace CMS_CORE_Library.S7Net else if (index.Count() == 3 && memType == SCADA_MEM_TYPE.BOOL) { // read BOOL bool val = false; - cmsError = MEM_RWBoolean(R, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), Convert.ToInt32(index[2]), ref val); + libraryError = MEM_RWBoolean(R, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), Convert.ToInt32(index[2]), ref val); value = val; } @@ -1109,7 +1109,7 @@ namespace CMS_CORE_Library.S7Net return ManageException(ex); } - return cmsError; + return libraryError; } public override CmsError PLC_RScadaSiemens(ref List objects) @@ -1120,7 +1120,7 @@ namespace CMS_CORE_Library.S7Net public override CmsError PLC_WScadaValue(string memIndex, SCADA_MEM_TYPE memType, object value) { string[] index = memIndex.Split('.'); - CmsError cmsError = NO_ERROR; + CmsError libraryError = NO_ERROR; if (index.Count() == 0) return INCORRECT_PARAMETERS_ERROR; @@ -1130,31 +1130,31 @@ namespace CMS_CORE_Library.S7Net { // write INT int val = Convert.ToInt32(value); - cmsError = MEM_RWInteger(W, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), ref val); + libraryError = MEM_RWInteger(W, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), ref val); } else if (memType == SCADA_MEM_TYPE.WORD) { // write WORD short val = Convert.ToInt16(value); - cmsError = MEM_RWShort(W, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), ref val); + libraryError = MEM_RWShort(W, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), ref val); } else if (memType == SCADA_MEM_TYPE.REAL) { // write DOUBLE double val = Convert.ToDouble(value); - cmsError = MEM_RWDouble(W, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), ref val); + libraryError = MEM_RWDouble(W, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), ref val); } else { // write byte byte val = Convert.ToByte(value); - cmsError = MEM_RWByte(W, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), 0, ref val); + libraryError = MEM_RWByte(W, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), 0, ref val); } } else if (index.Count() == 3 && memType == SCADA_MEM_TYPE.BOOL) { // write BOOL bool val = Convert.ToBoolean(value); - cmsError = MEM_RWBoolean(W, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), Convert.ToInt32(index[2]), ref val); + libraryError = MEM_RWBoolean(W, 0, MEMORY_TYPE.Siemens_DB, Convert.ToInt32(index[0]), Convert.ToInt32(index[1]), Convert.ToInt32(index[2]), ref val); } - return cmsError; + return libraryError; } public override CmsError PLC_WAssistedToolingCmd(ushort toolId, ushort familyId, ushort shankId, ushort magazineId, ushort positionId, ASSISTED_TOOLING_ACTION action) @@ -1180,39 +1180,39 @@ namespace CMS_CORE_Library.S7Net /// private CmsError PLC_WStrobe(MEMORY_CELL ackCell, MEMORY_CELL strobeCell, uint id) { - CmsError cmsError; + CmsError libraryError; bool readValue = false; bool writeValue = true; SetupAckStrobeAddresses(ackCell.SubAddress, strobeCell.SubAddress, id, out int ackByte, out int strobeByte, out int alarmBitId); // Check Strobe - cmsError = MEM_RWBoolean(R, 0, strobeCell.MemType, strobeCell.Address, strobeByte, alarmBitId, ref readValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(R, 0, strobeCell.MemType, strobeCell.Address, strobeByte, alarmBitId, ref readValue); + if (libraryError.IsError()) + return libraryError; // If PLC it's performing another request then return if (readValue) return NO_ERROR; // Check ACK - cmsError = MEM_RWBoolean(R, 0, ackCell.MemType, ackCell.Address, ackByte, alarmBitId, ref readValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(R, 0, ackCell.MemType, ackCell.Address, ackByte, alarmBitId, ref readValue); + if (libraryError.IsError()) + return libraryError; // If PLC it's performing another request then return if (readValue) return NO_ERROR; // Write strobe into memory - cmsError = MEM_RWBoolean(W, 0, strobeCell.MemType, strobeCell.Address, strobeByte, alarmBitId, ref writeValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(W, 0, strobeCell.MemType, strobeCell.Address, strobeByte, alarmBitId, ref writeValue); + if (libraryError.IsError()) + return libraryError; // Reset wait ack = 1 and reset the strobe - cmsError = ResetStrobe(alarmBitId, strobeByte, ackByte, ackCell.MemType); - if (cmsError.IsError()) - return cmsError; + libraryError = ResetStrobe(alarmBitId, strobeByte, ackByte, ackCell.MemType); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -1225,55 +1225,37 @@ namespace CMS_CORE_Library.S7Net /// private CmsError PLC_WAck(MEMORY_CELL ackCell, MEMORY_CELL strobeCell, uint id) { - CmsError cmsError; + CmsError libraryError; bool readValue = false; bool writeValue = true; SetupAckStrobeAddresses(ackCell.SubAddress, strobeCell.SubAddress, id, out int ackByte, out int strobeByte, out int alarmBitId); // Check Strobe - cmsError = MEM_RWBoolean(R, 0, strobeCell.MemType, strobeCell.Address, strobeByte, alarmBitId, ref readValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(R, 0, strobeCell.MemType, strobeCell.Address, strobeByte, alarmBitId, ref readValue); + if (libraryError.IsError()) + return libraryError; // if there's a strobe --> give ack!!! if (readValue) { // abbasso ack se fosse su... - cmsError = MEM_RWBoolean(W, 0, ackCell.MemType, ackCell.Address, ackByte, alarmBitId, ref writeValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(W, 0, ackCell.MemType, ackCell.Address, ackByte, alarmBitId, ref writeValue); + if (libraryError.IsError()) + return libraryError; // attendo 50ms... Thread.Sleep(50); // Reset wait ack = 1 and reset the strobe - cmsError = ResetAck(alarmBitId, strobeByte, ackByte, ackCell.MemType); - if (cmsError.IsError()) - return cmsError; + libraryError = ResetAck(alarmBitId, strobeByte, ackByte, ackCell.MemType); + if (libraryError.IsError()) + return libraryError; // exit and next round will continue... return NO_ERROR; } -#if false - // no strobe.... - - // Check ACK - cmsError = MEM_RWBoolean(R, 0, ackCell.MemType, ackCell.Address, ackByte, alarmBitId, ref readValue); - if (cmsError.IsError()) - return cmsError; - - // if strobe is down and ack is up - if (readValue) - { - // Reset wait ack = 1 and reset the strobe - cmsError = ResetAck(alarmBitId, strobeByte, ackByte, ackCell.MemType); - if (cmsError.IsError()) - return cmsError; - } -#endif - return NO_ERROR; } /// @@ -1299,21 +1281,21 @@ namespace CMS_CORE_Library.S7Net bool writeValue = false; bool ok = false; - CmsError cmsError; + CmsError libraryError; do { // Check ACK - cmsError = MEM_RWBoolean(R, 0, memType, TABLE, ackByte, bitId, ref readValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(R, 0, memType, TABLE, ackByte, bitId, ref readValue); + if (libraryError.IsError()) + return libraryError; // If true reset strobe if (readValue == true) { // Reset strobe - cmsError = MEM_RWBoolean(W, 0, memType, TABLE, strobeByte, bitId, ref writeValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(W, 0, memType, TABLE, strobeByte, bitId, ref writeValue); + if (libraryError.IsError()) + return libraryError; // Exit from cycle n = 0; ok = true; @@ -1330,12 +1312,12 @@ namespace CMS_CORE_Library.S7Net if (!ok) { // Reset strobe - cmsError = MEM_RWBoolean(W, 0, memType, TABLE, strobeByte, bitId, ref writeValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(W, 0, memType, TABLE, strobeByte, bitId, ref writeValue); + if (libraryError.IsError()) + return libraryError; } - return cmsError; + return libraryError; } private CmsError ResetAck(int bitId, int strobeByte, int ackByte, MEMORY_TYPE memType) { @@ -1347,21 +1329,21 @@ namespace CMS_CORE_Library.S7Net // aspetto 100ms Thread.Sleep(100); - CmsError cmsError; + CmsError libraryError; do { // Check Strobe - cmsError = MEM_RWBoolean(R, 0, memType, TABLE, strobeByte, bitId, ref readValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(R, 0, memType, TABLE, strobeByte, bitId, ref readValue); + if (libraryError.IsError()) + return libraryError; // If false reset ACK if (readValue == false) { // Reset strobe - cmsError = MEM_RWBoolean(W, 0, memType, TABLE, ackByte, bitId, ref writeValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(W, 0, memType, TABLE, ackByte, bitId, ref writeValue); + if (libraryError.IsError()) + return libraryError; // Exit from cycle n = 0; ok = true; @@ -1380,12 +1362,12 @@ namespace CMS_CORE_Library.S7Net { // Reset ack (forced) writeValue = false; - cmsError = MEM_RWBoolean(W, 0, memType, TABLE, ackByte, bitId, ref writeValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(W, 0, memType, TABLE, ackByte, bitId, ref writeValue); + if (libraryError.IsError()) + return libraryError; } - return cmsError; + return libraryError; } private CmsError PLC_ManageActiveAck(int strobeByte, int strobeSubByte, int strobeBit, int ackByte, int ackSubByte, int ackBit, MEMORY_TYPE memType) @@ -1395,25 +1377,25 @@ namespace CMS_CORE_Library.S7Net bool writeValue = true; bool ok = false; // Set ack to 1 - CmsError cmsError = MEM_RWBoolean(W, 0, memType, ackByte, ackSubByte, ackBit, ref writeValue); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWBoolean(W, 0, memType, ackByte, ackSubByte, ackBit, ref writeValue); + if (libraryError.IsError()) + return libraryError; do { // Check strobe - cmsError = MEM_RWBoolean(R, 0, memType, strobeByte, strobeSubByte, strobeBit, ref readValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(R, 0, memType, strobeByte, strobeSubByte, strobeBit, ref readValue); + if (libraryError.IsError()) + return libraryError; // If true reset acknowledge if (!readValue) { writeValue = false; // Reset acknowledge - cmsError = MEM_RWBoolean(W, 0, memType, ackByte, ackSubByte, ackBit, ref writeValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(W, 0, memType, ackByte, ackSubByte, ackBit, ref writeValue); + if (libraryError.IsError()) + return libraryError; // Exit from cycle n = 0; ok = true; @@ -1432,12 +1414,12 @@ namespace CMS_CORE_Library.S7Net { // Reset acknowledge writeValue = false; - cmsError = MEM_RWBoolean(W, 0, memType, ackByte, ackSubByte, ackBit, ref writeValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWBoolean(W, 0, memType, ackByte, ackSubByte, ackBit, ref writeValue); + if (libraryError.IsError()) + return libraryError; } - return cmsError; + return libraryError; } public override CmsError PLC_WExpiredCandy(bool value) @@ -1445,15 +1427,15 @@ namespace CMS_CORE_Library.S7Net bool newVal = false; //Scrivo il dato - CmsError cmsError = MEM_RWBoolean(W, 0, EXP_CANDY_MEM.MemType, EXP_CANDY_MEM.Address, EXP_CANDY_MEM.SubAddress, 5, ref value); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWBoolean(W, 0, EXP_CANDY_MEM.MemType, EXP_CANDY_MEM.Address, EXP_CANDY_MEM.SubAddress, 5, ref value); + if (libraryError.IsError()) + return libraryError; else { //Leggo il dato - cmsError = PLC_RExpiredCandy(ref newVal); - if (cmsError.IsError()) - return cmsError; + libraryError = PLC_RExpiredCandy(ref newVal); + if (libraryError.IsError()) + return libraryError; //Se i 2 dati coincidono ritorno OK if (value == newVal) @@ -1466,9 +1448,9 @@ namespace CMS_CORE_Library.S7Net public override CmsError PLC_RExpiredCandy(ref bool value) { - CmsError cmsError = MEM_RWBoolean(R, 0, EXP_CANDY_MEM.MemType, EXP_CANDY_MEM.Address, EXP_CANDY_MEM.SubAddress, 5, ref value); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWBoolean(R, 0, EXP_CANDY_MEM.MemType, EXP_CANDY_MEM.Address, EXP_CANDY_MEM.SubAddress, 5, ref value); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -1477,21 +1459,21 @@ namespace CMS_CORE_Library.S7Net // Long is formed by a integer + word // Write Word ushort word = (ushort)((value & 0xFFFF)); - CmsError cmsError = MEM_RWWord(W, 0, CANDY_MEM.MemType, CANDY_MEM.Address, CANDY_MEM.SubAddress, ref word); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWWord(W, 0, CANDY_MEM.MemType, CANDY_MEM.Address, CANDY_MEM.SubAddress, ref word); + if (libraryError.IsError()) + return libraryError; int integer = (int)((value & 0xFFFFFFFF0000) >> 16); // Write Integer (+1 is used because osai uses word) - cmsError = MEM_RWInteger(W, 0, CANDY_MEM.MemType, CANDY_MEM.Address, CANDY_MEM.SubAddress + 2, ref integer); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWInteger(W, 0, CANDY_MEM.MemType, CANDY_MEM.Address, CANDY_MEM.SubAddress + 2, ref integer); + if (libraryError.IsError()) + return libraryError; // Rieggo il dato long newVal = 0; - cmsError = PLC_RCandy(ref newVal); - if (cmsError.IsError()) - return cmsError; + libraryError = PLC_RCandy(ref newVal); + if (libraryError.IsError()) + return libraryError; // Se i 2 dati coincidono ritorno OK if (value == newVal) @@ -1505,15 +1487,15 @@ namespace CMS_CORE_Library.S7Net // Long is formed by a integer + word // Read word ushort word = 0; - CmsError cmsError = MEM_RWWord(R, 0, CANDY_MEM.MemType, CANDY_MEM.Address, CANDY_MEM.SubAddress, ref word); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWWord(R, 0, CANDY_MEM.MemType, CANDY_MEM.Address, CANDY_MEM.SubAddress, ref word); + if (libraryError.IsError()) + return libraryError; // Read first int uint firtInt = 0; - cmsError = MEM_RWDWord(R, 0, CANDY_MEM.MemType, CANDY_MEM.Address, CANDY_MEM.SubAddress + 2, ref firtInt); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWDWord(R, 0, CANDY_MEM.MemType, CANDY_MEM.Address, CANDY_MEM.SubAddress + 2, ref firtInt); + if (libraryError.IsError()) + return libraryError; @@ -1525,14 +1507,14 @@ namespace CMS_CORE_Library.S7Net public override CmsError PLC_RActiveClient(ref int clientId) { - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; byte readValues = 0; - cmsError = MEM_RWByte(R, 0, ACTIVE_CLIENT.MemType, ACTIVE_CLIENT.Address, ACTIVE_CLIENT.SubAddress, 0, ref readValues); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByte(R, 0, ACTIVE_CLIENT.MemType, ACTIVE_CLIENT.Address, ACTIVE_CLIENT.SubAddress, 0, ref readValues); + if (libraryError.IsError()) + return libraryError; // Convert integer array into bit array bool[] statusBits = ByteToBits(readValues); @@ -1566,13 +1548,11 @@ namespace CMS_CORE_Library.S7Net public override CmsError PROC_RMode(ushort ProcNumber, ref PROC_MODE Mode) { //Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; - // FIXME - - // fare guardando mappatura memoria stsato processo + // FIXME TODO - fare guardando mappatura memoria stsato processo #if false // Try to get information @@ -1605,15 +1585,12 @@ namespace CMS_CORE_Library.S7Net public override CmsError PROC_RStatus(ushort ProcNumber, ref PROC_STATUS Status) { // Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; - // FIXME - - // fare guardando amppatura variabili status - + // FIXME TODO - fare guardando mappatura variabili status #if false // Try to get information try @@ -1652,8 +1629,7 @@ namespace CMS_CORE_Library.S7Net // Get the process Active Alarms public override CmsError PROC_RActiveAlarms(ushort procNumber, ref List alarms) { - // fare guardando bitmap allarmi attivi - + // FIXME TODO - fare guardando bitmap allarmi attivi #if false alarms = SiemensAlarms .Where(x => x.Id >= IDMinChannel && x.Id <= IDMaxChannel && x.Parameters[0].Equals(procNumber.ToString())) @@ -1680,15 +1656,15 @@ namespace CMS_CORE_Library.S7Net { processData.Id = procNumber; // Read part program name - CmsError cmsError = PROC_RSelectedPPName(procNumber, ref processData.PartProgramName); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PROC_RSelectedPPName(procNumber, ref processData.PartProgramName); + if (libraryError.IsError()) + return libraryError; int readValue = 0; // Read processes status from memory - cmsError = MEM_RWInteger(R, 0, PROCESS_STATUS.MemType, PROCESS_STATUS.Address, PROCESS_STATUS.SubAddress + ((procNumber - 1) * 2), ref readValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWInteger(R, 0, PROCESS_STATUS.MemType, PROCESS_STATUS.Address, PROCESS_STATUS.SubAddress + ((procNumber - 1) * 2), ref readValue); + if (libraryError.IsError()) + return libraryError; byte[] bytes = BitConverter.GetBytes(readValue); @@ -1727,7 +1703,7 @@ namespace CMS_CORE_Library.S7Net return SELECTED_PROCESS_ERROR; procNumber = SelectedProcess; - //CmsError cmsError; + //CmsError libraryError; //bool readValue = false; //for (int i = 0; i < PROCESS_NUMBER; i++) @@ -1735,9 +1711,9 @@ namespace CMS_CORE_Library.S7Net // // Calculate bit address = ProcessBase + processId * 2 // int memoryAddress = SELECTED_PROCESS.SubAddress + i * (2); // // Read memory from plc - // cmsError = MEM_RWBoolean(R, 0, SELECTED_PROCESS.MemType, SELECTED_PROCESS.Address, memoryAddress, 2, ref readValue); - // if (cmsError.IsError()) - // return cmsError; + // libraryError = MEM_RWBoolean(R, 0, SELECTED_PROCESS.MemType, SELECTED_PROCESS.Address, memoryAddress, 2, ref readValue); + // if (libraryError.IsError()) + // return libraryError; // if (readValue) // { @@ -1751,7 +1727,7 @@ namespace CMS_CORE_Library.S7Net public override CmsError PROC_WSelectProcess(ushort procNumber) { - CmsError cmsError; + CmsError libraryError; byte processNum = (byte)procNumber; // Check parameter @@ -1759,9 +1735,9 @@ namespace CMS_CORE_Library.S7Net return INCORRECT_PARAMETERS_ERROR; // Write process number - cmsError = MEM_RWByte(W, 0, SELECT_PROCESS.MemType, SELECT_PROCESS.Address, SELECT_PROCESS.SubAddress, 0, ref processNum); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByte(W, 0, SELECT_PROCESS.MemType, SELECT_PROCESS.Address, SELECT_PROCESS.SubAddress, 0, ref processNum); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -1771,9 +1747,7 @@ namespace CMS_CORE_Library.S7Net if (processId <= 0) return PROC_NOT_FOUND_ERROR; - // FIXME - // ha senso? - + // FIXME TODO - ha senso? #if false try { @@ -1901,27 +1875,6 @@ namespace CMS_CORE_Library.S7Net { return FUNCTION_NOT_ALLOWED_ERROR; -#if false - try - { - Item item = new Item(); - if (processId == 0) - item.Path = "/Channel/ProgramInfo/actBlock[u1,1]"; // Default - else - item.Path = "/Channel/ProgramInfo/actBlock[u" + processId + ",1]"; - - DataSvc dataSvc = new DataSvc(); - dataSvc.Read(item); - - line = item.Value.ToString(); - } - catch (Exception ex) - { - return ManageException(ex); - } - - return NO_ERROR; -#endif } #endregion PROCESS (PATH) High-level data @@ -1937,14 +1890,14 @@ namespace CMS_CORE_Library.S7Net /// public override CmsError PLC_RStatusCommand(ref List statusCmd) { - CmsError cmsError = NO_ERROR; + CmsError libraryError = NO_ERROR; // leggo intera area DWORD e di conseguenza processo... statusCmd = new List(); - cmsError = MEM_RWWordList(R, 0, STATUS_CMD_DATA.MemType, STATUS_CMD_DATA.Address, STATUS_CMD_DATA.SubAddress, STATUS_CMD_DATA.Size, ref statusCmd); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWWordList(R, 0, STATUS_CMD_DATA.MemType, STATUS_CMD_DATA.Address, STATUS_CMD_DATA.SubAddress, STATUS_CMD_DATA.Size, ref statusCmd); + if (libraryError.IsError()) + return libraryError; - return cmsError; + return libraryError; } /// /// Process conf request @@ -1952,14 +1905,14 @@ namespace CMS_CORE_Library.S7Net /// public override CmsError PLC_WAckConfRiskRequest() { - CmsError cmsError = NO_ERROR; + CmsError libraryError = NO_ERROR; // Call ack for config request RISK - cmsError = PLC_WAck(REQ_CONF_ACK, REQ_CONF_STROBE, 8); - if (cmsError.IsError()) - return cmsError; + libraryError = PLC_WAck(REQ_CONF_ACK, REQ_CONF_STROBE, 8); + if (libraryError.IsError()) + return libraryError; - return cmsError; + return libraryError; } /// /// Process conf request @@ -1967,14 +1920,14 @@ namespace CMS_CORE_Library.S7Net /// public override CmsError PLC_WAckConfRecipeRequest() { - CmsError cmsError = NO_ERROR; + CmsError libraryError = NO_ERROR; // Call ack for config request RECIPE - cmsError = PLC_WAck(REQ_CONF_ACK, REQ_CONF_STROBE, 9); - if (cmsError.IsError()) - return cmsError; + libraryError = PLC_WAck(REQ_CONF_ACK, REQ_CONF_STROBE, 9); + if (libraryError.IsError()) + return libraryError; - return cmsError; + return libraryError; } /// /// Process production info update @@ -1982,16 +1935,14 @@ namespace CMS_CORE_Library.S7Net /// public override CmsError PLC_WAckProdUpdate() { - CmsError cmsError = NO_ERROR; + CmsError libraryError = NO_ERROR; -#if false // Call ack for prod update - cmsError = PLC_WAck(PROD_UPD_STROBE, PROD_UPD_ACK, 4); - if (cmsError.IsError()) - return cmsError; -#endif + libraryError = PLC_WAck(REQ_CONF_ACK, REQ_CONF_STROBE, 4); + if (libraryError.IsError()) + return libraryError; - return cmsError; + return libraryError; } /// @@ -2003,13 +1954,13 @@ namespace CMS_CORE_Library.S7Net public override CmsError PLC_RRecipeParamList(bool onlyRT, ref Dictionary currParamList) { CmsError currError = NO_ERROR; + // refresh dati veloci / RT + refreshMemRecipeParameterRT(); // se richiesto NON SOLO RT faccio refresh anche dati "lenti" if (!onlyRT) { refreshMemRecipeParameter(); } - // refresh dati veloci / RT - refreshMemRecipeParameterRT(); // copio lista act in output... currParamList = ThermoParamList; @@ -2023,15 +1974,15 @@ namespace CMS_CORE_Library.S7Net public override CmsError PLC_WRecipeParameters(Dictionary newParameters) { // init variabili accessorie - CmsError cmsError = NO_ERROR; + CmsError libraryError = NO_ERROR; List currMem = new List(); int memIndex = 0; int packSize = 20; // leggo da PLC a array di byte di appoggio... - cmsError = MEM_RWByteList(R, 0, PARAMETER_DATA.MemType, PARAMETER_DATA.Address, PARAMETER_DATA.SubAddress, 0, PARAMETER_DATA.Size, ref currMem); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByteList(R, 0, PARAMETER_DATA.MemType, PARAMETER_DATA.Address, PARAMETER_DATA.SubAddress, 0, PARAMETER_DATA.Size, ref currMem); + if (libraryError.IsError()) + return libraryError; PlcParam currParam; List newMem = new List(); @@ -2061,9 +2012,9 @@ namespace CMS_CORE_Library.S7Net newMem = memArray.ToList(); memIndex = 0; // SCRIVO in blocco! - cmsError = MEM_RWByteList(W, 0, PARAMETER_DATA.MemType, PARAMETER_DATA.Address, PARAMETER_DATA.SubAddress, 0, PARAMETER_DATA.Size, ref newMem); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByteList(W, 0, PARAMETER_DATA.MemType, PARAMETER_DATA.Address, PARAMETER_DATA.SubAddress, 0, PARAMETER_DATA.Size, ref newMem); + if (libraryError.IsError()) + return libraryError; } return NO_ERROR; @@ -2079,17 +2030,17 @@ namespace CMS_CORE_Library.S7Net if (confirmUpdate) { // Call confirm update - CmsError cmsError = PLC_WStrobe(PARAMETER_EDIT_ACK, PARAMETER_EDIT_STROBE, 2); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PLC_WStrobe(PARAMETER_EDIT_ACK, PARAMETER_EDIT_STROBE, 2); + if (libraryError.IsError()) + return libraryError; } // altrimenti mando strobe comando cancel... else { // Call cancel update - CmsError cmsError = PLC_WStrobe(PARAMETER_EDIT_ACK, PARAMETER_EDIT_STROBE, 3); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PLC_WStrobe(PARAMETER_EDIT_ACK, PARAMETER_EDIT_STROBE, 3); + if (libraryError.IsError()) + return libraryError; } return NO_ERROR; @@ -2149,10 +2100,10 @@ namespace CMS_CORE_Library.S7Net public override CmsError PLC_RGaugeData(ref ThermoModels.GaugeModel gaugeData) { List Values = new List(); - CmsError cmsError = MEM_RWIntegerList(R, 1, MACHINE_GAUGE_DATA.MemType, MACHINE_GAUGE_DATA.Address, MACHINE_GAUGE_DATA.SubAddress, MACHINE_GAUGE_DATA.Size / 4, ref Values); + CmsError libraryError = MEM_RWIntegerList(R, 1, MACHINE_GAUGE_DATA.MemType, MACHINE_GAUGE_DATA.Address, MACHINE_GAUGE_DATA.SubAddress, MACHINE_GAUGE_DATA.Size / 4, ref Values); - if (cmsError.IsError()) - return cmsError; + if (libraryError.IsError()) + return libraryError; gaugeData = new ThermoModels.GaugeModel() { @@ -2172,9 +2123,9 @@ namespace CMS_CORE_Library.S7Net public override CmsError PLC_RProdInfo(ref ThermoModels.ProdInfoModel currProdInfo) { List currMem = new List(); - CmsError cmsError = MEM_RWByteList(R, 0, PROCESS_PROD_INFO.MemType, PROCESS_PROD_INFO.Address, PROCESS_PROD_INFO.SubAddress, 0, PROCESS_PROD_INFO.Size, ref currMem); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByteList(R, 0, PROCESS_PROD_INFO.MemType, PROCESS_PROD_INFO.Address, PROCESS_PROD_INFO.SubAddress, 0, PROCESS_PROD_INFO.Size, ref currMem); + if (libraryError.IsError()) + return libraryError; // converto! currProdInfo = new ThermoModels.ProdInfoModel() @@ -2198,6 +2149,57 @@ namespace CMS_CORE_Library.S7Net return NO_ERROR; } /// + /// Set ProdInfo data + /// + /// Qty requested (target) + /// Reset counter (actual counter) + /// + public override CmsError PLC_WProdInfo(short numTarget, bool doReset) + { + List currMem = new List(); + CmsError libraryError = MEM_RWByteList(R, 0, PROCESS_PROD_INFO.MemType, PROCESS_PROD_INFO.Address, PROCESS_PROD_INFO.SubAddress, 0, PROCESS_PROD_INFO.Size, ref currMem); + if (libraryError.IsError()) + return libraryError; + + // converto! + var currProdInfo = new ThermoModels.ProdInfoModel() + { + NumTarget = S7.Net.Types.Int.FromByteArray(currMem.Skip(0).Take(2).ToArray()), + NumDone = S7.Net.Types.Int.FromByteArray(currMem.Skip(2).Take(2).ToArray()), + // cicli preriscaldo? FIXME TODO + TimeWarm = S7.Net.Types.DInt.FromByteArray(currMem.Skip(6).Take(4).ToArray()), + TimeVent = S7.Net.Types.DInt.FromByteArray(currMem.Skip(10).Take(4).ToArray()), + TimeVacuum = S7.Net.Types.DInt.FromByteArray(currMem.Skip(14).Take(4).ToArray()), + TimeCycleGross = S7.Net.Types.DInt.FromByteArray(currMem.Skip(18).Take(4).ToArray()), + TimeCycleNet = S7.Net.Types.DInt.FromByteArray(currMem.Skip(22).Take(4).ToArray()), + MaterialTempEndWarm = S7.Net.Types.Double.FromByteArray(currMem.Skip(26).Take(4).ToArray()), + MaterialTempEndVent = S7.Net.Types.Double.FromByteArray(currMem.Skip(30).Take(4).ToArray()), + MoldTemp = S7.Net.Types.Double.FromByteArray(currMem.Skip(34).Take(4).ToArray()), + VacuumReadVal = S7.Net.Types.Double.FromByteArray(currMem.Skip(38).Take(4).ToArray()), + MouldEnergyOUT = S7.Net.Types.Double.FromByteArray(currMem.Skip(42).Take(4).ToArray()), + MouldEnergyIN = S7.Net.Types.Double.FromByteArray(currMem.Skip(46).Take(4).ToArray()) + }; + + // aggiorno... + currProdInfo.NumTarget = numTarget; + // converto a byte... + List newMem = currProdInfo.convertToByte().ToList(); + // riscrivo!!!! + libraryError = MEM_RWByteList(W, 0, PROCESS_PROD_INFO.MemType, PROCESS_PROD_INFO.Address, PROCESS_PROD_INFO.SubAddress, 0, PROCESS_PROD_INFO.Size, ref newMem); + if (libraryError.IsError()) + return libraryError; + + if (doReset) + { + // send strobe of NEW WorkOrder / reset QTY + libraryError = PLC_WStrobe(PROD_ACK, PROD_STROBE, 10); + if (libraryError.IsError()) + return libraryError; + } + + return NO_ERROR; + } + /// /// Get current Production Cycle data /// /// @@ -2205,9 +2207,9 @@ namespace CMS_CORE_Library.S7Net public override CmsError PLC_RProdCycle(ref ThermoModels.ProdCycleModel currProdCycle) { List currMem = new List(); - CmsError cmsError = MEM_RWByteList(R, 0, PROCESS_PROD_CYCLE.MemType, PROCESS_PROD_CYCLE.Address, PROCESS_PROD_CYCLE.SubAddress, 0, PROCESS_PROD_CYCLE.Size, ref currMem); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByteList(R, 0, PROCESS_PROD_CYCLE.MemType, PROCESS_PROD_CYCLE.Address, PROCESS_PROD_CYCLE.SubAddress, 0, PROCESS_PROD_CYCLE.Size, ref currMem); + if (libraryError.IsError()) + return libraryError; // converto! currProdCycle = new ThermoModels.ProdCycleModel() @@ -2228,14 +2230,14 @@ namespace CMS_CORE_Library.S7Net /// protected CmsError refreshMemRecipeParameterRT() { - CmsError cmsError = NO_ERROR; + CmsError libraryError = NO_ERROR; List currMem = new List(); int packSize = 8; // leggo da PLC a array di byte di appoggio... - cmsError = MEM_RWByteList(R, 0, PARAMETER_RT_DATA.MemType, PARAMETER_RT_DATA.Address, PARAMETER_RT_DATA.SubAddress, 0, PARAMETER_RT_DATA.Size, ref currMem); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByteList(R, 0, PARAMETER_RT_DATA.MemType, PARAMETER_RT_DATA.Address, PARAMETER_RT_DATA.SubAddress, 0, PARAMETER_RT_DATA.Size, ref currMem); + if (libraryError.IsError()) + return libraryError; // controllo SE ho dati... if (currMem.Count > 0) @@ -2274,27 +2276,30 @@ namespace CMS_CORE_Library.S7Net } } - return cmsError; + return libraryError; } /// /// Refresh recipe parameters /// protected CmsError refreshMemRecipeParameter() { - CmsError cmsError = NO_ERROR; + CmsError libraryError = NO_ERROR; List currMem = new List(); int packSize = 20; // leggo da PLC a array di byte di appoggio... - cmsError = MEM_RWByteList(R, 0, PARAMETER_DATA.MemType, PARAMETER_DATA.Address, PARAMETER_DATA.SubAddress, 0, PARAMETER_DATA.Size, ref currMem); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByteList(R, 0, PARAMETER_DATA.MemType, PARAMETER_DATA.Address, PARAMETER_DATA.SubAddress, 0, PARAMETER_DATA.Size, ref currMem); + if (libraryError.IsError()) + return libraryError; + + // controllo SE ho dati... if (currMem.Count > 0) { // converto a blocchi di 8 byte... byte[] memArray = currMem.ToArray(); + for (int i = 0; i < PARAMETER_DATA.Size / packSize; i++) { PlcParam currParam = new PlcParam(memArray.Skip(i * packSize).Take(packSize).ToArray()); @@ -2325,10 +2330,19 @@ namespace CMS_CORE_Library.S7Net { } } } + else + { + libraryError = S7_PLC_WRONG_DATA; + } } } + else + { + libraryError = S7_PLC_EMPTY_READ; + } - return cmsError; + + return libraryError; } /// /// Oggetto Parametro RT da PLC @@ -2425,7 +2439,7 @@ namespace CMS_CORE_Library.S7Net int packSize = 12; // leggo da PLC a array di byte di appoggio... - CmsError cmsError = MEM_RWByteList(R, 0, MODULE_RT_DATA.MemType, MODULE_RT_DATA.Address, MODULE_RT_DATA.SubAddress, 0, MODULE_RT_DATA.Size, ref currMem); + CmsError libraryError = MEM_RWByteList(R, 0, MODULE_RT_DATA.MemType, MODULE_RT_DATA.Address, MODULE_RT_DATA.SubAddress, 0, MODULE_RT_DATA.Size, ref currMem); // controllo SE ho dati... if (currMem.Count > 0) @@ -2470,8 +2484,16 @@ namespace CMS_CORE_Library.S7Net { } } } + else + { + libraryError = S7_PLC_WRONG_DATA; + } } } + else + { + libraryError = S7_PLC_EMPTY_READ; + } } /// /// Refresh ModuleBlock @@ -2482,7 +2504,7 @@ namespace CMS_CORE_Library.S7Net int packSize = 18; // leggo da PLC a array di byte di appoggio... - CmsError cmsError = MEM_RWByteList(R, 0, MODULE_DATA.MemType, MODULE_DATA.Address, MODULE_DATA.SubAddress, 0, MODULE_DATA.Size, ref currMem); + CmsError libraryError = MEM_RWByteList(R, 0, MODULE_DATA.MemType, MODULE_DATA.Address, MODULE_DATA.SubAddress, 0, MODULE_DATA.Size, ref currMem); // controllo SE ho dati... @@ -2519,8 +2541,16 @@ namespace CMS_CORE_Library.S7Net }); } } + else + { + libraryError = S7_PLC_WRONG_DATA; + } } } + else + { + libraryError = S7_PLC_EMPTY_READ; + } } /// /// Oggetto Modulo Blocco RT da PLC @@ -2627,7 +2657,7 @@ namespace CMS_CORE_Library.S7Net List currMem = new List(); // leggo da PLC a array di byte di appoggio... - CmsError cmsError = MEM_RWByteList(R, 0, RISC_CHP_DATA.MemType, RISC_CHP_DATA.Address, RISC_CHP_DATA.SubAddress, 0, RISC_CHP_DATA.Size, ref currMem); + CmsError libraryError = MEM_RWByteList(R, 0, RISC_CHP_DATA.MemType, RISC_CHP_DATA.Address, RISC_CHP_DATA.SubAddress, 0, RISC_CHP_DATA.Size, ref currMem); // copio! controllo SE ho dati... if (currMem.Count > 0) @@ -2639,7 +2669,12 @@ namespace CMS_CORE_Library.S7Net // cerco id + 1 (su memoria è base 0) if (ThermoWarmChannels.ContainsKey(i + 1)) { - ThermoWarmChannels[i + 1].SetpointHMI = memArray[i]; + try + { + ThermoWarmChannels[i + 1].SetpointHMI = memArray[i]; + } + catch + { } } else { @@ -2651,6 +2686,10 @@ namespace CMS_CORE_Library.S7Net } } } + else + { + libraryError = S7_PLC_EMPTY_READ; + } } /// /// Refresh Canali Riscaldi: SetPoint PLC @@ -2661,7 +2700,7 @@ namespace CMS_CORE_Library.S7Net List currMem = new List(); // leggo da PLC a array di byte di appoggio... - CmsError cmsError = MEM_RWByteList(R, 0, RISC_PLC_DATA.MemType, RISC_PLC_DATA.Address, RISC_PLC_DATA.SubAddress, 0, RISC_PLC_DATA.Size, ref currMem); + CmsError libraryError = MEM_RWByteList(R, 0, RISC_PLC_DATA.MemType, RISC_PLC_DATA.Address, RISC_PLC_DATA.SubAddress, 0, RISC_PLC_DATA.Size, ref currMem); // copio! controllo SE ho dati... if (currMem.Count > 0) @@ -2695,7 +2734,7 @@ namespace CMS_CORE_Library.S7Net List currMem = new List(); // leggo da PLC a array di byte di appoggio... - CmsError cmsError = MEM_RWByteList(R, 0, RISC_ICH_DATA.MemType, RISC_ICH_DATA.Address, RISC_ICH_DATA.SubAddress, 0, RISC_ICH_DATA.Size, ref currMem); + CmsError libraryError = MEM_RWByteList(R, 0, RISC_ICH_DATA.MemType, RISC_ICH_DATA.Address, RISC_ICH_DATA.SubAddress, 0, RISC_ICH_DATA.Size, ref currMem); // copio! controllo SE ho dati... if (currMem.Count > 0) @@ -2736,7 +2775,7 @@ namespace CMS_CORE_Library.S7Net List currMem = new List(); // leggo da PLC a array di byte di appoggio... - CmsError cmsError = MEM_RWByteList(R, 0, RISC_OVP_DATA.MemType, RISC_OVP_DATA.Address, RISC_OVP_DATA.SubAddress, 0, RISC_OVP_DATA.Size, ref currMem); + CmsError libraryError = MEM_RWByteList(R, 0, RISC_OVP_DATA.MemType, RISC_OVP_DATA.Address, RISC_OVP_DATA.SubAddress, 0, RISC_OVP_DATA.Size, ref currMem); // copio! controllo SE ho dati... if (currMem.Count > 0) @@ -2770,7 +2809,7 @@ namespace CMS_CORE_Library.S7Net List currMem = new List(); // leggo da PLC a array di byte di appoggio... - CmsError cmsError = MEM_RWByteList(R, 0, RISC_ESP_DATA.MemType, RISC_ESP_DATA.Address, RISC_ESP_DATA.SubAddress, 0, RISC_ESP_DATA.Size, ref currMem); + CmsError libraryError = MEM_RWByteList(R, 0, RISC_ESP_DATA.MemType, RISC_ESP_DATA.Address, RISC_ESP_DATA.SubAddress, 0, RISC_ESP_DATA.Size, ref currMem); // copio! controllo SE ho dati... if (currMem.Count > 0) @@ -2808,9 +2847,9 @@ namespace CMS_CORE_Library.S7Net List currMem = new List(); // read actual data on memory... - CmsError cmsError = MEM_RWByteList(R, 0, RISC_CHP_DATA.MemType, RISC_CHP_DATA.Address, RISC_CHP_DATA.SubAddress, 0, RISC_CHP_DATA.Size, ref currMem); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByteList(R, 0, RISC_CHP_DATA.MemType, RISC_CHP_DATA.Address, RISC_CHP_DATA.SubAddress, 0, RISC_CHP_DATA.Size, ref currMem); + if (libraryError.IsError()) + return libraryError; newMem = currMem.ToArray(); @@ -2822,9 +2861,9 @@ namespace CMS_CORE_Library.S7Net // return as list... currMem = newMem.ToList(); // scrivo sul PLC array di byte... - cmsError = MEM_RWByteList(W, 0, RISC_CHP_DATA.MemType, RISC_CHP_DATA.Address, RISC_CHP_DATA.SubAddress, 0, RISC_CHP_DATA.Size, ref currMem); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByteList(W, 0, RISC_CHP_DATA.MemType, RISC_CHP_DATA.Address, RISC_CHP_DATA.SubAddress, 0, RISC_CHP_DATA.Size, ref currMem); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -2842,9 +2881,9 @@ namespace CMS_CORE_Library.S7Net List currMem = new List(); // read actual data on memory... - CmsError cmsError = MEM_RWByteList(R, 0, RISC_CHP_DATA.MemType, RISC_CHP_DATA.Address, RISC_CHP_DATA.SubAddress, 0, RISC_CHP_DATA.Size, ref currMem); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByteList(R, 0, RISC_CHP_DATA.MemType, RISC_CHP_DATA.Address, RISC_CHP_DATA.SubAddress, 0, RISC_CHP_DATA.Size, ref currMem); + if (libraryError.IsError()) + return libraryError; newMem = currMem.ToArray(); @@ -2856,9 +2895,9 @@ namespace CMS_CORE_Library.S7Net // return as list... currMem = newMem.ToList(); // scrivo sul PLC array di byte... - cmsError = MEM_RWByteList(W, 0, RISC_CHP_DATA.MemType, RISC_CHP_DATA.Address, RISC_CHP_DATA.SubAddress, 0, RISC_CHP_DATA.Size, ref currMem); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByteList(W, 0, RISC_CHP_DATA.MemType, RISC_CHP_DATA.Address, RISC_CHP_DATA.SubAddress, 0, RISC_CHP_DATA.Size, ref currMem); + if (libraryError.IsError()) + return libraryError; #endif return NO_ERROR; @@ -2875,9 +2914,9 @@ namespace CMS_CORE_Library.S7Net List currMem = new List(); // read actual data on memory... - CmsError cmsError = MEM_RWByteList(R, 0, RISC_CFI_DATA.MemType, RISC_CFI_DATA.Address, RISC_CFI_DATA.SubAddress, 0, RISC_CFI_DATA.Size, ref currMem); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByteList(R, 0, RISC_CFI_DATA.MemType, RISC_CFI_DATA.Address, RISC_CFI_DATA.SubAddress, 0, RISC_CFI_DATA.Size, ref currMem); + if (libraryError.IsError()) + return libraryError; newMem = currMem.ToArray(); @@ -2889,9 +2928,9 @@ namespace CMS_CORE_Library.S7Net // return as list... currMem = newMem.ToList(); // scrivo sul PLC array di byte... - cmsError = MEM_RWByteList(W, 0, RISC_CFI_DATA.MemType, RISC_CFI_DATA.Address, RISC_CFI_DATA.SubAddress, 0, RISC_CFI_DATA.Size, ref currMem); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByteList(W, 0, RISC_CFI_DATA.MemType, RISC_CFI_DATA.Address, RISC_CFI_DATA.SubAddress, 0, RISC_CFI_DATA.Size, ref currMem); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -2907,9 +2946,9 @@ namespace CMS_CORE_Library.S7Net List currMem = new List(); // read actual data on memory... - CmsError cmsError = MEM_RWWord(R, 0, RISC_VU_MIN.MemType, RISC_VU_MIN.Address, RISC_VU_MIN.SubAddress, ref VUmin); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWWord(R, 0, RISC_VU_MIN.MemType, RISC_VU_MIN.Address, RISC_VU_MIN.SubAddress, ref VUmin); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -2924,9 +2963,9 @@ namespace CMS_CORE_Library.S7Net List ListValue = new List(); // read actual data on memory... - CmsError cmsError = MEM_RWDoubleList(R, 0, RISC_ICH_MIN_DATA.MemType, RISC_ICH_MIN_DATA.Address, RISC_ICH_MIN_DATA.SubAddress, RISC_ICH_MIN_DATA.Size, ref ListValue); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWDoubleList(R, 0, RISC_ICH_MIN_DATA.MemType, RISC_ICH_MIN_DATA.Address, RISC_ICH_MIN_DATA.SubAddress, RISC_ICH_MIN_DATA.Size, ref ListValue); + if (libraryError.IsError()) + return libraryError; var newMem = ListValue.ToArray(); @@ -2938,9 +2977,9 @@ namespace CMS_CORE_Library.S7Net // return as list... ListValue = newMem.ToList(); // scrivo sul PLC array di byte... - cmsError = MEM_RWDoubleList(W, 0, RISC_ICH_MIN_DATA.MemType, RISC_ICH_MIN_DATA.Address, RISC_ICH_MIN_DATA.SubAddress, RISC_ICH_MIN_DATA.Size, ref ListValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWDoubleList(W, 0, RISC_ICH_MIN_DATA.MemType, RISC_ICH_MIN_DATA.Address, RISC_ICH_MIN_DATA.SubAddress, RISC_ICH_MIN_DATA.Size, ref ListValue); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -2956,9 +2995,9 @@ namespace CMS_CORE_Library.S7Net List currMem = new List(); // read actual data on memory... - CmsError cmsError = MEM_RWByteList(R, 0, RISC_OCC_DATA.MemType, RISC_OCC_DATA.Address, RISC_OCC_DATA.SubAddress, 0, RISC_OCC_DATA.Size, ref currMem); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWByteList(R, 0, RISC_OCC_DATA.MemType, RISC_OCC_DATA.Address, RISC_OCC_DATA.SubAddress, 0, RISC_OCC_DATA.Size, ref currMem); + if (libraryError.IsError()) + return libraryError; newMem = currMem.ToArray(); @@ -2970,9 +3009,9 @@ namespace CMS_CORE_Library.S7Net // return as list... currMem = newMem.ToList(); // scrivo sul PLC array di byte... - cmsError = MEM_RWByteList(W, 0, RISC_OCC_DATA.MemType, RISC_OCC_DATA.Address, RISC_OCC_DATA.SubAddress, 0, RISC_OCC_DATA.Size, ref currMem); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByteList(W, 0, RISC_OCC_DATA.MemType, RISC_OCC_DATA.Address, RISC_OCC_DATA.SubAddress, 0, RISC_OCC_DATA.Size, ref currMem); + if (libraryError.IsError()) + return libraryError; return NO_ERROR; } @@ -2987,25 +3026,25 @@ namespace CMS_CORE_Library.S7Net if (mode == 1) { // Call confirm update - CmsError cmsError = PLC_WStrobe(REQ_MODE_ACK, REQ_MODE_STROBE, 6); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PLC_WStrobe(REQ_MODE_ACK, REQ_MODE_STROBE, 6); + if (libraryError.IsError()) + return libraryError; } else if (mode == 2) { // Call confirm update - CmsError cmsError = PLC_WStrobe(REQ_MODE_ACK, REQ_MODE_STROBE, 5); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PLC_WStrobe(REQ_MODE_ACK, REQ_MODE_STROBE, 5); + if (libraryError.IsError()) + return libraryError; } else if (mode == 3) { // Call confirm update - CmsError cmsError = PLC_WStrobe(REQ_MODE_ACK, REQ_MODE_STROBE, 7); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = PLC_WStrobe(REQ_MODE_ACK, REQ_MODE_STROBE, 7); + if (libraryError.IsError()) + return libraryError; } return NO_ERROR; @@ -3020,315 +3059,52 @@ namespace CMS_CORE_Library.S7Net public override CmsError AXES_RInterpPosition(ushort channel, ref Dictionary axes) { return FUNCTION_NOT_ALLOWED_ERROR; -#if false - try - { - axes = new Dictionary(); - // Cycle between axes - // The dictionary is written asynchronously so i have to create a copy of the dictionary with .ToList() to avoid exceptions - // axes = InterpAxesPosition.ToDictionary(x => x.Key, x => x.Value); This code throws exceptions - lock (InterpAxesPosition) - { - foreach (var axis in InterpAxesPosition.ToList()) - { - axes.Add(axis.Key, axis.Value); - } - } - } - catch (Exception ex) - { - return ManageException(ex); - } - - return NO_ERROR; -#endif } public override CmsError AXES_RMachinePosition(ushort channel, ref Dictionary axes) { return FUNCTION_NOT_ALLOWED_ERROR; -#if false - try - { - axes = new Dictionary(); - - lock (MachineAxesPosition) - { - // Cycle between axes - // The dictionary is written asynchronously so i have to create a copy of the dictionary with .ToList() to avoid exceptions - foreach (var axis in MachineAxesPosition.ToList()) - { - axes.Add(axis.Key, axis.Value); - } - } - } - catch (Exception ex) - { - return ManageException(ex); - } - - return NO_ERROR; -#endif } public override CmsError AXES_RProgrPosition(ushort channel, ref Dictionary axes) { return FUNCTION_NOT_ALLOWED_ERROR; -#if false - try - { - axes = new Dictionary(); - lock (ProgrammedAxisPosition) - { - // Cycle between axes - // The dictionary is written asynchronously so i have to create a copy of the dictionary with .ToList() to avoid exceptions - foreach (var axis in ProgrammedAxisPosition.ToList()) - { - axes.Add(axis.Key, axis.Value); - } - } - } - catch (Exception ex) - { - return ManageException(ex); - } - - return NO_ERROR; -#endif } public override CmsError AXES_RFollowingError(ushort channel, ref Dictionary axes) { return FUNCTION_NOT_ALLOWED_ERROR; -#if false - try - { - axes = new Dictionary(); - lock (InterpAxesPosition) - { - // Cycle between axes - // The dictionary is written asynchronously so i have to create a copy of the dictionary with .ToList() to avoid exceptions - foreach (var axis in InterpAxesPosition.ToList()) - { - axes.Add(axis.Key, axis.Value); - } - } - } - catch (Exception ex) - { - return ManageException(ex); - } - - return NO_ERROR; -#endif } public override CmsError AXES_RDistanceToGo(ushort channel, ref Dictionary axes) { return FUNCTION_NOT_ALLOWED_ERROR; -#if false - try - { - axes = new Dictionary(); - lock (ToGoAxesPosition) - { - // Cycle between axes - // The dictionary is written asynchronously so i have to create a copy of the dictionary with .ToList() to avoid exceptions - foreach (var axis in ToGoAxesPosition.ToList()) - { - axes.Add(axis.Key, axis.Value); - } - } - } - catch (Exception ex) - { - return ManageException(ex); - } - return NO_ERROR; -#endif } private Dictionary AXES_RAxesPos(ushort channel, string positionType) { Dictionary axes = new Dictionary(); -#if false - List axesConf = new List(); - - CmsError cmsError = AXES_RAxesNames(channel, ref axesConf); - - List items = new List(); - foreach (var conf in axesConf) - { - // Setup the items to be readed - items.Add(new Item() { Path = string.Format("/Channel/{0}[u{1},{2}]", positionType, channel, conf.Id) }); - } - - DataSvc dataSvc = new DataSvc(); - // Read all the items - dataSvc.Read(items.ToArray()); - - int i = 0; - foreach (var conf in axesConf) - { - axes.Add(conf.Id.ToString(), Convert.ToDouble(items[i].Value)); - i++; - } -#endif - return axes; } public override CmsError AXES_RAxesNames(ushort channel, ref List axesData) { return FUNCTION_NOT_ALLOWED_ERROR; -#if false - if (!File.Exists(AXES_FILE_PATH)) - return CmsError.InternalError("File" + AXES_FILE_PATH + " not found", new Exception("File" + AXES_FILE_PATH + " not found")); - - // Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; - List configuredAxes = new List(); - - Item[] ncAxes = new Item[MAX_AXES_FOR_PROCESS * 3]; - try - { - // Check if the static object is already populated - if (AxesData.Count == 0) - { - XDocument xmlAxesFile = XDocument.Load(AXES_FILE_PATH); - // Read data from file - configuredAxes = xmlAxesFile - .Root - .Elements() - .Select(x => new AxisModel() - { - Id = Convert.ToInt32(x.Attribute("id").Value), - Name = x.Value, - IsSelectable = false - }) - .Where(x => x.Id != 0) // Parse only active axes - .ToList(); - } - - // Object used for reading data from NC - DataSvc svcData = new DataSvc(); - - bool[] axesAreVisible = new bool[MAX_AXES_FOR_PROCESS]; - // Read from Nc - for (int i = 1; i <= MAX_AXES_FOR_PROCESS; i++) - { - // Set the path to read on which process is the axis - ncAxes[i - 1] = new Item("/Nck/MachineAxis/chanNoAxisIsActive[" + i + "]"); - // Set the path in order to find which axes are visible - ncAxes[i - 1 + MAX_AXES_FOR_PROCESS] = new Item("/NC/_N_CH_TEA_ACX/$MC_DISPLAY_AXIS[u" + channel + "," + i + "]"); - // Set the path of the axes type - ncAxes[i - 1 + (MAX_AXES_FOR_PROCESS * 2)] = new Item("/Nck/Configuration/axisType[" + i + "]"); - } - - svcData.Read(ncAxes); - - for (int i = 0; i < MAX_AXES_FOR_PROCESS; i++) - { - // Set visible field - axesAreVisible[i] = (Convert.ToInt32(ncAxes[i + MAX_AXES_FOR_PROCESS].Value) & 1) == 1; - int processAxes = Convert.ToInt32(ncAxes[i].Value); - // If axis is visible, add it to the output - if (processAxes == channel && axesAreVisible[i]) - { - // Check if axes is configurated axes - var axis = configuredAxes.Where(x => x.Id == (i + 1)).FirstOrDefault(); - if (axis != null) - { - axis.Type = (AXIS_TYPE)Convert.ToInt32(ncAxes[i + (MAX_AXES_FOR_PROCESS * 2)].Value); - AxesData.Add(axis); - } - } - } - - // Get from PLC which axis can be selected - List ids = new List(); - cmsError = MEM_RWByteList(R, 0, AXES_BUTTON_VISIBLE.MemType, AXES_BUTTON_VISIBLE.Address, AXES_BUTTON_VISIBLE.SubAddress, 0, AXES_BUTTON_VISIBLE.Size, ref ids); - if (cmsError.IsError()) - return cmsError; - - // Parse the data readed from PLC - foreach (byte id in ids) - { - if (id != 0) - { - // If axis exists, set it as selectable - var tmpAxis = AxesData.Where(x => x.Id == id).FirstOrDefault(); - if (tmpAxis != null) - tmpAxis.IsSelectable = true; - } - } - - axesData = AxesData; - } - catch (Exception ex) - { - return ManageException(ex); - } - - return NO_ERROR; -#endif } public override CmsError AXES_RSelectedAxis(ref byte axisId) { return FUNCTION_NOT_ALLOWED_ERROR; -#if false - // Read byte from memory - CmsError cmsError = MEM_RWByte(R, 0, SELECTED_AXIS.MemType, SELECTED_AXIS.Address, SELECTED_AXIS.SubAddress, 1, ref axisId); - if (cmsError.IsError()) - return cmsError; - - return NO_ERROR; -#endif } public override CmsError AXES_WSelectAxis(byte axisId) { return FUNCTION_NOT_ALLOWED_ERROR; -#if false - // Write byte from memory - CmsError cmsError = MEM_RWByte(W, 0, SELECT_AXIS.MemType, SELECT_AXIS.Address, SELECT_AXIS.SubAddress, 1, ref axisId); - if (cmsError.IsError()) - return cmsError; - - return NO_ERROR; -#endif } public override CmsError AXES_ROrigin(int numberOfAxes) { return FUNCTION_NOT_ALLOWED_ERROR; -#if false - DataSvc dataSvc = new DataSvc(); - List ncAxes = new List(); - - List axes = new List(); - CmsError cmsError = AXES_RAxesNames(1, ref axes); - - - for (int i = 1; i <= 4; i++) - { - foreach (var axis in axes) - { - var num = axis.Id + (axes.Last().Id * i); - ncAxes.Add(new Item() - { - Path = "/Channel/UserFrame/linShift[u1, " + num + "]" - }); - } - } - - dataSvc.Read(ncAxes.ToArray()); - - return NO_ERROR; -#endif } #endregion PROCESS-AXES (PATH) High-level data @@ -3341,22 +3117,22 @@ namespace CMS_CORE_Library.S7Net public override CmsError MEM_RWBoolean(bool bWrite, int Process, MEMORY_TYPE MemType, int MemTable, int MemIndex, int MemBit, ref bool Value) { //Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; //Check if the Bit Number is Correct - cmsError = CheckBitRange(MemBit); - if (cmsError.IsError()) - return cmsError; + libraryError = CheckBitRange(MemBit); + if (libraryError.IsError()) + return libraryError; byte bValue = 0; ushort pow = (ushort)Math.Pow(2, MemBit); //Read the Byte where is the bit - cmsError = MEM_RWByte(R, Process, MemType, MemTable, MemIndex, 0, ref bValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByte(R, Process, MemType, MemTable, MemIndex, 0, ref bValue); + if (libraryError.IsError()) + return libraryError; //If i have to Write -> Write the Bit if (bWrite) @@ -3366,9 +3142,9 @@ namespace CMS_CORE_Library.S7Net else bValue = (byte)(bValue & ~(1 << MemBit)); - cmsError = MEM_RWByte(W, Process, MemType, MemTable, MemIndex, 0, ref bValue); - if (cmsError.IsError()) - return cmsError; + libraryError = MEM_RWByte(W, Process, MemType, MemTable, MemIndex, 0, ref bValue); + if (libraryError.IsError()) + return libraryError; } //If i have to read -> Read the Bit else @@ -3393,16 +3169,16 @@ namespace CMS_CORE_Library.S7Net public override CmsError MEM_RWByte(bool bWrite, int Process, MEMORY_TYPE MemType, int MemTable, int MemIndex, int MemByte, ref byte Value) { //Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; if (MemType != MEMORY_TYPE.Siemens_DB) { return INCORRECT_PARAMETERS_ERROR; } - cmsError = null; + libraryError = null; // attenzione endianness! invertire byte... int fixIndex = MemIndex % 2 == 0 ? MemIndex + 1 : MemIndex - 1; @@ -3443,9 +3219,9 @@ namespace CMS_CORE_Library.S7Net List ListValue = new List() { Value }; //uses the List method with one-element list - CmsError cmsError = MEM_RWWordList(bWrite, Process, MemType, MemTable, MemIndex, 2, ref ListValue); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWWordList(bWrite, Process, MemType, MemTable, MemIndex, 2, ref ListValue); + if (libraryError.IsError()) + return libraryError; if (ListValue.Count > 0) Value = ListValue.First(); @@ -3457,9 +3233,9 @@ namespace CMS_CORE_Library.S7Net List ListValue = new List() { Value }; //uses the List method with one-element list - CmsError cmsError = MEM_RWShortList(bWrite, Process, MemType, MemTable, MemIndex, 1, ref ListValue); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWShortList(bWrite, Process, MemType, MemTable, MemIndex, 1, ref ListValue); + if (libraryError.IsError()) + return libraryError; Value = ListValue.First(); @@ -3472,9 +3248,9 @@ namespace CMS_CORE_Library.S7Net List ListValue = new List() { Value }; //uses the List method with one-element list - CmsError cmsError = MEM_RWDWordList(bWrite, Process, MemType, MemTable, MemIndex, 1, ref ListValue); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWDWordList(bWrite, Process, MemType, MemTable, MemIndex, 1, ref ListValue); + if (libraryError.IsError()) + return libraryError; Value = ListValue.First(); @@ -3486,9 +3262,9 @@ namespace CMS_CORE_Library.S7Net List ListValue = new List() { Value }; //uses the List method with one-element list - CmsError cmsError = MEM_RWDoubleList(bWrite, Process, MemType, MemTable, MemIndex, 1, ref ListValue); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWDoubleList(bWrite, Process, MemType, MemTable, MemIndex, 1, ref ListValue); + if (libraryError.IsError()) + return libraryError; Value = ListValue.First(); @@ -3501,9 +3277,9 @@ namespace CMS_CORE_Library.S7Net List ListValue = new List() { Value }; // uses the List method with one-element list, reading int32 (4byte) data... - CmsError cmsError = MEM_RWIntegerList(bWrite, Process, MemType, MemTable, MemIndex, 1, ref ListValue); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = MEM_RWIntegerList(bWrite, Process, MemType, MemTable, MemIndex, 1, ref ListValue); + if (libraryError.IsError()) + return libraryError; if (ListValue.Count > 0) { Value = ListValue.First(); @@ -3522,16 +3298,16 @@ namespace CMS_CORE_Library.S7Net public override CmsError MEM_RWByteList(bool bWrite, int Process, MEMORY_TYPE MemType, int MemTable, int MemIndex, int MemByteStart, int Number, ref List Values) { //Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; if (MemType != MEMORY_TYPE.Siemens_DB) { return INCORRECT_PARAMETERS_ERROR; } - cmsError = null; + libraryError = null; if (bWrite) { @@ -3545,7 +3321,7 @@ namespace CMS_CORE_Library.S7Net } catch { - return PLC_MEM_CONF_ERROR; + return S7_PLC_WRITE_ERROR; } } else @@ -3561,7 +3337,7 @@ namespace CMS_CORE_Library.S7Net } catch { - return PLC_MEM_CONF_ERROR; + return S7_PLC_READ_ERROR; } } @@ -3571,9 +3347,9 @@ namespace CMS_CORE_Library.S7Net public override CmsError MEM_RWWordList(bool bWrite, int Process, MEMORY_TYPE MemType, int MemTable, int MemIndex, int Number, ref List Values) { ////Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; if (MemType != MEMORY_TYPE.Siemens_DB) @@ -3582,7 +3358,7 @@ namespace CMS_CORE_Library.S7Net } - cmsError = null; + libraryError = null; if (bWrite) { @@ -3598,8 +3374,14 @@ namespace CMS_CORE_Library.S7Net singleItem = S7.Net.Types.Word.ToByteArray(Item); memByteList.AddRange(singleItem); } - - currPLC.WriteBytes(DataType.DataBlock, MemTable, MemIndex, memByteList.ToArray()); + try + { + currPLC.WriteBytes(DataType.DataBlock, MemTable, MemIndex, memByteList.ToArray()); + } + catch + { + return S7_PLC_WRITE_ERROR; + } } else { @@ -3608,14 +3390,21 @@ namespace CMS_CORE_Library.S7Net return NO_ERROR; Values.Clear(); - - byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, MemTable, MemIndex, Number); - // converto a word! - ushort shortVal = 0; - for (int i = 0; i < memByteRead.Length / 2; i++) + byte[] memByteRead; + try { - shortVal = S7.Net.Types.Word.FromByteArray(memByteRead.Skip(2 * i).Take(2).ToArray()); - Values.Add(shortVal); + memByteRead = currPLC.ReadBytes(DataType.DataBlock, MemTable, MemIndex, Number); + // converto a word! + ushort shortVal = 0; + for (int i = 0; i < memByteRead.Length / 2; i++) + { + shortVal = S7.Net.Types.Word.FromByteArray(memByteRead.Skip(2 * i).Take(2).ToArray()); + Values.Add(shortVal); + } + } + catch + { + return S7_PLC_READ_ERROR; } } @@ -3625,9 +3414,9 @@ namespace CMS_CORE_Library.S7Net public override CmsError MEM_RWShortList(bool bWrite, int Process, MEMORY_TYPE MemType, int MemTable, int MemIndex, int Number, ref List Values) { //Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; if (MemType != MEMORY_TYPE.Siemens_DB) { @@ -3635,7 +3424,7 @@ namespace CMS_CORE_Library.S7Net } - cmsError = null; + libraryError = null; if (bWrite) { @@ -3651,8 +3440,14 @@ namespace CMS_CORE_Library.S7Net singleItem = S7.Net.Types.Int.ToByteArray(Item); memByteList.AddRange(singleItem); } - - currPLC.WriteBytes(DataType.DataBlock, MemTable, MemIndex, memByteList.ToArray()); + try + { + currPLC.WriteBytes(DataType.DataBlock, MemTable, MemIndex, memByteList.ToArray()); + } + catch + { + return S7_PLC_WRITE_ERROR; + } } else { @@ -3661,14 +3456,20 @@ namespace CMS_CORE_Library.S7Net return NO_ERROR; Values.Clear(); - - byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, MemTable, MemIndex, Number); - // converto a word! - short shortVal = 0; - for (int i = 0; i < memByteRead.Length / 2; i++) + try { - shortVal = S7.Net.Types.Int.FromByteArray(memByteRead.Skip(2 * i).Take(2).ToArray()); - Values.Add(shortVal); + byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, MemTable, MemIndex, Number); + // converto a word! + short shortVal = 0; + for (int i = 0; i < memByteRead.Length / 2; i++) + { + shortVal = S7.Net.Types.Int.FromByteArray(memByteRead.Skip(2 * i).Take(2).ToArray()); + Values.Add(shortVal); + } + } + catch + { + return S7_PLC_READ_ERROR; } } @@ -3678,16 +3479,16 @@ namespace CMS_CORE_Library.S7Net public override CmsError MEM_RWDWordList(bool bWrite, int Process, MEMORY_TYPE MemType, int MemTable, int MemIndex, int Number, ref List Values) { //Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; if (MemType != MEMORY_TYPE.Siemens_DB) { return INCORRECT_PARAMETERS_ERROR; } - cmsError = null; + libraryError = null; if (bWrite) { @@ -3704,7 +3505,14 @@ namespace CMS_CORE_Library.S7Net memByteList.AddRange(singleItem); } - currPLC.WriteBytes(DataType.DataBlock, MemTable, MemIndex, memByteList.ToArray()); + try + { + currPLC.WriteBytes(DataType.DataBlock, MemTable, MemIndex, memByteList.ToArray()); + } + catch + { + return S7_PLC_WRITE_ERROR; + } } else { @@ -3714,13 +3522,20 @@ namespace CMS_CORE_Library.S7Net Values.Clear(); - byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, MemTable, MemIndex, Number); - // converto a word! - uint shortVal = 0; - for (int i = 0; i < memByteRead.Length / 4; i++) + try { - shortVal = S7.Net.Types.DWord.FromByteArray(memByteRead.Skip(4 * i).Take(4).ToArray()); - Values.Add(shortVal); + byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, MemTable, MemIndex, Number); + // converto a word! + uint shortVal = 0; + for (int i = 0; i < memByteRead.Length / 4; i++) + { + shortVal = S7.Net.Types.DWord.FromByteArray(memByteRead.Skip(4 * i).Take(4).ToArray()); + Values.Add(shortVal); + } + } + catch + { + return S7_PLC_READ_ERROR; } } @@ -3742,16 +3557,16 @@ namespace CMS_CORE_Library.S7Net public override CmsError MEM_RWIntegerList(bool bWrite, int Process, MEMORY_TYPE MemType, int MemTable, int MemIndex, int Number, ref List Values) { //Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; if (MemType != MEMORY_TYPE.Siemens_DB) { return INCORRECT_PARAMETERS_ERROR; } - cmsError = null; + libraryError = null; if (bWrite) { @@ -3767,8 +3582,14 @@ namespace CMS_CORE_Library.S7Net singleItem = S7.Net.Types.DInt.ToByteArray(Item); memByteList.AddRange(singleItem); } - - currPLC.WriteBytes(DataType.DataBlock, MemTable, MemIndex, memByteList.ToArray()); + try + { + currPLC.WriteBytes(DataType.DataBlock, MemTable, MemIndex, memByteList.ToArray()); + } + catch + { + return S7_PLC_WRITE_ERROR; + } } else { @@ -3781,17 +3602,17 @@ namespace CMS_CORE_Library.S7Net try { memByteRead = currPLC.ReadBytes(DataType.DataBlock, MemTable, MemIndex, Number * 4); + // converto a word! + int intVal = 0; + for (int i = 0; i < memByteRead.Length / 4; i++) + { + intVal = S7.Net.Types.DInt.FromByteArray(memByteRead.Skip(4 * i).Take(4).ToArray()); + Values.Add(intVal); + } } catch { - return PLC_MEM_CONF_ERROR; - } - // converto a word! - int intVal = 0; - for (int i = 0; i < memByteRead.Length / 4; i++) - { - intVal = S7.Net.Types.DInt.FromByteArray(memByteRead.Skip(4 * i).Take(4).ToArray()); - Values.Add(intVal); + return S7_PLC_READ_ERROR; } } @@ -3806,16 +3627,16 @@ namespace CMS_CORE_Library.S7Net public override CmsError MEM_RWDoubleList(bool bWrite, int Process, MEMORY_TYPE MemType, int MemTable, int MemIndex, int Number, ref List Values) { //Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; if (MemType != MEMORY_TYPE.Siemens_DB) { return INCORRECT_PARAMETERS_ERROR; } - cmsError = null; + libraryError = null; if (bWrite) { @@ -3832,7 +3653,14 @@ namespace CMS_CORE_Library.S7Net memByteList.AddRange(singleItem); } - currPLC.WriteBytes(DataType.DataBlock, MemTable, MemIndex, memByteList.ToArray()); + try + { + currPLC.WriteBytes(DataType.DataBlock, MemTable, MemIndex, memByteList.ToArray()); + } + catch + { + return S7_PLC_WRITE_ERROR; + } } else { @@ -3842,13 +3670,20 @@ namespace CMS_CORE_Library.S7Net Values.Clear(); - byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, MemTable, MemIndex, Number); - // converto a word! - double shortVal = 0; - for (int i = 0; i < memByteRead.Length / 4; i++) + try { - shortVal = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(4 * i).Take(4).ToArray()); - Values.Add(shortVal); + byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, MemTable, MemIndex, Number); + // converto a word! + double shortVal = 0; + for (int i = 0; i < memByteRead.Length / 4; i++) + { + shortVal = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(4 * i).Take(4).ToArray()); + Values.Add(shortVal); + } + } + catch + { + return S7_PLC_WRITE_ERROR; } } @@ -3927,366 +3762,51 @@ namespace CMS_CORE_Library.S7Net public override CmsError FILES_RGetFileList(string path, ref List files) { - -#if false - string[] rootFolders = { "WKS.DIR", "MPF.DIR", "SPF.DIR" }; - try - { - string tmpPath = FormatPath(path); - - FileSvc fileSvc = new FileSvc(); - // Preapare folder node - Node folderNode = new Node(BASE_FILE_PATH + tmpPath); - // Read files in the folder - List nodeArray = fileSvc.List(folderNode).ToList(); - - // Go through the array of file nodes - foreach (Node element in nodeArray) - { - PreviewFileModel file = new PreviewFileModel(); - if (path == "\\\\") - { - if (rootFolders.Contains(element.Name)) - { - file = new PreviewFileModel() - { - Path = path + "\\" + element.Name, - IsDirectory = element.IsDirNode, - Name = GetStringUntilOrEmpty(element.Name, "."), - AbsolutePath = element.LogicalPath - }; - files.Add(file); - } - } - else - { - file = new PreviewFileModel() - { - Path = path + "\\" + element.Name, - IsDirectory = element.IsDirNode, - Name = element.IsDirNode ? GetStringUntilOrEmpty(element.Name, ".") : element.Name, - AbsolutePath = element.LogicalPath - }; - files.Add(file); - } - - // ACCESS LEVEL CHECK (REMOVED TEMPORARILY) - //if (element.AccessRights.List == AccessLevel.KEY_0) - //{ - // var file = new PreviewFileModel() - // { - // Path = path + "\\" + element.Name, - // IsDirectory = element.IsDirNode, - // Name = element.Name, - // AbsolutePath = element.LogicalPath - // }; - - // files.Add(file); - //} - } - } - catch (Exception ex) - { - return ManageException(ex); - } -#endif return FUNCTION_NOT_ALLOWED_ERROR; } public override CmsError FILES_RGetFileInfo(string path, ref InfoFile fileInfo) { -#if false - try - { - FileSvc fileSvc = new FileSvc(); - // Preapare folder node - Node fileNode = new Node(path); - - if (fileNode != null) - { - string filePath = "C://CMS//Active//TMP//" + fileNode.Name; - FileStream str = new FileStream(filePath, FileMode.Create); - CmsError cmsError = FILES_RProgramToFile(path, str); - if (cmsError.IsError()) - return cmsError; - fileInfo = new InfoFile() - { - CreationDate = fileNode.Attributes.LastAccess, - LastModDate = fileNode.Attributes.LastAccess, - Name = fileNode.Name, - Content = File.ReadAllLines(filePath).ToList(), - // PreviewBase64 = FindImageBase64String(IMAGES_PATH, fileNode.Name), - AbsolutePath = fileNode.LogicalPath - }; - - str.Close(); - File.Delete(filePath); - } - } - catch (Exception ex) - { - return ManageException(ex); - } - - return NO_ERROR; -#endif - return FUNCTION_NOT_ALLOWED_ERROR; } public override CmsError FILES_WSetActiveProgram(int processId, string filePath, ref ActiveProgramDataModel data) { -#if false - try - { - // string ncPath = FormatPath(filePath); - - FileSvc fileSvc = new FileSvc(); - - // Preapare folder node - Node selectedNode = new Node(filePath); - - if (!selectedNode.Exists) - return FILE_NOT_FOUND_ERROR; - - // Check if file is stored on NC - if (filePath.StartsWith(BASE_FILE_PATH)) - fileSvc.Select(selectedNode, processId); - else - fileSvc.SelectExtern(selectedNode, processId); - - return FILES_RActiveProgramData(processId, ref data); - } - catch (Exception ex) - { - return ManageException(ex); - } -#endif - return FUNCTION_NOT_ALLOWED_ERROR; } public override CmsError FILES_WDeactivateProgram(int processId) { -#if false - try - { - string[] piArgs = new string[4]; - piArgs[0] = "/NC"; - piArgs[1] = (200 + processId).ToString(); - piArgs[2] = "/MPF0"; - piArgs[3] = "_N_SELECT"; - - PiSvc pi = new PiSvc(piArgs); - pi.Start(); - } - catch (Exception ex) - { - return ManageException(ex); - } - return NO_ERROR; -#endif - return FUNCTION_NOT_ALLOWED_ERROR; } public override CmsError FILES_RActiveProgramData(int processId, ref ActiveProgramDataModel programData) { -#if false - try - { - //Setup variables - DataSvc dataSvc = new DataSvc(); - - // Read position and tool data - List itemRead = new List() - { - new Item($"/Channel/ProgramInfo/workPandProgName[u{processId}]"), - new Item($"/Channel/ProgramInfo/actPartProgram[u{processId}]") - }; - - //Read Data - dataSvc.Read(itemRead.ToArray()); - - // Elaborate String - string trimString = ((string)itemRead[0].Value); - trimString = trimString.Replace("_N_", ""); - int lastUnderscore = trimString.LastIndexOf("_"); - if (lastUnderscore >= 0) - trimString = trimString.Remove(lastUnderscore, 1).Insert(lastUnderscore, "."); - - // check if is the NULL Program - if (trimString == "/MPF0") - { - programData = new ActiveProgramDataModel() - { - Path = "", - IsoLines = new List(), - TimeLeft = new DateTime() - }; - return NO_ERROR; - } - - // Separate string into list of lines - List isoLines = itemRead[1] - .Value - .ToString() - .Split('\n') // Line separator - .Skip(1) // The actPartProgram read starting with the line before the current - .ToList(); - - programData = new ActiveProgramDataModel() - { - Path = trimString, - IsoLines = isoLines, - TimeLeft = new DateTime() - }; - } - catch (Exception ex) - { - return ManageException(ex); - } - - return NO_ERROR; -#endif - return FUNCTION_NOT_ALLOWED_ERROR; } public override CmsError FILES_UploadPartProgram(string localPath, string name, ref string newFilePath) { -#if false - File.Copy(localPath + name, PART_PRG_PATH + name, true); - - newFilePath = PART_PRG_PATH + name; - - return NO_ERROR; -#endif - return FUNCTION_NOT_ALLOWED_ERROR; } public override CmsError FILES_CopyProgram(string partProgramPath, string newPartProgramPath, bool failIfExist) { -#if false - //Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; - try - { - //Setup variables - FileSvc FileData = new FileSvc(); - Node sourceNode = new Node(partProgramPath); - Node destNode = new Node(newPartProgramPath); - - //Execute Function - FileData.Copy(sourceNode, destNode, failIfExist); - } - catch (Exception ex) - { - return ManageException(ex); - } - - return NO_ERROR; -#endif - return FUNCTION_NOT_ALLOWED_ERROR; } public override CmsError FILES_DeleteProgram(string partProgramPath, string partProgramName) { -#if false - //Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; - - try - { - // Setup variables - FileSvc FileData = new FileSvc(); - Node sourceNode = new Node(partProgramPath); - - //Execute Function - FileData.Delete(sourceNode); - } - catch (Exception ex) - { - return ManageException(ex); - } - - return NO_ERROR; -#endif - return FUNCTION_NOT_ALLOWED_ERROR; } public override CmsError FILES_RProgramToFile(string partProgramPath, FileStream localFile) { -#if false - // Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; - - try - { - // Setup variables - string tmpFile = Path.GetTempFileName(); - FileSvc FileData = new FileSvc(); - Node sourceNode = new Node(partProgramPath); - Node destNode = new Node(tmpFile); - - // Execute Function - FileData.Copy(sourceNode, destNode, true); - - FileStream tmpFileStream = new FileStream(tmpFile, FileMode.Open); - - // Write to local file - WriteLocalFile(ReadLocalFile(tmpFileStream), ref localFile); - - tmpFileStream.Close(); - // Delete temporary file - File.Delete(tmpFile); - } - catch (Exception ex) - { - return ManageException(ex); - } - - return NO_ERROR; -#endif - return FUNCTION_NOT_ALLOWED_ERROR; } public override CmsError FILES_WProgramFromFile(string partProgramPath, FileStream localFile) { -#if false - //Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; - - try - { - // Setup variables - FileSvc FileData = new FileSvc(); - Node sourceNode = new Node(localFile.Name); - Node destNode = new Node(partProgramPath); - - //Execute Function - FileData.Copy(sourceNode, destNode, true); - } - catch (Exception ex) - { - return ManageException(ex); - } - - return NO_ERROR; -#endif - return FUNCTION_NOT_ALLOWED_ERROR; } @@ -4334,21 +3854,6 @@ namespace CMS_CORE_Library.S7Net public override CmsError FILES_WUploadCustomMainProgramAndActivate(int processId, string customPartProgramContent, ref ActiveProgramDataModel activeData) { -#if false - string customMainName = string.Format(CUSTOM_MAIN_PROGRAM, processId); - - string newFilePath = ""; - CmsError cmsError = FILES_UploadPartProgram(customPartProgramContent, customMainName, ref newFilePath); - if (cmsError.IsError()) - return cmsError; - - cmsError = FILES_WSetActiveProgram(processId, newFilePath, ref activeData); - if (cmsError.IsError()) - return cmsError; - - return NO_ERROR; -#endif - return FUNCTION_NOT_ALLOWED_ERROR; } @@ -4636,30 +4141,8 @@ namespace CMS_CORE_Library.S7Net #region Subordinate Private Functions -#if false - // Manage the Alarms - Called automatically on changes - private void AlarmsChanged(Guid guid, Alarm[] alarms) - { - try - { - if (alarms != null) - SiemensAlarms = alarms.ToArray(); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - } -#endif - private void NcLanguageChanged(string language) { -#if false - SiemensAlmSvc.UnSubscribe(AlarmsChanged); - // SiemensAlmSvc.Dispose(); - SiemensAlmSvc = new AlarmSvc(language); - SiemensAlmSvc.Subscribe(AlarmsChanged); -#endif } private int SetBitValue(int intVal, bool val, int bitIndex) @@ -4801,9 +4284,9 @@ namespace CMS_CORE_Library.S7Net private CmsError ReadStaticNCData() { //Check if the NC is Connected - CmsError cmsError = CheckConnection(); - if (cmsError.IsError()) - return cmsError; + CmsError libraryError = CheckConnection(); + if (libraryError.IsError()) + return libraryError; // Read oly one time every X seconds if (DateTime.Now - Last_Static_Read > new TimeSpan(NC_MIN_SEC_READ_STATIC_DATA * TimeSpan.TicksPerSecond)) @@ -4995,7 +4478,9 @@ namespace CMS_CORE_Library.S7Net internal static class MEMORY_ADDRESS { - // Tabella DB principale + // A) THERMO SPECIAL MEMORY + + // Main DB Table internal const int TABLE = 604; // aree Parametri @@ -5010,11 +4495,13 @@ namespace CMS_CORE_Library.S7Net internal static MEMORY_CELL REQ_MODE_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 0, 2); internal static MEMORY_CELL REQ_MODE_STROBE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2, 2); + // Prod strobe/ack + internal static MEMORY_CELL PROD_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 0, 2); + internal static MEMORY_CELL PROD_STROBE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2, 2); + // strobe received from PLC internal static MEMORY_CELL REQ_CONF_STROBE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 0, 2); internal static MEMORY_CELL REQ_CONF_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2, 2); - internal static MEMORY_CELL PROD_UPD_STROBE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 0, 2); - internal static MEMORY_CELL PROD_UPD_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2, 2); // aree Moduli internal static MEMORY_CELL MODULE_DATA = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 602, 18, 2304); @@ -5052,12 +4539,27 @@ namespace CMS_CORE_Library.S7Net + // B) GEN memory (NOT Thermo) internal static MEMORY_CELL ACTIVE_CLIENT = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 4, 1); - internal static MEMORY_CELL FUNCTION_ACCESS = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 6, 8); - internal static MEMORY_CELL PRE_POST_POWER_ON = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 6542, 4); //internal static MEMORY_CELL PRE_POST_POWER_ON_CLICKABLE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2576, 2); + + internal static MEMORY_CELL USER_SOFTKEYS_VALUE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 6552, 16); + internal static MEMORY_CELL USER_SOFTKEYS_CLICKABLE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 6568, 16); + internal static MEMORY_CELL USER_SOFT_KEYS_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 6584, 16); + internal static MEMORY_CELL USER_SOFT_KEYS_CLICKED = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 6616, 16); + + internal static MEMORY_CELL ALARMS_STATUS = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 14, 128); + internal static MEMORY_CELL ALARMS_DATA = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 142, 1024); + + internal static MEMORY_CELL ALARM_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2190, 128); + internal static MEMORY_CELL ALARM_RESTORATION_STROBE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2318, 128); + internal static MEMORY_CELL ALARM_REFRESH_STROBE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2446, 128); + + + + // C) STD MEM (need check!) FIXME TODO internal static MEMORY_CELL PRE_POST_POWER_ON_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2578, 2); internal static MEMORY_CELL PRE_POST_POWER_ON_CLICKED = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2580, 2); @@ -5076,32 +4578,20 @@ namespace CMS_CORE_Library.S7Net internal static MEMORY_CELL NC_SOFT_KEYS_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2618, 4); internal static MEMORY_CELL NC_SOFT_KEYS_CLICKED = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2622, 4); - internal static MEMORY_CELL USER_SOFTKEYS_VALUE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 6552, 16); - internal static MEMORY_CELL USER_SOFTKEYS_CLICKABLE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 6568, 16); - internal static MEMORY_CELL USER_SOFT_KEYS_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 6584, 16); - internal static MEMORY_CELL USER_SOFT_KEYS_CLICKED = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 6616, 16); + //internal static MEMORY_CELL HEADS_DATA = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2692, 240); - internal static MEMORY_CELL ALARMS_STATUS = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 14, 128); - internal static MEMORY_CELL ALARMS_DATA = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 142, 1024); - - internal static MEMORY_CELL ALARM_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2190, 128); - internal static MEMORY_CELL ALARM_RESTORATION_STROBE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2318, 128); - internal static MEMORY_CELL ALARM_REFRESH_STROBE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2446, 128); - - internal static MEMORY_CELL HEADS_DATA = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2692, 240); - - internal static MEMORY_CELL HEADS_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2932, 4); - internal static MEMORY_CELL HEADS_STROBE_INCREMENT = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2936, 4); - internal static MEMORY_CELL HEADS_STROBE_DECREMENT = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2940, 4); + //internal static MEMORY_CELL HEADS_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2932, 4); + //internal static MEMORY_CELL HEADS_STROBE_INCREMENT = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2936, 4); + //internal static MEMORY_CELL HEADS_STROBE_DECREMENT = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2940, 4); internal static MEMORY_CELL COUNTERS_DATA = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 2944, 64); internal static MEMORY_CELL COUNTER_IS_RESETTABLE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 3008, 2); internal static MEMORY_CELL COUNTER_IS_RESETTABLE_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 3010, 2); internal static MEMORY_CELL COUNTER_IS_RESETTABLE_STROBE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 3012, 2); - internal static MEMORY_CELL M155_INPUT_NEEDED = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 3014, 1); - 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 M155_INPUT_NEEDED = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 3014, 1); + //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 M156_INPUT_NEEDED = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4333, 1); internal static MEMORY_CELL M156_INPUT_ACK = new MEMORY_CELL(MEMORY_TYPE.Osai_MW, 4335, 1); diff --git a/CMS_CORE_Library/Siemens/Nc_Siemens.cs b/CMS_CORE_Library/Siemens/Nc_Siemens.cs index cc95d54..031d21d 100644 --- a/CMS_CORE_Library/Siemens/Nc_Siemens.cs +++ b/CMS_CORE_Library/Siemens/Nc_Siemens.cs @@ -9,7 +9,6 @@ using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading; -using System.Windows.Forms; using System.Xml.Linq; using static CMS_CORE_Library.Models.DataStructures; using static CMS_CORE_Library.Nc; @@ -198,7 +197,7 @@ namespace CMS_CORE_Library.Siemens Connected = true; // InitializeSiemens objects - if(this.EnableAxes) + if (this.EnableAxes) { if (AxesSvc == null) AxesSvc = new DataSvc(); @@ -529,7 +528,7 @@ namespace CMS_CORE_Library.Siemens var splittedFileName = fileName.Split('_'); if (splittedFileName.Count() == 2) { - if(splittedFileName[0].ToLower() == "cmsalarm") + if (splittedFileName[0].ToLower() == "cmsalarm") { // Get lang from threeletter var lang = GetCultureFromThreeLetter(splittedFileName[1]); @@ -786,7 +785,7 @@ namespace CMS_CORE_Library.Siemens var a = fileSvc.ReadMdaBuffer(1); fileSvc.WriteMdaBuffer(processId, mdiString); } - catch(Exception ex) + catch (Exception ex) { return ManageException(ex); } @@ -1145,10 +1144,10 @@ namespace CMS_CORE_Library.Siemens short toolId = SwapShortEndianFormat(BitConverter.ToInt16(readValues.ToArray(), headOffset + 4)); double residualLife = 0; - + // Find tool var tool = ToolTableData.Where(x => x.Id == toolId).FirstOrDefault(); - + // Check if process is selected if (readValues[headOffset] != 0) { @@ -1170,7 +1169,7 @@ namespace CMS_CORE_Library.Siemens residualLife = edge.ResidualLife; } } - catch(Exception ex) + catch (Exception ex) { return ManageException(ex); } @@ -1551,7 +1550,7 @@ namespace CMS_CORE_Library.Siemens DataSvc dataSvc = new DataSvc(); dataSvc.Read(item); } - catch(Exception ex) + catch (Exception ex) { return ManageException(ex); } @@ -1650,7 +1649,7 @@ namespace CMS_CORE_Library.Siemens value = val; } } - catch(Exception ex) + catch (Exception ex) { return ManageException(ex); } @@ -1805,7 +1804,7 @@ namespace CMS_CORE_Library.Siemens { return ManageException(ex); } - + return NO_ERROR; } @@ -2098,7 +2097,7 @@ namespace CMS_CORE_Library.Siemens return cmsError; byte readValues = 0; - cmsError = MEM_RWByte(R, 0, ACTIVE_CLIENT.MemType, ACTIVE_CLIENT.Address, ACTIVE_CLIENT.SubAddress, 0,ref readValues); + cmsError = MEM_RWByte(R, 0, ACTIVE_CLIENT.MemType, ACTIVE_CLIENT.Address, ACTIVE_CLIENT.SubAddress, 0, ref readValues); if (cmsError.IsError()) return cmsError; @@ -2118,7 +2117,7 @@ namespace CMS_CORE_Library.Siemens { return FUNCTION_NOT_ALLOWED_ERROR; } - + public override CmsError PLC_WTerminateMovementProcedure(MOVEMENT_RESPONSE resp) { return FUNCTION_NOT_ALLOWED_ERROR; @@ -2434,7 +2433,7 @@ namespace CMS_CORE_Library.Siemens new Item { Path = "/Tool/Compensation/edgeData[u1,c"+ actualToolId +","+ (offsetEdge + 15) + "]" } // $TC_DP15 }; - dataSvc.Read(itemsToolEdge); + dataSvc.Read(itemsToolEdge); offset = new OffsetModel() { @@ -2497,7 +2496,7 @@ namespace CMS_CORE_Library.Siemens ProcessMessage = "", WorkOverride = Convert.ToByte(items[3].Value), RapidOverride = Convert.ToByte(items[4].Value), - OffsetData = offset, + OffsetData = offset, FeedOverride = Convert.ToDouble(items[5].Value) }; } @@ -2738,7 +2737,7 @@ namespace CMS_CORE_Library.Siemens int processAxes = Convert.ToInt32(ncAxes[i].Value); // If axis is visible, add it to the output if (processAxes == channel && axesAreVisible[i]) - { + { // Check if axes is configurated axes var axis = configuredAxes.Where(x => x.Id == (i + 1)).FirstOrDefault(); if (axis != null) @@ -2814,8 +2813,8 @@ namespace CMS_CORE_Library.Siemens List axes = new List(); CmsError cmsError = AXES_RAxesNames(1, ref axes); - - for(int i = 1; i <= 4; i++) + + for (int i = 1; i <= 4; i++) { foreach (var axis in axes) { @@ -4469,14 +4468,14 @@ namespace CMS_CORE_Library.Siemens // Check if tool can fit in the position considering disabled positions if (magConfig.Type != SIEMENS_MAGAZINE_TYPE.BOX_MAGAZINE) { - foreach(var pos in MagazinePositionsData) + foreach (var pos in MagazinePositionsData) { if (pos.Disabled && pos.MagazineId == magazineId) { // If magazine is circular, move position before ( for left case ) or after ( right case ) the location you want to mount the tool var right = pos.PositionId < newMagazineTool.PositionId ? pos.PositionId + magConfig.MaxPositions : pos.PositionId; var left = pos.PositionId > newMagazineTool.PositionId ? pos.PositionId - magConfig.MaxPositions : pos.PositionId; - + // Calculate right space needed double rightToBeMount = newMagazineTool.PositionId + ((tool as SiemensToolModel).RightSize / 2.0); if (right < rightToBeMount) @@ -4493,11 +4492,11 @@ namespace CMS_CORE_Library.Siemens else { // Check if near positions are disabled - var posizionDisabled = MagazinePositionsData.Where( - x => x.MagazineId == magazineId && x.Disabled == true && - ((x.PositionId > newMagazineTool.PositionId && x.PositionId <= newMagazineTool.PositionId + (tool as SiemensToolModel).RightSize / 2.0) - || (x.PositionId < newMagazineTool.PositionId && x.PositionId >= newMagazineTool.PositionId - (tool as SiemensToolModel).LeftSize / 2.0))) - .ToList(); + var posizionDisabled = MagazinePositionsData.Where( + x => x.MagazineId == magazineId && x.Disabled == true && + ((x.PositionId > newMagazineTool.PositionId && x.PositionId <= newMagazineTool.PositionId + (tool as SiemensToolModel).RightSize / 2.0) + || (x.PositionId < newMagazineTool.PositionId && x.PositionId >= newMagazineTool.PositionId - (tool as SiemensToolModel).LeftSize / 2.0))) + .ToList(); if (posizionDisabled.Count() > 0) return MAGAZINE_POSITION_OCCUPIED_ERROR; @@ -4739,7 +4738,7 @@ namespace CMS_CORE_Library.Siemens public override CmsError TOOLS_WStartTDIUnloading(ushort magazineId, ushort positionId, ushort toolId) { var mountedTool = MagazineMountedTools.Where(x => x.ToolId == toolId).FirstOrDefault(); - if(mountedTool == null || (mountedTool.ToolId != toolId && mountedTool.PositionId != positionId)) + if (mountedTool == null || (mountedTool.ToolId != toolId && mountedTool.PositionId != positionId)) return INCORRECT_PARAMETERS_ERROR; List words = new List() @@ -4808,13 +4807,14 @@ namespace CMS_CORE_Library.Siemens if (edge.EdgeAdditionalParams.ContainsKey(conf.Name) && toolEdgesConfig.TDIEdgeFields.ContainsKey(conf.Path)) { var formattedValue = GetSiemensFormattedDouble(edge.EdgeAdditionalParams[conf.Name]); - items.Add(new Item() { + items.Add(new Item() + { Path = string.Format(toolEdgesConfig.TDIEdgeFields[conf.Path], BALLUF_EMPTY_TABLE.Address), Value = formattedValue }); } } - + // Life Parameters switch (tool.LifeType) { @@ -4864,7 +4864,7 @@ namespace CMS_CORE_Library.Siemens return BitConverter.ToUInt32(byteVal, 0); } - + public override CmsError TOOLS_WAbortBallufTablet() { return WBallufAction(SIEMENS_TDI_ACTION.ABORT); @@ -5117,7 +5117,7 @@ namespace CMS_CORE_Library.Siemens { return FUNCTION_NOT_ALLOWED_ERROR; } - + public override CmsError TOOLS_RAdatpivePathStep(ref Byte step) { // Check ACK @@ -6533,7 +6533,7 @@ namespace CMS_CORE_Library.Siemens int magazineId = Convert.ToInt32(item[0].Value); int positionId = Convert.ToInt32(item[1].Value); - if(magazineId != 0 && positionId != 0) + if (magazineId != 0 && positionId != 0) MoveToolInMagazineList(newTool.Id, magazineId, positionId); } //*SHANK FIX*else if (MULTITOOL_OPTION_ACTIVE) @@ -6568,7 +6568,7 @@ namespace CMS_CORE_Library.Siemens new Item(){ Path = string.Format("/Tool/Data/toolInPlace[{0}]", toolInfo.tNo) } }; dataSvc.Read(item); - + int magazineId = Convert.ToInt32(item[0].Value); int positionId = Convert.ToInt32(item[1].Value); diff --git a/CMS_CORE_Library/ToolConfigurations.cs b/CMS_CORE_Library/ToolConfigurations.cs index 2199008..f5d173b 100644 --- a/CMS_CORE_Library/ToolConfigurations.cs +++ b/CMS_CORE_Library/ToolConfigurations.cs @@ -130,7 +130,7 @@ namespace CMS_CORE_Library {6, "loading_station" }, {7, "loading_point" } }; - + private static Dictionary cmsRotationTypeList = new Dictionary() { {0, "none"}, @@ -378,7 +378,7 @@ namespace CMS_CORE_Library new FieldsConfiguration{ Name = "type", Type = "select", SelectValues = toolTypeCodeList, Category = "magPosType", ReadOnly = false, MinValue = 0, MaxValue = 0 }, new FieldsConfiguration{ Name = "disabled", Type = "boolean", SelectValues = null, Category = "general", ReadOnly = false, MinValue = 0, MaxValue = 0 } }; - + public static EdgesConfiguration NcOffsetFieldsConfiguration = new EdgesConfiguration() { EdgeConfiguration = new List() diff --git a/CMS_CORE_Library/Utils/Nc_Utils.cs b/CMS_CORE_Library/Utils/Nc_Utils.cs index a0e8e51..28db11f 100644 --- a/CMS_CORE_Library/Utils/Nc_Utils.cs +++ b/CMS_CORE_Library/Utils/Nc_Utils.cs @@ -1,11 +1,9 @@ using System; using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; -using System.Reflection; using System.Runtime.InteropServices; using static CMS_CORE_Library.Models.DataStructures; @@ -167,9 +165,9 @@ namespace CMS_CORE_Library.Utils return String.Empty; } - + // Convert one integer in array of bools - internal static bool[] IntToBits(int val) + internal static bool[] IntToBits(int val) { return IntToBits(new int[] { val }); } @@ -243,7 +241,7 @@ namespace CMS_CORE_Library.Utils { string tmpString = codeLine; if (endPos != -1) - tmpString = codeLine.Substring(startPos + 1 , endPos - startPos - 1); + tmpString = codeLine.Substring(startPos + 1, endPos - startPos - 1); returnVal = tmpString.Trim(';').Split(','); @@ -278,7 +276,7 @@ namespace CMS_CORE_Library.Utils } else { - returnVal = new string[0]; + returnVal = new string[0]; } return returnVal; diff --git a/SiemensS7/Siemens-S7-Test/TestMainForm.Designer.cs b/SiemensS7/Siemens-S7-Test/TestMainForm.Designer.cs index 1c936e2..a9c324a 100644 --- a/SiemensS7/Siemens-S7-Test/TestMainForm.Designer.cs +++ b/SiemensS7/Siemens-S7-Test/TestMainForm.Designer.cs @@ -37,6 +37,7 @@ this.label3 = new System.Windows.Forms.Label(); this.txtMemSize = new System.Windows.Forms.TextBox(); this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.cmbOutType = new System.Windows.Forms.ComboBox(); this.txtNumRep = new System.Windows.Forms.TextBox(); this.label13 = new System.Windows.Forms.Label(); this.btnReadStruct = new System.Windows.Forms.Button(); @@ -87,7 +88,7 @@ this.label15 = new System.Windows.Forms.Label(); this.label14 = new System.Windows.Forms.Label(); this.label12 = new System.Windows.Forms.Label(); - this.cmbOutType = new System.Windows.Forms.ComboBox(); + this.chkDoParallel = new System.Windows.Forms.CheckBox(); this.groupBox1.SuspendLayout(); this.groupBox3.SuspendLayout(); this.statusStrip1.SuspendLayout(); @@ -105,10 +106,10 @@ // // txtIP // - this.txtIP.Location = new System.Drawing.Point(85, 23); - this.txtIP.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.txtIP.Location = new System.Drawing.Point(64, 19); + this.txtIP.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.txtIP.Name = "txtIP"; - this.txtIP.Size = new System.Drawing.Size(109, 22); + this.txtIP.Size = new System.Drawing.Size(83, 20); this.txtIP.TabIndex = 0; this.txtIP.Text = "192.168.0.102"; this.txtIP.TextChanged += new System.EventHandler(this.txtIP_TextChanged); @@ -116,9 +117,10 @@ // lblIP // this.lblIP.AutoSize = true; - this.lblIP.Location = new System.Drawing.Point(16, 26); + this.lblIP.Location = new System.Drawing.Point(12, 21); + this.lblIP.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.lblIP.Name = "lblIP"; - this.lblIP.Size = new System.Drawing.Size(63, 17); + this.lblIP.Size = new System.Drawing.Size(51, 13); this.lblIP.TabIndex = 1; this.lblIP.Text = "IP ADDR"; // @@ -131,10 +133,10 @@ "S7400", "S71200", "S71500"}); - this.cbCpuType.Location = new System.Drawing.Point(85, 62); - this.cbCpuType.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.cbCpuType.Location = new System.Drawing.Point(64, 50); + this.cbCpuType.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.cbCpuType.Name = "cbCpuType"; - this.cbCpuType.Size = new System.Drawing.Size(109, 24); + this.cbCpuType.Size = new System.Drawing.Size(83, 21); this.cbCpuType.TabIndex = 2; this.cbCpuType.Text = "S71500"; this.cbCpuType.SelectedIndexChanged += new System.EventHandler(this.cbCpuType_SelectedIndexChanged); @@ -142,27 +144,29 @@ // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(7, 64); + this.label1.Location = new System.Drawing.Point(5, 52); + this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(72, 17); + this.label1.Size = new System.Drawing.Size(56, 13); this.label1.TabIndex = 3; this.label1.Text = "CPU Type"; // // label2 // this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(9, 23); + this.label2.Location = new System.Drawing.Point(7, 19); + this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(80, 17); + this.label2.Size = new System.Drawing.Size(64, 13); this.label2.TabIndex = 5; this.label2.Text = "MEM AREA"; // // txtMemArea // - this.txtMemArea.Location = new System.Drawing.Point(148, 20); - this.txtMemArea.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.txtMemArea.Location = new System.Drawing.Point(111, 16); + this.txtMemArea.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.txtMemArea.Name = "txtMemArea"; - this.txtMemArea.Size = new System.Drawing.Size(101, 22); + this.txtMemArea.Size = new System.Drawing.Size(77, 20); this.txtMemArea.TabIndex = 4; this.txtMemArea.Text = "DB600.DBB20"; this.txtMemArea.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; @@ -171,18 +175,19 @@ // label3 // this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(9, 52); + this.label3.Location = new System.Drawing.Point(7, 42); + this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(123, 17); + this.label3.Size = new System.Drawing.Size(96, 13); this.label3.TabIndex = 7; this.label3.Text = "MEM SIZE (BYTE)"; // // txtMemSize // - this.txtMemSize.Location = new System.Drawing.Point(148, 50); - this.txtMemSize.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.txtMemSize.Location = new System.Drawing.Point(111, 41); + this.txtMemSize.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.txtMemSize.Name = "txtMemSize"; - this.txtMemSize.Size = new System.Drawing.Size(101, 22); + this.txtMemSize.Size = new System.Drawing.Size(77, 20); this.txtMemSize.TabIndex = 6; this.txtMemSize.Text = "200"; this.txtMemSize.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; @@ -190,6 +195,7 @@ // // groupBox1 // + this.groupBox1.Controls.Add(this.chkDoParallel); this.groupBox1.Controls.Add(this.cmbOutType); this.groupBox1.Controls.Add(this.txtNumRep); this.groupBox1.Controls.Add(this.label13); @@ -203,21 +209,38 @@ this.groupBox1.Controls.Add(this.txtMemSize); this.groupBox1.Controls.Add(this.label3); this.groupBox1.Controls.Add(this.label2); - this.groupBox1.Location = new System.Drawing.Point(6, 5); - this.groupBox1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.groupBox1.Location = new System.Drawing.Point(4, 4); + this.groupBox1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.groupBox1.Size = new System.Drawing.Size(672, 105); + this.groupBox1.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.groupBox1.Size = new System.Drawing.Size(504, 85); this.groupBox1.TabIndex = 8; this.groupBox1.TabStop = false; this.groupBox1.Text = "Memoria: READ testing"; // + // cmbOutType + // + this.cmbOutType.FormattingEnabled = true; + this.cmbOutType.Items.AddRange(new object[] { + "byte", + "word", + "dword", + "real", + "struct"}); + this.cmbOutType.Location = new System.Drawing.Point(392, 19); + this.cmbOutType.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cmbOutType.Name = "cmbOutType"; + this.cmbOutType.Size = new System.Drawing.Size(92, 21); + this.cmbOutType.TabIndex = 16; + this.cmbOutType.Text = "byte"; + this.cmbOutType.SelectedIndexChanged += new System.EventHandler(this.cmbOutType_SelectedIndexChanged); + // // txtNumRep // - this.txtNumRep.Location = new System.Drawing.Point(148, 76); - this.txtNumRep.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.txtNumRep.Location = new System.Drawing.Point(111, 62); + this.txtNumRep.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.txtNumRep.Name = "txtNumRep"; - this.txtNumRep.Size = new System.Drawing.Size(101, 22); + this.txtNumRep.Size = new System.Drawing.Size(77, 20); this.txtNumRep.TabIndex = 14; this.txtNumRep.Text = "1"; this.txtNumRep.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; @@ -225,18 +248,19 @@ // label13 // this.label13.AutoSize = true; - this.label13.Location = new System.Drawing.Point(9, 79); + this.label13.Location = new System.Drawing.Point(7, 64); + this.label13.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label13.Name = "label13"; - this.label13.Size = new System.Drawing.Size(72, 17); + this.label13.Size = new System.Drawing.Size(55, 13); this.label13.TabIndex = 15; this.label13.Text = "# samples"; // // btnReadStruct // - this.btnReadStruct.Location = new System.Drawing.Point(405, 75); - this.btnReadStruct.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.btnReadStruct.Location = new System.Drawing.Point(304, 61); + this.btnReadStruct.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.btnReadStruct.Name = "btnReadStruct"; - this.btnReadStruct.Size = new System.Drawing.Size(110, 25); + this.btnReadStruct.Size = new System.Drawing.Size(82, 20); this.btnReadStruct.TabIndex = 12; this.btnReadStruct.Text = "Read Struc"; this.btnReadStruct.TextImageRelation = System.Windows.Forms.TextImageRelation.TextAboveImage; @@ -245,10 +269,10 @@ // // btnReadString // - this.btnReadString.Location = new System.Drawing.Point(405, 49); - this.btnReadString.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.btnReadString.Location = new System.Drawing.Point(304, 40); + this.btnReadString.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.btnReadString.Name = "btnReadString"; - this.btnReadString.Size = new System.Drawing.Size(110, 25); + this.btnReadString.Size = new System.Drawing.Size(82, 20); this.btnReadString.TabIndex = 11; this.btnReadString.Text = "Read String"; this.btnReadString.UseVisualStyleBackColor = true; @@ -256,10 +280,10 @@ // // btnReadDWord // - this.btnReadDWord.Location = new System.Drawing.Point(289, 75); - this.btnReadDWord.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.btnReadDWord.Location = new System.Drawing.Point(217, 61); + this.btnReadDWord.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.btnReadDWord.Name = "btnReadDWord"; - this.btnReadDWord.Size = new System.Drawing.Size(110, 25); + this.btnReadDWord.Size = new System.Drawing.Size(82, 20); this.btnReadDWord.TabIndex = 10; this.btnReadDWord.Text = "Read DWord"; this.btnReadDWord.TextImageRelation = System.Windows.Forms.TextImageRelation.TextAboveImage; @@ -268,10 +292,10 @@ // // btnReadWord // - this.btnReadWord.Location = new System.Drawing.Point(289, 48); - this.btnReadWord.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.btnReadWord.Location = new System.Drawing.Point(217, 39); + this.btnReadWord.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.btnReadWord.Name = "btnReadWord"; - this.btnReadWord.Size = new System.Drawing.Size(110, 25); + this.btnReadWord.Size = new System.Drawing.Size(82, 20); this.btnReadWord.TabIndex = 10; this.btnReadWord.Text = "Read Word"; this.btnReadWord.UseVisualStyleBackColor = true; @@ -279,10 +303,10 @@ // // btnReadReal // - this.btnReadReal.Location = new System.Drawing.Point(405, 19); - this.btnReadReal.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.btnReadReal.Location = new System.Drawing.Point(304, 15); + this.btnReadReal.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.btnReadReal.Name = "btnReadReal"; - this.btnReadReal.Size = new System.Drawing.Size(110, 25); + this.btnReadReal.Size = new System.Drawing.Size(82, 20); this.btnReadReal.TabIndex = 9; this.btnReadReal.Text = "Read Real"; this.btnReadReal.UseVisualStyleBackColor = true; @@ -290,10 +314,10 @@ // // btnReadByte // - this.btnReadByte.Location = new System.Drawing.Point(289, 19); - this.btnReadByte.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.btnReadByte.Location = new System.Drawing.Point(217, 15); + this.btnReadByte.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.btnReadByte.Name = "btnReadByte"; - this.btnReadByte.Size = new System.Drawing.Size(110, 25); + this.btnReadByte.Size = new System.Drawing.Size(82, 20); this.btnReadByte.TabIndex = 9; this.btnReadByte.Text = "Read Byte"; this.btnReadByte.UseVisualStyleBackColor = true; @@ -311,11 +335,11 @@ this.groupBox3.Controls.Add(this.txtIP); this.groupBox3.Controls.Add(this.lblIP); this.groupBox3.Controls.Add(this.label1); - this.groupBox3.Location = new System.Drawing.Point(6, 5); - this.groupBox3.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.groupBox3.Location = new System.Drawing.Point(4, 4); + this.groupBox3.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.groupBox3.Name = "groupBox3"; - this.groupBox3.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.groupBox3.Size = new System.Drawing.Size(479, 105); + this.groupBox3.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.groupBox3.Size = new System.Drawing.Size(359, 85); this.groupBox3.TabIndex = 10; this.groupBox3.TabStop = false; this.groupBox3.Text = "Parametri PLC"; @@ -323,27 +347,29 @@ // label11 // this.label11.AutoSize = true; - this.label11.Location = new System.Drawing.Point(301, 39); + this.label11.Location = new System.Drawing.Point(226, 32); + this.label11.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label11.Name = "label11"; - this.label11.Size = new System.Drawing.Size(148, 51); + this.label11.Size = new System.Drawing.Size(115, 39); this.label11.TabIndex = 7; this.label11.Text = "S7-1200/S7-1500: 0/1\r\nS7-300/S7-400: 0/2\r\nSlot > 0 se eth ext"; // // label6 // this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(301, 14); + this.label6.Location = new System.Drawing.Point(226, 11); + this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(114, 17); + this.label6.Size = new System.Drawing.Size(91, 13); this.label6.TabIndex = 6; this.label6.Text = "Note Rack / Slot:"; // // txtSlot // - this.txtSlot.Location = new System.Drawing.Point(253, 62); - this.txtSlot.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.txtSlot.Location = new System.Drawing.Point(190, 50); + this.txtSlot.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.txtSlot.Name = "txtSlot"; - this.txtSlot.Size = new System.Drawing.Size(41, 22); + this.txtSlot.Size = new System.Drawing.Size(32, 20); this.txtSlot.TabIndex = 5; this.txtSlot.Text = "1"; this.txtSlot.TextChanged += new System.EventHandler(this.txtSlot_TextChanged); @@ -351,18 +377,19 @@ // label5 // this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(208, 64); + this.label5.Location = new System.Drawing.Point(156, 52); + this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(32, 17); + this.label5.Size = new System.Drawing.Size(25, 13); this.label5.TabIndex = 4; this.label5.Text = "Slot"; // // txtRack // - this.txtRack.Location = new System.Drawing.Point(253, 23); - this.txtRack.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.txtRack.Location = new System.Drawing.Point(190, 19); + this.txtRack.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.txtRack.Name = "txtRack"; - this.txtRack.Size = new System.Drawing.Size(41, 22); + this.txtRack.Size = new System.Drawing.Size(32, 20); this.txtRack.TabIndex = 5; this.txtRack.Text = "0"; this.txtRack.TextChanged += new System.EventHandler(this.txtRack_TextChanged); @@ -370,9 +397,10 @@ // label4 // this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(208, 26); + this.label4.Location = new System.Drawing.Point(156, 21); + this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(40, 17); + this.label4.Size = new System.Drawing.Size(33, 13); this.label4.TabIndex = 4; this.label4.Text = "Rack"; // @@ -384,34 +412,34 @@ this.toolStripStatusLabel1, this.toolStripProgressBar1, this.tslRTime}); - this.statusStrip1.Location = new System.Drawing.Point(0, 583); + this.statusStrip1.Location = new System.Drawing.Point(0, 472); this.statusStrip1.Name = "statusStrip1"; - this.statusStrip1.Padding = new System.Windows.Forms.Padding(1, 0, 13, 0); - this.statusStrip1.Size = new System.Drawing.Size(906, 28); + this.statusStrip1.Padding = new System.Windows.Forms.Padding(1, 0, 10, 0); + this.statusStrip1.Size = new System.Drawing.Size(680, 24); this.statusStrip1.TabIndex = 11; this.statusStrip1.Text = "statusStrip1"; // // tslConn // this.tslConn.Name = "tslConn"; - this.tslConn.Size = new System.Drawing.Size(72, 22); + this.tslConn.Size = new System.Drawing.Size(59, 19); this.tslConn.Text = "Conn: ND"; // // toolStripStatusLabel1 // this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; - this.toolStripStatusLabel1.Size = new System.Drawing.Size(13, 22); + this.toolStripStatusLabel1.Size = new System.Drawing.Size(10, 19); this.toolStripStatusLabel1.Text = "|"; // // toolStripProgressBar1 // this.toolStripProgressBar1.Name = "toolStripProgressBar1"; - this.toolStripProgressBar1.Size = new System.Drawing.Size(100, 20); + this.toolStripProgressBar1.Size = new System.Drawing.Size(75, 18); // // tslRTime // this.tslRTime.Name = "tslRTime"; - this.tslRTime.Size = new System.Drawing.Size(37, 22); + this.tslRTime.Size = new System.Drawing.Size(32, 19); this.tslRTime.Text = "...ms"; // // groupBox4 @@ -430,21 +458,21 @@ this.groupBox4.Controls.Add(this.label10); this.groupBox4.Controls.Add(this.txtWriteAddr1); this.groupBox4.Controls.Add(this.label7); - this.groupBox4.Location = new System.Drawing.Point(7, 7); - this.groupBox4.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.groupBox4.Location = new System.Drawing.Point(5, 6); + this.groupBox4.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.groupBox4.Name = "groupBox4"; - this.groupBox4.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.groupBox4.Size = new System.Drawing.Size(1809, 71); + this.groupBox4.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.groupBox4.Size = new System.Drawing.Size(1357, 58); this.groupBox4.TabIndex = 12; this.groupBox4.TabStop = false; this.groupBox4.Text = "Memoria: WRITE param"; // // btnStrWrite // - this.btnStrWrite.Location = new System.Drawing.Point(799, 25); - this.btnStrWrite.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.btnStrWrite.Location = new System.Drawing.Point(599, 20); + this.btnStrWrite.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.btnStrWrite.Name = "btnStrWrite"; - this.btnStrWrite.Size = new System.Drawing.Size(41, 23); + this.btnStrWrite.Size = new System.Drawing.Size(31, 19); this.btnStrWrite.TabIndex = 10; this.btnStrWrite.Text = "SW"; this.btnStrWrite.UseVisualStyleBackColor = true; @@ -452,10 +480,10 @@ // // btnNumWriteB // - this.btnNumWriteB.Location = new System.Drawing.Point(329, 5); - this.btnNumWriteB.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.btnNumWriteB.Location = new System.Drawing.Point(247, 4); + this.btnNumWriteB.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.btnNumWriteB.Name = "btnNumWriteB"; - this.btnNumWriteB.Size = new System.Drawing.Size(48, 23); + this.btnNumWriteB.Size = new System.Drawing.Size(36, 19); this.btnNumWriteB.TabIndex = 10; this.btnNumWriteB.Text = "B"; this.btnNumWriteB.UseVisualStyleBackColor = true; @@ -463,10 +491,10 @@ // // btnNumWriteDW // - this.btnNumWriteDW.Location = new System.Drawing.Point(329, 44); - this.btnNumWriteDW.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.btnNumWriteDW.Location = new System.Drawing.Point(247, 36); + this.btnNumWriteDW.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.btnNumWriteDW.Name = "btnNumWriteDW"; - this.btnNumWriteDW.Size = new System.Drawing.Size(48, 23); + this.btnNumWriteDW.Size = new System.Drawing.Size(36, 19); this.btnNumWriteDW.TabIndex = 10; this.btnNumWriteDW.Text = "DW"; this.btnNumWriteDW.UseVisualStyleBackColor = true; @@ -474,10 +502,10 @@ // // btnNumWriteW // - this.btnNumWriteW.Location = new System.Drawing.Point(329, 23); - this.btnNumWriteW.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.btnNumWriteW.Location = new System.Drawing.Point(247, 19); + this.btnNumWriteW.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.btnNumWriteW.Name = "btnNumWriteW"; - this.btnNumWriteW.Size = new System.Drawing.Size(48, 23); + this.btnNumWriteW.Size = new System.Drawing.Size(36, 19); this.btnNumWriteW.TabIndex = 10; this.btnNumWriteW.Text = "W"; this.btnNumWriteW.UseVisualStyleBackColor = true; @@ -485,10 +513,10 @@ // // txtWriteVal2 // - this.txtWriteVal2.Location = new System.Drawing.Point(612, 25); - this.txtWriteVal2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.txtWriteVal2.Location = new System.Drawing.Point(459, 20); + this.txtWriteVal2.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.txtWriteVal2.Name = "txtWriteVal2"; - this.txtWriteVal2.Size = new System.Drawing.Size(187, 22); + this.txtWriteVal2.Size = new System.Drawing.Size(141, 20); this.txtWriteVal2.TabIndex = 8; this.txtWriteVal2.Text = "SAMUELEL"; this.txtWriteVal2.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; @@ -496,18 +524,19 @@ // label9 // this.label9.AutoSize = true; - this.label9.Location = new System.Drawing.Point(571, 27); + this.label9.Location = new System.Drawing.Point(428, 22); + this.label9.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label9.Name = "label9"; - this.label9.Size = new System.Drawing.Size(36, 17); + this.label9.Size = new System.Drawing.Size(29, 13); this.label9.TabIndex = 9; this.label9.Text = "STR"; // // txtWriteVal1 // - this.txtWriteVal1.Location = new System.Drawing.Point(237, 25); - this.txtWriteVal1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.txtWriteVal1.Location = new System.Drawing.Point(178, 20); + this.txtWriteVal1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.txtWriteVal1.Name = "txtWriteVal1"; - this.txtWriteVal1.Size = new System.Drawing.Size(85, 22); + this.txtWriteVal1.Size = new System.Drawing.Size(65, 20); this.txtWriteVal1.TabIndex = 8; this.txtWriteVal1.Text = "987654321"; this.txtWriteVal1.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; @@ -515,18 +544,19 @@ // label8 // this.label8.AutoSize = true; - this.label8.Location = new System.Drawing.Point(197, 27); + this.label8.Location = new System.Drawing.Point(148, 22); + this.label8.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(39, 17); + this.label8.Size = new System.Drawing.Size(32, 13); this.label8.TabIndex = 9; this.label8.Text = "NUM"; // // txtWriteAddr2 // - this.txtWriteAddr2.Location = new System.Drawing.Point(448, 25); - this.txtWriteAddr2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.txtWriteAddr2.Location = new System.Drawing.Point(336, 20); + this.txtWriteAddr2.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.txtWriteAddr2.Name = "txtWriteAddr2"; - this.txtWriteAddr2.Size = new System.Drawing.Size(116, 22); + this.txtWriteAddr2.Size = new System.Drawing.Size(88, 20); this.txtWriteAddr2.TabIndex = 6; this.txtWriteAddr2.Text = "DB600.DBB2"; this.txtWriteAddr2.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; @@ -534,18 +564,19 @@ // label10 // this.label10.AutoSize = true; - this.label10.Location = new System.Drawing.Point(389, 27); + this.label10.Location = new System.Drawing.Point(292, 22); + this.label10.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label10.Name = "label10"; - this.label10.Size = new System.Drawing.Size(59, 17); + this.label10.Size = new System.Drawing.Size(47, 13); this.label10.TabIndex = 7; this.label10.Text = "ADDR 2"; // // txtWriteAddr1 // - this.txtWriteAddr1.Location = new System.Drawing.Point(71, 25); - this.txtWriteAddr1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.txtWriteAddr1.Location = new System.Drawing.Point(53, 20); + this.txtWriteAddr1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.txtWriteAddr1.Name = "txtWriteAddr1"; - this.txtWriteAddr1.Size = new System.Drawing.Size(123, 22); + this.txtWriteAddr1.Size = new System.Drawing.Size(93, 20); this.txtWriteAddr1.TabIndex = 6; this.txtWriteAddr1.Text = "DB600.DBB0"; this.txtWriteAddr1.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; @@ -553,9 +584,10 @@ // label7 // this.label7.AutoSize = true; - this.label7.Location = new System.Drawing.Point(5, 27); + this.label7.Location = new System.Drawing.Point(4, 22); + this.label7.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(59, 17); + this.label7.Size = new System.Drawing.Size(47, 13); this.label7.TabIndex = 7; this.label7.Text = "ADDR 1"; // @@ -565,12 +597,12 @@ this.txtOut.BorderStyle = System.Windows.Forms.BorderStyle.None; this.txtOut.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.txtOut.ForeColor = System.Drawing.Color.Yellow; - this.txtOut.Location = new System.Drawing.Point(4, 21); - this.txtOut.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.txtOut.Location = new System.Drawing.Point(3, 17); + this.txtOut.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.txtOut.Multiline = true; this.txtOut.Name = "txtOut"; this.txtOut.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.txtOut.Size = new System.Drawing.Size(569, 388); + this.txtOut.Size = new System.Drawing.Size(427, 315); this.txtOut.TabIndex = 0; this.txtOut.Text = "..."; // @@ -578,11 +610,11 @@ // this.groupBox2.AutoSize = true; this.groupBox2.Controls.Add(this.txtOut); - this.groupBox2.Location = new System.Drawing.Point(3, 11); - this.groupBox2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.groupBox2.Location = new System.Drawing.Point(2, 9); + this.groupBox2.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.groupBox2.Name = "groupBox2"; - this.groupBox2.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.groupBox2.Size = new System.Drawing.Size(579, 428); + this.groupBox2.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.groupBox2.Size = new System.Drawing.Size(434, 349); this.groupBox2.TabIndex = 9; this.groupBox2.TabStop = false; this.groupBox2.Text = "Risultati"; @@ -594,19 +626,21 @@ this.tabCtrl.Controls.Add(this.tabReadTest); this.tabCtrl.Controls.Add(this.tabWriteTest); this.tabCtrl.Controls.Add(this.tabParam); - this.tabCtrl.Location = new System.Drawing.Point(15, 9); + this.tabCtrl.Location = new System.Drawing.Point(11, 7); + this.tabCtrl.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.tabCtrl.Name = "tabCtrl"; this.tabCtrl.SelectedIndex = 0; - this.tabCtrl.Size = new System.Drawing.Size(879, 143); + this.tabCtrl.Size = new System.Drawing.Size(659, 116); this.tabCtrl.TabIndex = 13; // // tabReadTest // this.tabReadTest.Controls.Add(this.groupBox1); - this.tabReadTest.Location = new System.Drawing.Point(4, 25); + this.tabReadTest.Location = new System.Drawing.Point(4, 22); + this.tabReadTest.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.tabReadTest.Name = "tabReadTest"; - this.tabReadTest.Padding = new System.Windows.Forms.Padding(3); - this.tabReadTest.Size = new System.Drawing.Size(871, 114); + this.tabReadTest.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.tabReadTest.Size = new System.Drawing.Size(651, 90); this.tabReadTest.TabIndex = 0; this.tabReadTest.Text = "Read Test"; this.tabReadTest.UseVisualStyleBackColor = true; @@ -614,9 +648,10 @@ // tabWriteTest // this.tabWriteTest.Controls.Add(this.groupBox4); - this.tabWriteTest.Location = new System.Drawing.Point(4, 25); + this.tabWriteTest.Location = new System.Drawing.Point(4, 22); + this.tabWriteTest.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.tabWriteTest.Name = "tabWriteTest"; - this.tabWriteTest.Size = new System.Drawing.Size(871, 114); + this.tabWriteTest.Size = new System.Drawing.Size(651, 90); this.tabWriteTest.TabIndex = 2; this.tabWriteTest.Text = "Write Test"; this.tabWriteTest.UseVisualStyleBackColor = true; @@ -624,10 +659,11 @@ // tabParam // this.tabParam.Controls.Add(this.groupBox3); - this.tabParam.Location = new System.Drawing.Point(4, 25); + this.tabParam.Location = new System.Drawing.Point(4, 22); + this.tabParam.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.tabParam.Name = "tabParam"; - this.tabParam.Padding = new System.Windows.Forms.Padding(3); - this.tabParam.Size = new System.Drawing.Size(871, 114); + this.tabParam.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.tabParam.Size = new System.Drawing.Size(651, 90); this.tabParam.TabIndex = 1; this.tabParam.Text = "Parametri"; this.tabParam.UseVisualStyleBackColor = true; @@ -637,7 +673,8 @@ this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.splitContainer1.Location = new System.Drawing.Point(15, 158); + this.splitContainer1.Location = new System.Drawing.Point(11, 128); + this.splitContainer1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.splitContainer1.Name = "splitContainer1"; // // splitContainer1.Panel1 @@ -656,17 +693,19 @@ // splitContainer1.Panel2 // this.splitContainer1.Panel2.Controls.Add(this.groupBox2); - this.splitContainer1.Size = new System.Drawing.Size(875, 422); - this.splitContainer1.SplitterDistance = 291; + this.splitContainer1.Size = new System.Drawing.Size(656, 343); + this.splitContainer1.SplitterDistance = 218; + this.splitContainer1.SplitterWidth = 3; this.splitContainer1.TabIndex = 15; // // lblThroughtput // this.lblThroughtput.AutoSize = true; this.lblThroughtput.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lblThroughtput.Location = new System.Drawing.Point(224, 105); + this.lblThroughtput.Location = new System.Drawing.Point(168, 85); + this.lblThroughtput.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.lblThroughtput.Name = "lblThroughtput"; - this.lblThroughtput.Size = new System.Drawing.Size(35, 17); + this.lblThroughtput.Size = new System.Drawing.Size(28, 13); this.lblThroughtput.TabIndex = 9; this.lblThroughtput.Text = "000"; this.lblThroughtput.TextAlign = System.Drawing.ContentAlignment.TopRight; @@ -675,18 +714,20 @@ // this.label18.AutoSize = true; this.label18.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label18.Location = new System.Drawing.Point(19, 105); + this.label18.Location = new System.Drawing.Point(14, 85); + this.label18.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label18.Name = "label18"; - this.label18.Size = new System.Drawing.Size(57, 17); + this.label18.Size = new System.Drawing.Size(48, 13); this.label18.TabIndex = 8; this.label18.Text = "Kb/sec"; // // lblTotSize // this.lblTotSize.AutoSize = true; - this.lblTotSize.Location = new System.Drawing.Point(227, 20); + this.lblTotSize.Location = new System.Drawing.Point(170, 16); + this.lblTotSize.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.lblTotSize.Name = "lblTotSize"; - this.lblTotSize.Size = new System.Drawing.Size(32, 17); + this.lblTotSize.Size = new System.Drawing.Size(25, 13); this.lblTotSize.TabIndex = 7; this.lblTotSize.Text = "000"; this.lblTotSize.TextAlign = System.Drawing.ContentAlignment.TopRight; @@ -694,9 +735,10 @@ // lblTimeMin // this.lblTimeMin.AutoSize = true; - this.lblTimeMin.Location = new System.Drawing.Point(227, 41); + this.lblTimeMin.Location = new System.Drawing.Point(170, 33); + this.lblTimeMin.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.lblTimeMin.Name = "lblTimeMin"; - this.lblTimeMin.Size = new System.Drawing.Size(32, 17); + this.lblTimeMin.Size = new System.Drawing.Size(25, 13); this.lblTimeMin.TabIndex = 6; this.lblTimeMin.Text = "000"; this.lblTimeMin.TextAlign = System.Drawing.ContentAlignment.TopRight; @@ -704,9 +746,10 @@ // lblTimeMax // this.lblTimeMax.AutoSize = true; - this.lblTimeMax.Location = new System.Drawing.Point(227, 75); + this.lblTimeMax.Location = new System.Drawing.Point(170, 61); + this.lblTimeMax.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.lblTimeMax.Name = "lblTimeMax"; - this.lblTimeMax.Size = new System.Drawing.Size(32, 17); + this.lblTimeMax.Size = new System.Drawing.Size(25, 13); this.lblTimeMax.TabIndex = 5; this.lblTimeMax.Text = "000"; this.lblTimeMax.TextAlign = System.Drawing.ContentAlignment.TopRight; @@ -715,9 +758,10 @@ // this.lblTimeAvg.AutoSize = true; this.lblTimeAvg.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lblTimeAvg.Location = new System.Drawing.Point(224, 58); + this.lblTimeAvg.Location = new System.Drawing.Point(168, 47); + this.lblTimeAvg.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.lblTimeAvg.Name = "lblTimeAvg"; - this.lblTimeAvg.Size = new System.Drawing.Size(35, 17); + this.lblTimeAvg.Size = new System.Drawing.Size(28, 13); this.lblTimeAvg.TabIndex = 4; this.lblTimeAvg.Text = "000"; this.lblTimeAvg.TextAlign = System.Drawing.ContentAlignment.TopRight; @@ -726,64 +770,62 @@ // this.label16.AutoSize = true; this.label16.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label16.Location = new System.Drawing.Point(19, 58); + this.label16.Location = new System.Drawing.Point(14, 47); + this.label16.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label16.Name = "label16"; - this.label16.Size = new System.Drawing.Size(80, 17); + this.label16.Size = new System.Drawing.Size(66, 13); this.label16.TabIndex = 3; this.label16.Text = "TIME: avg"; // // label15 // this.label15.AutoSize = true; - this.label15.Location = new System.Drawing.Point(19, 75); + this.label15.Location = new System.Drawing.Point(14, 61); + this.label15.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label15.Name = "label15"; - this.label15.Size = new System.Drawing.Size(73, 17); + this.label15.Size = new System.Drawing.Size(58, 13); this.label15.TabIndex = 2; this.label15.Text = "TIME: max"; // // label14 // this.label14.AutoSize = true; - this.label14.Location = new System.Drawing.Point(19, 41); + this.label14.Location = new System.Drawing.Point(14, 33); + this.label14.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label14.Name = "label14"; - this.label14.Size = new System.Drawing.Size(70, 17); + this.label14.Size = new System.Drawing.Size(55, 13); this.label14.TabIndex = 1; this.label14.Text = "TIME: min"; // // label12 // this.label12.AutoSize = true; - this.label12.Location = new System.Drawing.Point(19, 20); + this.label12.Location = new System.Drawing.Point(14, 16); + this.label12.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label12.Name = "label12"; - this.label12.Size = new System.Drawing.Size(58, 17); + this.label12.Size = new System.Drawing.Size(44, 13); this.label12.TabIndex = 0; this.label12.Text = "Tot size"; // - // cmbOutType + // chkDoParallel // - this.cmbOutType.FormattingEnabled = true; - this.cmbOutType.Items.AddRange(new object[] { - "byte", - "word", - "dword", - "real", - "struct"}); - this.cmbOutType.Location = new System.Drawing.Point(522, 23); - this.cmbOutType.Name = "cmbOutType"; - this.cmbOutType.Size = new System.Drawing.Size(121, 24); - this.cmbOutType.TabIndex = 16; - this.cmbOutType.Text = "byte"; - this.cmbOutType.SelectedIndexChanged += new System.EventHandler(this.cmbOutType_SelectedIndexChanged); + this.chkDoParallel.AutoSize = true; + this.chkDoParallel.Location = new System.Drawing.Point(392, 46); + this.chkDoParallel.Name = "chkDoParallel"; + this.chkDoParallel.Size = new System.Drawing.Size(74, 17); + this.chkDoParallel.TabIndex = 17; + this.chkDoParallel.Text = "do parallel"; + this.chkDoParallel.UseVisualStyleBackColor = true; // // TestMainForm // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(906, 611); + this.ClientSize = new System.Drawing.Size(680, 496); this.Controls.Add(this.splitContainer1); this.Controls.Add(this.statusStrip1); this.Controls.Add(this.tabCtrl); - this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.Name = "TestMainForm"; this.Text = "SIEMENS S7 TEST"; this.groupBox1.ResumeLayout(false); @@ -873,6 +915,7 @@ private System.Windows.Forms.Label lblThroughtput; private System.Windows.Forms.Label label18; private System.Windows.Forms.ComboBox cmbOutType; + private System.Windows.Forms.CheckBox chkDoParallel; } } diff --git a/SiemensS7/Siemens-S7-Test/TestMainForm.cs b/SiemensS7/Siemens-S7-Test/TestMainForm.cs index 216d58f..fe938f6 100644 --- a/SiemensS7/Siemens-S7-Test/TestMainForm.cs +++ b/SiemensS7/Siemens-S7-Test/TestMainForm.cs @@ -76,6 +76,10 @@ namespace Siemens_S7_Test /// Array oggetti letti /// protected Byte[] memByteRead = new byte[0]; + /// + /// Lock per connessione PLC + /// + private readonly static object connectLock = new object(); public TestMainForm() { @@ -212,24 +216,42 @@ namespace Siemens_S7_Test int.TryParse(txtMemSize.Text, out numByte); int numTest = 1; int.TryParse(txtNumRep.Text, out numTest); - //tslRTime.Text = "Start reading BYTE"; - //tslRTime.Invalidate(); - // effettuo numero di test secondo indicazioni... - for (int i = 0; i < numTest; i++) + + if (chkDoParallel.Checked) { - sw.Restart(); - // eseguo test - try + Parallel.For(0, numTest, (i, state) => { - memByteRead = currPLC.ReadBytes(DataType.DataBlock, memoria.DbNum, memoria.indiceMem, numByte); + lock (connectLock) + { + sw.Restart(); + // eseguo test + memByteRead = currPLC.ReadBytes(DataType.DataBlock, memoria.DbNum, memoria.indiceMem, numByte); + sw.Stop(); + // salvo risultati + PerfStats.addValue((double)sw.ElapsedMilliseconds); + } } - catch (Exception exc) + ); + } + else + { + // effettuo numero di test secondo indicazioni... + for (int i = 0; i < numTest; i++) { - lg.Error(exc); + sw.Restart(); + // eseguo test + try + { + memByteRead = currPLC.ReadBytes(DataType.DataBlock, memoria.DbNum, memoria.indiceMem, numByte); + } + catch (Exception exc) + { + lg.Error(exc); + } + sw.Stop(); + // salvo risultati + PerfStats.addValue((double)sw.ElapsedMilliseconds); } - sw.Stop(); - // salvo risultati - PerfStats.addValue((double)sw.ElapsedMilliseconds); } // mostro update lettura @@ -264,14 +286,34 @@ namespace Siemens_S7_Test int numTest = 1; int.TryParse(txtNumRep.Text, out numTest); // effettuo numero di test secondo indicazioni... - for (int i = 0; i < numTest; i++) + + if (chkDoParallel.Checked) { - sw.Restart(); - // eseguo test - memByteRead = currPLC.ReadBytes(DataType.DataBlock, memoria.DbNum, memoria.indiceMem, numByte); - sw.Stop(); - // salvo risultati - PerfStats.addValue((double)sw.ElapsedMilliseconds); + Parallel.For(0, numTest, (i, state) => + { + lock (connectLock) + { + sw.Restart(); + // eseguo test + memByteRead = currPLC.ReadBytes(DataType.DataBlock, memoria.DbNum, memoria.indiceMem, numByte); + sw.Stop(); + // salvo risultati + PerfStats.addValue((double)sw.ElapsedMilliseconds); + } + } + ); + } + else + { + for (int i = 0; i < numTest; i++) + { + sw.Restart(); + // eseguo test + memByteRead = currPLC.ReadBytes(DataType.DataBlock, memoria.DbNum, memoria.indiceMem, numByte); + sw.Stop(); + // salvo risultati + PerfStats.addValue((double)sw.ElapsedMilliseconds); + } } // mostro update lettura