Online Help
Online Help
Problems? Rescue pages start here.
Frequently Asked Questions
Tutorial Links
and demo webs
Configuration Tool
Cross Reference
Links to Other Tools




Most commonly requested information
and frequently asked questions

More FAQ: Data Center FAQ
Do you offer training on-site or at the factory?

Documentation

Where do I find User Guides or Manuals?
Where do I get data sheets?
Where do I find XIF files?
Where do I find SNMP MIB files?

Trouble Shooting Questions

You will find these on the Online Help page

Configuration Questions

How do I configure a LonWorks Babel Buster?
How do I configure a Babel Buster SP?
How do I configure AddMe II?
How do I configure LonWorks BAS-700 Series I/O?
How do I configure i.CanDoIt Modbus I/O?
How do I configure i.CanDoIt SNMP I/O?

General Technical Questions

Other Questions

Where do I find sensors?
Are Plug-ins available for use with AddMe II, Babel Buster, or Flex?
What if my question is not listed here?

Where do I find User Guides or Manuals?

User guides may be downloaded in PDF form. The links are generally found on the page showing the product for which the user guide is desired. The master list of all available user guides may be found on the Downloads page. We provide a hard copy of the applicable user guide at no extra cost with a customer's first order. After that, additional hard copies are available with orders by request only to avoid wasting trees and filling landfills.

Where do I get data sheets?

Data sheets may be downloaded in PDF form via links found on various pages. A master list of all available data sheets is found on the Downloads page. We do not actually publish hardcopy of data sheets. If hardcopy is required, we simply print a copy of the pdf file.

What is the difference between PL/i and Script Basic?

PL/i is a structured language that requires the use of begin/end blocks and also supports the use of structured variables similar to C++ or Java. Basic is not structured, and its variables are limited to numbers and character strings, or arrays of those. Basic is more "free form" and considered easier to use by someone already familiar with Basic.

PL/i compiles to byte code similar to Java. It executes with good efficiency. Once compiled it cannot be reverse compiled, thus providing protection of your source code. Basic is semi-compiled, an approach common to Basic implementations. Programs are stored only in source form. When run, they are loaded and semi-compiled, then executed by interpretation. This means startup time is much longer for Basic than for PL/i.

The other advantage of PL/i is that it is compact enough to be used not only in server based products, but in simply I/O products as well. Generally the same program that runs on an AddMe III programmable I/O device will run on an AddMe III server.

The disadvantage of PL/i, which only applies in certain applications, is that it does not deal with character strings. It is strictly a control language that expects to operate on numerical values found in Modbus registers, BACnet objects, or numerical LonWorks network variables. Basic has full string manipulation capability, which is of use in applications where the device is communicating via the serial port with some ASCII device. Basic also has the ability to open a TCP socket, and that capability combined with string manipulation, allows one to write a web client in Basic (although this is not for the amateur).

Where do I learn about PL/i?

The online tutorial about the PL/i language (Programming Language for i.CanDoIt) starts HERE. Information about the PL/i simulator/debugger starts here.

Where do I learn about Script Basic?

You can download the compiled help file for Script Basic HERE. English was not the first language of its author, and the author also made assumptions about already being familiar with Basic at some level.

Why do you have two different languages?

We started with Basic, but realized it was not very efficient as a control language, and certainly not compact enough to run on simple I/O devices. Therefore we went to work creating PL/i with the help of a computer language expert. We had two objectives: (1) It must be a structured language and support structured variables; (2) It must compile to compact byte code similar to but much leaner than Java.

Why then did we bring back Basic in certain products? Because we realized a need to support proprietary ASCII serial devices, and a need to support character string oriented applications especially in a server environment. We therefore provide Script Basic in the i.Board family, in certain variations of AddMe Jr., and in the Babel Buster SP Custom.

Can I upgrade firmware in a Babel Buster?

Yes. Download the applicable BBimages.zip file from the Downloads page (or other Babel Buster pages). If you have already downloaded the Babel Buster configuration tool, look for the link to (or click here) "doing a Babel Buster firmware upgrade" at the bottom of the tool help home page. The images.zip file includes APB and XIF files needed by LonMaker, and NXE files needed by NodeUtil.

NOTE: If you are changing configuration, i.e. you are changing the mix of inputs versus outputs, DO NOT use NodeUtil. It will reload the firmware, but will not reprogram the network variable configuration table in the Neuron Chip. To reconfigure the mix of inputs to outputs, you must use LonMaker to reload the application image.

Where do I find connector pin-outs?

Connector pin-outs can be found in the user guide for the product in question, with the exception of server based products. All available user guides are available on the Downloads page. Connector pinouts for server products (such as AddMe III or i.Board) can be found on the Hardware Guide page of the web site in the device. You can find a demo copy of those web sites at www.csimn.com linked from the page describing the respective product.

Where do I find power consumption data for i.CanDoIt BAS-700 series boards?

Power data is available here. Total power consumption for a system will depend on the configuration, or mix of I/O boards. This data will allow you to total up the power and apply a formula to account for power supply efficiency in converting 24V to 5V.

