Lonworks SNVTS

Our new Lonworks product is, by definition, pretty different than anything else that we’ve ever attempted. I hate to say it but it is more complex because the Lonworks network is in some ways more complex than most of the other networks we support.

Everyone knows I hate complexity and crusade against it. I’m going to try to tell you today how we’ve tried to simplify this beast but first a little background.

Lon is different than most everything we do because the data on the network is predefined (and type limited). There are about 100 SNVTs (Standard Network Variable Types). These guys are the predefined types of variables that can exist on the network. They are the only pieces of data a device can send or receive over the network.

For example, there is a variable type called continuous level for metering applications. A device can send or receive variable(s) of that particular type. What’s cool about that is that since the type is well known there is little confusion about the byte order, data range and all the other variable attributes. It’s all fixed.

Now, if a device is monitoring 3 levels, it can make 3 variables available on the network of type Continuous Level. One, three or thirty Lon devices can receive those levels whenever they are published by the monitoring device.

The Lon Integration tool, LonMaker, provides the system integrator with the ability to connect input variables in one device to output variables in another device. That process is called a network binding.

LonMaker is the enforcer on the network. It makes sure that you don’t blindly bind a temperature to a pressure.

Once the binding happens, any changes to an output variable in the node originating the data are reflected in the input variable(s) bound to that output variable. So, if a Level X1 variable (Continuous Level type) is published with a level of 30, that value is passed to the nodes with input variables bound to the Level X1 variable. And that might for example, trigger one of the devices receiving that data to open a valve or start a heating process or whatever.

So, how does our gateway going to handle the Lon universe of hundreds of variables of up to 100 different types?

Again, we’ve tried to make it easy. We’ve come up with a small set of configurations that support different types of applications. For example, we example we have a temperature group. The temperature group has 22 input variables and 22 output variables of various types that you might use in an application.

Here’s the list of our basic configurations with the number and types of SNVTs in that configuration. The SNVT number is in parenthesis:

TEMPERATURE GROUP
 2 Input/2 Output VarsSNVT_abs_humid (160)
 2 Input/2 Output VarsSNVT_ph (125)
 2 Input/2 Output VarsSNVT_ph_f (126)
 2 Input/2 Output VarsSNVT_temp (39)
 2 Input/2 Output VarsSNVT_temp_diff_p (147)
 5 Input/2 Output VarsSNVT_temp_f (63)
 2 Input/2 Output VarsSNVT_temp_p (105)
 5 Input/2 Output VarsSNVT_temp_setpt (106)

 

AMPERAGE GROUP
 2 Input/2 Output VarsSNVT_amp (1)
 2 Input/2 Output VarsSNVT_amp_ac (139)
 2 Input/2 Output VarsSNVT_amp_f (48)
 2 Input/2 Output VarsSNVT_amp_mil (2)
 2 Input/2 Output VarsSNVT_volt (44)
 2 Input/2 Output VarsSNVT_volt_ac (138)
 2 Input/2 Output VarsSNVT_volt_dbmv (45)
 2 Input/2 Output VarsSNVT_volt_f (66)
 2 Input/2 Output VarsSNVT_volt_kilo (46)
 2 Input/2 Output VarsSNVT_volt_mil (47)

 

POWER GROUP
 2 Input/2 Output VarsSNVT_elec_kwh (13)
 2 Input/2 Output VarsSNVT_elec_kwh_l (146)
 2 Input/2 Output VarsSNVT_elec_whr (14)
 2 Input/2 Output VarsSNVT_elec_whr_f (68)
 2 Input/2 Output VarsSNVT_power (27)
 2 Input/2 Output VarsSNVT_power_f (57)
 2 Input/2 Output VarsSNVT_pwr_fact (98)
 2 Input/2 Output VarsSNVT_pwr_fact_f (99)

 

LEVEL GROUP
 2 Input/2 Output VarsSNVT_lev_cont (21)
 2 Input/2 Output VarsSNVT_lev_cont_f (55)
 2 Input/2 Output VarsSNVT_lev_disc (22)
 2 Input/2 Output VarsSNVT_lev_percent (81)

 

Our goal is to make this easy on you to move data between a Lon device and some other network. So, please understand that this list is only our starting point. If you or another one of our customers needs ten input temperatures for an application we will change the configuration.

We’ll either expand the default configuration (we’ll never reduce it and obsolete a working application) or we’ll create a configuration just for your application.

So, for you Lon devotees out there, do these configurations make sense? Is this something that you can use? I’ll be looking forward to your feedback.