i.CanDoIt® Background
The goal of i.CanDoIt® is to provide a simple and cost effective facility management and remote monitoring solution suitable for use in small sites. The i.CanDoIt® has no site licenses or installation fees. The only software tool needed is a web browser. Multi-protocol support for BACnet, Modbus, and LonWorks are included. The i.CanDoIt® is programmable, even though it is rather powerful without programming.
Control Solutions pondered one particular question while doing conceptual design for i.CanDoIt®. Why, with the availability of advanced protocols like LonWorks, is Modbus still so popular? The answer is simple: Modbus is simple. While providing support for interface of LonWorks devices, we took a lesson from Modbus and decided that we should keep i.CanDoIt® simple.
Conceptually, i.CanDoIt® is a big spread sheet. It is register oriented just like Modbus, even though the registers are accessible in ways other than Modbus. When data is obtained from LonWorks or BACnet devices, or from local I/O, the data is placed into generic registers that are universally accessible to features of the system.
i.CanDoIt® includes data logging, time & date scheduling, and template or rule based alarm processing with email notification and/or I/O activation in response to events. Data logging simply records the contents of registers on a user specified schedule. Scheduling causes register values to be set according to a schedule. The resulting register manipulation may generate network communication with remote devices, control local I/O, or change setpoints for example.
i.CanDoIt® has two levels of programmability. It runs user programs at the server level on a 32-bit ARM processor, and at the I/O level on a high performance 8-bit RISC processor directly connected to I/O. The programming language is PL/i, patterned after PL/1 at the source level, and executing byte code like Java at the execution level. The goal of PI/i was to create a compact compiler with a reasonably safe execution environment, and a syntax with some of the power of C while being simpler than C.
The register oriented spread sheet model of i.CanDoIt® makes it possible for users to write PL/i programs that are independent of protocol. The same program can run on a LonWorks, BACnet or Modbus network with no changes when only register references are used in the program.
The PL/i compiler tools are full self contained within i.CanDoIt and accessible via a browser. Programs can be compiled and sent over the BACnet, Modbus, or LonWorks network to other AddMe III devices that are not web enabled. PC based support tools for working with larger user programs, including external compiler, are free (download from this web site).
The i.CanDoIt® web server includes a large number of predefined web pages for configuration and monitoring. Support is also provided for user defined web pages using HTML and JavaScript. Any of the data registers are accessible to user defined web pages via internal CGI processing of user tags. This allows a fully customized look and feel for the system.