<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=2854636358152850&amp;ev=PageView&amp;noscript=1">
28 min read

SBA 329: Understanding How BACnet Really Works

By Phil Zito on Apr 6, 2022 5:52:10 PM

Topics: Podcasts

In this episode, we discuss how BACnet works and what you need to know about the protocol.

Click here to download or listen to this episode now.

Resources mentioned in this episode

Training Video


itunes-button-300x109
Subscribe via iTunes

stitcher
Subscribe via Stitcher

Transcript

Phil Zito 0:00
This is the smart buildings Academy podcast with Phil Zito episode 329. Hey folks, Phil Zito here and welcome to episode 329 of the smart buildings Academy podcast. In this episode we are going to be going through how BACnet really works. So we're going to dive through what BACnet is, we're gonna talk about BACnet objects, BACnet services BACnet profiles BTL listings BBMDs, Bdts, BACnet, IP BcACnet MSTP. And we're gonna see kind of where we're at, at about the 30 minute mark and maybe make this another episode next week, we'll see. As always, everything can be found at podcast at smart buildings academy.com, forward slash 329. Once again, that's podcast, dot smart buildings academy.com forward slash 329. I do want to take a brief second real quickly, just to update you all on a couple of things that are going on. First off, we're into our second cohort of workforce development, where we're taking people who have not worked in building automation, and in 12 weeks training them to be building automation installers. If you want to learn more about that, then definitely go to smart buildings academy.com And check out our workforce development program. Additionally, for those who don't know, we are the largest provider of online building automation training at 10,000 plus students and 1200 plus customers. One thing that's become readily apparent to me talking with my team is that wall we have a small group of followers and we have a lot of students. One thing we haven't done very well, as people go and talk to people within the market is they know who Phil Zito is, they don't necessarily know who smart buildings Academy is. So if I can make one ask Have those of you listening to our podcast, and that is if you can find two people and let them know about this podcast. That would be amazingly helpful. And I don't normally ask this. But that would just I mean, it would help a lot. We don't really market much. Pretty much all of our content is educational. We don't do a lot of promotion. So just a small ask for folks. I mean, we've been doing 300 And almost 30 episodes of this podcast with asking for nothing. And if you could do that for us, that'd be amazing. All right. Let's dive in. So how does back network? Well, BACnet is a protocol, right? And what is a protocol? A protocol is a set of rules for communication between devices. Now, whenever I start to think about unpacking BACnet it's just man, it's overwhelming. But first off, like why should you listen to me about BACnet? Well, I've written BACnet stacks. I've written BACnet integrations. I've worked with manufacturers like Cisco, and oh my gosh, why are they slipping my brain, Cree Molex folks like that, on writing fair, BACnet stacks. I've done a lot of critiques on things like BACnet SC, I'm really well versed in BACnet. And BACnet is the predominant protocol, despite what people may say, things like K and X, things like law and things like DALi, CANBUS, mod bus co app, MQ, tt, while they are protocols that are used, they are not the primary protocol that is specified across the globe. They are more like regional protocols. So it's important for us to understand, and BACnet is ASHRAE, standard 135. For those of you who don't know, you can actually go purchase the standard and read through all like, I think it's 1900 pages now.

Phil Zito 3:46
I've actually read the standard. And it's quite informative, but overwhelming. And it still amazes me that to this day, so many folks struggled to really understand what BACnet is, at its core. BACnet is an object oriented protocol that enables you to establish objects, of which there's many, but we're gonna focus on kind of the, I guess we'd say like four primary objects, we're going to focus on those maybe five objects. And those are going to be the device object, the analog and binary input objects, the analog and binary output objects, and maybe we'll focus in on the analog variable and binary variable objects as well, we're not going to focus in on the trend or alarming, or any of those objects, because they don't necessarily apply on a day to day basis. Alright, so in a nutshell, what a BACnet object is a device, and a device is going to have sub objects, right and these sub objects, so BACnet device could be something like a BACnet controller could be something like a BACnet supervisory device. etc. And we'll talk about more of application profiles and things like that later in this episode. But these BACnet devices, they're objects, okay? So a controller is a device object. And the device object has sub objects, which are like an analog input and analog output, an analog variable, binary input, binary output binary variable. And they also have services. And these services are things like read property, write property, read property, multiple, who is who has these different services, some of these services are fire and forget services. Some of these services are broadcast oriented discovery services, etc. So that's like the object architecture of the protocol. And then beyond the object architecture of the protocol. And by the way, I have a cold, so you have to forgive like, the dying smoker sound, I don't smoke or my dying. But yeah, this cold is kind of taken away from me. And I shouldn't laugh because that makes my cough come out that way, take a sip

