ESSVariables (Declare NTCIP ESS Variables)

The ESSVariables instruction is used to automatically declare the 1665 variables the datalogger needs to read from and write to the local NTCIP ESS objects. This instruction should always be used in conjunction with ESSInitialize.

Syntax

ESSVariables Public

or

ESSVariables Dim

(Default is Public if the Public or Dim modifier is not included)

Remarks

The ESSVariables instruction is placed in the declarations portion of the program (before the BeginProg instruction). This instruction automatically declares all the variables required for the datalogger when used in an NTCIP ESS application. Use ESSInitialize to initialize the variables declared by ESSVariables and thus the local NTCIP ESS objects.

Use the Dim modifier to avoid having the ESS variables appear in the Public table of the datalogger (e.g., ESSVariables Dim). When using the Dim modifier, some of the variables can be forced Public by declaring them manually before ESSVariables (see the Example program).

CRBasic Editor tools can be used as one method for viewing all of the related ESS variables and supported objects. Include ESSVariables (without Dim) and ESSIntialize in your program. Then save and compile the program. Finally, from the CRBasic toolbar, select "Tools" and then "Show Tables". There you will find that ESSVariables and ESSInitialize declare and initialize approximately 1,665 NTCIP ESS related variables.

Additional SNMP variables can be defined using the SNMPVariable instruction. When ESSVariables and SNMPVariable are used in the same program, these user-defined OIDs must begin with an identifier of 1.3.6.1.4.1.1207 or greater (the last OID in the datalogger OS structure for ESSVariables is 1.3.6.1.4.1.1206).

In addition to the user defined OIDs, the following OIDs are supported in the datalogger:

1.3.6.1.2.1.1.1 sysDescr

1.3.6.1.2.1.1.2 sysObjectID

1.3.6.1.2.1.1.3 sysUpTime

1.3.6.1.2.1.1.4 sysContact

1.3.6.1.2.1.1.5 sysName

1.3.6.1.2.1.1.6 sysLocation

1.3.6.1.2.1.1.7 sysServices

NOTE: NTCIP (National Transportation Communications for Intelligent Transportation Systems Protocol) is a family of open standards designed to achieve interoperability and interchangeability between computers and electronic traffic control equipment from different manufacturers. Campbell Scientific data loggers support NTCIP primarily for Road Weather Information Systems (RWIS) applications, implementing the NTCIP Environmental Sensor Station (ESS) 1204 and NTCIP 1201 standards. When a data logger program invokes the ESSInitialize() instruction, SNMP services are enabled on the data logger, allowing it to communicate using the NTCIP-defined Management Information Base (MIB) structure. The ESSVariables instruction declares the variables used by these NTCIP standards, enabling the data logger to report atmospheric weather conditions, road surface conditions, and sensor status to central traffic management systems. This implementation allows Campbell Scientific data loggers to integrate seamlessly into existing NTCIP-compliant transportation infrastructure, enabling agencies to deploy environmental monitoring stations that communicate using standardized protocols regardless of manufacturer. However, NTCIP support in Campbell Scientific data loggers is limited to the specific MIB tables compiled into the operating system for road weather applications and does not provide general-purpose SNMP functionality for arbitrary network management applications.