SmartStruxure™ Lite Solution Lua4RC

Slides:



Advertisements
Similar presentations
PHP I.
Advertisements

JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
Module R2 CS450. Next Week R1 is due next Friday ▫Bring manuals in a binder - make sure to have a cover page with group number, module, and date. You.
 Copyright I/O International, 2013 Visit us at: A Feature Within from Sales Rep User Friendly Maintenance – with Zip Code.
Medicaid Alternative Benefit Plans (ABP) Processing
Spyder Re-flash 2.0 How-To
Tutorial 12: Enhancing Excel with Visual Basic for Applications
 Copyright I/O International, 2013 Visit us at: A Feature Within from Vendor Payment Terms User Friendly Maintenance 
Operating-System Structures
The Web Warrior Guide to Web Design Technologies
Spyder Re-flash How-To
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
V0.01 © 2009 Research In Motion Limited Introduction to Java Application Development for the BlackBerry Smartphone Trainer name Date.
Guide To UNIX Using Linux Third Edition
Guide To UNIX Using Linux Third Edition
Introduction to Unix (CA263) Introduction to Shell Script Programming By Tariq Ibn Aziz.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Introduction to scripting
1 Semester 2 Module 2 Introduction to Routers Yuda college of business James Chen
1 Chapter One A First Program Using C#. 2 Objectives Learn about programming tasks Learn object-oriented programming concepts Learn about the C# programming.
8 Copyright © 2004, Oracle. All rights reserved. Creating LOVs and Editors.
A First Program Using C#
Introduction to Shell Script Programming
What is Sure BDCs? BDC stands for Batch Data Communication and is also known as Batch Input. It is a technique for mass input of data into SAP by simulating.
Eclipse EHX System Logic Maestro. Module Objective Introduce Logic Maestro to the user Elements ► What is Logic Maestro ► How does Logic Maestro relate.
CNIT 133 Interactive Web Pags – JavaScript and AJAX JavaScript Environment.
SmartStruxure™ Lite Solution
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Chapter Three The UNIX Editors. 2 Lesson A The vi Editor.
Tutorial 111 The Visual Studio.NET Environment The major differences between Visual Basic 6.0 and Visual Basic.NET are the latter’s support for true object-oriented.
Tutorial 8 Programming with ActionScript 3.0. XP Objectives Review the basics of ActionScript programming Compare ActionScript 2.0 and ActionScript 3.0.
Extending HTML CPSC 120 Principles of Computer Science April 9, 2012.
Linux+ Guide to Linux Certification, Third Edition
CHAPTER 3 GC Java Fundamentals. 2 BASICS OF JAVA ENVIRONMENT  The environment  The language  Java applications programming Interface API  Various.
CSC350: Learning Management Systems COMSATS Institute of Information Technology (Virtual Campus)
CS 320 Assignment 1 Rewriting the MISC Osystem class to support loading machine language programs at addresses other than 0 1.
Guide to Oracle 10g ITBIS373 Database Development Lecture 4a - Chapter 4: Using SQL Queries to Insert, Update, Delete, and View Data.
Chapter 3 MATLAB Fundamentals Introduction to MATLAB Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
_______________________________________________________________________________________________________________ PHP Bible, 2 nd Edition1  Wiley and the.
5 1 Data Files CGI/Perl Programming By Diane Zak.
XP Tutorial 8 Adding Interactivity with ActionScript.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
4. Javascript M. Udin Harun Al Rasyid, S.Kom, Ph.D Lab Jaringan Komputer (C-307) Desain.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
Agenda Positional Parameters / Continued... Command Substitution Bourne Shell / Bash Shell / Korn Shell Mathematical Expressions Bourne Shell / Bash Shell.
JDS5 Training Guide. On Start Up you will see this screen click the OK button Click OK.
S11-1 ADM , Section 11, August 2005 Copyright  2005 MSC.Software Corporation SECTION 11 MACROS: OVERVIEW.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
 Software Development Life Cycle  Software Development Tools  High Level Programming:  Structures  Algorithms  Iteration  Pseudocode  Order of.
