How to download the database from the CAS Gateway

  1. Goto the System Action page. http://<ip address>/bin/system/
  2. Click “Save Database” button.
    • This will present you with a XML page that says the action was done correctly.
  3. Go back to the System Action page. http://<ip address>/bin/system/
  4. Click “Export the database from the device” link
    • This should download a database.db file

How to download the configuration from the CAS Gateway

  1. Goto the System Action page. http://<ip address>/bin/system/
  2. Click the “Generate Configuration File” link
    • This will generate the configuration file and redirect you to a page where you can download the newly generated configuration file.
  3. Click “Export Configuration” after the system has finished generating the configuration file.

Write to Out Of Service Property Using CAS BACnet Explorer

This article will describe the steps to use the CAS BACnet Explorer to write to the Out Of Service Property.


1) Open the CAS BACnet Explorer and discover for the device that you would like to write to the Out Of Service Property.


2) Click on the Out of Service Property to select it.


3) Write-Click on the Out of Service Property to bring up the Pop-Menu. Select the “WriteProperty” option.


4) In the Write Property dialog, change the Data Value to either “True” or “False” depending on what value you want to write.


5) Check that the value did change.


Note: If the Out of Service property is not writable, then you may get the Write Access Denied error.

CAS BACnet Explorer Version 2.02aQ

We have updated the CAS BACnet Explorer with the following changes.

  • Proper parsing of Forwarded-NPDU messages allowing the CAS BACnet Explorer to correctly discover devices behind BBMDs and BACnet Routers.
  • Added Cancel Button to all users to cancel long discovers without having to exit and close the CAS BACnet Explorer
  • Added Who-Has discovery method.
  • Added Time Synchronization functionality. Users can now set the local time of a BACnet device through the use of a Time Synchronization message.
  • Can detect if there are duplicate device IDs on the network and provides users information about which devices have the duplicate IDs.
  • Numerous bug fixes.

This new version was be released on Tuesday Dec 10, 2013

FieldServer DH+ FSB4013 Blue-Hose Connection

A 10-serial, 2-Ethernet port, 1 DH+ port protocol translator gateway enables data transfer between serial, Ethernet and Allen Bradley DH+ protocols. An extensive library of drivers provides easy interoperability between a variety of devices used in process control and building automation industries.
The FieldServer is an Allen Bradley DH+ protocol translator/gateway which enables devices using one protocol to communicate with devices using another protocol. An example is a PLC using one protocol needing to supply alarm information to a DCS using Data Highway Plus. In a single, comprehensive package the FieldServer provides the hardware and software necessary for this translation.
The FS-B4013 DH+ gateway includes eight RS-232 ports, two RS-485 ports, two Ethernet (10BaseT) ports, and one Allen Bradley DH+ port to interface to the devices. All the necessary software and instructions for configuration are supplied with the FieldServer. FieldServer Technologies also offers fee based configuration services. Besides Allen Bradley DH+, FieldServer are available for various fieldbuses.
DH+ cables are often called the Blue Hose because of the blue color of the cable made for this purpose. It’s a twisted pair with a shield. The Drained Shield is used for the ground terminal. DH+ is based on RS485 but it isn’t.
Supported Baud Rate: 115.2K Baud rate
DH+ terminal Specification:

Signal- = Blue = Terminal 1 = Terminal closest to white LED
Shield = Clear = Terminal 2
Signal+ = Clear = Terminal 3

Stretch Sensors (Resistors)

A stretch sensor is a cylindrical cord which can be stretched to achieve varying resistances. It’s a sort of variable resistor where the resistance can be adjusted by the intensity of the stretch. Usually when the sensor is stretched by 50% it reaches double it’s initial resistance.

Some stretch sensor applications:

  1. Various stress measuring.
  2. Physics experiments.
  3. Could be used in robotics.
  4. VR suits/gloves.
  5. Biometric displacement reading.
  6. Feedback sensor for air muscles.

Veeder TLS-350 Series Consoles In-Tank Inventory

Explanation of some key terms for VEEDER TLS in-Tank Inventory

Fuel Height Fuel Height is the depth of all liquid in the tank in inches or millimeters.

Water Volume Water Volume is the amount of water in the tank in gallons or liters.  Note: If you are using high alcohol probes, Water Volume will not appear in the display or printed reports.

