CANcreate Software Overview


CANcreate is a GUI and logic generation software used to program HMI Systems embedded CAN display modules. The software allows the user to create both visual elements and the logic that controls them in one tightly integrated package. A visual schematic entry approach means no programming is required, however the option for parallel C-scripting exists, and is a great feature for customizing more complex behaviors. Using the parallel C-scripting simplifies the visual schematic by condensing the size of the workspace (making it more visually appealing). Full design simulation and custom graphics are also supported.

Installation:
  • If not already installed, begin by downloading the latest version of CANcreate found here
  • Next, locate the .zip file in the downloads folder, right-click>Extract All... and select a destination to extract the files by clicking "Browse".
  • Select Desktop>Make New Folder and name it CANcreate. Make sure to check the box show extracted files when complete, then press "Extract".
  • Finally, the CANcreate folder should appear. Double click the "Setup" Windows Installer Package file. If a security warning pops-up, click "Run". If any License agreements pop-up, click "Accept" and the installation will begin.
  • When the installation is complete, the extracted folder should appear (if it does not, simply navigate to the Desktop and open the folder.)
  • To run the software, click on the CANcreate Application file.


Parts Descriptions:
CANCONSTANTSCONTROLDISKDISPLAYFLOPSGATESiOSMATHTIMERS



CAN.png

CANCHANGE -
CANERROR - Use to debug and error check
CANRX - CAN system receiver
CANRX2 -
CANTX - CAN system transmitter
CANTX2 -



CONSTANTS.png
BOOLEAN - Sets connection to Boolean
CONSTANT - Sets a constant variable (Integer Value-Max 32 bit signed)
FALSE - Sets connection to Boolean false
INTEGER - Sets an integer variable (Integer Value-Max 32 bit signed)
TRUE - Sets connection to Boolean true



CONTROL.png

ANALOG560 -
CONFIG560 -
INPUT560 -
OUTPUT560 -
PWM560 -



DISK.png
ERASE
MEMORY - Set, save, and restore value to/from memory address (specify address through MEMORY properties)
MEMORYINDEX - Set, save, and restore value to/from memory (pass a value to the index)
RECORD
TABLE
WRITEFORMAT
WRITETEXT



DISPLAY.png
ANALOGINPUT
BACKGROUND - Sets a background image on display (320x240 max resolution)
BITMAP - Sets image on top of background and is movable over (X,Y) coordinates (TRANSPARENT option in properties)
BRIGHTNESS
BUTTONS
CLEAR
DISPLAY - Shows program output and simulates physical display (320x240)
EXECUTE - Can run an external file saved on SD card
NEEDLE
PAGE - Changes display pages based on numerical input (needs positive non-zero input to select draw page)
PROGRESS
PUBLISH
SOUND
SPRITE
TEMPERATURE
TEXT - Writes text to the display at (X,Y) coordinates (can modify FOREGROUND, BACKGROUND, TEXT, FONT SIZE, and TRANSPARENT options in properties)
TOUCH - Creates area on display that accepts touch input at (X,Y) coordinates
TOUCHCAPTURE
VALUE - Takes in numerical data and outputs it to the display at (X,Y) coordinates when enabled
VERSION
VIDEO
VIDEOINPUT



FLOPS.png
PULSE - Outputs a brief pulse when enabled
SETRESET - Sets or resets a Boolean output
TOGGLE - Toggles a Boolean output



GATES.png
AND2 - AND gate with 2 inputs
AND3 - AND gate with 3 inputs
AND4 - AND gate with 4 inputs
AND5 - AND gate with 5 inputs
BUFFER - Tri-state buffer with active high control
NAND - Functions as NAND gate
NOR - Functions as NOR gate
NOT - Functions as NOT gate
OR2 - OR gate with 2 inputs
OR3 - OR gate with 3 inputs
OR4 - OR gate with 4 inputs
OR5 - OR gate with 5 inputs
XOR - Functions as XOR gate



iOS.png
IOSSTATUS
NOTIFY



MATH1.png
ADD - Adds 2 integer values (top is added to bottom)
AVERAGE - Outputs average of input value based on power property (2^x) where the resultant is the number of samples (EX: 0 = average 1, 1 = average 2, 6 = average 64)
BITAND - AND operation of 2 integers in bit form, used for bit masking to determine whether a bit is set or cleared (EX: 0110 AND 1101 becomes 0100)
BITOR - OR operation of 2 integers in bit form, used for bit masking to determine whether a bit is set or cleared (EX: 0101 OR 0011 becomes 0111)
BITXOR - XOR operation of 2 integers in bit form, used for bit masking to determine whether a bit is set or cleared (EX: 0101 OR 0011 becomes 0110)
BYTETOINT
COUNTER - Increment/decrement value with reset and load functionality (the RANGE property can be used to prevent overflow and maintain a certain set of numbers)
DECODE - 1 to 10 decoder that selects based on integer input
DECREMENT - Decreases integer value
DIVIDE - Divides 2 integer values (top is divided by bottom)
ENCODE - 10 to 1 encoder that outputs integer value
EQUAL - Checks 2 values to be equal and outputs Boolean value
GREATER - Checks top value to be greater than bottom value and outputs Boolean value
GREATEREQUAL - Checks top value to be greater than or equal to the bottom value and outputs Boolean value
INCREMENT - Increases integer value
INTOBYTE
LESS - Checks top value to be less than the bottom value and outputs Boolean value
LESSEQUAL - Checks top value to be less than or equal to the bottom value and outputs Boolean value
MODULUS - Modulus division of 2 integers (top value is divided by the bottom value and outputs the remainder)
MULTIPLY - Multiplies 2 integers (top is multiplied by bottom)
MUX - 2 to 1 multiplexer with active high control
NOTEQUAL - Checks value to be not equal and outputs Boolean value
POWER
SUBTRACT - Subtracts 2 integers (top is subtracted from bottom)
TOBITS - Unpackage byte into bits
TOBYTE - Packages bits into a byte



TIMERS.png
CALENDAR - Get month, day, and year from system clock and real time clock (system clock used for PC simulation and RTC used when executing on hardware)
CLOCK - Get hours, minutes, and seconds from system clock and RTC (system clock used for PC simulation and RTC used when executing on software)
DELAYCYCLE
DELAYOFF - Delay on the falling edge
DELAYON - Delay on the rising edge
TIMER - Outputs a pulse every specified time period; timer is 50% duty cycle, half on/half off (EX: 100ms period = 50 ms on, 50 ms off)
TIMERCOUNTER - Counts up in set range (specify RANGE in properties)

Add Discussion