Phil Zito 6:09
of some hot liquid real quick. Alright, so we've got our BACnet objects, and we have an understanding of that. Now we have our BACnet services. In a nutshell, when you have a supervisory device, and you attach a bunch of BACnet devices to it, maybe in the form of like an MSTP bus or an IP connection, which we'll come to later when we talk about connection methods for the protocol. But you you connect Alright, then what happens is there is this who is I am, start not I am I am, who is I am discovery. And this discovery service is a broadcast service. In the case of MSTP, not a big deal, it just travels down the wire. And the machines that get the service request are going to respond with an im so it's called who is IAM, right? Who is gets sent, and I am gets responded. And then that master device that all these devices are responding to, it builds basically a list of back nodes, back nodes being back net nodes, because devices are called nodes in BACnet. And so it builds this list of back nodes with their associated address. Now, that's awesome, because what that allows to happen is now the supervisory device knows where all the BACnet devices are, and their address, and it can route via the back that link layer, it can go and create this basically logical link. And it can initiate services. So for example, a service like read property, that would be a complex acknowledge or sorry, that would be a complex but non acknowledged service, because what would happen is you'd read property, and then the property result would be sent back, whereas a write property is complex knowledge. And I might be intermixing, the two but it's fine. And then write property is where you write the property. And then you get the acknowledgment back that the right is received. Either way, you're getting acknowledgments back, right? These aren't fire and forget services. But in a nutshell, what happens is you do the who is I am discovery that build touching back nodes. And then remember BACnet devices are objects and their objects that have objects. So then you have this other Discovery Service, which is called the who has I have. And so the who, who has I have is a discovery, where now, the supervisory devices going to interrogate the device. And this is why like, if you do like Niagra, you'll often see, you'll discover the BACnet devices, and then under each device, you'll discover the BACnet points. That's because you're doing a who is I am and then you're doing a who has, I have and the who has I have builds out a sub list under each back node of the object. So the A V's they eyes, etc. Right? So once you've built out that sub list, now all of your services can actually communicate. Now why do I go this deep with you? Well, it's important to understand this object oriented structure, so that when we later discuss the actual protocols, the MSTP, the IP, that we understand how these protocols are functioning, because you're we're going to get into things like BBM, ds and Bdts with the IP oriented architecture, and you're going to start to learn like, okay, BBM, ds and Bdts. They're important for those discovery services that

