Client Portal

FAQ – Advanced CBAS Programming

If you cannot find the answer to your question within this FAQ, feel free to contact us via technical support, or give us a call at 504-529-1413.

Advanced CBAS Programming

How do I set up Meters in CBAS?

First, the metering hardware should be revenue grade to ensure accuracy.

Many meters give you the ability to adjust the pulse rate and multiplier. It is more desirable to have a high pulse rate and low multiplier, because in that case, if a pulse is missed or not counted, there is a lesser impact on the total Kilowatts.
Hawkeye Meters

The most preferable meters to use with a Computrols CBAS system are the Hawkeye 8035 and 8036 models, made by Veris. These meters communicate by Modbus protocol and all programming is included with the CBAS 2003 software. To use these meters, you first create a Modbus RTU channel on the Host or Secondary channel of an 8X, 16X, 32X, or 64X. These meters can send a variety of information to CBAS, including KWH Consumption, KWH Demand, Voltage, Average Current, and many others.
To do this, in Hardware View:

  • Locate the controller that will be acting as the Modbus host.
  • Click on the controller and click Channels.
  • Click on “Add a Channel” next to RS485 Host or RS485 Secondary.
  • Give the channel a descriptive name and choose Modbus RTU over TCP/IP for the configuration.
  • Click Add Channel Now.

To add the controllers to the channel:

  • Right-click twice and locate the Modbus channel you just created.
  • Click on the channel, click Controllers, and locate the line that has the address that you want to give the Hawkeye meter.
  • Click Add a Modbus Controller on that line and give the controller a descriptive name.
  • Choose the Hawkeye controller from the list under “Select Configuration”.
  • Click Add Controller Now and you are finished.

To add points to the Hawkeye:

  • Click on the controller and click Points. You will see a long list of points that say Add A Point to the right.
  • Add the points you want to use by clicking on Add a Point and giving each point a descriptive name. If you have more than one Hawkeye meter, you will want to include the name of the controller in the point’s name.

Pulse Meters

Other meters send out a simple electrical pulse only. Each model has a corresponding multiplier that must be used to get the KW value of each pulse. This is done in CBAS using a Meter point that looks at a Counter point. The Counter point increments the number of pulses as they are received from the meter. A second meter point can be setup to calculate the amount of KW over a period of time
To setup a pulse meter in CBAS:

  • Go to Hardware View and click on the controller that will host the Pulse Counter point.
  • Click Points and find the point you want to use for the counter.
  • Click Add a Point and give the Point a descriptive name that includes Counter.
  • Choose Counter Point under Select Configuration.
  • Click Add Point Now and you will see your point listed.
  • Scroll to the bottom of the points list and click on Add a Software Point
  • Give the point a descriptive name that includes Meter.
  • Under Select Configuration, choose Meter.
  • Click Add Point Now and you will see your point listed.
  • Click Add a Software Point again.
  • Under Select Configuration, choose Meter Total.
  • Click Add Point Now. Now you must configure the points.

The only thing that might need to be configured on the Counter Point is Resolution. This determines how many pulses are counted before the status changes in CBAS. The default is 10, which means that the status will only change every 10 pulses counted.

The Meter point can be configured two ways. One displays changes over a unit of time multiplied by the multiplier to get KW/ time period. The second displays a running total of counts, resetting after a period of time. The Meter Editor screen is shown below.

The Meter Type section is self-explanatory. If you select to create a Running Total Meter Point, the multiplier field will not be present. However, you would not want to make this type of point unless you need a running total for some reason. The default Change of Input will work in conjunction with the third meter point created, the Meter Total.

In Metering Parameters, click on Unknown Meter Point and select the Counter point from the list. Enter the multiplier in the field next to “Multiply by”. Adjust the Evaluation Period, which is 5 minutes by default. The KWH status of this point will be 00 until the first evaluation period has passed.

The Meter Total point is used for reporting purposes. If configured properly, this point will count up to 999,999 and roll over to 0. These numbers a stored for use in the Meter Report.

To configure a Meter Total point, click on the one you created and click Configure Meter to get to the following screen.

