0:04
Good morning everyone, thanks for joining us on this webinar for testing BACnet IP and MSTP.
0:10
It’s roughly about 17 minutes to presentation and we can get to any questions at the end.
0:17
Hello and welcome to today’s webinar.
0:20
Today we will look at how to test BACnet IP and MSTP prior to on-site installation. Let’s look at our agenda for today.
0:30
We will start with a quick review of BACnet.
0:33
We will then discuss what you need for testing for both BACnet IP and BACnet MSTP. There will be demonstrations throughout and we will finish with a Q &A session.
0:44
BACnet stands for Building Automation and Control Network.
0:48
BACnet allows for building management systems to interface with a wide variety of equipment from multiple manufacturers and has become the standard for many building automation networks worldwide.
1:00
There are two primary BACnet network types.
1:03
These are BACnet IP, which is Ethernet based, and BACnet MSTP, which is RS485 based.
1:11
These network types can coexist in the same facility or campus with the use of BACnet routers, which will take a BACnet MSTP network and make its devices available over the BACnet IP portion of the Ethernet network.
1:25
There are also devices available that sit on BACnet IP directly.
1:30
There are a few key terms to know when dealing with BACnet.
1:33
First, we have the device ID.
1:36
This is a 22-bit identifier and can be up to about 4 million in value.
1:41
The device ID must be unique across an entire facility or campus.
1:46
The MSTP MAC ID is different to this as it only has to be unique across a local MSTP network.
1:53
MSTP stands for Master-Slave Token Passing.
1:56
so devices that can handle the token, which are the masters, need to be addressed between 0 and 127.
2:05
Next, we will look at what you need in your facility to test your machine over BACnet so that everything can run smoothly when you install it at the customer side.
2:14
BACnet is a client-server network and will usually have OEMs and system integrators providing equipment that will act as a BACnet server, which means you will need BACnet client software to do the testing.
2:27
If you want to provide both BACnet IP capability and BACnet MSTP capability, then you will need to have a physical connection to your controller as well.
2:36
If you want to test BACnet IP, then you will need to connect over Ethernet.
2:41
If you are going to utilize BACnet MSTP or allow your customer to utilize BACnet MSTP, then you need to connect your BACnet client software to your equipment over RS485.
2:54
To do this, you may need a USB to RS485 adapter on the same computer that’s running the BACnet client software.
3:02
There are many commercial software and test equipment for BACnet available on the BACnet.org website.
3:09
However, for our demonstrations today, we will be using Yabe, which is an open source and freely downloadable option.
3:16
Yabe stands for yet another BACnet explorer and supports both BACnet IP and BACnet MSTP.
3:23
So if these are the networks you want to support, then Yabe is an ideal tool for some basic testing.
3:29
There are a few things we want to look out for while performing our testing.
3:33
We need to make sure we are successfully exchanging data between our machine and the BACnet client software.
3:39
Once again, we will be using Yahweh for this, however there are many commercial options available that can be used instead.
3:46
When we configure our OCS controller to support BACnet IP or BACnet MSTP, we can assign status registers and status variables, so that we can see from the controller side if everything is working as planned.
3:59
So we will look at those during our testing to make sure we get reasonable values and that they indicate that everything is running smoothly.
4:06
Then from a personal standpoint, you want to make sure that as the application or automation engineer, you are comfortable and ready to install the equipment, and that you are confident that the BACnet connection will work the way you want it to.
4:20
Let’s look at our BACnet status variables and registers in more detail.
4:24
For our BACnet IP status, we have assigned 4 double integers.
4:29
We want to focus on the good frame count, which we have highlighted here.
4:33
Ideally, we will want this value incrementing on a regular basis, and we also want our no frame counts and bad frame counts to be hovering near zero.
4:43
There is more involved with the communication interface for MSTP, so there’s a bit more data available to us.
4:50
Once again, our main focus is for our good frame count to be incrementing.
4:54
Because MSTP is a token passing scheme, and the OCS for instance may be attempting to pass the token to a device that doesn’t exist, it is common for the no frame counts to be incrementing regularly along with the good frame counts.
5:09
First, we will look at how to test our BACnet IP configuration using our Yahweh tool.
5:14
To review our BACnet IP configuration in Cscape, we will first look at our hardware configuration where we have configured our X4 controller.
5:24
BACnet IP is Ethernet based, so we do our configuration in the Ethernet option, and we have to make sure we have a basic IP address and netmask configured here.
5:35
Then under downloadable protocols we have selected BACnet IP server.
5:40
We will first look at our configuration on the network level.
5:44
We have not changed much here, but we have assigned a disable bit which we can use to effectively reset the BACnet protocol on the OCS controller if needed.
5:53
We have also assigned our four status double words by assigning this variable as BACnetIP status, so we will have four 32-bit words we will review once we do our testing.
6:05
Next, we will look at our device level configuration.
6:08
We have named our device BACnetIP.
6:11
This device ID is the 22-bit maximum ID, which has to be unique on the overall BACnet networks at a particular facility or campus.
6:20
So, we have chosen a BACnet ID of 57.
6:24
We have not chosen to disable the device, nor select the device level status for BACnet IP.
6:31
Finally, we will look at the scan list configuration.
6:35
Here we have configured four real values assigned to this array variable.
6:39
These are considered analog values from a BACnet perspective.
6:43
We have also assigned four digital values through this array variable.
6:47
So, this is our configuration for our test system for BACnet IP.
6:53
Now we will look at our bench setup for this demonstration.
6:56
On our OCS screen, we have four analog values, as well as two of our four digital values to test our BACnet IP configuration.
7:05
Now we will look at Yahweh, which is the tool we will be using to test our configuration.
7:11
First, we will right-click Devices from the Device area and select Add Device.
7:16
This is where you can add either BACnet IP, BACnet MSTP or BACnet point-to-point configuration.
7:24
For this demonstration, we will test BACnet IP.
7:28
In general, we will leave this port option as BAC0, as we don’t have multiple BACnet IP networks.
7:35
The local endpoint is the IP address of the computer running Yahweh, not the OCS.
7:41
So we will select Add here and our OCS is found under added devices.
7:47
Yabe has also found our four analog and our four binary variables we assigned earlier.
7:53
When we double click the first analog variable, we can see the name it gives that particular analog variable is the register that it has been mapped to, which is%R101.
8:05
These variables are listed in consecutive order, and because they are floating point, each value will take up two registers. The binary values are then mapped to M’s, starting at%M97.
8:18
If we look at the first analog variable again, we can see that it currently has a value of 800.5.
8:26
If we return to our bench setup, we can see that this matches the oven setpoint value.
8:32
We will change this to 799, and then return to Yahweh.
8:37
We can see our value hasn’t changed here For this value to update, we have to double-click on another variable and then return to our first variable.
8:48
Alternatively, if we right-click on our variable from our list, we can set up a subscribe, which allows us to choose how often in seconds we want to continuously poll for that particular object.
9:00
So we will set this to 3 seconds.
9:03
We will return to our bench setup and switch the oven setpoint value back to 800.
9:09
Now when we return to Yahweh, within 3 seconds we can see under subscriptions that our value has changed back to 800.
9:17
To delete the poll again, we can simply select the poll and delete it using the Ctrl-X shortcut on the keyboard.
9:25
Now we will verify that we can change our value again using Yahweh.
9:29
Here we have it set at 799. We will change it to a Flowshing Point value of about 802.3.
9:37
If we return to our bench setup again, we can see that this has matched our oven step point value.
9:44
In the bottom right corner of our screen, we can see the backnet status button to check our current status values.
9:51
We currently have 53 good responses, and our bad responses and no responses are at 0, which is what we want.
9:59
Our good responses are not incrementing because we don’t have any subscriptions set right now, so Yabe is not actively polling and instead is relying on us to manually update our value by double clicking on another variable and then returning to our first variable as we did before.
10:17
If your testing does not go as planned, you should double check your setup and configuration in Cscape.
10:23
It is important to make sure that the device ID is set up correctly and that you have the registers or variables you want to use allocated and mapped to BACnet in the scan list.
10:33
The issue could also be with your Yabe setup, so you should check that this is also set up correctly for BACnet IP.
10:41
Next, we will look at BACnet MSTP testing.
10:45
There are a few differences when configuring for BACnet MSTP.
10:50
For one, instead of going under LAN to do our configuration, we will do this under serial ports.
10:57
MJ2 is the RS485 port.
11:00
On the network level of configuration, we have kept our baud rate at the default value of 38400.
11:08
We have kept most of our other settings at the default as well, but we have set the protocol as BACnet MSTP.
11:15
We have also chosen to take advantage of BACnet status, which is 8 32-bit words for MSTP instead of 4 like with BACnet IP.
11:25
We have also assigned a BACnet disable variable, which is optional for MSTP.
11:31
Next, we will look at our device level configuration.
11:35
This is where we configure our device ID, which can be up to a 22-bit value.
11:41
We have also set our device name as BACnet MSTP.
11:45
Under device options, this is where we set our MAC address and our MACSMASTER.
11:50
Once again, MSTP is a token passing protocol, so if the OCS has MAC address number 3, when it has the token, it will use the token and when it is finished, it will pass it on to the next one in the list.
12:05
The only exception to this would be if the MAX master was set to the same value as the OCS MAC address.
12:11
In this scenario, instead of going to number 4, if the MAX master is set to 3, it will go back down to 0 instead.
12:19
So effectively, the token passing goes from 0 to the MaxMaster.
12:25
There is also some additional device level status which we will take advantage of here, which is one verbal array with three pieces of information in it.
12:34
Finally, we will look at our scanlist configuration.
12:38
Here we have the same data that we had set up for BACnet IP, which was four floating point values and four boolean values.
12:45
So that is our configuration for BACnet MSTP.
12:49
Next we will look at our Yabai setup.
12:52
Same as we did before, we start up here in the device panel, right click and select add device.
12:58
However, this time our configuration will be done through here.
13:02
Because we are not just communicating over ethernet, we need to have a physical RS485 connection with our test unit.
13:10
In this case, we are using a USB to RS485 adapter that after installation is mapped by Windows to COM7.
13:19
We will stay with the default value of 38400 baud here.
13:23
The source address is the address of Yahweh, which can be anywhere between 0 and 127.
13:30
The max master here tells Yahweh that the highest master address is 3.
13:35
Now we will select Add to add the device.
13:37
we can see that we are getting a lot of free devices on the tree and after a few seconds we can see our X4 controller listed with the device ID of 57.
13:48
These are all MAC addresses that have been scanned and they’re showing here as being free because there are no devices that are utilizing those particular addresses.
13:58
Now we will look at our X4 controller in more detail.
14:01
Just like we had for BACnetIP, we have our four analog values and our four binary values.
14:09
If we double-click our first analog value, we can see that the current value is 802.3.
14:16
If we look at our bench setup, we can see that once again this matches up with our oven setpoint value.
14:22
We will change this to 804 from here and return to Yahweh.
14:26
Once again, we have to select another variable and then return to our first variable for our current value to update.
14:34
Next, we will look at our first binary value, which is showing a current value of 0.
14:40
When we look at our bench again, we can see that this matches with the burner variable on the upper right of the screen.
14:46
We will change this from Yabe to a value of 1.
14:50
And when we look at our burner button on our screen now, we can see that this value has updated as well.
14:56
So we have now proven that we can see the data we need to see from an analog value and binary value standpoint.
15:03
Finally, we will check our status. We can see that there is more involved here than with our backnet IP status.
15:10
Here our good messages are counting up, which is what we want, but we are also getting some no responses.
15:17
This may be because there are some empty nodes on the network that won’t be responding when we pass the token.
15:22
However, as long as our good responses are going up, then we don’t need to worry too much about this.
15:29
If your BACnet MSTP testing does not go as planned, it is important to check that your Cscape configuration is correct and that your baud rate and other serial parameters are set the same both on Yabe and for the OCS.
15:42
It is also a good idea to double check your wiring.
15:45
Usually you will have a twisted pair and a common, and you will most likely be connected the OCS-MJ2 port.
15:53
In this case, you will need to have pin 1 and 2 on that port connected as plus and minus, as well as pin 6 as your common.
16:00
The pin out on the computer side will vary based on the adapter you are using.
16:05
If you don’t have termination on your test network at your facility, it might not make a difference whether you use termination or not.
16:12
However, if your error counts are going up and not staying near zero, then you may want to add some termination, which in this case would be a 120 ohm physical resistor on the RS485 adapter side.
16:25
Then you can enable termination on the OCS side by simply going to the system menu and turning it on in the serial port setup.
16:34
You might also need to turn on biasing as well.
16:37
Usually with BACnet MSTP networks, the biasing is handled by the rouser type device that’s connected both to BACnet IP and to the BACnet MSTP network.
16:47
So normally, you don’t want that turned on for the OCS side.
16:51
However, if you have termination enabled on your RS485 adapter and are still getting a lot of errors, then turning on biasing for your adapter may correct your issue.
17:02
It is important to note that if you need to turn on biasing or termination in your facility to get everything working properly, that these may need to be turned off at the customer side.
17:12
This is because on the customer side the OCS, or your machine, may not be at the very end of the BACnet MSTP network, so therefore termination should be off.
17:22
And again, biasing is normally handled by the Rauscher type device, so this should be off by default as well.
17:29
That concludes our webinar for today. Thank you so much for listening, and the Q &A session will begin shortly.
17:56
Okay so next week we have some tank volume function blocks and the registration link is there and we have the webinars leading all the way up into the middle of next month as well.
18:11
I’m not seeing any questions in on that so I think we can leave it there. Thank you all very much and I will see you next week.