Phil Zito 9:59
you brought. castes. But they're not necessarily important for those unicast or multicast messages, which we'll learn about in like the read property or read property multiple unicast is a one to one message, that'd be the supervisory device, sending that read property service request to the field controller, and then the field controller responding. That's a unicast. Multicast would be like read property, multiple you. So let's say you're in Niagara, you're in Johnson Medicis, or you're in you know, ALC, icon, whatever. And you highlight a bunch of controllers. And you do a query, and you say, I'm going to query zone 10. For all these controllers. What happens is that server communicates to the supervisory device initiates a read property, multiple service, and then that is a multicast. So single point origination to multiple endpoints. And those endpoints are pre determined, because we built out our BACnet nodes, okay? So it's important for us to realize that Alright, so we should, at this point, understand BACnet device objects and sub objects, who is and who has services for discovery. Now, we're gonna pivot shortly to BTL back net testing laboratories. We're gonna talk about BTL listings and BTL profiles and bibs and protocol information conformance sheets, and then we're going to rapidly shift back to our actual forms of protocol communication, which are IP and MSTP. Alright, so BTL listing is a way and BACnet testing laboratories once again, forgive me I have a cold I have to take a sip of this hot liquid hair, okay? So BTL testing is where someone from the BTL testing lab will come to you. And like if I were to open so if I go to BTL listings back net, and if I were to open this right here, and is at BACnet, international dotnet, forward slash or backslash beat, no forward slash BTL. And that's immediately going to take me to a detailed listing of test process products. And I'm going to go by device profile. And we're going to see that we have operator interfaces, these are going to be things like your operator workstations, and advanced workstations, then we're going to see our controllers, we're going to see the B dash BC, which that's most commonly associated with supervisory devices, it's a built in controller, then we're going to see the AC which is most commonly associated with most of our controllers, right? As the BACnet, advanced application controller. Most of our controllers are ACS, and then we'll see a SCS. And this is more closely associated with things like our BACnet VSTS. So our BACnet, VSTS, or BACnet, on a con Flow Meters, those tend to be application specific controllers, right? We have things like Btrfs, BACnet, routers, and we'll talk about routing. And we'll talk about that in a greater detail in just a second. All right, so if I go into an AAC, all right, and I'm, I'm just gonna pick our tickets right here. Our 10 advanced VLC. So the VLC alpha 1688. And I'm going to go to its BTL listing. And I'm going to open it up, and I'm going to open it, and I'm going to see that is data sharing. And it has, oh, what is this read property A. So A and B, and I don't remember off the top of my head, um, feel free to chime in chat, if you remember, I don't remember if A is server and B as client or be a server and a is client. But basically, it's really important for us to have with a lot of these controllers, both A and B functionality. Because

Phil Zito 14:03
if I'm remembering correctly, a a server B is client, but servers the ability to serve up the resource to respond. And client is the ability to initiate the resource request. So if I only had an a capability, I would only be able to respond and you'll see that in a lot of as CS profiles, you'll see that they have A but not B. And that's because they have the capability to respond to read property requests or write property requests or CO V requests. But they do not have the ability to initiate those requests like I could with an AC where I could go and connect to another controller using like a network link. And I could initiate read property requests of another controller like if I was doing a global outside air temperature share and I wanted to request that so it's important to understand The bibs. And if you're like, I don't know what bibs are, I hate to say it. But there's only two places really to get this information. There's a really good BACnet book on Amazon, I got the Kindle version of it. I don't think the guy's any is with us any longer I think he passed. But it's a really good book. I don't know if it's still available. But it's, it's on BACnet. It's very dry reading. But it's like 180 pages. And if you read it, you'll like have a really solid understanding of BACnet. Or there's the A, the ASHRAE 135 standard, which is like 1900 pages. If you want to dive like super deep into how the protocol works, you can read that as well. I don't recommend that unless you're a developer, it doesn't make a whole lot of sense for you to go down that rabbit hole to be honest, really, I got to stop laughing here. Alright, so this profile gives us our bibs. And the BACnet, interoperability building blocks. This is how our device profiles are built. And then the BTL folks come along, and they go into the product organization, I've been part of this in the past, then they test and they say show me this, and they have a test for each bib. And the profile needs to be able to conform to specific bibs for the profile. Now a lot of folks will say to me, and I get this pushback quite often, they'll be like, hey, that's all well and good. People say back nets open. But it's not really open because I still need manufacturer ABCs programming tool to program the controller. And therein lies one of the rubs with like BACnet versus lawn, like lawn had, at least with their application specific controllers, had plugins where you'd like have an LMS software lawn network systems software, and you would go use the plugin, and the plugin would enable you to just simply modify the controllers, they still had their program, I can't think of a single software out there that does not have a specific programming tool for their field controllers, even lawn, I remember working on the XL 5000 series controllers, the Honeywell lawn controllers, or the old distech controllers back when they used to make lawn controllers for Johnson Controls. And they each had their own custom programming software. And I don't think that's going to change anytime soon. And that's not a limitation of the BACnet protocol. Because the BACnet protocol is not meant to implement a programming methodology. It's a communication and data organization, methodology and protocol format. So I don't see us getting an open programming tool that enables us to program everyone's software ever. I don't ever see that happening. I mean, you'd have to have a universal firmware, and a universal programming software that every manufacturer would have to agree upon. So BACnet is not a proprietary protocol, in that that software is not able to be programmed. That is a limitation of the market, not of the BACnet protocol. Alright, so