Water Height Water Height is the depth of the water in the tank.  Note: If you are using high alcohol probes that cannot detect water, Water Height will not appear on the display or the printed reports.

Fuel Temperature The console displays the fuel temperature in the tank in Fahrenheit (F) pr Centigrade (C) temperature, depending on how your system  as set up.

Ullage Ullage is the amount of room left in the tank. Normally, a tank is not totally full to leave room for the product to expand.

Temperature Compensated Volume The product in the tank expands and contracts with temperature. The colder the temperature, the more the product will contract. The higher the temperature, the more the product will expand. Temperature Compensated Volume is at 60 degrees Fahrenheit, unless your system was programmed to use another temperature value.Note: If Temperature Compensated Volume was set to “Disable” using the System Setup function, you will not be able to print the Temperature Compensated Volume on the report.


Note Regarding CAS BACnet Explorer and Virtual Machines

When using CAS BACnet explorer with virtual machines such as VMware or VirtualBox you must ensure that the host machine is not also running CAS BACnet explorer or any other program that uses port 47808. Multiple applications can’t access the same port even if one of them is running inside a virtual machine. Under normal circumstances Windows© will prevent an application from opening an in-use port.  Virtual machines often let applications bypass this protection which will cause them to crash.  VTS, OrcaView, CAS Netburner Windows, or any other BACnet software will use port 47808.

CAS Modbus Scanner

CAS Modbus Scanner
CAS Modbus Scanner is a utility to retrieve coils, inputs, holding registers, and input registers from a Modbus enabled device. Values retrieved from the device can be viewed in many different formats including Binary, HEX, Uint16, Int16, Uint32, Int32, and Float32. This utility can also discover Modbus devices on your network if you do not know their address. It works by testing every address, function, length, offset to check for exceptions or responses.


  • Can read; coil status (0xxxx), input status(2xxxx), input registers (3xxxx), and holding registers (4xxxx)
  • Data is viewable in Binary, HEX, Uint16, Int16,Uint32, Int32, and Float32
  • Discover devices on your network.
  • Multiple connections
  • Works with RS232, RS485 and TCP
  • Easy to use interface
  • 100% Free to use, no registration required.



  • Windows: Win 7 (32bit or 64 bit), Vista, XP
  • 10 MB of free hard drive space
  • One free serial port





Please Read the copyright and disclaimer before downloading this tool.


Data Sheet

Modbus for Field Technicians (Free!)

Learning about Modbus? Want to update your Modbus knowledge? This free EBook will guide you through basic and advanced Modbus topics.You can purchase a hardcopy of this book from Amazon or you can download the Modbus for Field Technicians for free.

S4 Open Templates: Changing boolean state names.

In this example there are two devices shown in the left panel of S4 Open Management Console.   These devices were discovered using the S4 Configure Wizard.


The Single Duct (VAV) at 06 matches a device template loaded into the S4 library. Its inputs and outputs have already been named and arranged according to this template.


The Unitary Controller at 07 does not match any of the templates loaded into the S4 library. The s4 has generated a new template for this device. Automatically generated templates list all available points and their read/write properties but lack human-readable information like the device names and I/O state names.


Right Click on the S4 Open BACnet-N2 Router and select properties, then select the Device Types Tab. This displays a list of device templates loaded into the S4 BACnet-N2 Router. Templates can be added with the import button and saved to your harddrive as a .csv file with the export button. The S4 Group provided a large library of templates for BACnet-IP devices. They can be found on the S4 Install and Support CD.

Note: It might sound like a good idea to load every template on the support CD into the S4 router but this can cause problems. Choose the templates for devices on your network instead of the entire collection.



Next export the Single Duct (VAV) template. It will be saved as a csv (comma separated value) file. These files are easiest to edit with spreadsheet programs like Microsoft Excel or OpenOffice Calc. Any of the properties in the file can be edited. The physical properties of a datapoint such as source and writable status should not be changed because they must match the physical device properties. The DeviceType field “N2://72.3″ is what the S4 configuration router uses to automatically match a template to a device .


Two new columns need to be created to specify the text strings used for the ON/OFF states of booleans: “OnText”, “OffText”. If a field in one of these columns is left blank the default text strings are used. This is very useful when dealing with valves where “on” can mean either open or closed depending on the device.