How do I configure a LonWorks Babel Buster?

All of the configuration is done through LonMark standard configuration properties. Any network management tool that can process SCPTs (Standard Configuration Property Types) in a CP file using direct read/write file access can configure Babel Buster 232, 485, and 10/100 (Babel Buster SP is not LonWorks).

LonMaker can readily configure Babel Buster. Simply right click on the device or function block, and select Browse or Configure from the popup menu. The LonMark Object Plug-in you access by clicking Browse will display all of the configuration properties in a spread sheet format. Change the properties by clicking on the property and entering a new property in the edit window at the top of the dialog window. You will need to have a copy of the Babel Buster user guide in hand while doing this to review explanations of what the properties do.

The easiest way to configure a LonWorks Babel Buster is to use Control Solutions' stand alone configuration tool. This tool presents a view of the various configuration parameters in a somewhat intuitive manner, and restricts input to valid entries within the context of the application. Links to tools may be found on the respective product pages.

How do I put the Modbus registers into Babel Buster?

The first part of the location property, SCPTlocation, is used to identify the Modbus register. The use of the location string is defined as "...sets descriptive physical location information for the associated functional block...". Modbus unit number and register number are regarded by Babel Buster as part of the physical characteristics that identify the location of the source or destination of the data.

The location string is a simple ASCII string such as "5U40001@Room 214". In this case, we are referring to Modbus unit 5, unsigned 16-bit, holding register #1, with a documentation label of "Room 214". If using LonMaker, simply type in the entire string as shown in this example. If using the Control Solutions configuration tool, the register information is broken down into individual elements for convenience, then automatically assembled into a string when written to the Babel Buster.

How do I configure a Babel Buster SP?

All of the configuration for Babel Buster SP is done through the web site contained within the Babel Buster SP. Each page in that web site has online help right there. To view a demo version of this web site, get a copy of the Web User Guide, or see more information in general about product, go to the Babel Buster SP page.

How do I configure AddMe II or AddMe III for LonWorks?

All of the configuration is done through LonMark standard configuration properties. Any network management tool that can process SCPTs (Standard Configuration Property Types) in a CP file using direct read/write file access can configure AddMe II.

LonMaker can readily configure AddMe II. Simply right click on the device or function block, and select Browse or Configure from the popup menu. The LonMark Object Plug-in you access by clicking Browse will display all of the configuration properties in a spread sheet format. Change the properties by clicking on the property and entering a new property in the edit window at the top of the dialog window. You will need to have a copy of the AddMe II user guide in hand while doing this to review explanations of what the properties do.

The easiest way to configure an AddMe II is to use Control Solutions' stand alone configuration tool. This tool presents a view of the various configuration parameters in a somewhat intuitive manner, and restricts input to valid entries within the context of the application. Links to configuration tools may be found on respective product pages.

How do I configure LonWorks BAS-700 Series I/O?

The most important configuration property in a Flex 56 or Flex 60 system is the SCPTlocation string which includes an identification of the board slot and channel number for each object. An example would be "B1;C3;Room 214" which identifies this object as belonging to board slot #1, channel #3. The object index and NV type determine whether this is an analog or discrete point, and whether a hardware input or output.

LonMaker may be used to configure Flex 56 or Flex 60. A stand alone configuration tool is not available as of this writing, but will be posted on the Flex 56/60 page when it does become available.

How do I configure i.CanDoIt Modbus I/O?

All of the configuration for i.CanDoIt is done through the web site contained within the i.CanDoIt. Each page in that web site has online help right there. To view a demo version of this web site, get a copy of the Web User Guide, or see more information in general about product, go to the i.CanDoIt Modbus page.

How do I configure i.CanDoIt SNMP I/O?

All of the configuration for i.CanDoIt is done through the web site contained within the i.CanDoIt. Each page in that web site has online help right there. To view a demo version of this web site, get a copy of the Web User Guide, or see more information in general about product, go to the i.CanDoIt SNMP page.

What Modbus function codes are used to read/write registers?

The following function codes are recognized by Babel Busters. When configured to be the master, Babel Buster will send requests using the function codes shown under Master. When configured to be a slave, Babel Buster will respond to function codes shown under Slave.

Master (client) . Slave (server) .
Function Code Register Type Function Code Register Type
1
Read Coil
.
.
2
Read Discrete Input
.
.
3
Read Holding Registers
3
Read Holding Registers
4
Read Input Registers
.
.
.
.
6
Write Single Holding Register
15
Write Multiple Coils
.
.
16
Write Multiple Holding Registers
16
Write Multiple Holding Registers

Note: Prior to software version 1.3, function code 6 was not recognized by Babel Busters operating as a slave. Only function code 16 was recognized for writing holding registers. V1.3 and after also recognize function code 6.

What are the Modbus addresses for the registers?