Phil Zito 18:15
now that we understand detail listing, we understand how those things are created. And if you're ever like, Okay, you show up on a job site, and you've got a York rooftop unit or train rooftop unit, and you're like man, I got to figure out what this unit can do. First off, find if it's been BTL tested. If it's been BTL tested, then you should have a BTL listing that tells you the bibs and tells you what aspects it should support. Now, some BTL listings are better than others. I know that it really just depends on the tester you get. Some of them will like really push you to create a points list. You know, some manufacturers, I'm not going to call anyone out. But some manufacturers will go and provide an entire points list in their detail listing. Other manufacturers will literally just provide a list of bibs and be like this is all you get. So you need to understand like, Okay, what capabilities does this have, but that would be the first thing I check. If I had to work on like a chiller or a rooftop unit that had embedded controls. I would check if it has a BTL listing, so I could understand what bibs in theory should support, then I would go and I'd find its BACnet points list. And I would understand the difference between AIIS aviz and ayos, and bi SPVs and POS and I would understand like how all of that works because like if you've got a V. In theory, that's a logical point. That's a variable. So that should be a set point, and an O in theory, that should be a physical output and an AI. That should be a physical input and there's a lot more to it like, Man, I would love to just sit here and talk about this for two hours but uh I have to pick up my kid at at three and it's 220 right now. So I'm not going to go too far down that rabbit hole, but

Phil Zito 20:08
essentially to say, AI. So inputs, they don't have this concept called a priority array. And outputs and variables have this concept called a priority array. Maybe we'll talk about that. Like if you all like this, then comment. You know, wherever you're listening to this, maybe it's our website at podcast, smart buildings, academy.com, Ford slash two, or 329. Maybe you're at LinkedIn, maybe you're on YouTube comment, let us know if maybe next week you want to dive even deeper into this. Definitely I love talking about this stuff. It's awesome. But suffice to say priority arrays are one of the main things that differ in inputs versus variables and outputs and variables and outputs. The thing with those is, in theory, if you're doing back net, right, you should be using variables for your set points in logical, like network shares, etc. You should be using outputs for physical points. But I see on a lot of embedded devices where they'll use outputs in lieu of variables. And also, back when I was in the field, and I had tax working under me, I would get a lot of calls from my tax, and they'd be like, I can't get this to work. And I'd be like, Why can't you get it to work? Well, the set points that changing Well, what point are you commanding? Well, I'm commanding AI, whatever, I'm like, well, you're never going to be able to command that it doesn't have a priority array, it only has a present value. And so you're never going to be able to command that point, you've mapped in this device, you've mapped in a eyes, and you're bashing your head against the wall, and you're never going to be able to change anything. And vice versa, like, hey, we went and discovered this controller. And, you know, I'm commanding the AV, why's the valve not changing? I'm like, Well, you're not kidding, commanding the EO. And the A O is the actual physical link to that physical output, or it should be if they're following the BACnet standard. Alright, so pull us back off of that rabbit hole. And let's move into kind of the communication methods for the protocol. So BACnet MSTP, master slave token passing, that is Rs 45 standard. And if you're adhering to the RS 45 standard, which I really encourage you to do, because I've yet to run into a network properly wired. And following proper Rs 485 standards. That doesn't work. I mean, there's a couple things and I'll go through them with a BACnet MSTP network that you got to get right. But the RS 485 standard is 3300 feet across three segments 32 devices per segment. Now you'll run into manufacturers that can say 5000 feet, 100 devices, and three segments. So you 15,000 feet, which ones right? Well, in theory, their stuff can usually work, you will start to get some degradation after you pass those Rs 45 standards. But if you increase the baud rate, baud rate is the rate at which communications communicate on serial networks. If you increase the baud rate, you're going to get faster flow. And you can overcome length in some cases. Now there are two agreed upon baud rates that's 90 638.4k. Those are the two default baud rates supported by BACnet that are required to be supported by any BACnet device. So like if you have an ABB drive, or you have like on a con flow meter, and they're MSTP, and you're like I can't figure out which baud rate to work with. If you try 9600 or 38.41 of them is going to work.

