Files
cms-core-active/CMS_CORE_Library/ToolConfigurations.cs
ext_luca.pansa@cms.it 141ea4c11f Modifiche Osai e ToolConfig
2021-03-04 10:59:15 +01:00

409 lines
38 KiB
C#

using CMS_CORE_Library.Models;
using System.Collections.Generic;
using static CMS_CORE_Library.Models.DataStructures;
namespace CMS_CORE_Library
{
public static class ToolConfigurations
{
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region PRIVATE_SELECTS_VALUES
private static Dictionary<int, string> toolTypeList = new Dictionary<int, string>()
{
{100, "millingTool"},
{110, "ballNoseEndMill"},
{111, "conicalBallEnd"},
{120, "endMill"},
{121, "endMillCornerRounding"},
{130, "angleHeadCutter"},
{131, "cornRoundAngHdCut"},
{140, "facingTool"},
{145, "threadCutter"},
{150, "sideMill"},
{151, "saw"},
{155, "bevelledCutter"},
{156, "bevelledCutterCorner"},
{157, "tapDieSinkCutter"},
{160, "drillThreadCut"},
{200, "twistDrill"},
{205, "solidDrill"},
{210, "boringBar"},
{220, "centerDrill"},
{230, "counterSink"},
{231, "counterBore"},
{240, "tap"},
{241, "fineTap"},
{242, "tapWhitworth"},
{250, "reamer"},
{700, "slottingSaw"},
{710, "3Dprobe"},
{711, "edgeFinder"},
{712, "monoProbe"},
{713, "lProbe"},
{714, "starProbe"},
{725, "calibratingTool"},
{730, "stop"},
{900, "auxiliaryTools"}
};
private static Dictionary<int, string> toolTypeCodeList = new Dictionary<int, string>()
{
{0, "generic"},
{10, "angularTransmission"},
// Disk ultra sound
{70, "diskUltrasound10"},
{71, "diskUltrasound20"},
{72, "diskUltrasound30"},
{73, "diskUltrasound40"},
{74, "diskUltrasound50"},
{75, "diskUltrasound60"},
{76, "diskUltrasound70"},
{77, "diskUltrasound80"},
{78, "diskUltrasound90"},
{79, "diskUltrasound100"},
// Blade ultra sound
{80, "bladeUltrasound10"},
{81, "bladeUltrasound20"},
{82, "bladeUltrasound30"},
{83, "bladeUltrasound40"},
{84, "bladeUltrasound50"},
{85, "bladeUltrasound60"},
{86, "bladeUltrasound70"},
{87, "bladeUltrasound80"},
{88, "bladeUltrasound90"},
{89, "bladeUltrasound100"},
{90, "blade1"},
{91, "blade2"},
{92, "blade3"},
{93, "blade4"},
{94, "blade5"},
{95, "blade6"},
{96, "blade7"},
{97, "blade300"},
{98, "blade400"},
{99, "blade500"},
{101, "radioProbe1.1"},
{102, "radioProbe1.2"},
{103, "radioProbe1.3"},
{104, "radioProbe1.4"},
{105, "radioProbe2.1"},
{106, "radioProbe2.2"},
{107, "radioProbe2.3"},
{108, "radioProbe2.4"}
};
private static Dictionary<int, string> toolLifeList = new Dictionary<int, string>()
{
{(int)SIEMENS_LIFE_TYPE.NONE, "none"},
{(int)SIEMENS_LIFE_TYPE.TIME, "timeLife"},
{(int)SIEMENS_LIFE_TYPE.COUNT, "countLife"},
//{(int)SIEMENS_LIFE_TYPE.WEAR, "wearLife"}
};
private static Dictionary<int, string> cmsToolLifeList = new Dictionary<int, string>()
{
{(int)SIEMENS_LIFE_TYPE.NONE, "none"},
{(int)SIEMENS_LIFE_TYPE.TIME, "timeLife"},
{(int)SIEMENS_LIFE_TYPE.COUNT, "countLife"},
{(int)SIEMENS_LIFE_TYPE.DISTANCE, "distanceLife"}
};
private static Dictionary<int, string> rotationTypeList = new Dictionary<int, string>()
{
{0, "none"},
{1, "clockWhise"},
{2, "counterClockWhise"}
};
private static Dictionary<int, string> physicalType = new Dictionary<int, string>()
{
{1, "magazine_location" },
{2, "spindle" },
{3, "gripper" },
{4, "loader" },
{5, "transfer_location" },
{6, "loading_station" },
{7, "loading_point" }
};
private static Dictionary<int, string> cmsRotationTypeList = new Dictionary<int, string>()
{
{0, "none"},
{1, "clockWhise"},
{2, "counterClockWhise"},
{3, "doubleRotation"}
};
#endregion PRIVATE_SELECTS_VALUES
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region SIEMENS FIELDS CONFIG
public static List<FieldsConfiguration> SiemensToolFieldsConfig = new List<FieldsConfiguration>()
{
new FieldsConfiguration{ Name = "id", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0, IsNeeded = true},
new FieldsConfiguration{ Name = "toolType", Type = "select", SelectValues = toolTypeList, Category = "general", ReadOnly = false, MinValue = 0, MaxValue = 0, IsNeeded = true},
new FieldsConfiguration{ Name = "lifeType", Type = "select", SelectValues = toolLifeList, Category = "life", ReadOnly = false, MinValue = 0, MaxValue = 0},
new FieldsConfiguration{ Name = "familyName", Type = "string", SelectValues = null, Category = "family", ReadOnly = false, MinValue = 0, MaxValue = 0, IsNeeded = true},
new FieldsConfiguration{ Name = "childId", Type = "int", SelectValues = null, Category = "family", ReadOnly = true, MinValue = 0, MaxValue = 0},
new FieldsConfiguration{ Name = "isEnabled", Type = "boolean", SelectValues = null, Category = "state", ReadOnly = false, MinValue = 1, MaxValue = 0, IsNeeded = true},
new FieldsConfiguration{ Name = "isActive", Type = "boolean", SelectValues = null, Category = "state", ReadOnly = false, MinValue = 0, MaxValue = 0, IsNeeded = true},
new FieldsConfiguration{ Name = "isInhibited", Type = "boolean", SelectValues = null, Category = "state", ReadOnly = false, MinValue = 0, MaxValue = 0, IsNeeded = true},
new FieldsConfiguration{ Name = "inFixedPlace", Type = "boolean", SelectValues = null, Category = "state", ReadOnly = false, MinValue = 0, MaxValue = 0, IsNeeded = true},
new FieldsConfiguration{ Name = "isMeasured", Type = "boolean", SelectValues = null, Category = "state", ReadOnly = false, MinValue = 0, MaxValue = 0, IsNeeded = true},
new FieldsConfiguration{ Name = "inChangeTool", Type = "boolean", SelectValues = null, Category = "state", ReadOnly = false, MinValue = 0, MaxValue = 0, IsNeeded = true},
new FieldsConfiguration{ Name = "isInUse", Type = "boolean", SelectValues = null, Category = "state", ReadOnly = false, MinValue = 0, MaxValue = 0, IsNeeded = true},
new FieldsConfiguration{ Name = "preAlarm", Type = "boolean", SelectValues = null, Category = "state", ReadOnly = false, MinValue = 0, MaxValue = 0, IsNeeded = true},
new FieldsConfiguration{ Name = "cooling1", Type = "boolean", SelectValues = null, Category = "cooling", ReadOnly = false, MinValue = 0, MaxValue = 0},
new FieldsConfiguration{ Name = "cooling2", Type = "boolean", SelectValues = null, Category = "cooling" , ReadOnly = false, MinValue = 0, MaxValue = 0},
new FieldsConfiguration{ Name = "magazinePositionType", Type = "int", SelectValues = null, Category = "magazine", ReadOnly = false, MinValue = 1, MaxValue = 7, IsNeeded = true},
new FieldsConfiguration{ Name = "leftSize", Type = "int", SelectValues = null, Category = "magazine", ReadOnly = false, MinValue = 1, MaxValue = 7, IsNeeded = true},
new FieldsConfiguration{ Name = "rightSize", Type = "int", SelectValues = null, Category = "magazine", ReadOnly = false, MinValue = 1, MaxValue = 7, IsNeeded = true},
new FieldsConfiguration{ Name = "rotation", Type = "select", SelectValues = rotationTypeList, Category = "head", ReadOnly = false, MinValue = 0, MaxValue = 0},
new FieldsConfiguration{ Name = "maxSpeed", Type = "double", SelectValues = null, Category = "head", ReadOnly = false, MinValue = 0, MaxValue = 40000 },
// Custom fields
new FieldsConfiguration{ Name = "load", Type = "int", SelectValues = null, Category = "custom", ReadOnly = false, MinValue = 0, MaxValue = 149},
new FieldsConfiguration{ Name = "gamma", Type = "int", SelectValues = null, Category = "custom", ReadOnly = false, MinValue = 0, MaxValue = 5},
new FieldsConfiguration{ Name = "maxLoadPctAutoload", Type = "int", SelectValues = null, Category = "custom", ReadOnly = false, MinValue = 0, MaxValue = 149},
new FieldsConfiguration{ Name = "minLoadPctAutoload", Type = "int", SelectValues = null, Category = "custom", ReadOnly = false, MinValue = 0, MaxValue = 149},
new FieldsConfiguration{ Name = "toolTypeCode", Type = "select", SelectValues = toolTypeCodeList, Category = "custom", ReadOnly = false, MinValue = 0, MaxValue = 110},
};
public static FamiliesConfiguration SiemensFamilyFieldsConfig = new FamiliesConfiguration()
{
FamilyConfiguration = new List<FieldsConfiguration>()
{
new FieldsConfiguration{ Name = "name", Type = "string", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0}
},
ToolsConfiguration = new List<FieldsConfiguration>()
{
new FieldsConfiguration{ Name = "id", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "toolType", Type = "select", SelectValues = toolTypeList, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "childId", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0}
}
};
public static ShanksConfiguration SiemensShankFieldsConfig = new ShanksConfiguration()
{
ShankConfiguration = new List<FieldsConfiguration>()
{
new FieldsConfiguration{ Name = "id", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "name", Type = "string", SelectValues = null, Category = "general", ReadOnly = false, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "isEnabled", Type = "boolean", SelectValues = null, Category = "state", ReadOnly = false, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "isInhibited", Type = "boolean", SelectValues = null, Category = "state", ReadOnly = false, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "inFixedPlace", Type = "boolean", SelectValues = null, Category = "state", ReadOnly = false, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "inChangeTool", Type = "boolean", SelectValues = null, Category = "state", ReadOnly = false, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "inUse", Type = "boolean", SelectValues = null, Category = "state", ReadOnly = false, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "leftSize", Type = "int", SelectValues = null, Category = "magazine", ReadOnly = false, MinValue = 1, MaxValue = 7 },
new FieldsConfiguration{ Name = "rightSize", Type = "int", SelectValues = null, Category = "magazine", ReadOnly = false, MinValue = 1, MaxValue = 7 },
new FieldsConfiguration{ Name = "magazinePositionType", Type = "int", SelectValues = null, Category = "magazine", ReadOnly = false, MinValue = 1, MaxValue = 7 },
},
ToolsConfiguration = new List<FieldsConfiguration>()
{
new FieldsConfiguration{ Name = "id", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "multitoolId", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "familyName", Type = "string", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "toolType", Type = "select", SelectValues = toolTypeList, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 }
}
};
public static List<FieldsConfiguration> SiemensMagazinePosFieldsConfig = new List<FieldsConfiguration>()
{
new FieldsConfiguration{ Name = "magazineId", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "positionId", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "type", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "physicalType", Type = "select", SelectValues = physicalType, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "disabled", Type = "boolean", SelectValues = null, Category = "general", ReadOnly = false, MinValue = 0, MaxValue = 0 }
};
public static EdgesConfiguration SiemensEdgesFieldsConfiguration = new EdgesConfiguration()
{
EdgeConfiguration = new List<FieldsConfiguration>()
{
new FieldsConfiguration{Name = "id", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{Name = "residualLife", Type = "double", SelectValues = null, Category = "life", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue },
new FieldsConfiguration{Name = "nominalLife", Type = "double", SelectValues = null, Category = "life", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue },
new FieldsConfiguration{Name = "preAlmLife", Type = "double", SelectValues = null, Category = "life", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue }
},
EdgesAdditionalParamsConfiguration = new Dictionary<int, List<string>>() // Set value runtime, based on NC vendor
};
#endregion SIEMENS FIELDS CONFIG
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region NC FIELDS CONFIG
public const int NC_MAX_TOOL_NUMER = 300;
public const int NC_MAX_EDGES_PER_TOOL = 3;
public const int NC_MAX_TOOLS_PER_FAMILY = 300;
public const int NC_MAX_MULTITOOLS_NUMBER = 100;
//Fanuc e osai possono averne fino a 99, siemens massimo 3
//public const int NC_MAX_TOOLS_PER_MULTITOOL = 3;
public const int NC_MAX_TOOLS_PER_MULTITOOL_SIEMENS = 3;
public const int NC_MAX_TOOLS_PER_MULTITOOL_FANUC_OSAI = 99;
public struct CATEGORY_NAMES
{
public static string GENERAL = "general";
public static string STATUS = "status";
public static string LIFE = "life";
public static string OFFSET = "offset";
public static string SHANK_OPT = "shankOpt";
public static string TCP = "tcp";
public static string GAMMA = "gamma";
public static string COOLING = "cooling";
public static string LIMITS = "limits";
public static string SELF_ADAPTIVE = "selfAdaptive";
public static string DYNAMIC_COMPENSATION = "dynamicCompensation";
public static string REVIVE = "revive";
public static string MAG_POS_TYPE = "magPosType";
public static string BALLUF = "balluf";
}
public static List<FieldsConfiguration> NcToolFieldsConfig = new List<FieldsConfiguration>()
{
new FieldsConfiguration{ Name = "id", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = ushort.MaxValue},
new FieldsConfiguration{ Name = "shankId", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0},
new FieldsConfiguration{ Name = "familyId", Type = "select", SelectValues = new Dictionary<int, string>(), Category = "general", ReadOnly = false, MinValue = 0, MaxValue = ushort.MaxValue},
//new FieldsConfiguration{ Name = "offsetLength", Type = "int", SelectValues = null, Category = "general", ReadOnly = false, MinValue = 0, MaxValue = ushort.MaxValue},
new FieldsConfiguration{ Name = "disabled", Type = "boolean", SelectValues = null, Category = "status", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "broken", Type = "boolean", SelectValues = null, Category = "status", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "measured", Type = "boolean", SelectValues = null, Category = "status", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "dressed", Type = "boolean", SelectValues = null, Category = "status", SubCategory = "revive", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "integrityCheck", Type = "boolean", SelectValues = null, Category = "status", SubCategory = "integrityCheck", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "residualLife", Type = "int", SelectValues = null, Category = "life", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "residualRevive", Type = "int", SelectValues = null, Category = "life", SubCategory = "revive", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "residualPresetting", Type = "int", SelectValues = null, Category = "life", SubCategory = "revive", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "offsetId1", Type = "int", SelectValues = null, Category = "offset", ReadOnly = false, MinValue = 0, MaxValue = ushort.MaxValue},
new FieldsConfiguration{ Name = "offsetId2", Type = "int", SelectValues = null, Category = "offset", ReadOnly = false, MinValue = 0, MaxValue = ushort.MaxValue},
new FieldsConfiguration{ Name = "offsetId3", Type = "int", SelectValues = null, Category = "offset", ReadOnly = false, MinValue = 0, MaxValue = ushort.MaxValue},
};
public static FamiliesConfiguration NcFamilyFieldsConfig = new FamiliesConfiguration()
{
FamilyConfiguration = new List<FieldsConfiguration>()
{
new FieldsConfiguration{ Name = "id", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0},
new FieldsConfiguration{ Name = "name", Type = "string", SelectValues = null, Category = "general", ReadOnly = false, MinValue = 0, MaxValue = 0},
new FieldsConfiguration{ Name = "toolType", Type = "select", SelectValues = toolTypeCodeList, Category = "general", ReadOnly = false, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "leftSize", Type = "int", SelectValues = null, Category = "shankOpt", ReadOnly = false, MinValue = 1, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "rightSize", Type = "int", SelectValues = null, Category = "shankOpt", ReadOnly = false, MinValue = 1, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "tcpTable", Type = "int", SelectValues = null, Category = "tcp", ReadOnly = false, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "gamma", Type = "int", SelectValues = null, Category = "gamma", ReadOnly = false, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "rotationType", Type = "select", SelectValues = cmsRotationTypeList, Category = "general", ReadOnly = false, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "cooling", Type = "boolean", SelectValues = null, Category = "cooling", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "cooling1", Type = "boolean", SelectValues = null, Category = "cooling", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "cooling2", Type = "boolean", SelectValues = null, Category = "cooling", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "cooling3", Type = "boolean", SelectValues = null, Category = "cooling", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "cooling4", Type = "boolean", SelectValues = null, Category = "cooling", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "cooling5", Type = "boolean", SelectValues = null, Category = "cooling", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "cooling6", Type = "boolean", SelectValues = null, Category = "cooling", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "cooling7", Type = "boolean", SelectValues = null, Category = "cooling", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "maxSpeed", Type = "int", SelectValues = null, Category = "limits", ReadOnly = false, MinValue = 0, MaxValue = ushort.MaxValue},
new FieldsConfiguration{ Name = "maxLoad", Type = "int", SelectValues = null, Category = "limits", ReadOnly = false, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "minLoadPctAutoload", Type = "int", SelectValues = null, Category = "selfAdaptive", ReadOnly = false, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "maxLoadPctAutoload", Type = "int", SelectValues = null, Category = "selfAdaptive", ReadOnly = false, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "dynamicCompensation", Type = "int", SelectValues = null, Category = "dynamicCompensation", ReadOnly = false, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "minLoadDynamicCompensation", Type = "int", SelectValues = null, Category = "dynamicCompensation", ReadOnly = false, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "maxLoadDynamicCompensation", Type = "int", SelectValues = null, Category = "dynamicCompensation", ReadOnly = false, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "lifeType", Type = "select", SelectValues = cmsToolLifeList, Category = "life", ReadOnly = false, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "nominalLife", Type = "int", SelectValues = null, Category = "life", ReadOnly = false, MinValue = 0, MaxValue = ushort.MaxValue},
new FieldsConfiguration{ Name = "reviveDelta", Type = "int", SelectValues = null, Category = "revive", ReadOnly = false, MinValue = 0, MaxValue = ushort.MaxValue},
new FieldsConfiguration{ Name = "presettingDelta", Type = "int", SelectValues = null, Category = "revive", ReadOnly = false, MinValue = 0, MaxValue = ushort.MaxValue},
},
FamilyReadOnlyConfiguration = new List<FieldsConfiguration>()
{
new FieldsConfiguration{ Name = "name", Type = "string", SelectValues = null, Category = "family", SubCategory = "general", ReadOnly = true, MinValue = 0, MaxValue = 0},
new FieldsConfiguration{ Name = "toolType", Type = "select", SelectValues = toolTypeCodeList, Category = "family", SubCategory = "general", ReadOnly = true, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "leftSize", Type = "int", SelectValues = null, Category = "family", SubCategory = "general", ReadOnly = true, MinValue = 1, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "rightSize", Type = "int", SelectValues = null, Category = "family", SubCategory = "general", ReadOnly = true, MinValue = 1, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "tcpTable", Type = "int", SelectValues = null, Category = "family", SubCategory = "tcp", ReadOnly = true, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "gamma", Type = "int", SelectValues = null, Category = "family", SubCategory = "gamma", ReadOnly = true, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "rotationType", Type = "int", SelectValues = null, Category = "family", SubCategory = "general", ReadOnly = true, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "cooling", Type = "boolean", SelectValues = null, Category = "family", SubCategory = "cooling", ReadOnly = true, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "cooling1", Type = "boolean", SelectValues = null, Category = "family", SubCategory = "cooling", ReadOnly = true, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "cooling2", Type = "boolean", SelectValues = null, Category = "family", SubCategory = "cooling", ReadOnly = true, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "cooling3", Type = "boolean", SelectValues = null, Category = "family", SubCategory = "cooling", ReadOnly = true, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "cooling4", Type = "boolean", SelectValues = null, Category = "family", SubCategory = "cooling", ReadOnly = true, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "cooling5", Type = "boolean", SelectValues = null, Category = "family", SubCategory = "cooling", ReadOnly = true, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "cooling6", Type = "boolean", SelectValues = null, Category = "family", SubCategory = "cooling", ReadOnly = true, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "cooling7", Type = "boolean", SelectValues = null, Category = "family", SubCategory = "cooling", ReadOnly = true, MinValue = 0, MaxValue = int.MaxValue},
new FieldsConfiguration{ Name = "maxSpeed", Type = "int", SelectValues = null, Category = "family", SubCategory = "limits", ReadOnly = true, MinValue = 0, MaxValue = ushort.MaxValue},
new FieldsConfiguration{ Name = "maxLoad", Type = "int", SelectValues = null, Category = "family", SubCategory = "limits", ReadOnly = true, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "minLoadPctAutoload", Type = "int", SelectValues = null, Category = "family", SubCategory = "selfAdaptive", ReadOnly = true, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "maxLoadPctAutoload", Type = "int", SelectValues = null, Category = "family", SubCategory = "selfAdaptive", ReadOnly = true, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "dynamicCompensation", Type = "int", SelectValues = null, Category = "family", SubCategory = "dynamicCompensation", ReadOnly = true, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "minLoadDynamicCompensation", Type = "int", SelectValues = null, Category = "family", SubCategory = "dynamicCompensation", ReadOnly = true, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "maxLoadDynamicCompensation", Type = "int", SelectValues = null, Category = "family", SubCategory = "dynamicCompensation", ReadOnly = true, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "lifeType", Type = "int", SelectValues = null, Category = "family", SubCategory = "life", ReadOnly = true, MinValue = 0, MaxValue = byte.MaxValue},
new FieldsConfiguration{ Name = "nominalLife", Type = "int", SelectValues = null, Category = "family", SubCategory = "life", ReadOnly = true, MinValue = 0, MaxValue = ushort.MaxValue},
new FieldsConfiguration{ Name = "reviveDelta", Type = "int", SelectValues = null, Category = "family", SubCategory = "revive", ReadOnly = true, MinValue = 0, MaxValue = ushort.MaxValue},
new FieldsConfiguration{ Name = "presettingDelta",Type = "int", SelectValues = null, Category = "family", SubCategory = "revive", ReadOnly = true, MinValue = 0, MaxValue = ushort.MaxValue},
},
ToolsConfiguration = new List<FieldsConfiguration>()
{
new FieldsConfiguration{ Name = "id", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "shankId", Type = "int", SelectValues = toolTypeList, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
}
};
public static ShanksConfiguration NcShankFieldsConfig = new ShanksConfiguration()
{
ShankConfiguration = new List<FieldsConfiguration>()
{
new FieldsConfiguration{ Name = "id", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "balluf", Type = "int", SelectValues = null, Category = "balluf", ReadOnly = false, MinValue = 0, MaxValue = short.MaxValue },
// new FieldsConfiguration{ Name = "magazinePositionType", Type = "int", SelectValues = null, Category = "magPosType", ReadOnly = false, MinValue = 0, MaxValue = byte.MaxValue },
new FieldsConfiguration{ Name = "magazineId", Type = "int", SelectValues = null, Category = "position", ReadOnly = true, MinValue = 0, MaxValue = byte.MaxValue },
new FieldsConfiguration{ Name = "positionId", Type = "int", SelectValues = null, Category = "position", ReadOnly = true, MinValue = 0, MaxValue = byte.MaxValue },
new FieldsConfiguration{ Name = "originMagazineId", Type = "int", SelectValues = null, Category = "position", ReadOnly = true, MinValue = 0, MaxValue = byte.MaxValue },
new FieldsConfiguration{ Name = "originPositionId", Type = "int", SelectValues = null, Category = "position", ReadOnly = true, MinValue = 0, MaxValue = byte.MaxValue }
},
ToolsConfiguration = new List<FieldsConfiguration>()
{
new FieldsConfiguration{ Name = "id", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "familyId", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
}
};
public static List<FieldsConfiguration> NcMagazinePosFieldsConfig = new List<FieldsConfiguration>()
{
new FieldsConfiguration{ Name = "magazineId", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{ Name = "positionId", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
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<FieldsConfiguration>()
{
new FieldsConfiguration{Name = "id", Type = "int", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{Name = "unitOfMeasure", Type = "string", SelectValues = null, Category = "general", ReadOnly = true, MinValue = 0, MaxValue = 0 },
new FieldsConfiguration{Name = "length", Type = "double", SelectValues = null, Category = "general", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue },
new FieldsConfiguration{Name = "radius", Type = "double", SelectValues = null, Category = "general", ReadOnly = false, MinValue = 0, MaxValue = int.MaxValue },
new FieldsConfiguration{Name = "wearLength", Type = "double", SelectValues = null, Category = "general", ReadOnly = false, MinValue = int.MinValue, MaxValue = int.MaxValue },
new FieldsConfiguration{Name = "wearRadius", Type = "double", SelectValues = null, Category = "general", ReadOnly = false, MinValue = int.MinValue, MaxValue = int.MaxValue },
new FieldsConfiguration{Name = "realLength", Type = "double", SelectValues = null, Category = "general", ReadOnly = true, MinValue = int.MinValue, MaxValue = int.MaxValue },
new FieldsConfiguration{Name = "realRadius", Type = "double", SelectValues = null, Category = "general", ReadOnly = true, MinValue = int.MinValue, MaxValue = int.MaxValue }
},
EdgesAdditionalParamsConfiguration = new Dictionary<int, List<string>>() // Set value runtime, based on NC vendor
};
#endregion NC FIELDS CONFIG
}
}