A device specification, provided by the OEM, contains the configuration and extra files (C and header files, libraries, scripts) needed to produce the executable binary file.
Each device is contained in a device directory, below the C:\geb3\devices\ directory. A single device directory can contain several devices specifications.
Each device corresponds to a configuration file named device.properties or device*.properties.
The following example correspond to three devices, in two device directories:
C:\geb3 <=== installation directory
C:\geb3\devices <=== all devices directories are here
C:\geb3\devices\deva <=== device directory (one device)
C:\geb3\devices\devx\device.properties <=== single configuration file
C:\geb3\devices\devb <=== device directory (two devices)
C:\geb3\devices\devx\device_b1.properties <=== first configuration file
C:\geb3\devices\devx\device_b2.properties <=== second configuration file
A device configuration file includes:
For details, see the configuration files included in the IDE, they are fully documented.
- Device name and description, it appears in the IDE when choosing a device for a project
- Compiler mode and command: specifies how a binary is built (locally, remotely)
- Transfer mode and command: whether a transfer is required for transfering the binary to harware
- Run mode and command: if running (local or remote) the binary from the IDE is supported
- Debug mode and command: if debugging (local or remote) the binary from the IDE is supported
- IO Vars: declares the range of "directly represented variables" (AT) that
is mapped into this device
- Miscellaneous flags and options.
Directly represented variables - "Mapped variables"
The IEC-61131 standard allows some variables to be implicitly binded
to some device-specific addresses or arbitrary I/O mapping.
For instance, the user can code some variable with an AT qualificator:
VAR X AT %MW10.2.4.1 : INT;
This would imply that the values of variable X will be read-written
from-to some special place or by a particular procedure, defined
by the device: it can be a memory position, a I/O port, a MODBUS table, etc.
(%MW10.2.4.1 would be sort of a virtual address).
If a device does not know how to map a particular AT address used in a POU, a
error will be thrown at compile time.
When debugging on the simulator, the simulator recognizes these variables as inputs/outputs, and allow the user to se their values and change manually the inputs. See the
videos for demos.
To create or customize your own devices:
To get more detailed technical information, and to create your own customized
devices for any target hardware, see OEM Tasks -> Creating devices.