Phil Zito 23:40
Then you have you know an addressing for your devices, we use DIP switch Mac addressing, which is a layer two address not to be confused with Ethernet frames. But our MAC addresses layer two communication on a serial network. Serial means device communicates one after the other in series, right? Not in parallel. In series, no t tap, stuff like that T taps are where you tap off of a network and you start going a different way. Okay, but let's pull us back. So you started the supervisory device. And you run this MSTP trunk is typically a three wire trunk, typically 18 or 22 gauge stranded twisted pair and you're running this wire, typically you will have a positive and negative and a calm or called reference and then a shield. The shield will get terminated on one side to ground you don't terminate the shield on both sides that creates an antenna. And then you run making sure you're doing polarity sensitive from device to device and what's called a daisy chain. Daisy Chain is from one device to another, you know positive to positive negative negative reference or calm to calm, right? And you do that and you should have like three ish volts DC. Now you're going to communicate typically 3300 feet 32 devices and then you get to okay what do I do after that network segment enter The repeater, the repeater cleans the noise off the electrical signal and repeats the signal moving forward that enables you to extend your network segments. So there's repeaters and routers, routers are going to access to enable you to typically take an MSTP network and convert it to an IP network to route. And then there are repeaters. And repeaters are just repeating a serial bus network and extending the communication of the network. Okay, so you got repeaters, and you've got routers. Now when it comes to addressing, right, you have to have a unique address. It's usually zero through 100. And or one through 127. I believe our master addresses and then 128 to 255 are slave addresses. Slaves are typically of the ASC profile, meaning that they can respond, but they cannot initiate. And Master devices are ones that can initiate and respond. Now I say initiate and respond. What do I mean? Well, here comes where the whole token comes into play. The token is essentially a little piece of software that gets passed via the wires from device to device. And when the device is holding the token for a certain amount of time. And you can set this actually can set how long devices can hold the token. But as long as it's holding the token, it can initiate the service requests, right, because the client initiates the service requests. And the server responds, it's kind of goofy. But when it's holding the token, it can do that. And that's why it's also important on really long runs to sequentially number your MAC addresses, because the tokens typically will go sequential, it'll go 123456. And if you're like 180 7020 30, not such a big deal on a short run. But on a longer run, it can introduce delay, especially if you're like 9600 baud, which is pretty slow communication. A lot of folks tend to be much higher baud rate. But those slower baud rates. Just be cognizant that if you don't number your stuff in sequence, you're going to start to have communication issues. All right. So we've got this stuff. And then we have these concepts called end of line and of line act as dampening, they basically dampen that electrical signal and keep it from reflecting back onto the network. Because the nice thing about MSTP versus like IP bus and manufacturers are fixing this. But the MSTP is electrically bridged. So if a controller loses power is going to continue on to the next controller along the wire, whereas with a lot of IP controllers, even bus and ring, if the controller goes down, since the using network interface cards, things aren't electrically bridged, and you'll actually lose communication and the whole bus will go down. Hence why we have rapid Spanning Tree Protocol and ring protocols on BACnet IP to enable us to basically say, oh, turn off the blocking port,

