{
    "PID": {
        "00001": "Tightening Status",
        "00002": "Station ID",
        "00003": "Station Name",
        "00010": "VIN Number",
        "00011": "Identifier 1",
        "00012": "Identifier 2",
        "00013": "Identifier 3",
        "00014": "Identifier 4",
        "00015": "Identifier 5",
        "00016": "Identifier 6",
        "00017": "Identifier 7",
        "00018": "Identifier 8",
        "00019": "Identifier 9",
        "00020": "Identifier 10",
        "00030": "Tightening Identifier",
        "00031": "Identifier handling",
        "00050": "Oldest result Id",
        "00051": "Latest result Id",
        "00052": "Oldest result Time",
        "00053": "Latest result Time",
        "00040": "Events",
        "00100": "Batch size",
        "00101": "Batch counter",
        "00102": "Batch status",
        "00103": "Batch count",
        "01000": "Tightening program Number",
        "01001": "Tightening program Name",
        "01002": "Control Tightening program Strategy",
        "01003": "Time of last change in tightening program settings",
        "01004": "Number of steps",
        "01005": "Tightening Strategy",
        "01006": "Trace Tool Start",
        "01007": "Cycle Tool Start",
        "01008": "Remove fastener limit",
        "01009": "Measure Torque at",
        "01010": "Monitor Angle High limit",
        "01011": "Measure Angle to",
        "01012": "Re-hit Angle",
        "01013": "Zoom Step Speed",
        "01014": "Ergo Ramp",
        "01015": "Reserved",
        "01016": "Tool Idle time",
        "01017": "End Time",
        "01018": "Monitor End Time from",
        "01019": "Tight time out sec",
        "01020": "Max Coherent NOK",
        "01021": "High Speed Rundown Used",
        "01022": "High Speed Rundown Speed",
        "01023": "High Speed Rundown Interval",
        "01024": "High Speed Rundown Ramp at High Speed",
        "01025": "High Speed Rundown Disable High Speed at NOK",
        "01026": "Options Used",
        "01027": "Options Soft Stop",
        "01028": "Options Re-hit Detect",
        "01029": "Options Torque < Target Detect",
        "01030": "Options Lost trigger detect",
        "01031": "Options Socket Release Detect",
        "01032": "Self-Tap Monitoring Speed Rpm",
        "01033": "Measured Delay Time",
        "01034": "Ds Tuning value",
        "01035": "Options Timeout detect",
        "01036": "Used strategies",
        "01037": "Tightening error bits 1",
        "01038": "Tightening error bits 2",
        "01039": "Result type",
        "01040": "Dynamic Pset Id",
        "01041": "Dynamic Pset Name",
        "01100": "Torque controller Name",
        "01101": "Torque controller Number",
        "01102": "Torque controller type name",
        "01103": "Torque controller article number",
        "01104": "Torque controller serial number",
        "01200": "Tool type name",
        "01201": "Tool article number",
        "01202": "Tool serial number",
        "01203": "Tool type",
        "01204": "Speed Factor",
        "01210": "Tool total number of tightenings",
        "01211": "Tool total number of tightenings since service",
        "01212": "Tool total number of tightenings to service",
        "01300": "Bolt Name",
        "01301": "Bolt Number",
        "01302": "Bolt Status",
        "01400": "Tightening Status",
        "01401": "Tightening error codes",
        "01402": "Torque status",
        "01403": "Angle status",
        "01404": "Rundown Monitor status",
        "01405": "Current Monitor status",
        "01406": "Self Tap Status",
        "01407": "PVT Monitor status",
        "01408": "PVT Comp status",
        "01500": "Job ID",
        "01501": "Job sequence number",
        "01502": "Job stage number",
        "01503": "Job time stamp",
        "01504": "Sync Group ID",
        "01505": "Sync Group Name",
        "01506": "Sync Group Status",
        "01507": "Sync Tightening Id",
        "01508": "Job Start Time",
        "01509": "Job Reference Mac address",
        "01510": "Job result Id",
        "01511": "Auto Pset change",
        "01512": "Pset/Mset type",
        "01513": "Pset/Mset channel Id",
        "01514": "Stop time",
        "01515": "First NOK Event",
        "01516": "Job done status",
        "02000": "Torque, final target",
        "02001": "Torque, measured value",
        "02002": "Torque, final upper limit",
        "02003": "Torque, final lower limit",
        "02004": "Torque, first target",
        "02005": "Torque, cycle start",
        "02006": "Torque, cycle complete",
        "02010": "Angle, target",
        "02011": "Angle, measured value",
        "02012": "Angle, upper limit",
        "02013": "Angle, lower limit",
        "02014": "Angle target threshold torque cycle start",
        "02015": "Angle target threshold torque cycle end",
        "02016": "Angle Max Rundown",
        "02017": "Angle Min Rundown",
        "02018": "Angle max to monitor",
        "02019": "Torque, Rundown complete torque",
        "02020": "Current, target",
        "02021": "Current, measured value",
        "02022": "Current, upper limit",
        "02023": "Current, lower limit",
        "02030": "Torque 2nd, measured value",
        "02031": "Torque 2nd, upper limit",
        "02032": "Torque 2nd, lower limit",
        "02040": "Angle 2nd, measured value",
        "02041": "Angle 2nd, upper limit",
        "02042": "Angle 2nd, lower limit",
        "02043": "Rundown Angle",
        "02044": "Rundown Angle measured value",
        "02050": "Speed, target",
        "02051": "Speed, measured",
        "02052": "Step Speed",
        "02053": "Reserved",
        "02054": "Soft start time",
        "02055": "Soft start speed",
        "02056": "Step Ramp",
        "02057": "Reserved",
        "02058": "Lock at batch done",
        "02059": "Necking shut off",
        "02060": "Rotate Direction",
        "02061": "Self-tap",
        "02062": "Number of self-tap windows",
        "02064": "Necking drop torque from peak",
        "02070": "Self-tap Max Torque",
        "02071": "Self-tap Min Torque",
        "02072": "Prevail Torque Max",
        "02073": "Prevail Torque Min",
        "02074": "Yield Max",
        "02075": "Yield Min",
        "02076": "Prevail",
        "02077": "Prevail Comp",
        "02078": "Prevail comp point angle",
        "02079": "Number of prevail windows",
        "02080": "Post View Torque Min Limit",
        "02081": "Post View Torque Max Limit",
        "02082": "Prevail Comp Measured Torque",
        "02084": "Self-tap monitor interval",
        "02085": "Prevail Torque Delay Interval",
        "02086": "Prevail Torque Monitor Interval",
        "02087": "Post View Torque Monitor Min Start",
        "02088": "Post View Torque Monitor Min Interval",
        "02089": "Post View Torque Monitor Max Start",
        "02090": "Post View Torque Monitor Max Interval",
        "02091": "Post View Torque",
        "02092": "Self-tap Torque measured value",
        "02093": "Prevail Torque measured value",
        "02094": "Attachment Gear ratio",
        "02095": "Attachment tuning. Efficiency tuning",
        "02100": "Loosening limit torque",
        "02101": "Loosening speed",
        "02102": "Loosening ramp",
        "02103": "Speed unit",
        "02110": "Force, final target",
        "02111": "Force, measured value",
        "02112": "Force, final upper limit",
        "02113": "Force, final lower limit",
        "02120": "Stroke, target",
        "02121": "Stroke, measured value",
        "02122": "Stroke, upper limit",
        "02123": "Stroke, lower limit",
        "02124": "Free Event Text",
        "02130": "Four stage soft start angle",
        "02131": "Four stage soft start angle torque max",
        "02132": "Four stage first target angle min",
        "02133": "Four stage first target angle max",
        "02134": "Four stage torque, measured value",
        "02135": "Four stage angle, measured value",
        "02136": "Four stage status angle, measured value",
        "02129": "Four stage status torque measured value",
        "02137": "Gradient monitoring",
        "02138": "Gradient torque min",
        "02139": "Gradient torque max",
        "02140": "Gradient Joint hardness",
        "02141": "Gradient Start torque",
        "02142": "Gradient Angle offset",
        "02143": "Yield control Start torque",
        "02144": "Yield control Step angle",
        "02145": "Yield control window angle",
        "02146": "Yield slope ratio",
        "02147": "Yield control Extra Angle step",
        "02150": "Positioning Adjustable limit",
        "02151": "Positioning limit",
        "02152": "Snug gradient delta angle",
        "02153": "Snug gradient delta torque",
        "02154": "Snug gradient Torque limit",
        "02155": "Snug gradient PVT distance",
        "02156": "Snug gradient PVT interval",
        "02157": "Snug gradient Compensate",
        "02158": "Snug PVT Monitoring min",
        "02159": "Snug PVT Monitoring max",
        "02160": "Delay monitoring after cycle start",
        "02201": "Trace type",
        "02213": "Coefficient",
        "02214": "Coefficient",
        "02215": "Stage one number of samples",
        "02216": "Stage two number of samples",
        "02217": "Stage three number of samples",
        "02218": "Stage four number of samples",
        "04000": "Tool latest Pset status",
        "04001": "Tool latest Identifier status",
        "04002": "Tool lock/unlock status",
        "05000": "Tightening step strategy",
        "05001": "Step error codes",
        "05002": "Step name",
        "05100": "Step Torque, target",
        "05101": "Step Torque, measured value",
        "05102": "Step Torque, upper limit",
        "05103": "Step Torque, lower limit",
        "05110": "Step Angle, target",
        "05111": "Step Angle target threshold torque",
        "05112": "Step Angle, measured value",
        "05113": "Step Angle, upper limit",
        "05114": "Step Angle, lower limit",
        "05120": "Step Current, target",
        "05121": "Step Current, measured value",
        "05122": "Step Current, upper limit",
        "05123": "Step Current, lower limit",
        "05130": "Step Force, target",
        "05131": "Step Force, measured value",
        "05132": "Step Force, upper limit",
        "05133": "Step Force, lower limit",
        "05140": "Step Stroke, target",
        "05141": "Step Stroke target threshold force",
        "05142": "Step Stroke, measured value",
        "05143": "Step Stroke, upper limit",
        "05144": "Step Stroke, lower limit",
        "05150": "Step Start",
        "05151": "Step Stop"
    },
    "UNIT": {
        "000": "No unit",
        "001": "N-m",
        "002": "ft lbf",
        "003": "cN-m",
        "004": "kN-m",
        "005": "MN-m",
        "006": "in lbf",
        "007": "Kpm",
        "008": "Kfcnm",
        "009": "%",
        "010": "Ozf-in",
        "011": "dNm",
        "050": "°",
        "051": "rad",
        "100": "Hz",
        "101": "rpm",
        "150": "N·m / °",
        "151": "ft lbf / °",
        "152": "cN·m / °",
        "153": "kN·m / °",
        "154": "MN·m / °",
        "155": "in lbf / °",
        "160": "N·m / rad",
        "161": "ft lbf / rad",
        "162": "cN·m / rad",
        "200": "s",
        "201": "min",
        "202": "ms",
        "203": "h",
        "250": "K",
        "251": "°C",
        "252": "°F",
        "300": "N",
        "301": "kN",
        "302": "lbf",
        "303": "kgf",
        "304": "ozf",
        "305": "MN",
        "350": "m",
        "351": "mm",
        "352": "in",
        "400": "m/s",
        "401": "mm/s",
        "450": "N / mm",
        "451": "kN / mm",
        "452": "lbf / in",
        "453": "Kgf / mm",
        "454": "Ozf / in",
        "455": "MN / mm",
        "500": "m/s2",
        "501": "mm/s2",
        "550": "kg",
        "551": "lb",
        "600": "L",
        "601": "m3",
        "650": "m2",
        "700": "W",
        "750": "A",
        "751": "V",
        "752": "Ω",
        "753": "F",
        "754": "H",
        "800": "%",
        "900": "N·m / ms",
        "901": "ft lbf / ms",
        "902": "cN·m / ms",
        "903": "kN·m / ms",
        "904": "MN·m / ms",
        "905": "in lbf / ms",
        "910": "° / ms",
        "911": "rad / ms",
        "920": "N / ms",
        "921": "kN / ms",
        "922": "Lbf / ms",
        "923": "kgf / ms",
        "924": "ozf / ms",
        "925": "MN / ms"
    },
    "ERROR": {
        "00": "No Error",
        "01": "Invalid data",
        "02": "Parameter set ID not present",
        "03": "Parameter set can not be set",
        "04": "Parameter set not running",
        "06": "VIN upload subscription already exists",
        "07": "VIN upload subscription does not exists",
        "08": "VIN input source not granted",
        "09": "Last tightening result subscription already exists",
        "10": "Last tightening result subscription does not exist",
        "11": "Alarm subscription already exists",
        "12": "Alarm subscription does not exist",
        "13": "Parameter set selection subscription already exists",
        "14": "Parameter set selection subscription does not exist",
        "15": "Tightening ID requested not found",
        "16": "Connection rejected protocol busy",
        "17": "Job ID not present",
        "18": "Job info subscription already exists",
        "19": "Job info subscription does not exist",
        "20": "Job can not be set",
        "21": "Job not running",
        "22": "Not possible to execute dynamic Job request",
        "23": "Job batch decrement failed",
        "24": "Not possible to create Pset",
        "25": "Programming control not granted",
        "26": "Wrong tool type to Pset download connected",
        "27": "Tool is inaccessible",
        "28": "Job abortion is in progress",
        "30": "Controller is not a sync Master/station controller",
        "31": "Multi-spindle status subscription already exists",
        "32": "Multi-spindle status subscription does not exist",
        "33": "Multi-spindle result subscription already exists",
        "34": "Multi-spindle result subscription does not exist",
        "35": "Other master client already connected",
        "40": "Job line control info subscription already exists",
        "41": "Job line control info subscription does not exist",
        "42": "Identifier input source not granted",
        "43": "Multiple identifiers work order subscription already exists",
        "44": "Multiple identifiers work order subscription does not exist",
        "50": "Status external monitored inputs subscription already exists",
        "51": "Status external monitored inputs subscription does not exist",
        "52": "IO device not connected",
        "53": "Faulty IO device ID",
        "54": "Tool Tag ID unknown",
        "55": "Tool Tag ID subscription already exists",
        "56": "Tool Tag ID subscription does not exist",
        "57": "Tool Motor tuning failed",
        "58": "No alarm present",
        "59": "Tool currently in use",
        "60": "No histogram available",
        "61": "Pairing failed",
        "62": "Pairing denied",
        "63": "Pairing or Pairing abortion attempt on wrong tooltype",
        "64": "Pairing abortion denied",
        "65": "Pairing abortion failed",
        "66": "Pairing disconnection failed",
        "67": "Pairing in progress or already done",
        "68": "Pairing denied. No Program Control",
        "69": "Unsupported extra data revision",
        "70": "Calibration failed",
        "71": "Subscription already exists",
        "72": "Subscription does not exists",
        "73": "Subscribed MID unsupported, answer if trying to subscribe on a non-existing MID",
        "74": "Subscribed MID Revision unsupported, answer if trying to subscribe on unsupported MID Revision",
        "75": "Requested MID unsupported answer if trying to request on a non-existing MID",
        "76": "Requested MID Revision unsupported response when trying to request unsupported MID Revision",
        "77": "Requested on specific data not supported response when trying to request data that is not supported",
        "78": "Subscription on specific data not supported answer if trying to subscribe for unsupported data",
        "79": "Command failed",
        "80": "Audi emergency status subscription exists",
        "81": "Audi emergency status subscription does not exist",
        "82": "Automatic/Manual mode subscribe already exist",
        "83": "Automatic/Manual mode subscribe does not exist",
        "84": "The relay function subscription already exists",
        "85": "The relay function subscription does not exist",
        "86": "The selector socket info subscription already exist",
        "87": "The selector socket info subscription does not exist",
        "88": "The digin info subscription already exist",
        "89": "The digin info subscription does not exist",
        "90": "Lock at batch done subscription already exist",
        "91": "Lock at batch done subscription does not exist",
        "92": "Open protocol commands disabled",
        "93": "Open protocol commands disabled subscription already exists",
        "94": "Open protocol commands disabled subscription does not exist",
        "95": "Reject request, Power MACS is in manual mode",
        "96": "Reject connection, Client already connected",
        "97": "MID revision unsupported",
        "98": "Controller internal request timeout",
        "99": "Unknown MID"
    },
    "ERROR_LINKLAYER": {
        "INVALID_LENGTH": 1,
        "INVALID_REVISION": 2,
        "INVALID_SEQUENCE_NUMBER": 3,
        "INCONSISTENCY_MESSAGE_NUMBER": 4
    },
    "defaultEncoder" : "ascii"
}