Save the template and import it back into the S4-Bacnet-N2 Router using the S4-Open Management Console. You can not have two templates with the same DeviceType so you will be asked to replace the existing Single Duct VAV (N2://72.3). Two device templates with the same name can exist in the S4-Bacnet-N2 Router. The unique identifier information is the defice type string. There could be two different Single Duct VAV controller templates if one is given a different DeviceType. This may require you to manually apply some templates since the configuration wizard is based on the DeviceType string.


Replacing a template does not automatically effect devices which were previously configured with the old template. The change will occur if the configuration wizard is used again or the device changes templates then back again. Right click on the device then from properties click on the Type text string. From the Applied Device Type field use the dropdown to pick a different template, then select Single Duct (VAV) again. This will apply changes in the template to the device.



CAS-2700 Veeder Gateways Typical BACnet Points List

DO NOT USE THIS DATA – IT IS SUBJECT TO CHANGE AND IS PROVIDED FOR REFERENCE ONLY. The points listed and the BACnet addresses allocated are typical. We strongly advise you not to hand this to the contractor implementing the BACnet Client. They should use the actual map provided for your project

BACnet Objects

The following is a list of possible BACnet Objects.  Note:  This list only contains what is configured with the default configuration (four tanks and system alarms).

BACnet IP Object Description
analog_input (1) Tank_1_tank_product_code
analog_input (2) Tank_1_tank_tank_status
analog_input (3) Tank_1_tank_volume
analog_input (4) Tank_1_tank_tc_volume
analog_input (5) Tank_1_tank_ullage
analog_input (6) Tank_1_tank_height
analog_input (7) Tank_1_tank_water
analog_input (8) Tank_1_tank_temperature
analog_input (9) Tank_1_tank_water_volume
analog_input (101) Tank_2_tank_product_code
analog_input (102) Tank_2_tank_tank_status
analog_input (103) Tank_2_tank_volume
analog_input (104) Tank_2_tank_tc_volume
analog_input (105) Tank_2_tank_ullage
analog_input (106) Tank_2_tank_height
analog_input (107) Tank_2_tank_water
analog_input (108) Tank_2_tank_temperature
analog_input (109) Tank_2_tank_water_volume
analog_input (201) Tank_3_tank_product_code
analog_input (202) Tank_3_tank_tank_status
analog_input (203) Tank_3_tank_volume
analog_input (204) Tank_3_tank_tc_volume
analog_input (205) Tank_3_tank_ullage
analog_input (206) Tank_3_tank_height
analog_input (207) Tank_3_tank_water
analog_input (208) Tank_3_tank_temperature
analog_input (209) Tank_3_tank_water_volume
analog_input (301) Tank_4_tank_product_code
analog_input (302) Tank_4_tank_tank_status
analog_input (303) Tank_4_tank_volume
analog_input (304) Tank_4_tank_tc_volume
analog_input (305) Tank_4_tank_ullage
analog_input (306) Tank_4_tank_height
analog_input (307) Tank_4_tank_water
analog_input (308) Tank_4_tank_temperature
analog_input (309) Tank_4_tank_water_volume
analog_input (2001) System_Status_system_common_alarm
analog_input (2002) System_Status_printer_out_of_paper
analog_input (2003) System_Status_printer_error
analog_input (2004) System_Status_eeprom_configuration_error
analog_input (2005) System_Status_battery_off
analog_input (2006) System_Status_too_many_tanks
analog_input (2007) System_Status_system_security_warning
analog_input (2008) System_Status_rom_revision_warning
analog_input (2009) System_Status_remote_display_communications_error
analog_input (2010) System_Status_autodial_error
analog_input (2011) System_Status_software_module_warning
analog_input (2012) System_Status_tank_test_shutdown_warning
analog_input (2013) System_Status_protective_cover_alarm
analog_input (2014) System_Status_bir_shift_close_pending
analog_input (2015) System_Status_bir_daily_close_pending
analog_input (2016) System_Status_pch8_revision_warning
analog_input (2017) System_Status_system_self_test_error
analog_input (2018) System_Status_system_clock_incorrect_warning
analog_input (2019) System_Status_system_device_poll_timeout
analog_input (2020) System_Status_maintenance_tracker_nvmem_removed
analog_input (2021) System_Status_maintenance_tracker_communication_module_removed
analog_input (2022) System_Status_database_error
analog_input (2023) System_Status_file_system_error
analog_input (2024) System_Status_system_unknown_alarm
analog_input (10) Tank_1_tank_common_alarm
analog_input (11) Tank_1_tank_setup_data_warning
analog_input (12) Tank_1_tank_leak_alarm
analog_input (13) Tank_1_tank_high_water_alarm
analog_input (14) Tank_1_tank_overfill_alarm
analog_input (15) Tank_1_tank_low_product_alarm
analog_input (16) Tank_1_tank_sudden_loss_alarm
analog_input (17) Tank_1_tank_high_product_alarm
analog_input (18) Tank_1_tank_invalid_fuel_level_alarm
analog_input (19) Tank_1_tank_probe_out_alarm
analog_input (20) Tank_1_tank_high_water_warning
analog_input (21) Tank_1_tank_delivery_needed_warning
analog_input (22) Tank_1_tank_maximum_product_alarm
analog_input (23) Tank_1_tank_gross_leak_test_fail_alarm
analog_input (24) Tank_1_tank_periodic_leak_test_fail_alarm
analog_input (25) Tank_1_tank_annual_leak_test_fail_alarm
analog_input (26) Tank_1_tank_periodic_test_needed_warning
analog_input (27) Tank_1_tank_annual_test_needed_warning
analog_input (28) Tank_1_tank_periodic_test_needed_alarm
analog_input (29) Tank_1_tank_annual_test_needed_alarm
analog_input (30) Tank_1_tank_leak_test_active
analog_input (31) Tank_1_tank_no_csld_idle_time_warning
analog_input (32) Tank_1_tank_siphon_break_active_warning
analog_input (33) Tank_1_tank_csld_rate_increase_warning
analog_input (34) Tank_1_tank_accuchart_calibration_warning
analog_input (35) Tank_1_tank_hrm_reconciliation_warning
analog_input (36) Tank_1_tank_hrm_reconciliation_alarm
analog_input (37) Tank_1_tank_cold_temperature_warning
analog_input (38) Tank_1_tank_missing_delivery_ticket_warning
analog_input (39) Tank_1_tank/line_gross_leak_alarm
analog_input (40) Tank_1_delivery_density_warning
analog_input (41) Tank_1_tank_unknown_alarm
analog_input (110) Tank_2_tank_common_alarm
analog_input (111) Tank_2_tank_setup_data_warning
analog_input (112) Tank_2_tank_leak_alarm
analog_input (113) Tank_2_tank_high_water_alarm
analog_input (114) Tank_2_tank_overfill_alarm
analog_input (115) Tank_2_tank_low_product_alarm
analog_input (116) Tank_2_tank_sudden_loss_alarm
analog_input (117) Tank_2_tank_high_product_alarm
analog_input (118) Tank_2_tank_invalid_fuel_level_alarm
analog_input (119) Tank_2_tank_probe_out_alarm
analog_input (120) Tank_2_tank_high_water_warning
analog_input (121) Tank_2_tank_delivery_needed_warning
analog_input (122) Tank_2_tank_maximum_product_alarm
analog_input (123) Tank_2_tank_gross_leak_test_fail_alarm
analog_input (124) Tank_2_tank_periodic_leak_test_fail_alarm
analog_input (125) Tank_2_tank_annual_leak_test_fail_alarm
analog_input (126) Tank_2_tank_periodic_test_needed_warning
analog_input (127) Tank_2_tank_annual_test_needed_warning
analog_input (128) Tank_2_tank_periodic_test_needed_alarm
analog_input (129) Tank_2_tank_annual_test_needed_alarm
analog_input (130) Tank_2_tank_leak_test_active
analog_input (131) Tank_2_tank_no_csld_idle_time_warning
analog_input (132) Tank_2_tank_siphon_break_active_warning
analog_input (133) Tank_2_tank_csld_rate_increase_warning
analog_input (134) Tank_2_tank_accuchart_calibration_warning
analog_input (135) Tank_2_tank_hrm_reconciliation_warning
analog_input (136) Tank_2_tank_hrm_reconciliation_alarm
analog_input (137) Tank_2_tank_cold_temperature_warning
analog_input (138) Tank_2_tank_missing_delivery_ticket_warning
analog_input (139) Tank_2_tank/line_gross_leak_alarm
analog_input (140) Tank_2_delivery_density_warning
analog_input (141) Tank_2_tank_unknown_alarm
analog_input (210) Tank_3_tank_common_alarm
analog_input (211) Tank_3_tank_setup_data_warning
analog_input (212) Tank_3_tank_leak_alarm
analog_input (213) Tank_3_tank_high_water_alarm
analog_input (214) Tank_3_tank_overfill_alarm
analog_input (215) Tank_3_tank_low_product_alarm
analog_input (216) Tank_3_tank_sudden_loss_alarm
analog_input (217) Tank_3_tank_high_product_alarm
analog_input (218) Tank_3_tank_invalid_fuel_level_alarm
analog_input (219) Tank_3_tank_probe_out_alarm
analog_input (220) Tank_3_tank_high_water_warning
analog_input (221) Tank_3_tank_delivery_needed_warning
analog_input (222) Tank_3_tank_maximum_product_alarm
analog_input (223) Tank_3_tank_gross_leak_test_fail_alarm
analog_input (224) Tank_3_tank_periodic_leak_test_fail_alarm
analog_input (225) Tank_3_tank_annual_leak_test_fail_alarm
analog_input (226) Tank_3_tank_periodic_test_needed_warning
analog_input (227) Tank_3_tank_annual_test_needed_warning
analog_input (228) Tank_3_tank_periodic_test_needed_alarm
analog_input (229) Tank_3_tank_annual_test_needed_alarm
analog_input (230) Tank_3_tank_leak_test_active
analog_input (231) Tank_3_tank_no_csld_idle_time_warning
analog_input (232) Tank_3_tank_siphon_break_active_warning
analog_input (233) Tank_3_tank_csld_rate_increase_warning
analog_input (234) Tank_3_tank_accuchart_calibration_warning
analog_input (235) Tank_3_tank_hrm_reconciliation_warning
analog_input (236) Tank_3_tank_hrm_reconciliation_alarm
analog_input (237) Tank_3_tank_cold_temperature_warning
analog_input (238) Tank_3_tank_missing_delivery_ticket_warning
analog_input (239) Tank_3_tank/line_gross_leak_alarm
analog_input (240) Tank_3_delivery_density_warning
analog_input (241) Tank_3_tank_unknown_alarm
analog_input (310) Tank_4_tank_common_alarm
analog_input (311) Tank_4_tank_setup_data_warning
analog_input (312) Tank_4_tank_leak_alarm
analog_input (313) Tank_4_tank_high_water_alarm
analog_input (314) Tank_4_tank_overfill_alarm
analog_input (315) Tank_4_tank_low_product_alarm
analog_input (316) Tank_4_tank_sudden_loss_alarm
analog_input (317) Tank_4_tank_high_product_alarm
analog_input (318) Tank_4_tank_invalid_fuel_level_alarm
analog_input (319) Tank_4_tank_probe_out_alarm
analog_input (320) Tank_4_tank_high_water_warning
analog_input (321) Tank_4_tank_delivery_needed_warning
analog_input (322) Tank_4_tank_maximum_product_alarm
analog_input (323) Tank_4_tank_gross_leak_test_fail_alarm
analog_input (324) Tank_4_tank_periodic_leak_test_fail_alarm
analog_input (325) Tank_4_tank_annual_leak_test_fail_alarm
analog_input (326) Tank_4_tank_periodic_test_needed_warning
analog_input (327) Tank_4_tank_annual_test_needed_warning
analog_input (328) Tank_4_tank_periodic_test_needed_alarm
analog_input (329) Tank_4_tank_annual_test_needed_alarm
analog_input (330) Tank_4_tank_leak_test_active
analog_input (331) Tank_4_tank_no_csld_idle_time_warning
analog_input (332) Tank_4_tank_siphon_break_active_warning
analog_input (333) Tank_4_tank_csld_rate_increase_warning
analog_input (334) Tank_4_tank_accuchart_calibration_warning
analog_input (335) Tank_4_tank_hrm_reconciliation_warning
analog_input (336) Tank_4_tank_hrm_reconciliation_alarm
analog_input (337) Tank_4_tank_cold_temperature_warning
analog_input (338) Tank_4_tank_missing_delivery_ticket_warning
analog_input (339) Tank_4_tank/line_gross_leak_alarm
analog_input (340) Tank_4_delivery_density_warning
analog_input (341) Tank_4_tank_unknown_alarm

Interpreting BACnet Data

If the gateway loses communications with the Veeder Root device or if a data point cannot be read from the controller, the ‘Out of Service’ property of the data object is set true once the timeout has expired.  The value of the ‘Present Value’ property is not changed, thus the last good value will be shown.