Select “Meter point displays running total of input without resetting” for the Meter Type. Click on Unknown Counter Point, and select the meter point you just finished configuring. Leave the “Reset At” value at 999,999.
Meter Report

To print a report of total KWH usage over a period of time, go to the Reports menu on the Main Menu. Choose a starting date and time. Press escape and choose an ending date and time. Press escape and CBAS will scan for meter data during that time period and will show the report on the screen. Click on Print and the report will be printed.

How does peer-to-peer work?

Peer-To-Peer (PTP) is the process of sharing point statuses directly to other controllers on a network without having to pass data through the head end PC. PTP Setup is accessed in Editor Mode only. In Real Mode, Peer to Peer testing is available.

Note: Only inputs (software or hardware) can be shared. Once designated as shared, the point will “broadcast” its status to other controllers as specified in the PTP setup screen. If a point used in a logic statement is shared, then that logic statement will be stored in the controller instead of the head end PC.

In what situations would you want to use Peer-to-Peer?

  • Stand-alone systems: a few controllers without an Automation Server.
  • Communication to the Automation Server is down. You can’t really determine when this going to happen, but if you set it up in advance, you have added redundancy to the system.


  • Peer-to-Peer will work with the following controllers:
    • o8X
    • o16X
    • o32X
    • o64X
    • oVAV Controllers
    • oLC-ER32
  • Only available on versions of CBAS from 1.5.21 forward (Feb 2003)
  • Point types that can be PEER points:
    • Binary Hardware or Software
    • oAnalog Hardware or Software
  • Point types that cannot be PEER points:
    • Multi-state
    • Meter
    • Panel
    • Channel
    • Fire
  • Peer-to-Peer will not work across a Router on TCP/IP networks
    • Must be able to send/receive “broadcast” packets
  • When writing Logic involving a PEER point, do not use the “is in alarm” phrase referring to that point. The packet sent by PEER points does not contain that information.
  • Command-able points can be shared as PEER points, but the PEER version of Points are not command-able. (A PEER version of the original point resides on the controller(s) that it is shared with)

Programming PEER points is easy. First, go to System, and then Peer-to-Peer Setup and you will see the editor.

How does peer-to-peer work?

  • Click the “Add Point to Shared List” button and choose the points you want to share from the list that appears.
  • Once shared, highlight a point and you will see a list of controllers it is shared with in the list on the right.
  • Click the “Add Controller to Destination List” button to choose controllers that will receive status updates from the shared point.
  • Highlight a point in the shared list and use the buttons in the middle of the editor to change the minimum and maximum amount of time that statuses are sent.
  • Click the “Generate Report” button to see a report that shows each point and the controllers it is shared with. With one page per shared point, the report can be quite lengthy.
  • All CBAS reports can either be printed, or saved in one of many different formats. Click on How does peer-to-peer work? to save the report. Go to Hardware View. In each controller that a point is shared with, you will see that point listed with the word “PEER” after it’s name. This point will never show the correct status that is shown on the original point. However, the correct status will be displayed on a Handheld Terminal.

Routing is also shown on the PEER Editor screen and is configured automatically depending on whether the host controller has RS-485 channels programmed. Controllers with no RS-485 channels are assigned “No Routing”, meaning that the status is broadcast only by that controller. Controllers with RS-485 channels are assigned “Routing 1”, which means that status is broadcast on all channels. When another controller receives the status, it re-broadcasts on all channels except the one it was received on.

When writing a logic statement involving a PEER point, you will not see the local “PEER” point listed as a selectable point. You have to go to the “All Points” list and select the original point. CBAS knows that it is a PEER point and will take care of the rest for you.
Some good examples of points that might be shared between controllers include:

  • Outside Air Temperature
  • Outside Air Humidity
  • Summer/Winter Mode
  • Building Master Schedule
  • AHU Master Schedule

Peer Testing: Previously, Peer-to-Peer could be edited in Editor Mode only. There is now a menu option for Peer Testing in Real Mode only. In this feature, you select a controller and click START. That controller sends out a blank Peer Broadcast message. All Peer panels receiving this message will in turn respond with a broadcast message. All of the panels that respond will be listed. This will tell you if a controller can talk to another controller via a broadcast message. (Note: Broadcast packets will not be forwarded through a Router, only a Switch) Firmware version 10.1 or later is required for this feature.

