# Generic Device

Navigation: Valve Firmware > Interface > DeviceNet > Profile > Acyclic Communication > # Generic Device |

Explicit messaging control commands

Command (DeviceNet® term if deviant) | Service Code | Class ID | Instance ID | Attribute ID | Service data length (number of bytes) | Service data field
Description
EXECUTING | 6 | 48 | 1 | 3 |  |
This command changes the valve to executing state. Note: EXECUTING must to be selected to enable for all executing commands such as control mode, close valve and open valve. Note: If valve is already in executing state and anew EXECUTING command is sent DeviceNet® will return an error message.
IDLE | 7 | 48 | 1 | 3 |  |
This command changes the valve to idle state.
RESET | 5 | 1 | 1 | 0 |  |
This command resets the DeviceNet® interface.
FACTORY RESET | 5 | 1 | 1 | 1 |  |
This command resets the DeviceNet® interface to factory default settings. Note: All previously done configurations will be overwritten.
SETPOINT TYPE | Set | 16 | 51 | 0 | 8 | 1 | Y
Get | 14 | 51 | 0 | 8 | 1 |
Y: 0 pressure control 1 position control This command selects / returns current setpoint type. It toggles valve operation mode between position and pressure control. Note: To perform either position or pressure control also correct MODE must be selected.
MODE (control mode) | Set | 16 | 51 | 1 (pressure) 2 (position) | 5 | 1 | Y
Get | 14 | 51 | 1 (pressure) 2 (position) | 5 | 1 |
Y: 0 control mode (pressure resp. position control) 1 close valve (valve will close) 2 open valve (valve will open) 3 hold (stops the valve at the current position) 4 safe state This command preselects / returns the mode for pressure resp. position control. By means of instance ID either pressure or position must be addressed. Note: To activate either pressure or position control you must select correct SETPOINT TYPE separately.

Note: Unless otherwise specified all values in the table above are in decimal notification. Hexadecimal values are indicated by the letter ‚h‘ (e.g. 31h)

Command (DeviceNet® term if deviant) | Service Code | Class ID | Instance ID | Attribute ID | Service data length (number of bytes) | Service data field
Description
POSITION SETPOINT | Set | 16 | 51 | 2 | 6 | 2 or 4 | Y
Get | 14 | 51 | 2 | 6 | 2 or 4 |
Y: position setpoint according to selected DATA TYPE, 0 (closed) … 10’000 (open) This command transfers/reads the position setpoint to/from the valve.
PRESSURE SETPOINT | Set | 16 | 51 | 1 | 6 | 2 or 4 | Y
Get | 14 | 51 | 1 | 6 | 2 or 4 |
Y: pressure setpoint according to selected DATA TYPE, nominal pressure range is 0 … 10’000 (sensor full scale) but it may be scaled, refer also to command GAIN for details. This command transfers/reads the pressure setpoint to/from the valve.
ASSEMBLY OBJECTS | Set | 16 | 4 | 7 8 102 | 3 | X | Y
Get | 14 | 4 | 3 4 5 13 14 100 101 | 3 | X |
X, Y: depending on respective assembly object, refer to «Assembly objects» for details. Instance ID = assembly object number. This command writes/reads the respective assembly object.

Note: Unless otherwise specified all values in the table above are in decimal notification. Hexadecimal values are indicated by the letter ‚h‘ (e.g. 31h)

..1 Explicit messaging inquiry commands

