Issue
Configuring a Smart Sensor in SBO.
Product Line
EcoStruxure Building Operation
Environment
- StruxureWare Building Operations
- b3xxx Controllers
- Smart Sensor (LCD or LED)
Cause
Unsure how to program for a Smart Sensor in SBO.
Resolution
Some considerations to be aware of first;
- Object naming differences
Programming of the Smart Sensor is very similar to the old Plain English programming used in Continuum. One of the main differences is that each input must be specifically defined at the start of the program.
Depending on the version of SBO, there may be some other considerations with setting up/reading the LcdDisplay array by renaming of the BACnet AnalogValue's to remove the "_AV" from the BACnet name. This naming issue affects SBO v1.4. - Specific variables for Smart Sensor to be used in Plain English programming.
Here is an old Smart Sensor Installation manual that will help explain which objects need to be created and how they work in the controller to enable the LCD display. Create the LCDDisplay and SpaceTempSP as numerics and any other objects that are not already created as InfinitySystemVariables. See "Configuration and Programming" section in the manual starting on page 14.
Also note that the sensor will not light up until values are written to it. - Sample Plain English code.
LCDDisplay (or LEDDisplay) is not automatically created. Create this numeric and assign it as an array with 8-elements.
If it is an LCD Smart Sensor, then create a numeric and name it "LCDDisplay" and set its logsize to 7 (this configures it as an array with 8 elements from 0 to 7). If it is an LED Smart Sensor, then create a numeric called "LEDDisplay" instead.
After creating this numeric you should be able to create the PE Program successfully. The simple program below will show the current spacetemp (LcdDisplay[1]) in two decimal place format (LcdDisplay[2]) when the Display key (LcdDisplay[0]) is pressed. The degrees symbol (LcdDisplay[7]) is also shown. Consult the Smart Sensor Installation and User Guide starting on page 16 for more details on how these values are configured.
Numeric Input SpaceTemp Numeric Output LcdDisplay Initialise: LcdDisplay[2] = 0 If LcdDisplay[0] = 4 then Goto ShowTemperature ShowTemperature: LcdDisplay[1] = SpaceTemp LcdDisplay[2] = 12 LcdDisplay[7] = 1024 If TS > 30 then Goto Initialise
In SBO, do the following under the Application section of the b3 controller:
- Create a BACnet Analog Value object in the b3 called "LCDDisplay".
- Go to the Advanced tab and under the Log Settings section change Log Records to be 7.
- Save the changes.
- Create the program and add the above PE Script.
- Add the binds to the LCDDisplay object created in step 1, RoomTemp input, and any other objects used in the program.