Phil Zito 28:24
or, yeah, open up the blocking port, turn off the pastor port, and allow the ring to communicate the other way to bypass the broken controller. Um, that being said, I'll get into it in just a second because there's three patterns, right star bus and ring, that so we've got our MSTP, we've got them wired, we're got our polarity done, right, we're addressing our MAC addresses sequentially, not duplicating MAC addresses. We've got baud rate, and then we have our device ID. So there's several properties for the objects if you really want to dig into this, we cover this a lot in our BACnet course. But if you if you dig into BACnet objects BACnet objects have several required properties, one of which is the device ID, the device ID plus the MAC address becomes the back node address. And in the case of BACnet IP, the device ID plus the IP address becomes the back node address that becomes your BACnet address. So those two combined, that's why you can't have duplicate MAC addresses or duplicate IP addresses with BACnet. Because you will have issues with communication, because now you have duplicate back note addresses, and you'll have what are called blinking addresses. And this while it's not good, it's survivable on a BACnet MSTP or IP network as long as the supervisory device is not the duplicated address of the Supervisory device is the duplicated address because that's the container of the back node. You're going to lose all of your devices. It's going to flicker on and off as can be horrible. But if it's, you know, duplicate addresses device ID, or duplicate MAC addresses on the field controllers, not the supervisory device, then it's going to be bad. But it's only gonna typically affect those two controls. Things that will affect the entire network will be things like mismatch clarity in the wiring, mismatch baud rate, which is going to cause crazy amounts of collisions, especially as you get higher up in the baud rates in the mismatches. Like, if you have a bunch of devices that are 9600, and you got like one that's 114 K, on that's going to cause it, but ton of collisions. Alright, so that's BACnet MSTP, pretty straightforward. BACnet IP is where a lot of people lose their freakin minds. Because they don't I mean, as an industry, we have a pretty poor understanding of it, and it knowledge. And then you combine that with things like routing, BBM, DS, and Bdts. And the fact that some manufacturers have self propagating Bdts and self discovery Bdts and others have Bdts that you have to manually propagate. And you're like, what are Bdts? Don't worry, I'll get to that. But um, it can create a lot of confusion. So BACnet as a protocol, remember, it does these services called who is I am and who has I have and these are broadcast oriented services and their discovery oriented services, you typically only have to run them when you're doing discovery, they're not continuously run, as long as you build out your list of your back nodes that allow for those unicast and multicast services have who is I am who has I have continuously should be fine. So with that, we introduce BACnet IP, the BACnet IP is Internet protocol that uses Internet protocol to communicate, this could be over fiber, this could be over wireless, this could be over Ethernet, a common misunderstanding is that IP equals Ethernet. IP does not equal Ethernet, IP equals Internet Protocol, which is a logical protocol. It's a logical representation of an address, there is no physical IP that you can go touch. So Ethernet is one of the methods for invoking that communication, Ethernet wiring, whether it's star pattern bus pattern or ring pattern. But there's also wireless there's also for 5g, there's also fiber, which I haven't really seen fiber implemented on a field controller that would be very interesting, but I have seen a 4g routers, I have seen wireless and I have seen Ethernet. So BACnet IP, the thing with BACnet IP is, it's not a limitation of BACnet IP as much as it's a limitation, which is not really a limitation. But here's the deal. how the internet works is we have all these IP address like this morning, our learning management system was down because our domain name registered decided to take it down because of an email issue. So got it back up. But what was happening is if you knew the IP address of the server, you could access it just fine. But the domain name registration resolves that server