Command (DeviceNet® term if deviant) | Service Code | Class ID | Instance ID | Attribute ID | Service data length (number of bytes) | Service data field
Description
VALVE CLOSED CHECK (discrete input 1) | Get | 14 | 8 | 1 | 3 | 1 |
This command returns: 0 valve is not closed 1 valve is closed
VALVE OPEN CHECK (discrete input 2) | Get | 14 | 8 | 2 | 3 | 1 |
This command returns: 0 valve is not open 1 valve is open
POSITION | Get | 14 | 49 | 3 | 6 | 2 or 4 |
This command returns the current valve position according to selected DATA TYPE. Position range is 0 (closed) … 10’000 (open).
PRESSURE | Get | 14 | 49 | 1 | 6 | 2 or 4 |
This command returns the actual pressure according to selected DATA TYPE. Nominal pressure range is 0 … 10’000 (sensor full scale) but it may be scaled. Refer also to command GAIN and picture on the following page for details.
SENSOR 1 READING | Get | 14 | 100 | 1 | 108 | 2 or 4 |
This function returns direct reading from sensor 1 according to selected DATA TYPE. Nominal range is 0 … 10’000 but it may be scaled. Refer also to command GAIN and picture on the following page for details.
SENSOR 2 READING | Get | 14 | 100 | 1 | 109 | 2 or 4 |
This function returns direct reading from sensor 2 according to selected DATA TYPE. Nominal range is 0 … 10’000 but it may be scaled. Refer also to command GAIN and picture on the following page for details.
SENSOR 1 OFFSET VALUE (Sensor 1 offset A) | Get | 14 | 49 | 1 | 12 | 2 or 4 |
100 | 1 | 110
These commands return the offset voltage (adjusted by ZERO) of the sensor 1 according to selected DATA TYPE. Both commands are identical. Value range is -1400 … +1400 (-1.40V … +1.40V).
SENSOR 2 OFFSET VALUE (Sensor 2 offset A) | Get | 14 | 100 | 1 | 111 | 2 or 4 |
This command returns the offset voltage (adjusted by ZERO) of the sensor 2 according to selected DATA TYPE. Value range is -1400 … +1400 (-1.40V … +1.40V).

Note: Unless otherwise specified all values in the table above are in decimal notification. Hexadecimal values are indicated by the letter ‘h‘ (e.g. 31h)

Example of PRESSURE and SENSOR READING allocation:

Above picture shows a 2 sensor system. In this configuration sensor 2 covers low range (100 mTorr) and sensor 1 covers high range (1 Torr). Switchover between sensors is done automatically according to «Pressure control operation with 2 sensors».

Command (DeviceNet® term if deviant) | Service Code | Class ID | Instance ID | Attribute ID | Service data length (number of bytes) | Service data field
Description
LEARN STATUS (calibration state) | Get | 14 | 51 | 1 | 106 | 2 |
This command returns the status of the LEARN procedure. The status is binary coded. Bit Explanation: (LSB) 0 0 = LEARN not running 1 = LEARN running 1 0 = LEARN data set present 1 = LEARN data set not present 2 0 = ok 1 = LEARN terminated by user 3 0 = ok 1 = pressure in position OPEN > 50% sensor full scale (of high range sensor in case of a 2 sensor system) or > LEARN PRESSURE LIMIT 4 0 = ok 1 = pressure in position 0 < 10% sensor full scale (of low range sensor in case of a 2 sensor system) 5 0 = ok 1 = pressure falling during LEARN 6 0 = ok 1 = sensor not stable during LEARN 7 reserved 8 reserved 9 reserved 10 0 = ok 1 = LEARN terminated by controller 11 0 = ok 1 = pressure in position OPEN negativ 12 reserved 13 reserved 14 reserved 15 reserved (MSB) 16 reserved

Note: Unless otherwise specified all values in the table above are in decimal notification. Hexadecimal values are indicated by the letter ‘h‘ (e.g. 31h)

Command (DeviceNet® term if deviant) | Service Code | Class ID | Instance ID | Attribute ID | Service data length (number of bytes) | Service data field
Description
DEVICE STATUS 1 | Get | 14 | 48 | 1 | 11 | 1 | Y
Y: 1 self test 2 idle 3 self test exception 4 executing 5 abort This command returns the device status.
DEVICE STATUS 2 | Get | 14 | 100 | 1 | 103 | 1 |
This command returns the device status. 0 = initialization, 1 = synchronization, 2 = POSITION CONTROL, 3 = CLOSED 4 = OPEN, 5 = PRESSURE CONTROL, 6 = HOLD , 7 = LEARN 12 = power failure, 13 = safety mode 14 = fatal error (read EXCEPTION DETAIL ALARM for details)
EXCEPTION STATUS (status) | Get | 14 | 48 | 1 | 12 | 1 |
This command returns the exception status. Bit Explanation: (LSB) 0 0 (reserved) 1 0 (reserved) 2 This bit is set to 1 in case of a manufacturer specific alarm. 3 0 (reserved) 4 0 (reserved) 5 0 (reserved) 6 This bit is set to 1 in case of a manufacturer specific warning. (MSB) 7 1 The exception status byte only indicates that alarms or warnings are present. In order to find out which alarm or warning is present, you must read EXCEPTION DETAIL ALARM resp. EXCEPTION DETAIL WARNING.
EXCEPTION DETAIL ALARM EXCEPTION DETAIL WARNING | Get | 14 | 48 | 1 | 13 14 | 15 |
With Attribute ID = 13 EXCEPTION DETAIL ALARM bytes will be returned. With Attribute ID = 14 EXCEPTION DETAIL WARNING bytes will be returned. For meaning see table on next page.