You need to get these from the manufacturer of the Modbus device. There is no equivalent of an XIF file for Modbus. The register map will exist in the form of documentation you need to obtain from the manufacturer. If you find somebody that knows what Modbus is, they should also know where to find the "Modbus register map".

Once you get your hands on the documentation, the next trick is interpreting it. Some high percentage of the time, all of the registers will simply be holding registers. When this is the case, registers may be documented as starting from zero, starting from one, starting from 40001, or starting from 400001.

It is common to document registers starting at #1, but this becomes address 0000 over the wire. Technically, "by the book" or per spec, addresses only start at zero. But their "references" are commonly documented as starting from #1. If you don't get the response you expect at the address you think you should, try that address plus one and that address minus one. This will rule out the zero versus one issue.

The address range applies to each type of register, and one needs to look at the function code in the Modbus message packet to determine what register type is being referenced. To simplify documentation, an old defacto standard widely recognized as Modbus is also used in Babel Buster. This defacto standard uses the first digit of a register reference to identify the register type. A less useful aspect of this defacto standard is that register references use a 1-based index while addresses use a 0-based index.

Register types and reference ranges recognized by Babel Buster are as follows:

0x Coil 00001-09999
1x Discrete Input 10001-19999
3x Input Register 30001-39999
4x Holding Register 40001-49999

Translating references to addresses, reference 40001 selects the holding register at address 0000. The reference 40001 will appear in documentation and is used to define the Modbus register in the location property of the functional block. The address 0000 will be transmitted in the message packet. Addresses are often not directly used by the application or the user.

Note that only holding registers are contained within the Babel Buster when it is accessed as the slave. In the case of an RTU to TCP gateway, RTU coils, discrete inputs, and input registers will be mapped to gateway holding registers.

The LonWorks gateways (Babel Buster 232, 485, 10/100) require that you define its internal holding registers (accessed when Babel Buster is a slave) in the 40001-49999 range by setting SCPTlocation accordingly. Babel Buster SP and i.CanDoIt support a larger register count and assigns these starting at reference #1 (address 0). Since the i.CanDoIt and Babel Buster SP embedded web interface provides ample room for configuration parameters, you select register type from a drop down list, and all references for all register types start at #1. The LonWorks Babel Busters only have a single ASCII string to identify a register, so it becomes useful to make the register type implicit in the register number.

Complete specifications for the Modbus protocol may be found at www.modbus-ida.org.

Where do I find XIF files?
Where do I find SNMP MIB files?

These are typically found in a link on the page showing the product that the XIF or MIB file belongs to. Most often it will be under the More Info icon in the left side button column. All of the available XIF and MIB files are also available in the download master list on the Downloads page.

How do I restore a Babel Buster to factory default configuration?

The zip file containing the Babel Buster configuration tool also contains several BBxxx_Mfr_Default.xml files. The 'xxx' is the model number you wish to restore. Open the tool, connect, and click Get ID but do not click Get All CP's. Instead, click Read CP's from File, and select the xml file pertaining to your model number. Now click Send All CP's, and wait for the process to finish. When done, you need to click Reset. If the device does not return to the normal online state, see "What the flashing LEDs mean" in the configuration tool help pages.

Are Plug-ins available for use with AddMe II, Babel Buster, or Flex?

Yes. Read on!

Which Plug-in do I use with AddMe II or Babel Buster?

The only plug-ins needed are already included in LonMaker. Select either "Echelon LonMarkObject Browse" or "Echelon LonMarkObject Configure" from the plug-ins list when you right click on the functional block associated with the AddMe II or Babel Buster. The network variable and all of the configuration properties associated with the object will be displayed in spread sheet format and allow online changes to be made to those properties.

Wouldn't a Control Solutions Plug-in be better than an Echelon Plug-in?

Both AddMe II and Babel Buster use strictly standard LonMark Standard Network Variable Types. There are no user network variable types or user functional profile templates. Therefore everything you can possibly do with AddMe II and Babel Buster can be done with the plug-ins already built into LonMaker.

Why not use the LonMaker Plug-in Wizard?

We did. Because the Wizard is limited to Visual Basic, the user interface was much more cumbersome than the plug-ins already available in LonMaker. We didn't think anybody would be impressed by a plug-in that made the job more cumbersome, and therefore decided not to release them.

Will there be any Control Solutions Plug-ins?

Our goal would be to write plug-ins with a better user interface in Visual C++. Since that involves doing quite a bit more work, we are not making promises for a release date. In the mean time, we discovered that plug-ins would not be of any use to a good portion of our customer base. Therefore we focused our efforts on easy, useful stand-alone tools instead.

Where do I find sensors?

Control Solutions does not sell sensors. You can get these from many different sources. One well known source in the HVAC industry that we can suggest is Automation Components, Inc. (www.workaci.com) ACI's 10K/AN is the same as 10K Type III, and 10K/CP is the same as 10K Type II.

What if my question is not listed here?

Send your question to support@csimn.com. At the very least, we will reply to your email. If it's a good question, we may add it to this page. Or use any of the available means indicated on the Contact Us page to get your question to us.