When configured properly, Peer-to-Peer can add sophistication and/or redundancy to a sequence of operation. It can turn a small group of stand-alone controllers (without server) into a real interactive system, similar to one with a server. Or it can add some redundancy in the case when a server is off-line.

What is Secondary DPU?

There is a new Secondary DPU (SDPU) program included with CBAS, which also has a sync program for keeping files up to date (ex. Graphics, backups, or access control pictures). The SDPU is now a Dialog based program that is separate from CBAS and can start CBAS if it has stopped on the DPU (server). Point statuses are updated every minute that SDPU is connected, so there is a very slim chance that something commanded ON will be OFF when SDPU takes over. The program runs as a Tray Application, so it will go directly to the Windows Systray as soon as you start the program. Secondary DPU is not used as a Workstation (GW).

SDPU only works with CBAS version 14 compiled on April 23, 2014 or later.

What do Fire Systems do?

Fire safety is a major concern in any school, or office building. In the event of a fire, time is a huge factor in saving lives. The most important tool in warning people of the emergency at hand is a fire alarm system.

One of the most common types of fire system designs utilizes a central computer to monitor various nodes or sensors throughout the building. A few common sensors in a fire system are Water pressure (for sprinkled buildings), Duct sensors in HVAC units, Smoke and Photo sensors. These nodes send information to and from the controller allowing it to monitor various conditions in the building. Sensors are usually grouped into zones, each with a unique address. This allows the central computer to identify which sensors are activated should an emergency arise. This information is displayed to the user via a graphical display panel located in the lobby or entrance to a building. Depending on what information is programmed into the system, other data can be viewed in this terminal such as the temperature in the area or room of the tripped sensor or what floor the alarm is coming from, etc.

If the fire system is mechanically integrated with ventilation systems (HVAC), through the use of duct detectors, relays and VAV controls it can shut down the air handlers and close ducts. By doing this, if a fire should breakout, the heat and smoke from the fire will not be spread through the building. This also helps to prevent fire growth by reducing the amount of oxygen fed into the burning areas.

If the building utilizes video security, video verification can also be added. Bringing up the video associated with any fire or burglar alarm would allow effective validation of the alarm to provide the highest level of response. Integrating voice evacuation into the solution would allow communication with the occupants in the facility so if, for example, a fire alarm sounds, detailed instructions are provided on how best to evacuate.

How do I scale my CBAS database?

Scaling a database

  • First, you have to make a utility mode shortcut.
  • Copy your editor mode shortcut and paste it so you have another shortcut to edit.
  • Right click the shortcut and go to Properties.
  • In the target path, change Mode=editor to mode=utility
  • Save the shortcut then double-click it and you are in Utility Mode.

Scaling the DPU

  • Go to System, then Scale Database and answer Yes to scale the DPU.
  • Look for any categories where the Unused column is a low number or zero.
  • For example, if you need more Schedules:
  • Double-click the Num Records column on the Schedules line and change it to equal more than the Used column.
  • Do the same for Schedule Cycles.
  • Hit Save and Close. It might take a while to finish the saving.
  • Then you can go back to real mode and do your testing.

Scaling a Controller

  • Answer NO to scale the DPU and YES to scale a controller.
  • Then browse to the controller by clicking the channel it is on first.
  • Follow the directions above for scaling a category.
  • With scaling a controller, you have to make sure not to add more than will fit on the controller.
  • Do not exceeed the available memory on the controller, which is shown below the scaling table.
  • If it is exceeded, the database will not fit on the controller and it will download over and over.
  • When finished scaling, click Save and Close. It will tell you to erase the SRAM chip.
  • This means you must erase the database on the controller and let it download the database.
  • To do that, In Editor Mode, Hardware View, find the controller and click it.
  • Click Erase Database, then click the controller again and click OFF Scan.
  • Wait ten seconds and Click ON Scan.
  • The database should download almost immediately.

When you are finished, you should hide or delete the Utility Mode shortcut.

Can I make a workstation (GW) shortcut that is site specific?

