1.7.2.2. Device identificationΒΆ
This section specifies the device identification. This is as a type lable for a PLC.
The identification is checked for consistency when a connection with a runtime system is established. For this reason these entries in the device decription must match the corresponding values in the runtime system! This inhibits to login to with a wrong device description to PLC.
Example:
<DeviceIdentification>
<Type>4096</Type>
<Id>0000 0001</Id>
<Version>3.5.14.0</Version>
</DeviceIdentification>
Entry |
Description |
|---|---|
Type |
Device type: 0000 (0x0000) special type: empty slot 4096 (0x1000) programmable devices 4097 (0x1001) 3S special devices (OfflineVisuClient or similar) 4098 (0x1002) safety controllers 4099 (0x1003) drives 5000 (0x1004) parameterizable devices |
Id |
LowWord: OEM-based controller Id (may be a consecutive number) |
Version |
Version of the controller or the target description. The version is verified as follows when a connection with the controller is established. Version: 4.3.2.1
Main version: 4
Subversion: 3
Service pack version: 2
Patch version: 1
This numbering scheme must be taken into account for all future changes in the target description or the runtime system. |
In the runtime system the device identification values are set in the SysTarget component. This component offers interfaces for accessing the device Identifications (group___sys_target_itf).
Alternatively the values can be defined in the header file of runtime system named <targetdefines.h> which is automatically generated for every plc! In this case the associated values are automatically set during compile time of the runtime system respectively of the SysTarget component. This has the advantage that the target component only has to be parameterized, not be replaced.
The typical entries for the file <targetdefines.h> are listed below: .. _dev_target_defines_h:
#ifndef __TARGETDEFINES_H_
#define __TARGETDEFINES_H_
#define SYSTARGET_SIGNATUREID 0xF879D1FC
#define SYSTARGET_DEVICE_TYPE SYSTARGET_TYPE_PROGRAMMABLE
#define SYSTARGET_VENDOR_ID 0x0123
#define SYSTARGET_DEVICE_ID 0x0001
#define SYSTARGET_DEVICE_MASK 0x0000
#define SYSTARGET_VENDOR_NAME "My company"
#define SYSTARGET_DEVICE_NAME "My device"
#define SYSTARGET_DEVICE_VERSION 0x03050F00
#endif
The SYSTARGET_SIGNATUREID is generated based on the other entries! So the runtime system can check the consistency of all parameters.