Phil Zito 33:13
to its IP and allows communication. Well, internet protocol consists of public and private IP addresses. public IP addresses are routable. That means I can be on one network and I can route myself to another network, because the routable IP addresses, however, there's only like, I think it's either 2 million or 2 billion. Hold on, how many public IP addresses are there? 4 billion, okay, there are 4 billion public IP address and you might be like Phil, that's a lot of public IP addresses. But that's not really when we think about your house, you have phones, I have my computer, I have TVs, I have Alexa, all these things are using IP addresses. So we run out of IP addresses really, really quick. Enter the world of private addresses, you've probably logged onto your computer and run IP config some time. And you saw 19216 8.1 dot x that is a private class C address. And the thing is I can have a one nine 2.16 8.1 Dash 24 address subnet for my house and you can have the exact same address subnet for your house. How can that happen? It's through this concept called network address translation or more appropriately. Protocol address translation is really what's used. But network address translation enables you to take a public IP address and basically connect it to a bunch of private IP addresses. So you route the traffic from the public IP address to the private address. That's what your router does. Okay, among other things, why do I tell you all this? Because BACnet is a broadcast service for who is I am okay. Who is I am is a broadcast service. So when I initiate that, who is that goes out to every IP address on the subnet? Well, that's all well and good unless I have BACnet devices on other subnets. How in the world is my supervisory device or my BACnet? Advanced workstation going to discover devices on a separate subnet? How's it going to find them? Well, without BBM D, without a BBM, D and a BT, it's not what a BBM D is, as a back that broadcast management device, it manages broadcasts, how does it do this, it uses a BDT BACnet distribution table, or maybe its broadcast distribution table, don't quote me on these acronyms, I'm never going to memorize something that I can Google that's just pointless. But a BBM, D uses a BDT. And a BDT has the address of every BB MD, a BB BB MD, will be a device, typically a supervisory device sitting on a subnet, and it'll have an IP address. So what happens when I initiate a BACnet discovery, that BACnet discovery gets forwarded to all the Bdts. And then the Bdts send that discovery out on their subnets, which enables that communication to come back and build my back node list. Once I have my back node list, we're done with discoveries, everything is unicast at that point, and as long as we have our route set up, and our routers were solid, right? I mean, we need our routes set up in our routers anyways, in order to communicate from a BB MD to all the associated Bdts and their BBM DS. But you know, I'm assuming you have routing set up. And I'm not going to dive too much into what routing is, because that's more of an IT networking concept than a BACnet concept. Alright, so back net, we do our BBM DS and our Bdts. And that enables us to then forward our requests. And that then enables us to create our back nodes. Remember, our address is a combination of the device ID and the BACnet. Er, and the IP address that makes our back that address for IP. And now we're able to do our unicast or multicast. And that's it. That's pretty straight forward for BACnet BACnet and BBM. DS and Bdts do not need to be that difficult. Now I have ignored. Some of you are going to hammer me and be like Phil, what about UDP port 47 808? Yeah, you're absolutely right. BACnet IP is a UDP protocol. It's a connectionless protocol. Now you may say, Phil, how is it a connectionless protocol, when you have complex acknowledged services. That's because we use this thing called the BACnet virtual link, which enables us to basically emulate a TCP which is a connection oriented protocol.

Phil Zito 37:36
connection oriented and connection, less protocols. So reliable and unreliable protocols are layer four concepts in the TCP UDP world, right. That's the transport portion of the OSI model layer four. So the transport portion enables us to have UDP and TCP. TCP is like if I go to http website, and I go, it's a session oriented protocol, it creates a session in the session layer. And that session, if I'm transferring data, if you ever want to see TCP in action, go download a big file and watch how your download gets faster, faster, faster, slows down, faster, faster, slows down was going on is your length in which you're able to go without a confirmation grows bigger and bigger and allows data traffic packets to get bigger and bigger until you don't get a response. And then it's like, oh crap, it's getting too big. I need to slow it down. That's TCP inaction. But UDP is I send a message, and it shows up and i It's like the difference between guaranteed mail with the Postal Service and just sending like regular mail with a letter stamp, you don't get any confirmation. Well, BACnet messages are UDP. So we have this link layer that enables us to have that acknowledgement and to execute those services. Alright, pulling us back to BACnet IP. So get your BDDs BB MDs, I'm going to take another sip, some hot liquid Hold on. You guys are BBM DS and your Bdts going on? Everything's good. You got your addresses set up, everything's good. You got your port 47 808, which is our UDP port. Now, you can have multiple ports, and you can do port routing and all sorts of stuff. But that is like way beyond the scope of this. And quite honestly, it's only important for like the largest of large campuses. And it's not even, in my humble opinion, important anymore because BACnet traffic is so lightweight. It's not like we're streaming 8k video, we're doing like tiny, eight or 16 bit data points that we're transferring tiny, tiny points. And to give you a perspective, eight bits is eight ones and zeros. So 16 bits is 16 ones and zeros. Versus like 8k, which is a quad like gigabits of data, gigabits of data. So we're not dealing with massive amounts of data. And our networks are crazy fast. So we don't really need to segment our BACnet ports anymore to try to keep traffic down. Really, the only thing I recommend is using nothing more than a slash 24 Like no slash 23, or slash 22 networks for BACnet IP use slash 24. That just makes it easy to troubleshoot. But um, yeah, it's pretty straightforward. Now with BACnet IP, we have three design patterns, we have Star, bus, and ring stars, our traditional pattern that we think of when we think of Ethernet, it runs from the switch, right using an access link to the device, one to one, great for system redundancy, because the only point of failure is the switch. If that network goes down, it goes down, but it doesn't take everything else down. Very expensive. A layer two switch will cost you a managed layer two switch will cost you two to three grand a managed layer three switch with POV will cost you upwards of almost 10 grand when you include your licensing fees. So if you got a 48 port switch, and it's $10,000. If I go here to my calculator, and I do 10,000 divided by 48, you're talking $208 A port, that's crazy expensive. Enter the bus architecture, the bus architecture, very much similar to a daisy chain architecture is one Ethernet wire to the next Ethernet wire to the next one. And that