You can make site specific GW shortcuts using additions to the mode=gw string. Here are some examples of what you would write in the Target of a CBAS Shortcut:

C:\CBAS\CBAS14.exe mode=gw clientname=SECURITY remoteaddress=

C:\CBAS\CBAS14.exe mode=gw clientname=WORKSTATION remoteaddress=

“clientname” is the GW name you are connecting as.
“remoteaddress” is the IP address of the DPU you are connecting to.

There was also a problem with GWs not getting graphics. The first one connected would get it but the rest wouldn’t. That was fixed in CBAS 14 dated June 16B.

If you do not want to upgrade CBAS, you can get it to work without upgrading!

The problem was that when setting mode=gw from the command line the database path was not getting set correctly. So if you were to also add ‘path=C:\\CBAS\\GW’ that would also fix the problem.

So the line could look like this:

C:\CBAS\CBAS14.exe mode=gw clientname=SECURITY remoteaddress= path=C:\\CBAS\\SECURITY

This would set the working directory path to C:\CBAS\SECURITY, which is where the graphics are on the GW.

The other solution that would have fixed his graphics problems would have been to use full path names in the graphics. Instead of having graphics start with .\\gRAPHICS they would start with C:\\CBAS\\gRAPHICS. That way you only have 1 copy of the graphics on each GW, instead of a copy of graphics in every GW directory. If you have multiple DPUs you would name the graphics for each DPU differently:


…and so on.

What is CBAS Group Commander?

Group Commander is a feature that runs from the CBAS Software on the Server. It allows you to command a group of Binary Output points ON, OFF, or AUTO. There is also a Group Commander Status point that will tell you how many points have not been commanded to the desired state. The Group Commander point can be commanded by the operator (OPER), by Logic or by Schedule. Each Group Command is limited to 2000 points.

A Group Command can ONLY have Binary Output points as its members. The Group Status point MUST be an Analog Input Software point programmed in the DPU (not in a controller). Group status is the number of points NOT in the correct state. Points in the wrong state with a higher priority than the Group are NOT counted as being in the wrong state.

All Group Commanders combined should command no more than 10,000 points. Commands are issued every 15 seconds at the 1, 16, 31 and 46 second mark. Points not in the correct state will be commanded again every 15 seconds. The Group Status points are updated every 15 seconds at the 59, 14, 29 and 44 second mark. So, after commands are issued, the status has 13 seconds to change before it will be considered in the wrong state.

The states of the Group Command point are NONE, OFF and ON. When a group command is put in the NONE state, an AUTO will be sent out to all of its points ONLY ONCE. If multiple groups are commanding the same point ON and OFF, the ON will win and the point will stay ON ,assuming that the priority of the commands are the same. To add a Group Command point, you must add it using the Add A Point wizard. The point is added to the DPU, not in a controller. Follow these steps: From the Main Menu, Database, Add A Point. Name the point. Then Supervised, Then Software. The 7th item from bottom is Group Commander: select it. Pick the DPU for destination controller (Identified by the name of the database), click Finish.

To add a Group Status point, you must also use the Add A Point wizard. The point is also added to the DPU, not in a controller. Follow these steps:

  • Database, Add A Point, Name the point, Analog, Software, Analog Input (Calculation)
  • Pick the DPU for destination controller (Identified by the name of the database)
  • Click Finish

In the program screen, you will need to change the upper range from 120.0 to 2000. Then, remove the units of Degree Fahrenheit. On that screen of the Group Commander point, there is a button right next to Logic named ‘Program Group Command’. Click it and you can select the group members, the status point and the priority of the Group command. The ‘Enable’ and ‘Delete’ buttons under the Group Command Button work. In the Alarm screen of the Group Command point, you can check the box for “Change Point Color Only,” then select a color in the box to right. Then, when the point is on, the point will change to that color.

This feature only works on points that are in the DPU, not on a controller. It should be mentioned that the entire Group Commander Feature configuration is stored in either the General Purpose SMALL or General Purpose LARGE XDBase tables. Each General Purpose LARGE record table can hold 125 points. So, if you have a Group Commander with 2000 points, it will consume 16 General Purpose Large entries and 1 General Purpose Small entry. In an existing database, you might be required to scale the database to add more General Purpose Tables.