Note: Unless otherwise specified all values in the table above are in decimal notification. Hexadecimal values are indicated by the letter ‚h‘ (e.g. 31h)

Command (DeviceNet® term if deviant) | Service Code | Class ID | Instance ID | Attribute ID | Service data length (number of bytes) | Service data field
Description
EXCEPTION DETAIL ALARM EXCEPTION DETAIL WARNING | Table with EXCEPTION DETAIL ALARM resp. EXCEPTION DETAIL WARNING bits. 0 OK 1 Exception / Failure / Error (except for detail size bytes)
Data Component | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0
PCV Common Exception Detail Size | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0
PCV Common Exception Detail Byte #0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
PCV Common Exception Detail Byte #1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
PCV Device Exception Detail Size | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0
PCV Device Exception Detail Byte #0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
PCV Device Exception Detail Byte #1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
PCV Device Exception Detail Byte #2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
PCV Device Exception Detail Byte #3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
Manufacturer Exception Detail Size | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0
Manufacturer Exception Detail Byte #1 | Reserved | Reserved | Isolation valve position failure | Sensor ratio exceeded | PFO not ready | Compressed air failure | Learn data set invalid | Service request
Manufacturer Exception Detail Byte #2 | Reserved | Reserved | Reserved | Reserved | Reserved | ADC not responding | Reserved | Reserved
Manufacturer Exception Detail Byte #3 | Reserved | Reserved | Reserved | Wrong controller mode | Local mode | ZERO disabled | Optional hardware missing | No sensor
Manufacturer Exception Detail Byte #4 | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | PFO off | Simulation active
Manufacturer Exception Detail Byte #5 | Reserved | Reserved | Reserved | Reserved | E40 1) | E22 1) | E21 1) | E20 1)
Manufacturer Exception Detail Byte #6 | Reserved | Reserved | Reserved | Reserved | Setpoint invalid (safe state) | IO data missing (safe state) | Setpoint type invalid (safe state) | Control mode invalid (safe state)

1) Refer to «Trouble shooting» for details on these fatal errors.

Note: Unless otherwise specified all values in the table above are in decimal notification. Hexadecimal values are indicated by the letter ‚h‘ (e.g. 31h)

Command (DeviceNet® term if deviant) | Service Code | Class ID | Instance ID | Attribute ID | Service data length (number of bytes) | Service data field
Description
THROTTLE CYCLE COUNTER | Get | 14 | 100 | 1 | 101 | 4 |
This command returns the number of throttle cycles. Data type is unsigned long integer. A movement from max. throttle position to open back to max. throttle position counts as one cycle. Partial movements will be added up until equivalent movement is achieved.
ISOLATION CYCLE COUNTER | Get | 14 | 100 | 1 | 106 | 4 |
This command returns the number of isolation cycles. Data type is unsigned long integer. Each closing of the sealing ring counts as one cycle.

Note: Unless otherwise specified all values in the table above are in decimal notification. Hexadecimal values are indicated by the lette‚h‘ (e.g. 31h)

Explicit messaging setup commands

Command (DeviceNet® term if deviant) | Service Code | Class ID | Instance ID | Attribute ID | Service data length (number of bytes) | Service data field
Description
DATA TYPE | Set | 16 | 49 | 1 | 3 | 1 | X
Get | 14 | 49 | 1 | 3 | 1 |
X: 195 integer 202 floating point This command defines the data type for PRESSURE, SENSOR READING, OFFSET and POSITION.
GAIN | Set | 16 | 49 | 1 | 14 | 4 | X
Get | 14 | 49 | 1 | 14 | 4 |
X: gain, max. value is 3.2767, data type is floating point This command selects the gain for PRESSURE and allows for scaling. Default value is 3.2767. e.g.: Gain = 0.1 pressure value range results in 0-1’000 Gain = 1 pressure value range results in 0-10’000 Gain = 3.2767 pressure value range results in 0-32’767
POLL OUTPUT | Set | 16 | 5 | 2 | 100 | 1 | X
Get | 14 | 5 | 2 | 100 | 1 |
X: output assembly object number (7, 8, 102) This command configures resp. reads the output assembly for poll connection.
POLL INPUT | Set | 16 | 5 | 2 | 101 | 1 | X
Get | 14 | 5 | 2 | 101 | 1 |
X: input assembly object number (3, 4, 5, 13, 14, 100, 101) This command configures resp. reads the input assembly for polling.
BIT STROBE INPUT | Not implemented
CHANGE OF STATE / CYCLING INPUT | Set | 16 | 5 | 4 | 101 | 1 | X
Get | 14 | 5 | 4 | 101 | 1 |
X: input assembly object number (3, 4, 5, 13, 14, 100, 101) This command configures resp. reads the input assembly for change of state / cycling.

