Rarely will a BMS Engineer strictly stick to a single discipline within the trade, but when you wear the hat of the software engineer, you need to know what you are doing. 

The software engineer needs to be able to paint a perfect picture of the job using wire sheets / text / code or whatever else is necessary to get the job done. If it is not done right here it will lead to a long and painful commissioning process for somebody.

Core skills required

To be a successful Building Management System Software Engineer you must have the following skills. 

  • General computer literacy
  • Excellent understanding of the control system being used (Tridium, Priva, EasyIO etc)
  • Good understanding of plant control and building management system functions
  • Sound understanding of communication protocols being used
  • Ability to read and interpret control panel drawings along with standard documentation
  • Have an organised, methodical approach to writing software
  • Good researching and troubleshooting skills
  • Open approach to new plant and control theories

General Computer Literacy

Gone are the days where you can solely rely on your trusted hand tools. The modern BMS engineer needs to have the skills to navigate and operate a computer with ease.

Whether it is simply documenting the progress, checking off point checks or simulating control, it will be done via some form of computer. Whilst there are applications out there that can be applied using pre-built programs, they can only get you so far.

ProjectBMS Computer literacy

Understanding the Control System used

Unfortunately, the software programs that are used to control building management systems are not widely available and until you need to use it, there is a good chance that you have never heard of it.

For this reason, control manufacturers often prevent companies from purchasing their equipment until they have a number of engineers certified through their training programs.

BMS Controls Manufacturers

As with many things, the training is a starting point which will open your eyes to how much you still must learn. Most of the learning starts once you are let off the lead and have to start applying what you have learnt to your own projects. I suggest you commit to this as no matter how much experience you have, all systems have their own quirks which need learning.

This is something that only comes with time and experience using the product.

Understand Control Theory

A software engineer must have a basic understanding of what they are trying to achieve. 

The project documentation will help to some degree, but basic functions are not often explained in detail. 

For example:

“The boilers will be sequence controlled to match the demand on the system”

“The supply air set point will be calculated based off of the return air temperature reading and required return air set point”

If you have no idea about BMS control theory, the above statements probably mean nothing to you. If you have a basic understanding of HVAC plant then they may mean something to you, but would you know how to make that work with software?

This ties in a little with the previous point about understanding the control system used. Each manufacturer uses different methods to achieve the same thing. Understanding what needs to happen and what software objects to use is key.

Understanding Communication Protocols

There are standalone applications out there, and I believe that they will continue to be out there for a long period of time. But this can only take you so far and before long you will need to have some understanding of the different communication protocols available, mainly BACnet and Modbus.

Most IO on the market now communicates via an “open protocol” such as BACnet or Modbus. Manufacturers can provide kits that make this integration to your controller easier, but it isn’t always the case so the software engineer will have to do some of the legwork and have a good understanding of the protocol.

On top of simple connection to the IO being used, there are connections to ventilation plant, CHP’s, Inverter drives, Chillers, pumps, the list goes on. These days it is more common to install communication links between all the plant so that less installation is required but more information is available.

ProjectBMS Communication Protocols

The modern day BMS Software Engineer must have a general understanding of different communication protocols to succeed.

Read and understand Panel Drawings and Key Documentation

This goes without saying. If the engineer responsible for writing the software cannot read the drawings, points schedules, or understand the description of operation, then how will they get it right?

In some cases, a very well written description of operation may negate the requirement for understanding the panel drawings. Also, on the odd occasion the software may need to be complete before the panel drawings are finalised. But in most cases, the engineer should be cross referencing all documentation to make sure that the software matches the design. The safety interlocks should work as wired and described, the outputs should be assigned to the correct slots, the networks should be assigned to the correct ports etc. This also works as a good checking tool to make sure that there are no errors with the design.

There are some examples where the software engineer may be able to work without the documentation, but it would be bad practice and could lead to wasted time both on and off site in the future.

Organised, Methodical Approach

This may come down to individual differences. At the very least, the engineer writing the software should be able to immediately log back in and be able to follow their own work. If they can’t, what chance does anyone else have?

Sometimes companies may set a standard for the engineers to follow. A kind of check sheet to work through. This can improve efficiency for some as they know exactly where everything is and how much has been done. Other times it may be more efficient for the individual software engineers to work in the way that suits them most. This is fine if the software is organised and labelled correctly so that people can follow up with ease.

Modern software packages allow you to add notes to the system. This can prove to be very helpful when the commissioning engineer picks it up, or anyone else for that matter.

Researching & Troubleshooting Skills

A Building Management System can consist of many different items of plant and peripheral products. Some of these parts will be provided by the company you are working for, some wont.

Access to the information required could be difficult in some cases, especially if you are upgrading systems with existing, obsolete plant. 

Time needs to be set aside to research the plant and peripherals being used. Not so much an issue if you are using standard 10k sensors for everything, but what if an existing weird and wonderful sensor is to be re-used that you have never seen before? What if schneider bring out a brand-new meter with new Modbus registers? 

The internet is your friend in this situation, but not always the complete answer. This type of information can be difficult to come by if it even exists at all. Sometimes it is quicker to pick up the phone and call the supplier direct!

BMS Engineers Trouble shooting

Open approach to New Plant and Control Theories

“Progress is impossible without change, and those who cannot change their minds cannot change anything” – George Bernard Shaw

It is fair to say that the BMS world is a little bit stuck in its ways. But things are changing, and new ideas are coming through. People are starting to care about the amount of energy they use and how much it is costing them. Even better, developers are starting to care about how much energy their buildings will use and how they can reduce it.

This allows for a new way of thinking. More value to be gained from having a quality Building Management System. Targets are set and optics are measured. People are being held accountable for the performance of buildings!

The modern day BMS Software Engineer must embrace change and learn new technologies to stay relevant in this industry, more now than probably ever before.

Additional Information

For more information about physical IO points within a Building Management System check out this post!

For Building Management Systems Modbus basics check out this post!

Interested in becoming a BMS Engineer?

Check out the following link to the BCIA website for more information.

https://bcia.co.uk/training/