KND CNC
The KND CNC driver accesses KND K2000, K1000 C/Ci/F/Fi, and K1000TTCi series CNC systems via HTTP protocol, enabling real-time collection of various device operation data, including program name, spindle override, operating status, PLC points, etc.
Device Settings
Field | Description |
---|---|
host | Device IP address |
port | Device port number, default 8000 |
Supported Data Types
- uint8
- int8
- uint16
- int16
- uint32
- int32
- uint64
- int64
- float
- double
- bool
- bit
- string
CNC Data
address[.m]
Tag Identifier (Address) | Description | Data Type | Parameter | Remarks |
---|---|---|---|---|
systemInfo.id | ID | int32 | - | - |
systemInfo.type | System Type | string | - | - |
systemInfo.manufacturer | Manufacturer | string | - | - |
systemInfo.manufacture-time | Manufacture Time | string | - | - |
systemInfo.soft-version | System Software Version | string | - | - |
systemInfo.fpga-version | FPGA Version | string | - | - |
systemInfo.ladder-version | Ladder Version | string | - | - |
systemInfo.user-axes | User Axis List | array string | - | - |
systemStatus.run-status | Current Run Status | int32 | - | 0: CNC is stopped 1: CNC is paused (feed hold) 2: CNC is running |
systemStatus.opr-mode | Current Operation Mode | int32 | - | 0: Manual data input mode 1: Automatic mode 2: Invalid mode 3: Edit mode 4: Single step mode 5: Manual mode 8: Handle wheel mode 9: Machine zero return mode 10: Program zero return mode |
systemStatus.ready | Is Ready | bool | - | - |
systemStatus.not-ready-reason | Not Ready Reason Mask | int32 | - | 0x1: Emergency stop signal active 0x2: Servo not ready 0x4: IO not ready (remote IO devices, etc.) |
systemStatus.alarms | Alarm List | array string | - | - |
alarms | Alarm Description Information | string | m | prm-switch: Parameter switch alarm (system parameter switch or servo parameter switch) reboot: Power on/off alarm plc: PLC alarm or prompt (external alarm) ps: PS alarm (operation error) over-travel: Over-travel alarm over-heat: Overheat alarm mem: Memory alarm servo: Servo drive alarm servo-bus: Servo bus alarm over-workarea: Out of work area alarm io-bus: IO bus alarm io-module: IO module alarm manufacture: Machine factory alarm forbid-move: Axis movement not allowed when axis moves |
absolute | Absolute Coordinates | double | m | X Y Z |
machine | Machine Coordinates | double | m | X Y Z |
relative | Relative Coordinates | double | m | X Y Z |
cycleTime | Processing Time | int32 | m | total: Processing time (unit: seconds) cur: Cycle time (unit: seconds) |
workCounts | Processing Counts | int32 | m | total: Total processing count batch: Single batch processing count |
workCountGoals | Target Counts | int32 | m | total: Total target count batch: Single batch target count |
feedOverride | Current Feed Override | double | - | - |
jogOverride | Current Jog Override | double | - | - |
rapidOverride | Current Rapid Override | double | - | - |
handleOverride | Current Handle/Single Step Override | double | - | - |
spindleOverride | Current Spindle Override | double | m | 1: Spindle 1 2: Spindle 2 3: Spindle 3 |
spSpeed | Current Spindle Speed | double | m | 1: Spindle 1 2: Spindle 2 3: Spindle 3 |
feedrate | Actual Feedrate | double | - | - |
g54 | G54 Work Coordinate System | double | m | X Y Z |
g55 | G55 Work Coordinate System | double | m | X Y Z |
g56 | G56 Work Coordinate System | double | m | X Y Z |
g57 | G57 Work Coordinate System | double | m | X Y Z |
g58 | G58 Work Coordinate System | double | m | X Y Z |
g59 | G59 Work Coordinate System | double | m | X Y Z |
workCoorsCur | Current Work Coordinate System | string | - | - |
vars | Macro Variables | double | m | Macro variable number |
progCur | Current Program | int32 | - | - |
progExecStatus | Program Execution Status | int32 | m | O: Program O number N: Program N number P: Paragraph number |
TIP
Spindle numbers start from 1 and increase according to the actual number of spindles.
Macro variables (vars) are readable and writable, others are read-only.
CNC Address Examples
Address | Description |
---|---|
systemInfo.type | Read processing main program number |
machine.X | Read X-axis coordinate |
vars.100 | Read/write macro variable 100 |
feedOverride | Read current feed override |
alarms.plc | PLC alarm or prompt (external alarm) |
spindleOverride.1 | Spindle 1 override |
spSpeed.1 | Spindle 1 speed |
cycleTime.cur | Cycle time |
PLC Data
Address Format
AREA ADDRESS[.BIT][.LEN]
Identifier | Description | Type | Permission |
---|---|---|---|
X | DI Input | all | Read |
Y | DO Output | all | Read |
F | NC -> PLC | all | Read |
G | PLC -> NC | all | Read |
R | PLC Internal Control Relay | all | Read/Write |
S | PLC Internal Special Flag | all | Read |
K | PLC Internal Power-On Relay | all | Read |
D | Data Table | all | Read |
TL | Label Sequence Number | all | Read |
TIP
Currently, only part of the R area can be set, i.e., R17000-R17099, and it requires explicit permission in the ladder diagram. The ladder diagram must set G138 to 181 to allow remote modification of the above R area.
AREA ADDRESS[.cur/conf]
Identifier | Description | Type | Permission |
---|---|---|---|
T | Timer | int32/uint32 | Read |
C | Counter | int32/uint32 | Read |
TIP
When reading timers and counters, you need to specify whether it is the set value or the current value.
Common PLC Points
Address | Type | Description |
---|---|---|
X0.0 | bit | DI area, data at address 0 |
Y0.0 | bit | DO area, data at address 0 |
D10 | int32 | Data table area, data at address 10 |
R17000 | float | Internal control relay area, data at address 17000 |
D20.24 | string | Data table area, data at address 20 |
T0.conf | int32 | Timer area, set value data at address 0 |
T0.cur | int32 | Timer area, current data at address 0 |