Note: Unless otherwise specified all values in the table above are in decimal notification. Hexadecimal values are indicated by the letter ‚h‘ (e.g. 31h)

Command (DeviceNet® term if deviant) | Service Code | Class ID | Instance ID | Attribute ID | Service data length (number of bytes) | Service data field
ACCESS MODE | Set | 16 | 100 | 1 | 107 | 1 | X
Get | 14 | 100 | 1 | 107 | 1 |
X: 0 Local (operation via service port) 1 Remote (operation via DeviceNet®) 2 Locked (in remote mode) This command controls / returns the access mode of the valve.
POWER UP CONFIGURATION | Set | 16 | 100 | 1 | 112 | 1 | X
Get | 14 | 100 | 1 | 112 | 1 |
X: 0 closed 1 open This command controls / returns the valve position after power up.
POWER FAIL CONFIGURATION | Set | 16 | 100 | 1 | 113 | 1 | X
Get | 14 | 100 | 1 | 113 | 1 |
X: 0 closed 1 open This command controls / returns the target valve position in case of a power failure. Only for versions that have Power Fail Option equipped [612 . . - . . C . - . . . . or 612 . . - . . H . - . . . . ].

Note: Unless otherwise specified all values in the table above are in decimal notification. Hexadecimal values are indicated by the letter ‚h‘ (e.g. 31h)

Command (DeviceNet® term if deviant) | Service Code | Class ID | Instance ID | Attribute ID | Service data length (number of bytes) | Service data field
SENSOR MODE | Set | 16 | 49 | 1 | 101 | 1 | X
Get | 14 | 49 | 1 | 101 | 1 |
X: 0 no sensor 1 1 sensor operation (sensor 1 input) 2 2 sensor operation with automatic changeover (low range = sensor 2 input, high range = sensor 1 input) 3 1 sensor operation (sensor 2 input) 4 2 sensor operation with automatic changeover (low range = sensor 1 input, high range = sensor 2 input) This command controls / returns the sensor mode for pressure control. Note: Sensor modes 2, 3 and 4 are possible with 2 sensor hardware [612 . . - . . . Q - . . . . ] only. Note: For applications where the high range sensor is used for for monitoring purpose only, select sensor operation modes 1 or 3 for pressure control with low range sensor and read high range sensor from SENSOR 1 READING resp. SENSOR 2 READING.
SENSOR RATIO | Set | 16 | 49 | 1 | 103 | 2 or 4 | X
Get | 14 | 49 | 1 | 103 | 2 or 4 |
X: sensor ratio according to selected DATA TYPE, range is 100 … 10’000 This command defines the sensor ratio for 2 sensor operation. Sensor ratio = high range sensor full scale / low range sensor full scale * 100.
ZERO CONTROL | Set | 16 | 49 | 1 | 102 | 1 | X
Get | 14 | 49 | 1 | 102 | 1 |
X: 0 Disable 1 Enable This command enables resp. disables the ZERO command. In case it is disabled ZERO does not work.
ZERO | 75 | 49 | 1 |  |  |
This command initiates ZERO. Note: Refer to «ZERO (setup step 4)» for correct zero procedure.

Note: Unless otherwise specified all values in the table above are in decimal notification. Hexadecimal values are indicated by the letter ‘h‘ (e.g. 31h)

