Welcome to i.CanDrawIt® graphical programming
for Building Automation and Facility Management.

i.CanDrawIt® supports hierarchial function blocks. However, because you must manually insert function block numbers into the blocks, and you cannot step through or set breakpoints within a hierarchial symbol, they are less convenient to use than multiple sheet documents. The method is shown here in case you do wish to use it.

Creating a hierarchial function block starts out just like any other drawing. Then to make connections to the drawing within the block, apply labels to the wires that will connect to the drawing this symbol is inserted into.

To add the hierarchial symbol, select "Add hierarchial symbol" from the menu that pops up with you Right-click on the sheet tab at the bottom of the drawing.

Use the drawing tools and pin tool to create the symbol and add connection pins to it. The labels assigned to the connection pins should match the labels placed on wires in the drawing.

Save the *.dsn file containing the hierarchial symbol and its drawing. To place this symbol as a function block in another drawing, select "Insert another design as symbol" from the Special menu.

The familiar file open dialog will appear. There is no difference in *.dsn files between hierarchial symbol designs and other designs other than content. Select a design file that you know contains a hierarchial symbol.

If you happen to select a *.dsn file that does not contain a hierarchial symbol, it will tell you so.

When you select a *.dsn file that contains a hierarchial symbol, that symbol will behave just like any other function block you might have selected from a library. It will be highlighted in red and follow the mouse around. Left-click when you want to place the symbol, and right-click or press escape to drop the tool.

After the hierarchial symbol is placed, you use the wire tool to connect it just like any other function block. When you begin assigning function block numbers (reference designators), you need to assign FB numbers both in the main drawing, and in the hierarchial drawing just as you would for a multi-sheet drawing.

It is also important to point out that the simulator does not trace through hierarchial function blocks. It will execute the code contained within the block, but not step or break at any function blocks within the hierarchial symbol.