The BrightCore Builder is a program used for administration, commissioning of supported networks, mapping variable interactions, commissioning of CoreLets into the system, creating and editing the main BrightCore M2M.NOS configuration and design of object interaction business logic.
The mapping of variables to objects and objects to objects. The object definitions and everything vital to the functioning of BrightCore M2M.NOS is configured in the BrightCore Builder.
The BrightCore Builder includes a vector graphics editor for creating interactive graphic representations of variable data. The graphics are handled in BrightLets by the Shell, which has a built-in vector graphic engine. The entire system has a well-defined encapsulated core and it is completely extendable to be sufficiently versatile for today’s continuously changing market demands.
As any other document-editing application, the Builder has the usual New, Open and Save commands. However, the Builder also has a Deploy command, which transfers the configuration to a running Core server which in turn notifies all other system components of the configuration change. In this way you can fine-tune your system in edit-save-deploy cycles. Some of its features are highlighted here.
The variable-to-object and object-to-object mapping is done through straight forward drag and drop. The program has an interactive error and warnings list to help keep track of empty or invalid mappings.
Graphic view plug-in
The graphic view plug-in is used to display interactive vector graphics. They are interactive in the sense that they can graphically react to changes in object values during the operation of the system.
Time chart plug-in
The time chart plug-in is used for displaying object values on a chart with time on the domain axis. A time chart can have one or more plots. Each plot can have one or more data sources and one or more range (vertical) axes which can be on the left or right hand side of the plot.
The Scheduler plug-in is used for designing scheduled behavior of different devices through addressed object values which could be triggered depending on the setup or event from some 3rd party application.
The whole system is based on the tree-shaped object structure. A new configuration contains only a root location in the object structure. The root location has a default name "System Root". You can change it by selecting the location node and pressing Enter or by selecting the Rename command from the location's context menu (right mouse click).
Selecting the location context menu's Add Component sub-menu displays what kind of components can be added to a location. Other locations can of course be added which allows us to create a tree of locations. You can also add:
A BrightCore object is an information processing entity. It has various inputs and a value which can be a result of those inputs. The inputs can be linked to variables or other objects...
Actuators are used to set network variable values. This is for advanced users.
Plug-ins, as a BrightCore feature, are used for the incorporation of additional third-party pieces of code. Plug-ins are essentially pieces of system information which are only used by BrightLets and CoreLets, but are shared by all BrightLets or CoreLets, so it makes sense to configure them in one central place. Since the Builder is already used to configure other central system properties, it was logical to enable the Builder to edit plug-ins as well. The desired feature is for the Builder to be able to load any plug-in (a third-party piece of compiled Java code, i.e. CLASS or JAR files).
It is a tree section which holds the system's BrightNodes and their control network structure. You can add new BrightNodes with the Add BrightNode command.
If you click on an edit/view node in the Control Networks or System Structure tree, the component will open for editing in the Component Editor. At the top of the editor is the current component's full path which when clicked selects the component in its tree.
Errors & Warnings
Is a list of possible pitfalls in the configuration. A double-click on an item in this list will open the component with the error or warning in the Component Editor.
The class editor window is divided into three sections: properties, interface, and script.
The Properties box contains some standard class properties. The class name, the Stored and Read-Only properties and the class icon. The Stored and Read-Only property values only determine the default setting of these properties when an object of that class is instantiated. All for example Alarm objects will, when created, have their Stored and Read-Only properties set to true. You can still change those object properties later in the Builder's Component Editor for that specific object. The object's icon is by default. You can set your own from the file system by pressing the ... button.
The Interface box contains the table where all the interface items are defined. You can add, delete or move items by the tools on the left-hand side of the table. The "name" column specifies the interface item's name which must be used when referencing the item in the script code. The "type" column specifies the type of the item - one of Boolean, number, text or expression. The first 3 specify that the item will be a constant (set in the Builder's Component Editor, and unchangeable during the system's operation) and the last specifies that the item is an expression and will be edited in the Component Editor as a mathematical expression with common operators (+, -, <, >, etc.). The "default value" column specifies values which will be automatically filled in for constants when an object is created. There is no need to set a default value for an expression item.
The Modbus TCP/IP BrightNode supports Client connections as well as Server connections.
The MBN node contains an internal database that consists of areas for application data, status information, and configuration information. For access to Modbus registers or statuses (Coils & Input Discrete) function of conformance class are used: “0” (Read Multiple Registers, Write Multiple Registers) and “1” (Read Input Registers, Write Single Register, Read Coils, Read Input Discrete, Write Coil). When accessing a certain register it is possible to determine the read function which is supported by the device. Registers and statuses could be read in groups for efficiency purposes. The node supports active data reading and writing with Modbus TCP/IP compatible devices.
Modbus Template Editor
Modbus devices are added to the BrightCore Builder using templates, which are created by the BrightCore Modbus Template Creator. Once the template is created it can be used every time a particular device is needed.