The Group Commander Feature was implemented on February 6, 2014. It runs from the CBAS Software on the Server.

I am getting some unusual yellow alarms (Troubles) in CBAS. What do they mean?

Internal CBAS Error (1)
Internal CBAS Error will be generated anytime CBAS tries to do something but can’t. Like put a command into the command queue. Or some value is out of its possible range. When this is generated there should also be a corresponding error log message. The ErrorLog message should read:

UserAlarm Ch=xx Sess=xx Code=xx

The Code number will be between 1000 and 2000. This code number will tell me exactly where the error came from. The Ch and Sess numbers will tell me in what channel and which controller the error was generated. If you just get one or two of these I would not worry about it. If you get these on a regular basis than something is wrong and we should figure out what.

UI Locked Up
UI Locked up will get reported if the User Interface does not respond for 10 seconds. This can be caused by excessively long Automatic Downloads, Database Backups, Automated Reports. If you just get one or two of these I would not worry about it. If you get these on a regular basis than something is wrong and we should figure out what.

Invalid Message on Channel
When there is too much traffic on the network the controllers start sending invalid messages back to the DPU. Best solution if you have a network that is too busy would be to put the CBAS system, controllers and dpu, on a separate network. Also a vlan might be a solution. You can also enable the CBAS Logger and look at the error logs from that time and determine which controller is sending the invalid messages. Check the wiring and maybe replace the controller. I have also see where a bad wire or wire that wasn’t plugged in all the way could send the same alarm.

Controller Lost Not Logged On
The ‘Not Logged On’ message is sent from a controller to the DPU to tell the DPU that it is not connected to the DPU. If the DPU thinks that the controller is connected than you will get that error. So it means that the DPU thought that a controller was connected but the controller did not have a connection to the DPU. You have to understand a little about sockets. If a socket connection is closed on one side of the connection incorrectly (abruptly) the other side does not know that the socket was closed for almost 1 minute. When a socket is shutdown correctly than both sides know that the socket is closed and both sides disconnect. So this condition would occur if the socket on the controller’s side was closed without going thru the closing procedure. So the DPU side still thinks it is holding a good socket connection, but in reality the other side of the socket is closed. A power outage on a controller could cause this. Or some other error condition in the controller.

Related is Panel Not UP, this is generated when there has not been any messages passed between the DPU and controller over the socket for 5 minutes. So the DPU has a good socket connection (it thinks) with a controller but there is no data flowing across it. So the DPU closes the socket and generates the ‘Panel Not UP’ error. Any time there is no messages passed between DPU and controller for 30 seconds the DPU will send a ‘Are You There?’ message to the controller. So if the controller does not respond for 5 minutes (10 AreYouTheres) then obviously it is not really there.

History Full Message
CBAS will display an alarm bar message when the history gets 50,60,70,80,85,90,91,92,93,94,95 Percent Full. After 95 percent full an alarm message will be displayed every minute. The alarm message will tell the user what percentage full the history is. If the user decided to do nothing about it than history saving will stop when it reaches 100 % full. I am not going to automatically restart the history file, like I had talked about. Alarm messages for 50,60 and 70 % full will be Normal conditions. 80 will display as a Trouble and everything else will display as an Alarm.

Queue Full
CBAS has buffers (queues) where all the incoming messages go while they are waiting to be processed. If the messages come in faster than CBAS can process them then the queue will get full and you will get that error message. While the queue is full all new incoming messages are lost. This error can be caused by the PC doing something very processor intensive outside of CBAS, when the computer is doing Windows Updates or virus scans/updates.

DPU LOST is a trouble you will see only on a GW. It means the connection between the GW and DPU was broken. It will reconnect after 1 minute as long as the DPU is in Real Mode by that time.

Controller Not Keyed
If CBAS starts talking to a controller and it has no key, CBAS will set its key and you get that error. The controller will then come online. If the controller has the wrong key, CBAS does NOT rekey it. It will just stay offline. You have to manually rekey the controller using DDCC_Sterile program and the DPUs dongle. If you are unsure what controller it is, look for a lost X-line controller in the Controller Channel (TCP/IP).