Command (DeviceNet® term if deviant) | Service Code | Class ID | Instance ID | Attribute ID | Service data length (number of bytes) | Service data field
LEARN PRESSURE LIMIT (calibration scale) | Set | 16 | 51 | 1 | 100 | 2 or 4 | Y
Get | 14 | 51 | 1 | 100 |  |
Y: learn pressure limit according to selected DATA TYPE, nominal pressure range is 0 … 10’000 (sensor full scale) but it may be scaled, refer also to command GAIN for details. This command transfers/reads the pressure limit for LEARN. Note: Refer to «LEARN (setup step 5)» for correct learn pressure limit setting.
LEARN (calibration service) | 100 | 51 | 1 | 0 |  |
This command starts LEARN. With MODE commands open valve or close valve the routine may be interrupted. Note: Without LEARN the PID controller is not able to perform pressure control. Refer to «LEARN (setup step 5)» for correct learn gas flow and procedure.
DOWNLOAD LEARN DATA | 51 | 48 | 1 |  | 11 | XY
X: index (000 .. 103, whereas these indices must be ASCII coded, e.g. 000 = 30h 30h 30h, 001 = 30h 30h 31h, etc.) Y 8 data bytes ASCII coded (e.g. 30h 32h 33h 33h 33h 30h 33h 36h) Example of XY: 30h 30h 30h 30h 32h 33h 33h 33h 30h 33h 36h (11 bytes in total) This command loads the learn data sets from the host down to the valve. There are a total number of 104 data sets. Each data set needs to be downloaded separately.
UPLOAD LEARN DATA | 50 | 48 | 1 |  | 3 | X
X: index (000 .. 103, whereas these indices must be ASCII coded, e.g. 000 = 30h 30h 30h, 001 = 30h 30h 31h, etc.) This command loads the learn data sets from the valve up to the host. There are a total number of 104 data sets which need to be uploaded separately. Each answer consists of 11 bytes. Whereas the leading 3 bytes are the data set index followed by 8 data bytes. Data are ASCII coded.

Note: Unless otherwise specified all values in the table above are in decimal notification. Hexadecimal values are indicated by the letter ‘h‘ (e.g. 31h)

Command (DeviceNet® term if deviant) | Service Code | Class ID | Instance ID | Attribute ID | Service data length (number of bytes) | Service data field
PID CONTROLLER GAIN FACTOR | Set | 16 | 51 | 1 | 105 | 1 | X
Get | 14 | 51 | 1 | 105 | 1 |
X: 0 = 0.10, 1 = 0.13, 2 = 0.18, 3 = 0.23, 4 = 0.32, 5 = 0.42, 6 = 0.56 7 = 0.75, 8 = 1.00, 9 = 1.33, 10 = 1.78, 11 = 2.37, 12 = 3.16, 13 = 4.22 14 = 5.62, 15 = 7.50, 16 = 0.0001, 17 = 0.0003, 18 = 0.001, 19 = 0.003, 20 = 0.01, 21 = 0.02, 22 = 0.05 This command selects/returns the gain factor for the PID controller. Note: Refer to «Gain factor adjustment» for details.
PID CONTROLLER SENSOR DELAY | Set | 16 | 51 | 1 | 107 | 1 | X
Get | 14 | 51 | 1 | 107 | 1 |
X: 0 = 0, 1 = 0.02, 2 = 0.04, 3 = 0.06, 4 = 0.08, 5 = 0.10, 6 = 0.15 7 = 0.20, 8 = 0.25, 9 = 0.30, 10 = 0.35, 11 = 0.4, 12 = 0.5, 13 = 0.6 14 = 0.8, 15 = 1.0 This command selects/returns the sensor delay for the PID controller. Note: Refer to «Sensor delay adjustment» for details.
PID CONTROLLER SETPOINT RAMP | Set | 16 | 51 | 1 | 108 | 1 | X
Get | 14 | 51 | 1 | 108 | 1 |
X: 0 = 0, 1 = 0.5, 2 = 1.0, 3 = 1.5, 4 = 2.0, 5 = 2.5, 6 = 3.0 7 = 3.5, 8 = 4.0, 9 = 4.5, 10 = 5.0, 11 = 5.5, 12 = 6.0, 13 = 6.5 14 = 7.0, 15 = 7.5, 16 = 8.0, 17 = 8.5, 18 = 9.0, 19 = 9.5, 20 = 10.0 This command selects/returns the setpoint ramp for the PID controller. Note: Refer to «Setpoint ramp adjustment» for details.
VALVE SPEED | Set | 16 | 51 | 2 | 101 | 2 | X
Get | 14 | 51 | 2 | 101 | 2 |
X: valve speed, 1 … 1000 (1 = min. speed, 1000 = max. speed), This command selects/returns the actuating speed for the valve plate. Data type is unsigned integer. Speed selection is effective for pressure control and position control. Open valve and close valve are always done with max. speed. Note: Refer to «Valve speed adjustment» for details.

Note: Unless otherwise specified all values in the table above are in decimal notification. Hexadecimal values are indicated by the letter ‘h‘ (e.g. 31h)