Debugging tools in Flash CIS 126. Debugging Flash provides several tools for testing ActionScript in your SWF files. –The Debugger, lets you find errors.
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
XP Tutorial 8 Adding Interactivity with ActionScript.
REEM ALMOTIRI Information Technology Department Majmaah University.
Comprehensive Continuous Improvement Plan(CCIP) Training Module 3 Funding Application.
This was written with the assumption that workbooks would be added. Even if these are not introduced until later, the same basic ideas apply Hopefully.
NXT File System Just like we’re able to store multiple programs and sound files to the NXT, we can store text files that contain information we specify.
1 © 2004 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID Cisco Technical Support Seminar Using the Cisco Technical Support Website.
FILES AND EXCEPTIONS Topics Introduction to File Input and Output Using Loops to Process Files Processing Records Exceptions.
Zio®/Zio Plus Sales Overview. 2HONEYWELL - CONFIDENTIAL2 Zio® / Zio Plus LCD Wall Module Feature Brief Used with Spyder® with Sylk® controller Two-wire.
Development Environment
Do-more Technical Training
Variables, Expressions, and IO
Introduction to Scripting
SECTION 3 MACROS: OVERVIEW.
PHP Introduction.
More Selections BIS1523 – Lecture 9.
PHP.
Training Module Introduction to the TB9100/P25 CG/P25 TAG Customer Service Software (CSS) Describes Release 3.95 for Trunked TB9100 and P25 TAG Release.
JavaScript: Introduction to Scripting
Presentation transcript:

SmartStruxure™ Lite Solution Lua4RC

Agenda Lua4RC What is it? Who can use it? How does it work? Where can I get resources?

Our goals for you… By the end of this module, you will be able to: Learn what Lua4RC can and cannot do Understand the differences in script loading methods Remember the different functions available Experiment with example scripts Diagnose syntax and logical errors

Lua4RC What is it, what can it do?

The evolution of room controllers SE7000 One application = one model number Each model has custom I/O type and count SE8000 Common platform for all models Universal I/O

The Application Specific Room Controller Currently available models SER8300: Line voltage fan coil SE8300: Low voltage fan coil / room controller SE8600: Roof top unit and Indoor Air Quality Pre-loaded application in each model All necessary parameters can either be changed by user interface or through the BMS.

Built-in application vs Lua4RC If the application logic is pre-built, why do I need Lua4RC? Historically, each room controller had its own operation sequence and each small difference in the sequence had to be modified in the embedded firmware. This has helped to build the SE7xxx room controller’s reputation of a solid and stable system but also translated in numerous models and was dependent on engineering / production for time to market. Sometimes a very slight change in the sequence of operation is required in order to adapt to a particular equipment or customer’s requirement and does not justify a complete new model re-design. In these cases, Lua4RC may allow to perform slight modifications of the control sequence in order to accommodate the needs of a specific project.

What Lua4RC can and cannot do What Lua4RC can do: Slightly alter or enhance the on-board sequence of operation of a room control by temporarily reading or writing to some data points. This includes some physical inputs / outputs and virtual points. What Lua4RC cannot do: Replace the on-board sequence and take control of all the inputs and outputs of the room controller Write points to the BMS or other room controllers

Built-in application vs Lua4RC A Lua4RC script will work in parallel WITH the existing pre-built application. It does not replace it. Lua4RC gives you the ability to override elements and parameters of the built-in control logic.

Lua4RC does not replace the built-in application!

A few examples

A few examples

How to load Lua4RC scripts

How to upload scripts There are two distinct mechanisms available to upload scripts to a room controller. Each has its own particularities: Via USB cable Via BACnet objects Upload script in one file from a PC One-shot operation Stored in flash memory Ideal for standalone applications Maximum file size of 15kB Script runs every 1 second Recommended method Maximum 10 scripts Maximum 460 bytes / script Must be converted to one line script Scripts uploaded with BACnet will override any script uploaded by USB. PG1 to PG10 share variables unless declared as “local” This opens the door to potential issues with end-user, use with caution!

How to upload scripts – USB Cable Requires a standard micro-USB cable and a PC application, available soon on the Buildings Download Center Requires pre-built .lua files available on the download center with the Lua4RC keyword Application also allows to upload custom image, firmware and language files

How to upload scripts – BACnet objects Can be uploaded to BACnet csv objects Uploaded from the BMS Up to 10 scripts running in a single thread Run time for entire thread is 1 second Maximum script size : 420 bytes / script Note: size limitation caused by BACnet string maximum size MS/TP

Lua4RC with SBO BACnet objects Points are discovered as any other BACnet objects. LUA program 1-10 and Lua Parameter (AV25-AV30)

Lua4RC with SBO BACnet objects Note: SBO currently doesn’t allow carriage returns while typing text in the ‘Description’ field. This means the entire script must be placed on a single line. Use semicolons (;) to delimit the various sections. Example: if ME.AO2==nil then ME.MV2 = 1;end; if ME.BV2 == 1 then ME.BO2 = 0;end

