Lon SNVT MasterList
Lon SNVT MasterList
January 2006
SNVT Master List
®
LonMark
SNVT Master List
SNVT_abs_humid (160)
Absolute Humidity
Used for optimal control in heating, ventilation, and air conditioning
applications. If a device measures relative humidity, it may calculate Absolute
Humidity from this using the following:
Absolute_Humidity [g/kg] = maximal_absolute_Humidity [g/kg] x
relative_Humidity
SNVT_address (114)
SNVT_alarm (88)
Alarm Status
This is used as an output network variable within a Node Object to report alarm
status. For new designs, SNVT_alarm_2 should be used instead of
SNVT_alarm.
See SNVT_alarm_2.
SNVT Index Measurement Type Category Type Size
88 Alarm status Structure 29 bytes
hour: Hour
Field Measurement Field Type Category Field Size
hour Hour Unsigned Short 1 byte
minute: Minute
Field Measurement Field Type Category Field Size
minute Minute Unsigned Short 1 byte
second: Second
Field Measurement Field Type Category Field Size
second Second Unsigned Short 1 byte
typedef struct {
unsigned short location[6];
unsigned long object_id;
alarm_type_t alarm_type;
priority_level_t priority_level;
unsigned long index_to_SNVT;
unsigned short value[4];
unsigned long year;
unsigned short month;
unsigned short day;
unsigned short hour;
unsigned short minute;
unsigned short second;
unsigned long millisecond;
unsigned short alarm_limit[4];
} SNVT_alarm;
SNVT_alarm_2 (164)
Alarm Status
This is used as an output network variable within a Node Object functional block
to report alarm status. This type should be used instead of SNVT_alarm for
all new designs.
Following are the summary requirements for this type:
Alarm values shall specify the alarm type, priority, time, and description.
typedef struct {
alarm_type_t alarm_type;
priority_level_t priority_level;
unsigned quad alarm_time;
signed long milliseconds;
unsigned short sequence_number;
unsigned char description[22];
} SNVT_alarm_2;
\x80[programIDTemplate-][scopeSpecifier:]languageStringIndex;
The components of a string reference are the following:
A hyphen (“-”) follows the program ID template. The hyphen is not included if the
program ID template is not included, otherwise it is mandatory.
A colon (“:”) following the scope specifier. The colon is not included if the scope
specifier is not included, otherwise it is mandatory.
languageStringIndex is the index of the language string within the language file. This
index ranges from 1 to 16’777’216.
EXAMPLES
The following string reference specifies language string index 522 within the standard
resource file set.
"\x80522;"
The following string reference specifies language string index 100 within a user resource
file set at scope 3, with a program ID template matching the program ID of the device
that originated the alarm.
"\x803:100;"
The following string reference specifies language string index 200 within a user resource
file set with a program ID template of 80:00:9F:00:00:00:00:00 at scope 3.
"\x8080009F-3:200;"
Electric Current
Used for amperage measurements.
SNVT Index Measurement Type Category Type Size
1 Electric current Signed Long 2 bytes
SNVT_amp_ac (139)
Electric Current
Used to represent amperage of a large range, rather than a fine resolution.
SNVT Index Measurement Type Category Type Size
139 Alternating electric Unsigned Long 2 bytes
current
Valid Type Range Type Resolution Units Invalid Value
0 .. 65,534 1 Amperes 0xFFFF (65,535)
Electric Current
Used for amperage measurements.
SNVT Index Measurement Type Category Type Size
48 Electric current Floating Point 4 bytes
SNVT_amp_mil (2)
Electric Current
Used for amperage measurements.
SNVT Index Measurement Type Category Type Size
2 Electric current Signed Long 2 bytes
Phase/Rotation
SNVT Index Measurement Type Category Type Size
3 Phase/Rotation Unsigned Long 2 bytes
SNVT_angle_deg (104)
Phase/Rotation
SNVT Index Measurement Type Category Type Size
104 Angular distance Signed Long 2 bytes
SNVT_angle_f (49)
Phase/Rotation
SNVT Index Measurement Type Category Type Size
49 Phase/Rotation Floating Point 4 bytes
Angular Velocity
SNVT Index Measurement Type Category Type Size
4 Angular velocity Signed Long 2 bytes
SNVT_angle_vel_f (50)
Angular Velocity
SNVT Index Measurement Type Category Type Size
50 Angular Velocity Floating Point 4 bytes
SNVT_area (110)
Area
SNVT Index Measurement Type Category Type Size
110 Area Unsigned Long 2 bytes
Thermal Energy
SNVT Index Measurement Type Category Type Size
67 Thermal Energy Floating Point 4 bytes
SNVT_btu_kilo (5)
Thermal Energy
SNVT Index Measurement Type Category Type Size
5 Thermal Energy Unsigned Long 2 bytes
SNVT_btu_mega (6)
Thermal Energy
SNVT Index Measurement Type Category Type Size
6 Thermal Energy Unsigned Long 2 bytes
Character
SNVT Index Measurement Type Category Type Size
7 Character Unsigned Character 1 byte
SNVT_chlr_status (127)
Chiller Status
SNVT Index Measurement Type Category Type Size
127 Chiller Status Structure 3 bytes
typedef struct {
chiller_t chlr_run_mode;
hvac_t chlr_op_mode;
struct{
unsigned in_alarm :1; // offset 0
unsigned run_enabled :1; // offset 1
unsigned local :1; // offset 2
unsigned limited :1; // offset 3
unsigned chw_flow :1; // offset 4
unsigned condw_flow :1; // offset 5
/* The last two bits (offset 6) are not defined */
} chlr_state;
} SNVT_chlr_status;
SNVT_clothes_w_a
typedef struct {
struct {
unsigned alarm_reset :1;
unsigned war_water_supply :1;
unsigned war_drain_slow :1;
alarm.war_rsrvd6: reserved
Field Measurement Field Type Category Field Size
alarm.rsrvd6 Unsigned Bitfield 1 bit (offset 6)
alarm.war_rsrvd7: reserved
Field Measurement Field Type Category Field Size
alarm.rsrvd7 Unsigned Bitfield 1 bit (offset 7)
alarm.err_rsrvd4: reserved
Field Measurement Field Type Category Field Size
alarm.err_rsrvd4 N/A Unsigned Bitfield 1 bit (offset 4)
alarm.err_rsrvd6: reserved
Field Measurement Field Type Category Field Size
alarm.err_rsrvd6 N/A Unsigned Bitfield 1 bit (offset 6)
alarm.err_rsrvd7: reserved
Field Measurement Field Type Category Field Size
alarm.err_rsrvd7 N/A Unsigned Bitfield 1 bit (offset 7)
alarm.err_rsrvd8_0_7: reserved
Field Measurement Field Type Category Field Size
alarm.err_rsrvd8_0_7 N/A Unsigned Bitfield 8 bits
SNVT_clothes_w_c
typedef struct {
appl_cwc_t cycle;
appl_cws_t subcycle;
unsigned short rsrvd; // future
struct {
unsigned power_on :1; // desired/actual state
unsigned run_mode :1; // desired/actual state
unsigned rsrvd2_7 :6;
} action;
struct {
appl_cwp_t program;
struct {
discrete_levels_t
load_level;
unsigned temp;
unsigned time;
boolean_t prewash;
} wash;
struct {
unsigned temp;
unsigned repeat;
appl_rin_t option;
} rinse;
struct {
SNVT_rpm speed;
unsigned time;
boolean_t hold;
} spin;
struct {
unsigned temp;
rsrvd: reserved
Field Measurement Field Type Category Field Size
Rsrvd N/A Unsigned Short 1 byte
action.rsrvd2_7:
Field Measurement Field Type Category Field Size
action.rsrvd2_7 N/A Unsigned Bitfield 6 bit (offset 2)
SNVT_clothes_w_m
typedef struct {
unsigned door_ajar :1;
unsigned drain_on :1;
unsigned reserved :6;
} SNVT_clothes_w_m;
reserved:
Field Measurement Field Type Category Field Size
reserved N/A Unsigned Bitfield 6 bit (2 bit offset)
SNVT_clothes_w_s
typedef struct {
appl_cwc_t cycle;
appl_cws_t subcycle;
SNVT_clothes_w_c washer_command_data;
SNVT_time_min time_remaining;
struct { // 6 bytes
unsigned alarm_reset :1;
unsigned war_water_supply :1;
unsigned war_drain_slow :1;
unsigned war_door_open :1;
unsigned war_load_unbalanced :1;
unsigned war_filter_cleaning :1;
unsigned war_hoses_reversed :1;
unsigned war_voltage_low :1;
unsigned war_power_failure :1; // offset 0;
byte 2
unsigned war_drain_open :1;
unsigned war_execute_fail 1;
time_remaining: time remaining for entire wash and dry cycles combined
Field Measurement Field Type Category Field Size
time_remaining Remaining Time Signed Long 2 bytes
alarm.war_rsrvd5: reserved
Field Measurement Field Type Category Field Size
alarm.rsrvd5 N/A Unsigned Bitfield 1 bit (offset 5)
alarm.war_rsrvd7: reserved
Field Measurement Field Type Category Field Size
alarm.rsrvd7 Unsigned Bitfield 1 bit (offset 7)
alarm.err_rsrvd4: reserved
Field Measurement Field Type Category Field Size
alarm.err_rsrvd4 N/A Unsigned Bitfield 1 bit (offset 4)
alarm.err_rsrvd5: reserved
Field Measurement Field Type Category Field Size
alarm.err_rsrvd5 N/A Unsigned Bitfield 1 bit (offset 5)
alarm.err_rsrvd7: reserved
Field Measurement Field Type Category Field Size
alarm.err_rsrvd7 N/A Unsigned Bitfield 1 bit (offset 7)
alarm.err_rsrvd8_0_7: reserved
Field Measurement Field Type Category Field Size
alarm.err_rsrvd8_0_7 N/A Unsigned Bitfield 8 bits
Color
The fields represent the CIELAB color coordinate system.
SNVT Index Measurement Type Category Type Size
70 Color Structure 6 bytes
typedef struct {
unsigned long L_star;
signed long a_star;
signed long b_star;
} SNVT_color;
SNVT_config_src (69)
Configuration Source
SNVT Index Measurement Type Category Type Size
69 config_source_t Enumeration 1 byte
SNVT_count (8)
Event Count
SNVT Index Measurement Type Category Type Size
8 Event Count Unsigned Long 2 bytes
SNVT_count_f (51)
Event Count
SNVT Index Measurement Type Category Type Size
51 Event Count Floating Point 4 bytes
SNVT_count_inc (9)
Incremental Count
SNVT Index Measurement Type Category Type Size
9 Incremental Count Signed Long 2 bytes
Incremental Count
SNVT Index Measurement Type Category Type Size
52 Incremental Count Floating Point 4 bytes
SNVT_ctrl_req (148)
Control Request
The network variable of this type is used in a controlling device, to request
control permission of a controllable device, addressed by the logical receiver_id
number. A controlling device may be an operator keyboard; a PC based control
system or a remote control unit. A controllable device may a camera telemetry
receiver, a video matrix switch, etc.
The controlling device must use the nciDeviceId assigned, as the value of the
SNVT_ctrl_req sender_id. The SNVT_ctrl_req sender_prio must use either the
optional nciPriority value assigned, or a priority value supplied from the
application.
‘Low priority values’ equals “high priority,” and ‘high priority values’ equals
“low priority,” such that ‘1’ is of higher priority than ‘50.’
Standard control devices (e.g., keyboards) in normal control mode must have the
priority assigned in the range 1 to 50. The range 51 to 200 is used in alarm
control mode. The priority value zero (0) is used to release control.
SNVT Index Measurement Type Category Type Size
148 N/A Structure 5 bytes
typedef struct {
unsigned long receiver_id;
unsigned long sender_id;
unsigned short sender_prio;
} SNVT_ctrl_req;
Example
control.receiver_id = 1
control.sender_id = nciDeviceId
control.serder_prio = nciGroupPriority
Control Response
The network variable of this type is used to send the status on a control request,
from a controlling device (SNVT_pos_ctrl).
Valid status responses are:
CTRLR_NO, CTRLR_PEND, CTRLR_REL, CTRLR_QUERY, CTRLR_RES,
CTRLR_ERR
The status response CTRLR_NO, is sent on a control request to signal a control
permission has been granted to the controlling device number (no.) sent as
controller_id. Depending on the priority of the requesting device and the
priority of the controlling device having permission, the controller_id may be
equal to the requesting device or the one currently having permission.
The status response CTRLR_QUERY is sent to the controller currently having
permission, whenever a controlling device with lower priority is requesting
permission to control. This status response requires a retransmitted request from
the current controller to maintain permission.
If the current controller fails to retransmit within some timeout determined by
the controllable device, the permission is given to the requesting controller with
the lower priority.
The response is sent to verify if the controlling device is online—e.g. to resolve
control status if the controlling device has been reset, or having a power failure.
The status response CTRLR_PEND, is used when control permission is switched
from one controlling device to another, due to equal priority of the controllers,
optionally by polling the operator of the controlling device with a programmable
timeout.
The status response CTRLR_REL is sent as response if a controlling device
request to release the present control, e.g. when a keyboard selects another
camera, or if the keyboard has been reset.
The status response CTRLR_RES is sent from the controllable device if it is
reset, to relinquish control in a controlling device.
The status response CTRLR_ERR is sent if a bad function in the controllable
device has occurred.
A union holds the logical id of the controllable device. For camera telemetry
receivers this value is a fixed value configured prior to use.
For matrixes, this value holds the currently selected monitor, by the specified
controller in the contoller_id field. The matrix is logically assigned by monitor
range during configuration; thus, these values must be transmitted when the
status is CTRLR_RES.
e.g., A matrix having the monitor range 1 to 16 must on reset send:
sender.range.lower = 1
sender.range.upper = 16
typedef struct {
control_resp_t status;
union {
unsigned long id;
struct {
unsigned long lower;
unsigned long upper;
} range;
} sender;
unsigned long controller_id;
} SNVT_ctrl_resp;
Example
ctrl.status = CTRLR_NO
ctrl.sender.id =1
ctrl.controller_id =2
SNVT_currency (89)
Currency
Used to represent a monetary value in a specified currency.
SNVT Index Measurement Type Category Type Size
89 Currency Structure 6 bytes
typedef struct {
currency_t currency;
int power_of_10;
unsigned value[4];
} SNVT_currency;
The value field is a 32-bit signed value compatible with the Neuron C Extended
Arithmetic s32_type type. Positive values correspond to credits, negative values to
debits. The power_of_10 field scales the value field, so that for example, USD($) -1.23
is represented as the following:
{CU_UNITED_STATES_DOLLAR, -2, {-1, -1, -1, -123}} or
{CU_UNITED_STATES_DOLLAR, -2, {0xFF, 0xFF, 0xFF, 0x85}}
EUR(€) 45.67 is represented as the following:
{CU_EUROPEAN_CURRENCY_UNIT, -2, {0, 0, 17, 215}} or
{CU_EUROPEAN_CURRENCY_UNIT, -2, {0, 0, 0x11, 0xD7}}
JPY(¥) 1000000 is represented as the following:
{CU_JAPAN_YEN, 0, {0, 15, 66, 64}} or
{CU_JAPAN_YEN, 0, {0, 0x0F, 0x42, 0x40}}
SNVT_date_day (11)
Day of week
This is an enumerated list of the days of the week.
SNVT Index Measurement Type Category Type Size
11 days_of_week_t Enumeration 1 byte
SNVT_date_event (176)
Date Event
This network variable type is used to report the status of a schedule.
SNVT Index Measurement Type Category Type Size
176 Date Event Structure 26 bytes
typedef struct {
signed long days_to_active;
signed long days_to_inactive;
unsigned char name[22];
} SNVT_date_event;
SNVT_defr_mode (120)
Defrost Mode
SNVT Index Measurement Type Category Type Size
120 defrost_t Enumeration 1 byte
SNVT_defr_state (122)
Defrost State
SNVT Index Measurement Type Category Type Size
122 defrost_state_t Enumeration 1 byte
Defrost Termination
SNVT Index Measurement Type Category Type Size
121 defrost_term_t Enumeration 1 byte
SNVT_density (100)
Density
SNVT Index Measurement Type Category Type Size
100 Density Unsigned Long 2 bytes
SNVT_density_f (101)
Density
SNVT Index Measurement Type Category Type Size
101 Density Floating Point 4 bytes
SNVT_dev_fault (174)
Device Fault
This network variable type is used to report fault information for a Pump
Controller or Valve Positioner device.
SNVT Index Measurement Type Category Type Size
174 Device Fault States Structure 4 bytes
typedef struct {
device_select_t device_select;
union {
struct {
sf_voltage_low :1;
sf_voltage_high :1;
sf_phase :1;
sf_no_fluid :1;
sf_press_low :1;
sf_press_high :1;
sf_reserved1_6 :1;
sf_reserved1_7 :1;
SNVT_dev_maint (175)
Device Maintenance
This network variable type is used to report device-maintenance states of a Pump
Controller or Valve Positioner device.
SNVT Index Measurement Type Category Type Size
175 Device Maintentance Structure 4 bytes
SNVT_dev_status (173)
Device Status
This network variable type is used to report the status of a Pump Controller or
Valve Positioner device.
SNVT Index Measurement Type Category Type Size
173 Device Status Structure 4 bytes
SNVT_earth_pos (135)
Earth Position
SNVT Index Measurement Type Category Type Size
135 Earth Position Structure 11 bytes
typedef struct {
unsigned latitude_direction :1;
unsigned longitude_direction :1;
unsigned short latitude_deg;
unsigned long latitude_min;
unsigned short longitude_deg;
unsigned long longitude_min;
float_type height_above_sea;
} SNVT_earth_pos;
SNVT_elapsed_tm (87)
Elapsed Time
SNVT Index Measurement Type Category Type Size
87 Elapsed Time Structure 7 bytes
typedef struct {
unsigned long day;
unsigned short hour;
unsigned short minute;
unsigned short second;
unsigned long millisecond;
} SNVT_elapsed_tm;
minute: Minutes
Field Measurement Field Type Category Field Size
minute Minutes Unsigned Short 1 byte
second: Seconds
Field Measurement Field Type Category Field Size
second Seconds Unsigned Short 1 byte
SNVT_elec_kwh (13)
Electrical Energy
For new designs, SNVT_elec_kwh_l should be used instead of
SNVT_elec_kwh.
SNVT Index Measurement Type Category Type Size
13 Electrical energy Unsigned Long 2 bytes
Electricity
Used to communicate electricity-metering data to data-logging or energy
management devices.
For new designs, SNVT_elec_kwh_l should be used instead of
SNVT_elec_kwh.
SNVT_elec_whr (14)
Electric Energy
SNVT Index Measurement Type Category Type Size
14 Electric energy Unsigned Long 2 bytes
Electric Energy
SNVT Index Measurement Type Category Type Size
68 Electric Energy Floating Point 4 bytes
SNVT_ent_opmode (168)
SNVT_ent_state (169)
Entry State
Desired state for an entry object such as a door, lock, sluice, or something that
controls entry of an area.
SNVT Index Measurement Type Category Type Size
169 ent_cmd_t Enumeration 1 byte
Entry Status
Status information from an entry object such as a door, lock, sluice, or
something that allows or prohibits entry into an area.
SNVT Index Measurement Type Category Type Size
170 Entry Status Structure 5 bytes
typedef struct {
unsigned unlocked : 1; // offset 0
unsigned locked : 1; // offset 1
unsigned security_locked : 1; // offset 2
unsigned closed : 1; // offset 3
unsigned open : 1; // offset 4
unsigned in_alarm : 1; // offset 5
unsigned in_error_cond : 1; // offset 6
unsigned open_pre_alarm : 1; // offset 7
unsigned open_alarm : 1; // offset 0
unsigned service_alarm : 1; // offset 1
unsigned tamper : 1; // offset 2
unsigned entry_req : 1; // offset 3
unsigned exit_req : 1; // offset 4
unsigned key_req : 1; // offset 5
unsigned safety_ext_req : 1; // offset 6
unsigned emergency_req : 1; // offset 7
unsigned unable_lock : 1; // offset 0
unsigned unable_unlock : 1; // offset 1
unsigned stuck : 1; // offset 2
unsigned forced_open : 1; // offset 3
unsigned forced_close : 1; // offset 4
unsigned opening : 1; // offset 5
unsigned closing : 1; // offset 6
unsigned moving : 1; // offset 7
unsigned stopped : 1; // offset 0
unsigned safety_alarm : 1; // offset 1
unsigned unknown_state : 1; // offset 2
/* The last five bits (offset 3) are not defined
*/
ent_opmode_cmd_t cmd_fb;
} SNVT_ent_status;
SNVT_enthalpy (153)
SNVT_evap_state (118)
Evaporation State
SNVT Index Measurement Type Category Type Size
118 evap_t Enumeration 1 byte
SNVT_ex_control (157)
Control
This SNVT contains a definition of what device has exclusive control of an item.
Each time this SNVT is used, the documentation must specify to what item the
exclusive control applies. Any functional block using this SNVT should provide
a timeout or other means to prevent lockout of the item.
If the value of control_status is unknown or not applicable, it will have the value
EX_CONTROL_NUL. If control_status is not EX_CONTROL_THIS_ADDR
then control_device_addr does not contain valid data.
SNVT Index Measurement Type Category Type Size
157 Control Structure 10 bytes
typedef struct {
ex_control_t control_status;
struct {
unsigned short domain_id[6];
unsigned short domain_id_length;
unsigned short subnet;
unsigned short node;
} control_device_addr;
} SNVT_ex_control;
control_status:
SNVT_file_pos (90)
File Position
Used to control the position of the read/write pointer in a file used for random
access, as well as to specify the length of the next file transfer.
SNVT Index Measurement Type Category Type Size
90 File Position Structure 6 bytes
typedef struct {
unsigned rw_ptr[4];
unsigned long rw_length;
} SNVT_file_pos;
File Request
The sn and gp structures are compatible with the snode_struct and group_struct
structures defined in ADDRDEFS.H.
SNVT Index Measurement Type Category Type Size
73 File Request Structure 12 bytes
typedef struct {
file_request_t request;
unsigned long index;
unsigned long receive_timeout;
union {
struct {
unsigned type;
// ‘type’ set to 1 for “subnet/node”
unsigned domain : 1;
unsigned node : 7;
unsigned : 4;
unsigned retry : 4;
unsigned : 4;
unsigned tx_timer : 4;
unsigned subnet;
} sn;
struct {
unsigned type : 1;
// ‘type’ set to 1 for “group”
unsigned size : 7;
unsigned domain : 1;
unsigned unused : 7;
unsigned : 4;
unsigned retry : 4;
unsigned : 4;
unsigned tx_timer : 4;
unsigned group;
} gp;
} dest_address;
int auth_on;
int prio_on;
} SNVT_file_req;
request: Request
Field Measurement Field Type Category Field Size
69 file_request_t Enumeration 1 byte
dest_address.sn.domain: Domain
Field Measurement Type Category Type Size
dest_address.sn. Domain Index Unsigned Bitfield 1 bit (offset 0)
domain
Valid Type Range Type Resolution Units Invalid Value
0 .. 1 1 Index
dest_address.gp.domain: Domain
Field Measurement Type Category Type Size
dest_address.gp. Domain Index Unsigned Bitfield 1 bit (offset 0)
domain
Valid Type Range Type Resolution Units Invalid Value
0 .. 1 1 N/A
SNVT_file_status (74)
File Status
Part of the LONWORKS File Transfer Protocol.
SNVT Index Measurement Type Category Type Size
74 File Status Structure 27 bytes
typedef struct {
file_status_t status;
unsigned long number_of_files;
unsigned long selected_file;
union {
struct {
char file_info[16];
unsigned size[4];
unsigned long type;
} descriptor;
struct {
unsigned domain_id[6];
unsigned domain_length;
unsigned subnet;
unsigned node;
} address;
} adr;
} SNVT_file_status;
status: Status
Field Measurement Field Type Category Field Size
69 file_status_t Enumeration 1 byte
adr.descriptor.size[4]: Size
Field Measurement Field Type Category Field Size
adr.descriptor.size[4] Size Signed Quad 4 bytes
SNVT_fire_indcte (133)
Fire Indicator
SNVT Index Measurement Type Category Type Size
133 fire_indicator_t Enumeration 1 byte
SNVT_fire_init (132)
Fire Initiator
SNVT Index Measurement Type Category Type Size
132 fire_initiator_t Enumeration 1 byte
SNVT_flow (15)
Flow Volume
SNVT Index Measurement Type Category Type Size
15 Flow volume Unsigned Long 2 bytes
Flow Direction
Desired state for an entry object such as, a door, lock, sluice, or something that
controls entry of an area.
SNVT Index Measurement Type Category Type Size
171 flow_direction_t Enumeration 1 byte
SNVT_flow_f (53)
Flow Volume
SNVT Index Measurement Type Category Type Size
53 Flow Volume Floating Point 4 bytes
Flow Volume
SNVT Index Measurement Type Category Type Size
16 Flow volume Unsigned Long 2 bytes
SNVT_flow_p (161)
Flow Volume
Used for heating, ventilation, and air conditioning applications. The typical flow
in this area is 0.01 to 650 m³/h.
SNVT Index Measurement Type Category Type Size
161 Flow Volume Unsigned Long 2 bytes
SNVT_freq_f (75)
Frequency
SNVT Index Measurement Type Category Type Size
75 Frequency Floating Point 4 bytes
Frequency
SNVT Index Measurement Type Category Type Size
76 Frequency Unsigned Long 2 bytes
SNVT_freq_kilohz (77)
Frequency
SNVT Index Measurement Type Category Type Size
77 Frequency Unsigned Long 2 bytes
SNVT_freq_milhz (78)
Frequency
SNVT Index Measurement Type Category Type Size
78 Frequency Unsigned Long 2 bytes
SNVT_grammage (71)
Grammage
SNVT Index Measurement Type Category Type Size
71 Grammage Unsigned Long 2 bytes
SNVT_grammage_f (72)
Grammage
SNVT Index Measurement Type Category Type Size
72 Grammage Floating Point 4 bytes
SNVT_hvac_mode (108)
HVAC Mode
Used for heating, ventilation, and air-conditioning applications.
SNVT Index Measurement Type Category Type Size
108 hvac_t Enumeration 1 byte
SNVT_hvac_overid (111)
typedef struct {
hvac_overid_t state;
signed long percent;
unsigned long flow;
} SNVT_hvac_overid;
SNVT_hvac_satsts (172)
typedef struct {
unsigned pri_heat : 1; // offset 0
unsigned sec_heat : 1; // offset 1
unsigned pri_cool : 1; // offset 2
HVAC Status
Used for heating, ventilation, and air-conditioning applications.
SNVT Index Measurement Type Category Type Size
112 HVAC Status Structure 12 bytes
typedef struct {
hvac_t mode;
signed long heat_output_primary;
signed long heat_output_secondary;
signed long cool_output;
signed long econ_output;
signed long fan_output;
unsigned short in_alarm;
} SNVT_hvac_status;
in_alarm: Zero (0) means that the unit is not in an alarm state. 255 (0xFF)
means that alarming is disabled. All other values (between 1 and 254, inclusive)
means that the unit is in the alarm state. The specific numbers (between 1 and
254) are manufacturer-specifec as to their meaning, but all represent an alarm
state.
Field Measurement Field Type Category Field Size
month In Alarm State Unsigned Short 1 byte
SNVT_ISO_7811 (80)
This SNVT is obsolete. Use SNVT_magcard instead.
typedef struct {
unsigned digit1 : 4;
unsigned digit2 : 4;
.. .. .. .. .
unsigned digit38 : 4;
} SNVT_ISO_7811;
SNVT_length (17)
Length
SNVT Index Measurement Type Category Type Size
17 Length Unsigned Long 2 bytes
Length
SNVT Index Measurement Type Category Type Size
54 Length Floating Point 4 bytes
SNVT_length_kilo (18)
Length
SNVT Index Measurement Type Category Type Size
18 Length Unsigned Long 2 bytes
SNVT_length_micr (19)
Length
SNVT Index Measurement Type Category Type Size
19 Length Unsigned Long 2 bytes
Length
SNVT Index Measurement Type Category Type Size
20 Length Unsigned Long 2 bytes
SNVT_lev_cont (21)
Continuous Level
SNVT Index Measurement Type Category Type Size
21 Continuous Level Unsigned Short 1 bytes
SNVT_lev_cont_f (55)
Continuous Level
SNVT Index Measurement Type Category Type Size
55 Continuous Level Floating Point 4 bytes
Discrete level
Obsolete. SNVT_switch should be used for communicating state with discrete
devices as well as level with continuous devices.
SNVT Index Measurement Type Category Type Size
22 discrete_levels_t Enumeration 1 byte
SNVT_lev_percent (81)
Percent level
SNVT_switch should be used instead of SNVT_lev_percent, with the exception
of network variables that are used to communicate a percentage value and that
require the additional resolution provided by SNVT_lev_percent.
SNVT_lev_percent may also be used for network variable members of
functional profiles that are designed primary for interfacing with network
variable members of existing profiles that are defined as SNVT_lev_percent.
SNVT_switch be used for communicating state with discrete devices as well as
level with continuous devices.
Note: The SNVT_lev_percent type is marked as obsolete in the Version 11.00
standard resource file set. This will be changed in the next update to the
standard resource file set.
SNVT Index Measurement Type Category Type Size
81 Percentage Level Signed Long 2 bytes
SNVT_magcard (86)
typedef struct {
unsigned digit1 : 4;
unsigned digit2 : 4;
.. .. .. .. .
unsigned digit40 : 4;
} SNVT_magcard;
digit2: Optionally contains a “value not available” indicator for the entire
SNVT_magcard network variable instance if the value is 0xF.
Field Measurement Type Category Type Size
digit2 N/A Unsigned Bitfield 4 bits (offset 4)
SNVT_mass (23)
Mass
SNVT Index Measurement Type Category Type Size
23 Mass Unsigned Long 2 bytes
SNVT_mass_f (56)
Mass
SNVT Index Measurement Type Category Type Size
56 Mass Floating Point 4 bytes
Mass
SNVT Index Measurement Type Category Type Size
24 Mass Unsigned Long 2 bytes
SNVT_mass_mega (25)
Mass
SNVT Index Measurement Type Category Type Size
25 Mass Unsigned Long 2 bytes
Mass
SNVT Index Measurement Type Category Type Size
26 Mass Unsigned Long 2 bytes
SNVT_motor_state (155)
Motor State
Defines the state of a mechanical motor; whether pump, fan, or other. A
network variable using this SNVT does not explicitly define whether the motor’s
drive is enabled, or whether any brake (decelerator) is actively slowing the
motor.
SNVT Index Measurement Type Category Type Size
155 motor_state_t Enumeration 1 byte
SNVT_muldiv (91)
Multiply/Divide
May be used as a gain factor for fixed-point sensor objects. It is compatible with
the Neuron C muldiv() function, which provides a 16 x 16 unsigned
multiplication with a 32-bit intermediate result, followed by a 32/16 unsigned
division with a 16-bit end result. For more details, see the Neuron C Reference
Guide.
SNVT Index Measurement Type Category Type Size
91 Gain Structure 4 bytes
multiplier: Multiplier
Field Measurement Field Type Category Field Size
multiplier Multiplier Unsigned Long 2 bytes
divisor: Divisor
Field Measurement Field Type Category Field Size
divisor Divisor Unsigned Long 2 bytes
SNVT_multiplier (82)
Multiplier
SNVT Index Measurement Type Category Type Size
82 Multiplier Unsigned Long 2 bytes
typedef struct {
unsigned short type_program_ID[8];
unsigned short type_scope;
unsigned long type_index;
nv_type_category_t type_category;
unsigned short type_length;
signed long scaling_factor_a;
signed long scaling_factor_b;
signed long scaling_factor_c;
} SNVT_nv_type;
type_scope: The scope of the resource file that defines the specified type. The
scope may be any of the following values:
0 – Standard – applies to all devices.
1 – Reserved for future use.
2 – Reserved for future use.
3 – Manufacturer – applies to all devices from the manufacturer specified in the
program ID template.
4 – Manufacturer and Device Class – applies to all devices from the
manufacturer with the device class specified in the program ID template.
type_index: The index within the specified resource file of the network variable
type definition.
Field Measurement Type Category Type Size in Bytes
type_index Type Index Unsigned Long 2 bytes
scaling_factor_c: Scaling offset b for the specified network variable type, where
ScaledValue = a*10b*(RawValue+c).
Field Measurement Type Category Type Size in Bytes
scaling_factor_b Scaling Offset Signed Long 2 bytes
Object Request
Allows a functional block to be placed in one of several functional modes. For
more details, see the definition of the Node Object (SFPTnodeObject) functional
profile.
Additions not found in version 3.2 or earlier:
The RQ_CLEAR_RESET request clears the reset_complete flag in
SNVT_obj_status (nvoStatus in the Node Object) of the corresponding Object
(object_id). Further requests have no effect, until the next Reset sequence has
again been executed.
The RQ_RESET request initiates the Reset sequence in SNVT_obj_status
(nvoStatus in the Node Object) of the corresponding object (object_id) every
time that it is sent. The reset_complete flag (SNVT_obj_status) is set when the
Reset sequence is complete, and the flag must be cleared by
RQ_CLEAR_RESET (SNVT_obj_request).
The existing RQ_CLEAR_STATUS and RQ_CLEAR_ALARM functions
(SNVT_obj_request) remain unchanged.
SNVT Index Measurement Type Category Type Size
92 Object Request Structure 3 bytes
typedef struct {
unsigned long object_id;
object_request_t object_request;
} SNVT_obj_request;
object_id: Object ID
Field Measurement Field Type Category Field Size
object_id Object ID Unsigned Long 2 bytes
Object Status
Used to indicate the status of the various objects within a node. For more
details, see the definition of the Node Object (SFPTnodeObject) in the
Application Layer Interoperability Guidelines.
Addition not found in Guidelines version 3.2 or earlier:
The reset_complete field, indicates the execution of the Reset sequence of any
object (object_id) within the device. After a Reset sequence, the reset_complete
flag goes to TRUE (1) and it remains ‘1’ until it is cleared (acknowledged) via
SNVT_obj_request (nviRequest in the Node Object) on in the corresponding
Object (object_id ).
(The additional reset flag uses reserved1 of the previous SNVT_obj_status
structure definition.)
SNVT Index Measurement Type Category Type Size
93 Object Status Structure 6 bytes
typedef struct {
unsigned long object_id;
unsigned invalid_id :1;
unsigned invalid_request :1;
unsigned disabled :1;
unsigned out_of_limits :1;
unsigned open_circuit :1;
unsigned out_of_service :1;
unsigned mechanical fault :1;
unsigned feedback_failure :1;
unsigned over_range :1;
unsigned under_range :1;
unsigned electrical_fault :1;
unsigned unable_to_measure :1;
unsigned comm_failure :1;
unsigned fail_self_test :1;
unsigned self_test_in_progress :1;
unsigned locked_out :1;
unsigned manual_control :1;
unsigned in_alarm :1;
unsigned in_override :1;
unsigned report_mask :1;
unsigned programming_mode :1;
unsigned programming_fail :1;
unsigned alarm_notify_disabled :1;
unsigned reset_complete :1;
unsigned reserved2 :8;
} SNVT_obj_status;
SNVT_occupancy (109)
Occupancy
SNVT Index Measurement Type Category Type Size
109 occup_t Enumeration 1 byte
Override Code
SNVT Index Measurement Type Category Type Size
97 override_t Enumeration 1 byte
SNVT_ph (125)
Acidity
Ratio of concentration of ions.
SNVT Index Measurement Type Category Type Size
125 Acidity Signed Long 2 bytes
SNVT_ph_f (126)
Acidity
Ratio of concentration of ions.
SNVT Index Measurement Type Category Type Size
126 Acidity Floating Point 4 bytes
Position control
Used for the programmable-position camera-command interface.
The command interface consists of three different command functions:
• Programmable camera-position presets/prepositions (CMF_REL),
• Programmable tables of preposition tours (CMF_TOUR), and
• Absolute positions for pan and tilt, in degrees (CMF_ABS).
The three command functions each have a set of actions, and arguments.
The programmable table of prepositions, a preposition tour table, can be called
by number. A network tool configures the preposition tour table. The
programmable prepositions are used by:
• Saving a preposition by number (CMA_SAV), and
• Recalling (going to) a previously saved preposition by number
(CMA_CALL).
The absolute position can be:
• Read for the current position (CMA_READ), or
• Invoked (set) by using the ‘write’ command.
Each command input may have a response output, giving the status of the
command.
If any illegal command function has been used, the response status is CMF_NUL
(cam_func_t).
If any legal command function has been used, with an illegal action, the response
status is CMA_NUL (cam_action_t).
The SNVT_pos_ctrl may be used also in a control-arbitration scenario. The
receiver_id is used to refer to one particular device in a group of equal,
controllable devices.
The controller_id is used to identify the requesting device from a group of equal,
controlling devices. The controller_prio is used for the control arbitration in the
controllable device. Standard control devices (e.g., keyboards) in normal control
mode must have the priority assigned in the range 1 to 50. The range 51 to 200
is used in alarm control mode. The priority value zero (0) is used to release
control.
SNVT Index Measurement Type Category Type Size
152 Position control Structure 13 bytes
typedef struct{
unsigned long receiver_id;
unsigned long controller_id;
unsigned short controller_prio;
cam_func_t function;
cam_act_t action;
SNVT_power (27)
Power
SNVT Index Measurement Type Category Type Size
27 Power Unsigned Long 2 bytes
Power
SNVT Index Measurement Type Category Type Size
57 Power Floating Point 4 bytes
SNVT_power_kilo (28)
Power
SNVT Index Measurement Type Category Type Size
28 Power Unsigned Long 2 bytes
SNVT_ppm (29)
Concentration
SNVT Index Measurement Type Category Type Size
29 Concentration Unsigned Long 2 bytes
Concentration
SNVT Index Measurement Type Category Type Size
58 Concentration Floating Point 4 bytes
SNVT_preset (94)
Preset
Network variables of SNVT_preset type are used to allow a sensor or actuator
functional block to control and adopt one of several programmable values and
ramp rates, in addition to the normal control mode. For a usage example, see the
definition for the Closed Loop Sensor (SFPTclosedLoopSensor).
To program a preset, the SNVT_preset output is transmitted from a sensor with
updated values for SNVT_preset.value, SNVT_preset.selector, and the time-
related fields. In addition, SNVT_preset.learn is set to LN_LEARN_VALUE —
or alternatively set to LN_LEARN_CURRENT, which causes the receiving
actuator to learn whatever its current value is. A pre-programmed preset can be
selected by transmitting the SNVT_preset output with the relevant preset number
set in SNVT_preset.selector, and with SNVT_preset.learn set to LN_RECALL.
The time-related fields specify the time period over which the actuator should
progress from the current level to the newly selected preset level. A benefit of
this mechanism is that any set of actuators that are preset with a common rate
value for a particular preset number, will all arrive at this new value at the same
time, regardless of the individual preset values to which they ramp.
SNVT Index Measurement Type Category Type Size
94 Preset Structure 14 bytes
typedef struct {
learn_mode_t learn;
unsigned long selector;
unsigned value[4];
unsigned long day;
unsigned short hour;
unsigned short minute;
unsigned short second;
unsigned long millisecond;
} SNVT_preset;
value[4]: Value
Field Measurement Field Type Category Field Size
value[4] Value Unsigned Short 4 bytes
minute: Minutes
Field Measurement Field Type Category Field Size
minute Minutes Unsigned Short 1 byte
second: Seconds
Field Measurement Field Type Category Field Size
second Seconds Unsigned Short 1 byte
millisecond: Milliseconds
Field Measurement Field Type Category Field Size
millisecond Milliseconds Unsigned Long 2 bytes
Pressure (gauge)
SNVT Index Measurement Type Category Type Size
30 Pressure (gauge) Signed Long 2 bytes
SNVT_press_f (59)
Pressure (gauge)
SNVT Index Measurement Type Category Type Size
59 Pressure (gauge) Floating Point 4 bytes
SNVT_press_p (113)
Pressure (gauge)
SNVT Index Measurement Type Category Type Size
113 Pressure (gauge) Signed Long 2 bytes
Privacy Zone
Used to support programmable privacy zones. The command consists of an
action type, the number of the privacy zone, and the ID value of the camera
telemetry receiver having this privacy zone.
SNVT Index Measurement Type Category Type Size
151 Privacy Zone Structure 4 bytes
typedef struct {
privacyzone_t action;
unsigned short number;
unsigned long camera_id;
} SNVT_privacyzone;
number: The privacy zone to program, or the privacy zone giving a warning.
Field Measurement Field Type Category Field Size
number Zone Number Unsigned Short 1 byte
Example 1, output
nvoPZreport.action = PZ_ENTER
nvoPZreport.number =1
Physical value = the camera is inside privacy zone #1
SNVT_ptz (150)
The pan and tilt speed values, as well as the pan and tilt directions, have to be
updated simultaneously, since in most applications, a joystick is used to control
camera movements. The movement must be smooth in all directions, for all
magnitudes of pan and tilt speed.
The network output variable of this type transmits the speed and direction for
pan, tilt, and zoom, in each update, to meet the requirements described above. If
the speed is zero, e.g., in of case of a network variable of SNVT_ptz from a non-
joystick, a default speed will be used. This default speed may optionally be
programmable, via a configuration property.
SNVT Index Measurement Type Category Type Size
150 None Structure 6 bytes
typedef struct {
pan_dir_t pan_dir; // Pan direction
unsigned short pan_speed; // Pan speed
tilt_dir_t tilt_dir; // Tilt direction
unsigned short tilt_speed; // Tilt speed
zoom_t zoom; // Zoom direction
unsigned short zoom_speed; // Zoom speed
} SNVT_ptz;
Example
pan.direction = PAN_RIGHT
pan.speed = 125 (0x7D)
Physical value = Pan to the right by 50.0%
Example
tilt.direction = TILT_UP
tilt.speed = 63 (0x3F)
Physical value = Tilt up by 25.2%
SNVT_pump_sensor (159)
Pump Sensor
Contains readings from sensors on a mechanical vacuum pump.
SNVT Index Measurement Type Category Type Size
159 Structure 19 bytes
typedef struct {
SNVT_freq_hz rotational_speed;
SNVT_temp body_temperature;
SNVT_temp motor_external_temperature;
SNVT_temp motor_internal_temperature;
boolean_t motor_overloaded;
boolean_t oil_level_low;
boolean_t phase_imbalance_detected;
SNVT_amp current_usage;
SNVT_power_kilo power_usage;
unit_temp_t temperature_control;
boolean_t electromagnetic_brake_active;
boolean_t friction_brake_active;
boolean_t gas_brake_active;
} SNVT_pump_sensor;
SNVT_pumpset_mn (156)
This SNVT contains the status of the main features of a pumpset, which consists
of one or more mechanical vacuum pumps operating in unison.
SNVT Index Measurement Type Category Type Size
156 Pumpset Structure 8 bytes
typedef struct {
motor_state_t main_pump;
motor_state_t booster_pump;
priority_level_t priority_level;
boolean_t process_ready;
boolean_t emergency_stop_activated;
boolean_t main_pump_drive_enabled;
boolean_t booster_pump_drive_enabled;
boolean_t maintenance_required;
} SNVT_pumpset_mn;
priority_level: Overall alarm priority level of the pumpset. This will equate to
the highest alarm priority that any component in the pumpset has currently.
Field Measurement Field Type Category Field Size
priority_level priority_level_t Enumeration 1 byte
process_ready: TRUE means that the process, which depends on the operation
of the pumpset, can start or continue. A value of FALSE shall specify that the
pumpset is not running and ready to process, and that gas flow through the
pumpset should be stopped.
Field Measurement Field Type Category Field Size
process_ready boolean_t Enumeration 1 byte
SNVT_pumpset_sn (158)
This SNVT contains readings from sensors in a ‘pumpset’, which consists of one
or more pumps operating in unison.
SNVT Index Measurement Type Category Type Size
158 Pumpset Sensor Structure 23 bytes
typedef struct {
SNVT_flow_mil total_dilution_flow;
SNVT_temp exhaust_temperature;
SNVT_press exhaust_pressure;
SNVT_press shaft_seal_purge_pressure;
SNVT_press_f inlet_vacuum;
SNVT_volt supply_voltage;
SNVT_flow_mil coolant_flow;
boolean_t coolant_flow_low;
dilution_active: TRUE if any dilution gas is being used by the pumpset. This
will normally be TRUE whenever the pumpset is running.
Field Measurement Field Type Category Field Size
dilution_active boolean_t Enumeration 1 byte
power_supply_on: TRUE if the mains power supply, which is used to drive the
pumpset, is switched on.
Field Measurement Field Type Category Field Size
power_supply_on boolean_t Enumeration 1 byte
SNVT_pwr_fact (98)
Power Factor
SNVT Index Measurement Type Category Type Size
98 Power Factor Signed Long 2 bytes
Power Factor
SNVT Index Measurement Type Category Type Size
99 Power Factor Floating Point 4 bytes
SNVT_rac_ctrl
typedef struct{
unsigned audio_line :3;
unsigned duplex_full :1;
unsigned dest_p2p :1;
unsigned reserved :3;
rail_audio_type_t audio_type;
struct{
unsigned unit_id :4;
unsigned location :4;
unsigned car_id :5;
unsigned reserved :3;
rail_audio_sensor_type_t audio_sensor_type;
}addr_init;
struct{
unsigned unit_id :4;
unsigned location :4;
unsigned car_id :5;
unsigned reserved :3;
rail_audio_sensor_type_t audio_sensor_type;
}addr_talk;
union{
struct{
unsigned unit_id :4;
unsigned location :4;
unsigned car_id :5;
unsigned reserved :3;
audio_line: To identify the unit lines in the train formation. As defined here, the
train formation can maximally have 8 audio lines, which are indexed as 0,1..7.
Field Measurement Field Type Category Field Size
audio_line Audio Line Unsigned Bitfield 3 bit (offset 0)
duplex_full: Specifies whether the audio call is using full duplex (True) or half
duplex (False).
Field Measurement Field Type Category Field Size
duplex_full Full Duplex Unsigned Bitfield 1 bit (offset 3)
addr_init.reserved:
Field Measurement Field Type Category Field Size
addr_init.reserved N/A Unsigned Bitfield 3 bit (offset 5)
addr_talk.car_id: Identifies each car in the unit (or consist). As defined here,
the unit can be composed of 1 to 31 cars, which are indexed as 1 to 31.
Field Measurement Field Type Category Field Size
addr_talk.car_id Car ID Unsigned Bitfield 5 bit (offset 0)
addr_talk.reserved:
Field Measurement Field Type Category Field Size
addr_talk.reserved Boolean_t Unsigned Bitfield 3 bit (offset 5)
addr_dest.p2p.reserved:
Field Measurement Field Type Category Field Size
addr_dest.p2p.reserved N/A Unsigned Bitfield 3 bit (offset 5)
SNVT_rac_req
Rail-Audio Request
The following structure defines the format for the audio request network
variable.
SNVT Index Measurement Type Category Type Size
182 Audio Request Structure 15 byte
Command
typedef struct {
unsigned dest_def:1; // 1:destination
specified
unsigned dest_p2p:1; // 1:point to point
unsigned reserved:6; // reserved bits
rail_audio_type_t audio_type; // the call’s type
struct{
unsigned unit_id :4;
unsigned location :4;
unsigned car_id :5;
unsigned reserved :3;
rail_audio_sensor_type_t audio_sensor_type;
}addr_sensor;
union{
struct{
unsigned unit_id :4;
unsigned location :4;
unsigned car_id :5;
unsigned reserved :3;
rail_audio_sensor_type_t audio_sensor_type;
}p2p; // if a point-to-point call
struct{
unsigned char mask_unit;
unsigned char mask_car[4];
unsigned char mask_location[2];
unsigned char mask_audio[3];
}p2m; // if point-to-multi-point call
}addr_dest;
reserved:
Field Measurement Field Type Category Field Size
Reserved N/A Unsigned Bitfield 6 bit (offset 2)
addr_init.car_id: Identifies each car in the unit (or consist). As defined here, the
unit can be composed of 1 to 31 cars, which are indexed as 1 to 31.
Field Measurement Field Type Category Field Size
addr_sensor.car_id Car ID Unsigned Bitfield 5 bit (offset 0)
addr_sensor.reserved:
Field Measurement Field Type Category Field Size
addr_sensor.reserved N/A Unsigned Bitfield 3 bit (offset 5)
Register Value
Used to send a value and appropriate unit of measure to a recording or
displaying device that would use the unit field to properly handle the 32-bit
value.
SNVT Index Measurement Type Category Type Size
136 Register value Structure 6 bytes
typedef struct {
unsigned raw(4);
reg_val_unit_t unit;
unsigned short nr_decimals : 3;
} SNVT_reg_val;
raw[4]: Raw value whose units and decimal float depend on the unit and
nr_decimals values.
Field Measurement Type Category Type Size
raw Raw value Signed Quad 4 bytes
Example
raw = = 123456
unit = RVU_KWH
nr_decimals = 2
Physical value = 1234.56 kWh
The reg_val_unit_t enumeration is a fixed list and will not be modified nor
extended due to its use in SNVT_reg_val, and SNVT_reg_val_ts.
SNVT_reg_val
SNVT_reg_val_ts (137)
Register Value
Used to send a value and appropriate unit of measure to a recording or
displaying device that would use the unit field to properly handle the 32-bit
value.
The status bitfield has the following two representations, and the functional
profile or installation should specify the representation used:
Singular, Mask, Description
enumerated bitmapped
0x1 0x1 Time has been changed during the measuring period and
the change exceeds the error limit, or time is invalid time.
(b0001) (b0001)
0x2 0x2 Internal/External error during the measuring period (e.g.,
watchdog reset, error in EEPROM operation, memory
(b0010) (b0010)
checksum error, Polling error from the external device,
register overflow or underflow—with subtracting pulse
inputs—during the measuring period).
0x3 0x4 Power failure during the measuring period.
(b0011) (b0100)
0x4 0x8 Illegal value request (e.g., uninitiated after boot up, input
values out of range).
(b0100) (b1000)
typedef struct {
SIGNED_QUAD raw(4);
reg_val_unit_t unit;
unsigned nr_decimals : 3;
unsigned status : 4;
unsigned reg_state : 1;
unsigned long year;
unsigned short month;
unsigned short day;
unsigned short hour;
unsigned short minute;
unsigned short second;
} SNVT_reg_val_ts;
raw[4]: Raw value whose units and decimal float depend on the unit and
nr_decimals values.
Field Measurement Type Category Type Size
raw Raw Value Signed Quad 4 bytes
reg_state: 1 means the register is activated (functional block measures into the
register).
Field Measurement Type Category Type Size
reg_state boolean_t Unsigned Bitfield 1 bit (offset 7)
year: Zero (0) means year not specified. Minus one (-1) represents NULL date.
Field Measurement Field Type Category Field Size
year Year Signed Long 2 bytes
minute: Minutes
Field Measurement Field Type Category Field Size
minute Minutes Unsigned Short 1 byte
Example
raw = 1.23456E5 = 123456
unit = RVU_KW
nr_decimals = 2
status = 0x1
reg_state = 1
year = 2000
month = 1
day = 31
hour = 23
minute = 45
second = 00
SNVT_res (31)
Electrical Resistance
SNVT Index Measurement Type Category Type Size
31 Electric Resistance Unsigned Long 2 bytes
Electrical Resistance
SNVT Index Measurement Type Category Type Size
60 Electrical Resistance Floating Point 4 bytes
SNVT_res_kilo (32)
Electrical Resistance
SNVT Index Measurement Type Category Type Size
32 Electrical Resistance Unsigned Long 2 bytes
SNVT_rpm (102)
Angular Velocity
SNVT Index Measurement Type Category Type Size
102 Angular Velocity Unsigned Long 2 bytes
Scene Control
SNVT Index Measurement Type Category Type Size
115 Scene control Structure 2 bytes
typedef struct {
scene_t function;
unsigned short scene_number;
} SNVT_scene;
SNVT_scene_cfg (116)
Scene Configuration
Used to tell an actuator functional block to save a specified setting as a scene,
report the scene data for a specified scene, and manage scene storage space.
SNVT Index Measurement Type Category Type Size
116 Scene Configuration Structure 10 bytes
typedef struct {
scene_config_t function;
unsigned short scene_number;
unsigned short setting;
scene_priority: 0-255 scene priority range. Zero (0) is the highest priority.
Field Measurement Field Type Category Field Size
scene_priority Scene Priority Unsigned Short 1 byte
Schedule Value
This network variable type is used to report the state of a schedule. The value is
used as the output of a Scheduler, or is used as an index into a
SCPTvalueDefinition array, where the corresponding SCPTvalueDefinition
array value is used as the output value.
SNVT Index Measurement Type Category Type Size
177 Value Definition Unsigned Short 1 byte
Index
Valid Type Range Type Resolution Units Invalid Value
0 .. 254 1 N/A 255
(0xFF)
Raw Range Scale Factors File Name Default Value
0 .. 254 N/A N/A 255
(0 .. 0xFE)
SNVT_setting (117)
Scene Setting
Used to tell an actuator functional block to invoke a stored setting/scene.
SNVT Index Measurement Type Category Type Size
117 Setting control Structure 4 bytes
typedef struct {
setting_t function;
unsigned short setting;
signed long rotation;
} SNVT_setting;
SNVT_smo_obscur (129)
Smoke Obscuration
SNVT Index Measurement Type Category Type Size
129 Smoke Obscuration Unsigned Long 2 bytes
Sound Level
SNVT Index Measurement Type Category Type Size
33 Sound Level Signed Long 2 bytes
SNVT_sound_db_f (61)
Sound Level
SNVT Index Measurement Type Category Type Size
61 Sound Level Floating Point 4 bytes
SNVT_speed (34)
Linear Velocity
SNVT Index Measurement Type Category Type Size
34 Linear Velocity Unsigned Long 2 bytes
Linear Velocity
SNVT Index Measurement Type Category Type Size
62 Speed Floating Point 4 bytes
SNVT_speed_mil (35)
Linear Velocity
SNVT Index Measurement Type Category Type Size
35 Linear Velocity Unsigned Long 2 bytes
SNVT_state (83)
State
Each state is a Boolean, single-bit value. SNVT_state_64 is preferred.
SNVT Index Measurement Type Category Type Size
83 State Vector Structure 2 bytes
typedef struct {
unsigned bit0 : 1;
unsigned bit1 : 1;
.. .. .
unsigned bit15 : 1;
} SNVT_state;
SNVT_state_64 (165)
State
Each state is a Boolean, single-bit value.
SNVT Index Measurement Type Category Type Size
165 State Vector Bitfield 8 bytes
typedef struct {
unsigned bit0 : 1;
unsigned bit1 : 1;
.. .. .
unsigned bit63 : 1;
} SNVT_state_64;
SNVT_str_asc (36)
Character String
An ASCII string of up to 30 characters plus a terminator (ASCII 0) that must be
stored within the ‘ascii’ field, immediately after the last character of the string.
The maximum string length is therefore 30 characters plus the terminator.
SNVT_str_asc must only be used for communicating textual information to
system integrators and operators. It must not be used for encoding commands or
typedef struct {
unsigned char ascii[31];
} SNVT_str_asc;
SNVT_str_int (37)
Character String
A wide-character string of up to 14 characters plus a terminator (ASCII 0) that
must be stored within the wide_char field, immediately after the last character of
the string. The maximum string length is therefore 14 characters plus the
terminator. SNVT_str_asc must only be used for communicating textual
information to system integrators and operators. It must not be used for
encoding commands or state information for other devices. Commands and state
information must be encoded in appropriate scalar or structure network variable
types.
SNVT Index Measurement Type Category Type Size
37 Character String Structure 31 bytes
typedef struct {
unsigned short char_set;
unsigned long wide_char[15];
} SNVT_str_int;
SNVT_switch (95)
Switch
A structure reporting a percentage level or load value and a discrete on/off state.
Separate fields report the percentage value and state. This type should be used
for both discrete (on/off) and analog control.
The value field is used to control the load's value, i.e. position, speed, or
intensity, the state field being used to control whether the load is on or off
(enabled or disabled).
When used as the output of a discrete sensor device, the OFF state is represented
by a SNVT_switch network variable with state = FALSE and value = 0. The
other discrete states are represented by state = TRUE and value > 0. When used
as the output of a two-state sensor device, the ON state is represented by state =
TRUE and value = 200 (meaning 100%).
When used as the input of a two-state discrete actuator, a SNVT_switch network
variable with state = TRUE will be interpreted as the ON state if value > 0, and
as the OFF state if value = 0. Additionally, a SNVT_switch input network
variable with state = FALSE should be interpreted as the OFF state, whether or
not value = 0. A state value of 0xFF indicates the switch value is undefined.
typedef struct {
unsigned value;
signed state;
} SNVT_switch;
Telecom States
SNVT Index Measurement Type Category Type Size
38 telcom_states_t Enumeration 1 byte
SNVT_temp (39)
Temperature
SNVT_temp represents tenths of a degree Celsius above -274ºC. To get
SNVT_temp units define a constant: C_to_K equal to 2740, which is added to
temperature, expressed in tenths of degrees C.
SNVT Index Measurement Type Category Type Size
39 Temperature Signed Long 2 bytes
SNVT_temp_diff_p (147)
Temp Difference
Used to communicate temperature differences. e.g., a unit has two temperature
probes A and B. The value to be reported is A – B. This type would be used
allow another device to format the data from a network variable using this SNVT
correctly when converting from ºC to ºF, if needed. This conversion requires a
32ºF offset converting to or from Fahrenheit temperature values, but no offset
when converting to or from differential Fahrenheit temperature values. If there
was no differential temperature SNVT, then the conversion can only be
accomplished by the front-end system, or HMI, knowing the particular network
variable.
SNVT_temp_f (63)
Temperature
SNVT Index Measurement Type Category Type Size
63 Incremental Count Floating Point 4 bytes
SNVT_temp_p (105)
Temperature
To be used for heating, ventilation, and air-conditioning (HVAC) applications.
SNVT Index Measurement Type Category Type Size
105 Temperature Signed Long 2 bytes
SNVT_temp_setpt (106)
Temperature Setpoints
SNVT Index Measurement Type Category Type Size
106 Temperature Structure 12 bytes
Setpoints
typedef struct {
signed long occupied_cool;
signed long standby_cool;
signed long unoccupied_cool;
signed long occupied_heat;
signed long standby_heat;
signed long unoccupied_heat;
} SNVT_temp_setpt;
SNVT_therm_mode (119)
Thermostat Mode
SNVT Index Measurement Type Category Type Size
119 therm_mode_t Enumeration 1 byte
SNVT_time_f (64)
Elapsed Time
SNVT Index Measurement Type Category Type Size
64 Elapsed Time Floating Point 4 bytes
Elapsed Time
SNVT Index Measurement Type Category Type Size
39 Elapsed time Signed Long 2 bytes
SNVT_time_min (123)
Elapsed Time
SNVT Index Measurement Type Category Type Size
123 Elapsed Time Signed Long 2 bytes
SNVT_time_passed (40)
Elapsed Time
This SNVT is obsolete. Use SNVT_time_stamp instead.
SNVT Index Measurement Type Category Type Size
40 Elapsed Time Structure 4 bytes
typedef struct {
unsigned short hours;
unsigned short minutes;
unsigned short seconds
unsigned short milliseconds
}SNVT_time_passed;
minutes: Minutes
Field Measurement Field Type Category Field Size
minutes Minutes Unsigned Short 1 byte
seconds: Seconds
Field Measurement Field Type Category Field Size
seconds Seconds Unsigned Short 1 byte
milliseconds: Milliseconds
Field Measurement Field Type Category Field Size
milliseconds Milliseconds Unsigned Short 1 byte
Elapsed Time
SNVT Index Measurement Type Category Type Size
102 Elapsed time Signed Long 2 bytes
SNVT_time_stamp (84)
Time Stamp
SNVT Index Measurement Type Category Type Size
84 Time Stamp Structure 7 bytes
typedef struct {
signed long year;
unsigned short month;
unsigned short day;
unsigned short hour;
unsigned short minute;
unsigned short second;
} SNVT_time_stamp;
year: Zero (0) means year not specified. Minus one (-1) represents NULL date.
Field Measurement Field Type Category Field Size
year Year Signed Long 2 bytes
minute: Minutes
Field Measurement Field Type Category Field Size
minute Minutes Unsigned Short 1 byte
SNVT_time_zone (134)
typedef struct {
s32_type second_time_offset;
calendar_type_t type_of_description;
unsigned short hour_of_start_DST;
unsigned short minute_of_start_DST;
unsigned short second_of_start_DST;
union {
unsigned long G_day_of_start_DST;
unsigned long J_day_of_start_DST;
struct {
unsigned month_of_start_DST :4;
unsigned week_of_start_DST :3;
days_of_week_t dateday_of_start_DST;
} M_start_DST;
} start_DST;
Example 1:
SNVT_time_zone TimeZone;
Example 2:
// Definition of time zone for country X, that has
start DST in every year 30. March and end of DST 1.
September
s32_from_ascii("-36000",
&(TimeZone.second_time_offset));
// Definition of type of description of time zone
TimeZone.type_of_description =CAL_JUL ;
Example 3:
// Definition of time zone for country Y, that has
start DST in the not leap year 20. February and end of
DST 1. September.
// In the leap year has start DST 20. February and end
of DST 31. August
s32_from_ascii("-56000",
&(TimeZone.second_time_offset));
SNVT_tod_event (128)
typedef struct {
occup_t current_state;
occup_t next_state;
unsigned long time_to_next_state;
}SNVT_tod_event
SNVT_trans_table (96)
Translation
A translation table is defined by two of sets network variables of type
SNVT_trans_table; one for the X axis, and one for the Y axis.
The point seven-element array contains a single axis of translation values,
represented as IEEE754 single-precision floating-point values (compatible with
the Neuron C Extended Arithmetic float_type type). The point values in the
network variable for the X axis must be monotonically increasing. The
interp_pts_m_to_n fields specify the type of interpolation to be used between the
indicated pair of point elements. The values in these fields are defined with the
interp_t enumeration type, and may be IP_LINEAR or IP_CUBIC_SPLINE.
If more than one pair of network variables of type SNVT_trans_table are present
in a functional block, the interp_pts_6_to_0 field specifies the type of
interpolation to be used between point 6 of this table, and point 0 of the
subsequent table (in order of X point value).
A SNVT_IP.H header file is available for Neuron C applications. There are no
direct enumeration references to this file by any SNVT, including
SNVT_trans_table. The interp_pts_m_to_n fields are bitfields, and therefore do
not reference interp_t, though their interpretation is the same as of the values
defined by interp_t.
typedef struct {
float_type point[7];
unsigned interp_pts_0_to_1 : 2; // offset 0
unsigned interp_pts_1_to_2 : 2; // offset 2
unsigned interp_pts_2_to_3 : 2; // offset 4
unsigned interp_pts_3_to_4 : 2; // offset 6
unsigned interp_pts_4_to_5 : 2; // offset 0
unsigned interp_pts_5_to_6 : 2; // offset 2
unsigned interp_pts_6_to_0 : 2; // offset 4
/* The last two bits (offset 6) are not defined
*/
point[7]: Points
Field Measurement Field Type Category Field Size
point[7] Axis-points Array Floating Point Array 28 bytes
Turbidity
Used to communicate with water-clarity measuring devices (turbidimeters).
SNVT_turbidity can be used to represent ranges associated with drinking water.
Units of this variable are NTU (Nephelometric Turbidity Units), which are 1-to-
1 equivalent to FNU (Formazin Nephelometric Units), and FTU (Formazin
Turbidity Units).
SNVT Index Measurement Type Category Type Size
143 Turbidity Unsigned Long 2 bytes
SNVT_turbidity_f (144)
Turbidity
Used to communicate with water-clarity measuring devices (turbidimeters).
SNVT_turbidity_f can be used to represent ranges associated with industrial
applications (e.g., typical measurements may be from 0 to 10000 NTU). Units
of this variable are NTU (Nephelometric Turbidity Units), which are 1-to-1
equivalent to FNU (Formazin Nephelometric Units), and FTU (Formazin
Turbidity Units).
SNVT Index Measurement Type Category Type Size
144 Turbidity Floating Point 4 bytes
SNVT_valve_mode (163)
Valve Mode
Used for heating, ventilation, and air-conditioning applications. This network
variable type defines and indicates the working mode of valves.
SNVT_vol (41)
Volume
SNVT Index Measurement Type Category Type Size
41 Volume Unsigned Long 2 bytes
SNVT_vol_f (65)
Volume
SNVT Index Measurement Type Category Type Size
65 Volume Floating Point 4 bytes
Volume
SNVT Index Measurement Type Category Type Size
42 Volume Unsigned Long 2 bytes
SNVT_vol_mil (43)
Volume
SNVT Index Measurement Type Category Type Size
43 Volume Unsigned Long 2 bytes
SNVT_volt (44)
Electric Voltage
SNVT Index Measurement Type Category Type Size
44 Electric Voltage Signed Long 2 bytes
SNVT_volt_dbmv (45)
Electric Voltage
SNVT Index Measurement Type Category Type Size
45 Electric Voltage Signed Long 2 bytes
SNVT_volt_f (66)
Electric Voltage
SNVT Index Measurement Type Category Type Size
66 Electric Voltage Floating Point 4 bytes
Electric Voltage
SNVT Index Measurement Type Category Type Size
46 Electric Voltage Signed Long 2 bytes
SNVT_volt_mil (47)
Electric Voltage
SNVT Index Measurement Type Category Type Size
47 Electric Voltage Signed Long 2 bytes
SNVT_sblnd_state
Sunblind State
A network variable of type SNVT_sblnd_state may be used to feedback or
forward the actual sunblind position, error messages and the cause of the lastest
change of the setpoint.
typedef struct {
SNVT_setting pos;
sblnd_cmd_source_t cmd_source;
sblnd_error_t error_code;
} SNVT_sblnd_state
SNVT_zerospan (85)
typedef struct {
signed long zero;
unsigned long span;
} SNVT_zerospan;
span: Span-factor
Field Measurement Field Type Category Field Size
span Span-factor Unsigned Long 2 bytes
LonMark International