Introduction

Data exchange via V.E.

V.E variables allow you to exchange data in any direction between an NC program and the PLC. From the CNC perspective, as a minimum one channel-indendepent 'global' and, for each NC channel, one further 'channel-specific' V.E. memory area exist. Internal access in the controller to the memory created by the CNC (shared memory) belonging to the V.E. memory blocks or the variables contained therein takes place directly via address pointers and is therefore time-efficient, both from the PLC and the CNC.

Simulation in PLC

Each of the V.E. variables corresponds to a "basic type" (REAL64, ...) or self-defined structures which, in turn, can consist of structures or "basic types". (One-dimensional) arrays are additionally addressable.

It was previously necessary for users to define the address and memory location for each V.E. variable themselves. This has no longer been necessary since V2.10.1025.00. Consequently, PLC programmers often fail in their attempts to achieve error-free simulation of the structures described in the CNC lists. Moreover, PLC programmers often end up confused if they use all possible combinations of basic types and/or variable structures as well as user-defined index-based and automated addressing. Auxiliary constructions to detect errors in memory allocation, addressing or overwriting only partly help. This results in delays during commissioning.

Support by #EXPORT VE

The following documentation describes application of the #EXPORT command. The command can be placed in an NC program or can be executed as a manual block. The command is used to generate files that (post-)declare all V.E. variables created in a CNC channel in congruent IEC 61131 variables or structures. The files generated are compatible with the CoDeSys (3S) and MULTIPROG (KW-Software) development environments and can be imported directly there.

Introduction 1:

All examples mentioned below are realised in Structured Text (ST) and are presented as 3S-compatible PLC code. The generation variant for KW-Software contains additional structure declarations because arrays within structure cannot be declared directly.
The [?] designations in the examples are placeholder parameters for indexes to be entered.