The CannyLab Integrated software Development Environment is an integrated suite that contains all the tools you need to develop, debug and upload programs for CANNY controllers. The language used to develop programs is our CFD (Canny Function Diagram) visual programming language, based on the Function Block Diagram language.

System requirements

Minimum system requirements for СannyLab operation
Parameter Requirement
CPU type, CPU clock speed: Intel ® Pentium ® 800MHz or faster.
OS: Windows ® 7, 32 bit (x86) or 64 bit (x64), or higher.
RAM size: 2 GB.
Video adapter and monitor: XGA (1024x768) or higher.
Free disk space: 150 MB.
Input Devices: Keyboard, mouse.
USB: 1.1 or higher.

Installation and launch

Integrated Development Environment CannyLab is a portable program. It does not require installation and can be run from removable media. Download the program archive from the website and extract its contents to a folder on your PC or an external drive. Run the file cannylab.exe from the program folder. It is not recommended to launch multiple instances of the program.

User Interface

Main article: User Interface

CannyLab user interface consists of a single window - the main application window.

The main window is divided into the following areas:

  • title bar;
  • menu bar;
  • toolbars;
  • function block panel;
  • workspace;
  • status bar.

Depending on the current operating mode of the editor, some menu items and panels may be hidden or unavailable.

Application window overview.

Working with Files

When working with CANNY controllers, you will interact with the following file types:

  • .cfd function diagram files – programs you will be writing;
  • .ccx firmware files – important firmware for your CANNY controller;
  • .exe standalone executable files – files used for uploading programs and firmware to the controller without the need for CannyLab.

Within CannyLab IDE you can:

  • create, simulate, debug and upload .cfd files into the controller
  • upload .ccx firmware into the controller
  • create .exe standalone files for later deployment, using a .ccx firmware file and, optionally a .cfd function diagram file

Create a new function diagram file

Create a new function diagram file by selecting «File» → «New» in the main menu, pressing the «Ctrl+N» hotkey combination, or by clicking the «New» button on the toolbar.

«New» button.

Open a function diagram file

Open an existing function diagram file by selecting «File» → «Open…» in the main menu, pressing «Ctrl+O» hotkey combination, or by clicking the «Open» button on the toolbar.

«Open» button.

Alternately, you can open a function diagram file by simply dragging it into the workspace.

If you open a diagram file created in an earlier version of CannyLab, you will see a warning message. An additional warning message will pop up if the current version of CannyLab cannot corectly display the information within the legacy file format.

If you make any changes to a new or existing diagram file, the symbol “*” will appear at the end of the file name in the header of the main window. If you’ve made any changes to a file and then try to create a new diagram or exit the program, you will be prompted to save or discard the changes first.

Save the function diagram file

Save a function diagram file under a new name by selecting «File» → «Save As…» in the main menu. A dialog box will appear, letting you set the file name and path.

Save a function diagram file under the same name by selecting «File» → «Save» in the main menu, using the«Ctrl+S» hotkey or by clicking the «Save» button on the toolbar.

«Save» button.

If saving the diagram would overwrite a file created in an earlier message of CannyLab, you will see a warning message stating that it might not be possible to open the file in that version.

Function Diagram Editor

Main article: Functional Diagram Editor

Function diagram editor is the primary operating mode of CannyLab, used for creating, debugging and viewing CFD programs. In the function diagram editor mode, you can:

  • add function blocks to the diagram;
  • move function blocks within the diagram;
  • select and delete diagram elements;
  • add connections to the diagram between the function blocks – networks;
  • add and edit names of networks on the diagram;
  • merge, split and change the configuration of networks;
  • change function block numbering;
  • use constants and controller resource registers as input data sources and output data recepients.

CannyLab Simulator

Main article: CannyLab Simulator

Simulator mode is the secondary operating mode of CannyLab, used for simulating and debugging diagrams without the need for a controller.

In this mode CannyLab simulates the operation of a CANNY controller by performing compute actions on the function diagram that are equivalent to compute actions that would be performed by a controller.

You can simulate the execution of a function diagram at any stage of development. The simulator has a number of functions that help with this:

  • you can run the diagram on a per-cycle basis;
  • you can execute the diagram step-by-step;
  • you can set a number of conditions to suspend the execution;
  • you can force both input and output values;
  • you can set a watchpoint for intermediate value changes.

Note: The current CannyLab simulator version doesn’t support controller hardware resources, so the results of reads/writes from/to controller memory in the simulator may differ from the results obtained when the diagram is executed by a real controller.

Working with the controller

Main article: Working with the controller

You can use CannyLab to upload firmware and function diagrams directly into the controller. This firmware is required for execution of the function diagram, as well as the function diagram itself.

SFX files

Main article: SFX files

You can use CannyLab IDE to create standalone executable EXE files. These files contain controller firmware and a function diagram. They are used for quick and easy-to-follow controller configuration when deploying your programs, as well as for uploading software to the controller. We will refer to these files as software and function diagram upload utilities or SFX files (self-flashing file).