Heidenhain 640 Ethernet
Review the following information for setting up and configuring the Heidenhain 640 Ethernet driver. The driver connects to the control as an LSV/2 client over TCP. It reads and writes PLC memory, and reads run information, tool table entries, and control files.
Note: This driver is experimental. Some features might not work as expected.
Manufacturing Connect Edge compatible series
Compatibility parameter | Compatible items |
|---|---|
Driver type | Ethernet |
Validated devices/series |
To set up and configure this device in Manufacturing Connect Edge (LE), do the following:
- Step 1: Set up and configure the PLC device
- Step 2: Set up the PLC device in Manufacturing Connect Edge DeviceHub
- Step 3: Configure the list of registers
Step 1: Set up and configure the PLC device
If the device is configured for Ethernet access, find its network parameters. Otherwise, use PLC software on your computer to configure the device for Ethernet access.
The control must have the LSV/2 (DNC) option enabled and must be reachable on the LSV/2 port, 19000 by default. The driver uses one LSV/2 connection for each device.
Step 2: Set up the PLC device in Manufacturing Connect Edge DeviceHub
Configure the following parameters when you Connect a Device with this driver. Update default values to the specific setup of your device.
Parameter | Value |
|---|---|
Type | Heidenhain |
Driver | Heidenhain 640 Ethernet |
NetworkAddress | The IP address of the control you defined in Step 1. Default value 192.168.0.1 |
NetworkPort | The LSV/2 port of the control. This must match the port configured on the control. Default value 19000 |
The following parameter is under Advanced Parameters.
Parameter | Value |
|---|---|
ReadTimeout | How long the driver waits for a response, in milliseconds. Enter a value from 1000 to 60000. Default value 2000 |
For the Meta Data, Status Register, and Optional Settings options, see Connect a Device.
Step 3: Configure the list of registers
When you Add Tags to the connected device, see the following register table and tag parameters. This driver does not support browsing tags.
See the following additional resources if necessary:
Note: The W (PLC Word memory) register replaces the PLC register from the Gen 1.3 driver. To read the Gen 1.3 value types, use uint8 for byte, uint16 for word, and uint32 for dword. The W register also supports other value types.
Register table
The registers fall into two groups:
- PLC memory (M, W, I, O, and T): the address is a 0-based byte offset in the memory area.
- Control data (all other registers): each register returns one object, published as JSON. The address is ignored, except for IJHTool, where the address is the tool number.
Name | Description | Value Types | Access Type | Address Format | Min Address | Max Address |
|---|---|---|---|---|---|---|
M | Markers | bool, bool[] | R/W | DDDDDD | 0 | 999999 |
W | Word memory | int8, uint8, int16, uint16, int32, uint32, float64, int8[], uint8[], int16[], uint16[], int32[], uint32[], float64[] | R/W | DDDDDD | 0 | 999999 |
I | Inputs | bool, bool[] | R/O | DDDDDD | 0 | 999999 |
O | Outputs | bool, bool[] | R/O | DDDDDD | 0 | 999999 |
T | Timers | uint32, uint32[] | R/O | DDDDDD | 0 | 999999 |
DNC_EXEC_MODE | | custom | R/O | D | 0 | 0 |
DNC_EVT_PROGRAM | | custom | R/O | D | 0 | 0 |
DNC_ERROR_CLASS | | custom | R/O | D | 0 | 0 |
IJHProgramPosition | | custom | R/O | D | 0 | 0 |
GetOverrideInfo | | custom | R/O | D | 0 | 0 |
RUNINFO_AXES_POSITION | | custom | R/O | D | 0 | 0 |
RUNINFO_CUTTER_LOCATION | | custom | R/O | D | 0 | 0 |
RUNINFO_TOOL | | custom | R/O | D | 0 | 0 |
IJHTool | Tool table entry. Address is the tool number | custom | R/O | DDDD | 0 | 9999 |
FILE | Control file, path in Sheet | string | R/W | D | 0 | 0 |
Note: To write to a FILE register from Flows Manager, the inject node must use the same syntax as the value that a read of that register returns. Read the register first, and use that value as the format for your write.
Tag parameters
- Name: Select a register name from the drop-down list. The available options depend on the names in the register table.
- Value Type: Select a data type from the drop-down list. The available options depend on the register name selected.
- Address: Enter the register address in decimal format, within the min and max range in the register table. Omit leading zeros.
- Count: For array value types only (such as bool[] or int16[]). Enter the number of elements to read, from 1 to 1024. The driver reads a large count in several requests. Default value 1.
- Sheet (Optional): For FILE only. Enter the file path on the control.
- PollingInterval: Enter how often the tag polls for data, in seconds. Enter 0 to disable polling. Default value 1
- Tag Name: Enter a name for the tag.
- Description (Optional): Enter a description for the tag.
- Tag Formula: Enter a formula for the tag to process the generated data. You can use two variables: value (current tag value) and timestamp (current tag UNIX time in milliseconds). The following math functions are available:
- sin
- cos
- sqrt
- tan
- power: power(x) performs the operation 10^x.
- log: log(x) is the natural logarithm (the logarithm is in base e).
- exp: exp(x) performs the operation e^x.
- Only Publish on Change of Value: Select the checkbox to publish NATS messages only when the value parameter changes. Change of Value only applies to boolean, numeric (such as int or float), and simple string data types. It does not apply to complex types, such as JSON or array. Poll-once topics are not affected by Change of Value settings, and still receive a single message.
- Meta Data: Define key-value pairs to add to the device output payload.
Note: If you use special characters in metadata key names, the special characters are replaced with underscore characters in the payload. This can cause two key names to be combined into one. For example, configuring the key names a**b and a&&b creates only one key name (a__b).