Difference between revisions of "Main Page"

From Flowcode Help
Jump to navigationJump to search
Line 36: Line 36:
 
''<span style="color:red;">Flowcode v9 users should refer to the [[https://www.flowcode.co.uk/wikiv9/index.php?title=Main_Page Flowcode 9 wiki]]. </span>''
 
''<span style="color:red;">Flowcode v9 users should refer to the [[https://www.flowcode.co.uk/wikiv9/index.php?title=Main_Page Flowcode 9 wiki]]. </span>''
 
<br><br><br><br><br><br><br><br><br>
 
<br><br><br><br><br><br><br><br><br>
==What is Flowcode==
+
==About Flowcode==
  
[[File:Fc10 what is flowcode1.jpg|right]]
 
 
Flowcode is a graphical programming Integrated Development Environment (IDE) that allows you to develop highly functional electrical, electronic and electromechanical systems for microcontroller based systems and for Windows PCs and tablets.
 
Flowcode is a graphical programming Integrated Development Environment (IDE) that allows you to develop highly functional electrical, electronic and electromechanical systems for microcontroller based systems and for Windows PCs and tablets.
  
'''Flowcode Embedded''' allows you to easily create highly functional programs for popular microcontrollers.
+
Flowcode was first released in 2001 and had the tagline "Allows those with no programming skills to design complex electronic systems", which largely holds true today.  It allowed a user to create flowchart-based programs that could be compiled and programmed into embedded 8-bit PICmicro devices such as the popular PIC16F84 and PIC16F877 without the need to understand C or Assembly languages.  A handful of component libraries for general I/O, alphanumeric LCDs, etc., were included to help speed-up development.
  
 +
Another useful feature of Flowcode was on-screen simulation of the user’s program.  This allowed a user to step through their program on-screen as a debugging aid prior to it being downloaded onto the microcontroller.
 +
However, Flowcode has changed considerably since then, and that is not the only change. 
  
 +
Microcontrollers have become much more advanced and now surpass the power and capability of a typical PC from 20 years ago.  In addition, there has been a rise in the use of single-board computers like the Raspberry Pi.  Flowcode now allows users to develop code to run on a lot of these newer embedded devices and supports a wide range of 8-bit, 16-bit and 32-bit devices such as ARM, Arduino, and Raspberry Pi.
  
 +
Another big change has been the rise of the Internet and IoT (Internet of Things), meaning modern embedded systems can be controlled from and exchange data with a wide range of external sources.  The distinction between an embedded device and a ‘traditional’ computer is becoming increasingly blurred.
 +
 +
To better support these changes and new devices, Flowcode has greatly expanded its component libraries and now supports a wide range of communication protocols, displays, sensors, internal and external peripherals, etc.
 +
 +
Flowcode can also target non-embedded devices.  In 2018 we added “SCADA” mode to Flowcode (since renamed App Developer), which allows the creation of Flowcode-generated apps that run on a Windows PC.  And in 2023 we have extended App Developer so that apps can also be created that run in a web browser – we call this Web Developer.
 +
[[File:About Flowcode1.png|center]]
 +
 +
Starting with v10.1, Flowcode allows the creation of 3 different project types:
 +
* Embedded projects
 +
* PC Developer projects
 +
* Web Developer projects
 +
 +
Flowcode Embedded allows you to easily create highly functional programs for popular microcontrollers.  Flowcode App Developer (which comprises PC Developer and Web Developer) allows you to create applications for PCs, tablets, mobile phones, etc.
 +
 +
'''Typical development process when using Flowcode'''
 +
 +
Users will begin by writing code and creating their project GUI within Flowcode.  Flowcode programs consist of one or more ‘macros’, which can be developed using several different programming systems.  Flowcharts are most used, but other paradigms exist (blocks, code, pseudocode, and state diagrams).  Each Flowcode macro represents an executable function within the user’s project.
 +
 +
During this development process, users can run a simulation to debug their project within Flowcode and ensure it is working as expected.  The user can run their project to execute sections of code, step through their code and into other macros, add breakpoints to pause code execution, etc.  During this simulation, variables within the project can be inspected and their values changed.  Some components in the panels will be interactive and will change during program simulation and allow the user to interact with their running program.
 +
 +
Once the project has been developed and simulated, it can be deployed to the target device.  This will be different for each Flowcode project type as described above.  For PC and Web App Developer projects, the deployed app will behave almost exactly like the simulation.  However, Embedded projects will not simulate all features of the embedded system and so additional debugging will need to take place when the project is running on the target device (e.g., using Flowcode’s Ghost features).
 +
 +
[[File:About Flowcode2.png|center]]
 +
 +
Although describes linearly, this will typically be an interactive process.  Code and GUI will be developed and then simulated, which will lead to additional code development.  Even once the project has been deployed, bugs or unexpected behaviour could be identified leading to more code development.
 +
 +
'''Flowcode deployment processes'''
 +
 +
Deployment describes the process of finalising your Flowcode project and creating the necessary files for it to run on its intended target device.  Once deployed, the project will be running independently of Flowcode and can be shared freely with customers, etc.
 +
 +
The deployed app is generally not editable.  If subsequent changes are required, the originating project must be loaded into Flowcode and edited there.  Once edited, it will need to be redeployed.
 +
 +
For an Embedded project, deployment means creating and downloading an executable program file to the embedded target device.  Typically, the Flowcode program code (user macros, component macros and settings, etc.) is first converted to a C code file which is then compiled using a 3rd-party toolchain.  This process usually produces a .HEX or .BIN file which can be loaded into the target using dedicated programming software.
 +
 +
PC Developer project deployment means converting the Flowcode project to a .MSCADA file which contains information about the component panels, components, and user macros.  This file can be loaded onto other PCs and run using a freely distributable Flowcode Runtime engine.
 +
 +
Web Developer projects are converted to a .HTML file which graphically represents the components on the Flowcode panel and the functionality of the code within user and component macros.  This file can be copied to any device that has a suitable web browser and run locally from there.  Alternatively, the file can be uploaded to a website and accessed remotely from a web browser.
 +
 +
{| class="wikitable"
 +
 +
|-
 +
! Project type !! Target !! Deployment process
 +
|-
 +
| Embedded || Embedded device || 1. Program is converted to C code.
 +
2. C code is compiled (e.g., to a .HEX file).
 +
 +
3. HEX file is downloaded to the target.
 +
 +
|-
 +
| PC Developer || Windows PC || 1. Program is saved as a .MSCADA file.
 +
2. This file can be run on any Windows PC
 +
 +
using the stand-alone Flowcode runtime.
 +
 +
|-
 +
| Web Developer || Web browser || 1. Program is saved as a .HTML file.
 +
2. This file can be opened in a browser on a PC, mobile phone, or other device.
 +
 +
3. The .html file itself can be local to the browser or can be uploaded to a website.
 +
 +
|}
  
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 
 
==[[App Developer|Flowcode App Developer]]==  
 
==[[App Developer|Flowcode App Developer]]==  
 
[[File:Web Barometer Web App.jpg|right]]
 
[[File:Web Barometer Web App.jpg|right]]

Revision as of 13:28, 11 December 2023

Flowcode
Fc-v9-thumb.png
Developer Matrix TSL
Initial release 26/01/23
Operating system Windows 10,11
Platform IA-32 and x86-64
Available in English, French, German, Spanish
Type Advanced graphical programming software
License Proprietary
Website www.flowcode.co.uk


Fc-v9-mainlogo-01.png


Flowcode v9 users should refer to the [Flowcode 9 wiki].








About Flowcode

Flowcode is a graphical programming Integrated Development Environment (IDE) that allows you to develop highly functional electrical, electronic and electromechanical systems for microcontroller based systems and for Windows PCs and tablets.

Flowcode was first released in 2001 and had the tagline "Allows those with no programming skills to design complex electronic systems", which largely holds true today. It allowed a user to create flowchart-based programs that could be compiled and programmed into embedded 8-bit PICmicro devices such as the popular PIC16F84 and PIC16F877 without the need to understand C or Assembly languages. A handful of component libraries for general I/O, alphanumeric LCDs, etc., were included to help speed-up development.

Another useful feature of Flowcode was on-screen simulation of the user’s program. This allowed a user to step through their program on-screen as a debugging aid prior to it being downloaded onto the microcontroller. However, Flowcode has changed considerably since then, and that is not the only change.

Microcontrollers have become much more advanced and now surpass the power and capability of a typical PC from 20 years ago. In addition, there has been a rise in the use of single-board computers like the Raspberry Pi. Flowcode now allows users to develop code to run on a lot of these newer embedded devices and supports a wide range of 8-bit, 16-bit and 32-bit devices such as ARM, Arduino, and Raspberry Pi.

Another big change has been the rise of the Internet and IoT (Internet of Things), meaning modern embedded systems can be controlled from and exchange data with a wide range of external sources. The distinction between an embedded device and a ‘traditional’ computer is becoming increasingly blurred.

To better support these changes and new devices, Flowcode has greatly expanded its component libraries and now supports a wide range of communication protocols, displays, sensors, internal and external peripherals, etc.

Flowcode can also target non-embedded devices. In 2018 we added “SCADA” mode to Flowcode (since renamed App Developer), which allows the creation of Flowcode-generated apps that run on a Windows PC. And in 2023 we have extended App Developer so that apps can also be created that run in a web browser – we call this Web Developer.

About Flowcode1.png

Starting with v10.1, Flowcode allows the creation of 3 different project types:

  • Embedded projects
  • PC Developer projects
  • Web Developer projects

Flowcode Embedded allows you to easily create highly functional programs for popular microcontrollers. Flowcode App Developer (which comprises PC Developer and Web Developer) allows you to create applications for PCs, tablets, mobile phones, etc.

Typical development process when using Flowcode

Users will begin by writing code and creating their project GUI within Flowcode. Flowcode programs consist of one or more ‘macros’, which can be developed using several different programming systems. Flowcharts are most used, but other paradigms exist (blocks, code, pseudocode, and state diagrams). Each Flowcode macro represents an executable function within the user’s project.

During this development process, users can run a simulation to debug their project within Flowcode and ensure it is working as expected. The user can run their project to execute sections of code, step through their code and into other macros, add breakpoints to pause code execution, etc. During this simulation, variables within the project can be inspected and their values changed. Some components in the panels will be interactive and will change during program simulation and allow the user to interact with their running program.

Once the project has been developed and simulated, it can be deployed to the target device. This will be different for each Flowcode project type as described above. For PC and Web App Developer projects, the deployed app will behave almost exactly like the simulation. However, Embedded projects will not simulate all features of the embedded system and so additional debugging will need to take place when the project is running on the target device (e.g., using Flowcode’s Ghost features).

About Flowcode2.png

Although describes linearly, this will typically be an interactive process. Code and GUI will be developed and then simulated, which will lead to additional code development. Even once the project has been deployed, bugs or unexpected behaviour could be identified leading to more code development.

Flowcode deployment processes

Deployment describes the process of finalising your Flowcode project and creating the necessary files for it to run on its intended target device. Once deployed, the project will be running independently of Flowcode and can be shared freely with customers, etc.

The deployed app is generally not editable. If subsequent changes are required, the originating project must be loaded into Flowcode and edited there. Once edited, it will need to be redeployed.

For an Embedded project, deployment means creating and downloading an executable program file to the embedded target device. Typically, the Flowcode program code (user macros, component macros and settings, etc.) is first converted to a C code file which is then compiled using a 3rd-party toolchain. This process usually produces a .HEX or .BIN file which can be loaded into the target using dedicated programming software.

PC Developer project deployment means converting the Flowcode project to a .MSCADA file which contains information about the component panels, components, and user macros. This file can be loaded onto other PCs and run using a freely distributable Flowcode Runtime engine.

Web Developer projects are converted to a .HTML file which graphically represents the components on the Flowcode panel and the functionality of the code within user and component macros. This file can be copied to any device that has a suitable web browser and run locally from there. Alternatively, the file can be uploaded to a website and accessed remotely from a web browser.

Project type Target Deployment process
Embedded Embedded device 1. Program is converted to C code.

2. C code is compiled (e.g., to a .HEX file).

3. HEX file is downloaded to the target.

PC Developer Windows PC 1. Program is saved as a .MSCADA file.

2. This file can be run on any Windows PC

using the stand-alone Flowcode runtime.

Web Developer Web browser 1. Program is saved as a .HTML file.

2. This file can be opened in a browser on a PC, mobile phone, or other device.

3. The .html file itself can be local to the browser or can be uploaded to a website.

Flowcode App Developer

Web Barometer Web App.jpg

allows you to create great Human Machine Interfaces for PCs, tablets and mobile phones using low cost input output boards - locally (USB/Buetooth) or remotely (Wi-Fi, LAN, Internet) using Windows or web browsers.
































Using Flowcode

Detailed glossary style overview of the aspects of the Flowcode environment broken down into relevant sections to aid in finding the knowledge you require to use Flowcode effectively.

Examples and Tutorials

This page contains structured exercises used throughout Flowcode Help section, and further exercises which are not featured in the Flowcode Help structure, these additional exercises range from expanded exercises on camera control and panel navigation to creating, testing, exporting and importing components.

Component Library

List of components which provide detailed information about individual components as well as examples of them in use. The information provided includes component and simulation macro references as well as property references and component functionality.

Flowcode Debugging

Learn how Flowcode can help you debug your programs with a variety of tools and technologies designed to streamline the debugging process.


Simulation Library

Structured overview of the library of Simulation Event macros and Simulation Functions. The information provided includes simulation macro references as well as event triggers and functionality.

Component Creation

Creating your own components in Flowcode gives you massive amounts of flexibility in your projects, this section covers how to create your own components and has some working examples to help.

What's New

This page contains all the new exciting features introduced in Flowcode V10.