How to upload scripts - note Note: It is possible to upload scripts using both methods on the same room controller.The following behaviour applies; 1- A script loaded to any csv BACnet object will override a script loaded to flash; 2- A script loaded to flash will only be available if all csv BACnet objects are empty You cannot delete a script that has been uploaded via a USB cable. If you want to remove a script, you must overwrite it with another script. The script must contain at least comment delimiters ex : --

Lua4RC on the room controller UI

Lua screen 1/3 Lua page 1/3 presents the first 10 lines of a script. The up and down buttons let you browse through the PG1 to PG10 objects loaded by BACnet, each of which can contain a separate script. A script uploaded using the USB cable will show under PG1.

Lua screen 2/3 This page gives the option to run or stop the scripts. Scripts loaded using BACnet cannot be controlled individually. When the Room Controller is started up and a script is loaded, the script is automatically in Running status, shown in the Program status field. If the script is not in Running status, the Program error field will show whether there is an error in the script. If the field shows anything other than No error, there are errors in the loaded script and it will not run. If there is an error or errors, a message explaining the error(s) will be displayed in the Debug log. The Debug log can also be use for printing values from the script. Print results from multiple scripts are concatenated in the Debug log window. The Debug log window can hold a maximum of 78 characters on 3 lines. The Debug log is refreshed every second, that is, every time the script loops back on itself.

Lua screen 3/3 The SE8000 Lua environment offers 6 AV objects that can be used in the scripts. These objects are regular BACnet AV objects and are accessible as such. Their value can also be set in the user interface. The user interface sets the value at the lowest level of priority. It will be overridden by a value set in a script or via BACnet. When the value is overridden, the value’s text will appear red and it will not be possible to change it in the interface. To release the override, the script or the BACnet client must set the value priority in effect to nil. IMPORTANT: Even if the script is not currently running, the AV25 to AV30 variables, if used by the script, will still be overridden and unchangeable by the user.

Examples

Lu4RC existing applications Available on the Buildings Download Center with the keyword “Lua4RC”

Building Lua4RC custom scripts

TVD versus custom scripts SBS Solutions team provides tested, validated and documented Lua4RC scripts for specific needs. Scripts can be loaded by commissioning or project team. These scripts are supported and the library keeps growing. Custom scripts can be written using the Lua API No technical support provided

Lu4RC API Lua syntax and SSL / BACnet naming convention applies. For syntax and operators: http://www.lua.org/manual/5.1/

API, examples tools.switch() Lua interface function switch() Switch function (on-off with deadband) output (0 or 1) = tools.switch ( output, input-expr, off-expr, on-expr ) SWITCH simulates the operation of a conventional ON-OFF thermostat. It also provides a deadband function so an Object does not continuously switch ON and OFF based on a specific value. Usage example ME.BV1 = tools.switch(ME.BV1, ME.AV1, 0, 10)

API, examples tools.scale() Lua interface function scale() This function returns the linear interpolation between two points. The function can also add the offset value to the final result if desired. nResult = tools.scale(input, offset, x1, y1, x2, y2) Usage example nResult = tools.scale(75,0,0,50,100,100) returns nResult = 87.5

API, examples tools.memory() This tool returns 2 values: Used memory Total memory Usage example: a,b = tools.memory() print(a,b)

Script errors and troubleshooting Information available in the Lua Custom Programming Guide

Object priorities

Object priorities By default, the write priority is priority 16, and therefore the internal control is overridden by LUA commands such as “ME.AV25 = 10”. To write to another priority, an array is used (example: ME.AV25_Present_Value[8] = 20). To release this priority, you can set it to nil (example: ME.AV25_Present_Value[8] = nil). To access the relinquish default (the Room Controller’s internal logic application priority), priority 17 can be used (example: ME.AV25_ Present_Value[17] = 30). In this case, make certain that you are not in conflict with the Room Controller’s normal control logic.

Compatibility In order to use Lua4RC, you need to have the following: SE8000/SER8000 with firmware version 1.0.7 and up SER8300 start date code (DC) : 1502 SE8xxx start date code (DC) : 1450 Note: SE8300 manufactured before DC 1450 are not upgradable and will not function with Lua4RC Note: SER8xxx devices that are below 1.0.7 will eventually be upgradable using the upload tool, however not at the moment (as of February 2015).

Final notes Lua4RC brings a lot of added flexibility but has to be used with caution. . For a list of BACnets to read/write to, please consult the BACnet integration guide of the specific Room Controller.