Phil Zito 41:48
allows you to go from controller to controller to controller. Now I've seen so many mixed data points on what are the limitations of IP bus that I'm not going to talk to that definitively here. I've seen folks say, in appropriate environment, they can put 200 devices on an IP boss, I've seen folks say you really want to limit it to 32. I've seen all sorts of stuff in between, in my opinion, you wouldn't go more than 100 devices that in my opinion, would be very difficult to manage, it would just end there's it's a bus architecture. So there's some serious points of failure until every manufacturer gets out where their necks are electrically bridged, which that means that if you lose power at the controller, it then electrically bridges, the wires, and enables that signal to continue to the next controller. Because with a bus pattern, if you lose the second controller, you've got 100 controllers on the bus, you basically lose all 98 controllers afterwards, with a lot of manufacturers right now with their IP control lines. That's why we have the ring architecture. The nice thing about the bus is it only uses one switch port. So it really gives you some advantages there. Now on the bus, or sorry, the ring architecture we use rapid Spanning Tree Protocol. And rapid Spanning Tree Protocol enables you to block one port because remember, we can't have a loop, because of that broadcast will create a broadcast storm broadcast will continue to propagate and loop and loop and loop and never end. Because broadcasts never end until they hit the end of the network. And that will take down our network, it'll it'll just basically be drowned out by noise of broadcasts. So that's why we have a rapid spanning tree or Spanning Tree Protocol, depending on what version your manufacturer supports. Essentially, you have an access port and a blocking port. The protocol monitors the access port, if it loses communication on the access port, it'll open up the blocking port and allow communication to go the other way. So you get redundancy, but yet you're only using two ports. So that is one of the benefits. I do know manufacturers are rapidly working on electrically bridging their controllers. So that is something coming down the road. So my hope is that after this, you have a much better understanding of BACnet I hope this was a good I didn't realize we went 44 minutes I apologize for that. But I hope this was a good use of your time. Like I said, my only ask is that you all share this if you can go to two or three people and let them know about the podcast let them know about our business. That would be really helpful to us. We are not a marketing organization. Quite honestly we suck at marketing. But we are really good at training. And so I'd really appreciate it if you always share that our link to today's episode is podcasts at smart buildings Academy comm forward slash three to nine. Once again podcast at smart buildings academy.com four slash three to nine. I encourage you to go check out our site. We have a Several 100 articles, several dozen guides, free webinars, free mini courses and over 300 podcast episodes that you can refer back to. So thanks so much for being here. I really appreciate you all. And on Friday, we'll be switching to a sales topic, which I think is gonna be really important because the construction industry lags the market by like 18 months. But we're seeing a correction in the market right now. And I think we'll see a correction in the industry. And I think we need to be able to be ahead of that, and really, like think through how can we position ourselves to be valuable assets, either to our customers, or to our tenants, or whoever we're serving, so that we can continue to stay employed? I don't think we're going to experience too much of an issue. We're already highly understaffed and over leveraged business. As far as the industry goes, you know, we are over leveraged is not the right term. We're an overworked industry. And there's more work than we have capacity to execute. So I think we'll be good, but it never hurts to try to get ahead of that. And thank you all so much for being here. I look forward to talking to you all on Friday. And I hope you have an awesome rest of your day. And hopefully my voice is back on Friday too. So take care. Thanks so much.


Phil Zito

Written by Phil Zito

Want to be a guest on the Podcast?

 

BE A GUEST