Hardella is an IDE for programmable logic controllers (PLC). The main aim is to provide reasonable ST (61131-3) support (autocomplete, refactoring, etc). The IDE is based on JetBrains MPS and mbeddr.
Just grab the latest version here: https://github.com/vlsi/ide61131/releases/latest
To update previous version, you can download "update...zip". For instance, Hardella-update-from-143-win.zip
would update 143 or newer to the relevant release version.
Hardella's user forum is hosted at google groups: https://groups.google.com/forum/#!forum/hardella-forum If you have questions, please feel free to post a message or file an issue
In order to run Hardella, Java 1.8+ is required. Grab one here: https://www.java.com/en/download
Hardella is a free product. You can use it as you wish, hover if you like, please consider donating some money to support the project. Here are the ways you can donate money:
Yandex.money: http://yasobe.ru/na/hardellaide or https://money.yandex.ru/to/410013031807962
Paypal: https://www.paypal.me/VladimirSitnikov
- Creating new project: https://youtu.be/zCULGT3yZwA
- Pointers: http://recordit.co/U6TTCkqOI4
- Arrays, structs, enums: http://recordit.co/ijjFqJuiZv
- Integration with CoDeSys: http://recordit.co/xzAv3BGlzS
- Library imports: http://recordit.co/kSuJuPbMSA
- Find usages: http://recordit.co/rx38caMeIA
- Rename variable: http://recordit.co/g1qQlwj1Co
- CFC diagram: http://recordit.co/2Itr7umnlo
PROGRAM PLC_PRG
variables:
input in : BOOL;
output v1 : BOOL;
input v2 : BOOL;
superStruct : ARRAY[1..8#34] OF BOOL;
tik : TON;
ton : F_TRIG;
a : WORD;
q : COMPLEX;
body:
IF TON(IN := a.4, PT := T#4s).Q THEN
v1 := TRUE + BYTE_TO_BOOL(2);
v1 := TRUE;
v1 := TRUE;
END_IF;
superStruct;
END_PROGRAM
This IDE is distributed under terms of MIT license.
- Download Hardella sources (e.g.
git clone https://github.com/Hardella/ide61131.git
) - Download dependencies:
./gradlew downloadDependencies
- Download MPS 2018.2.+ (see https://www.jetbrains.com/mps/download/ )
- Open ide61131 project in MPS
Next:
- MPS updated to 2018.2.5
v1.7.2: 16 June 2017
- Fixed: variable initializers are executed in PRU programs
v1.7.1: 6 May 2017
- Fixed: compilation errors when project is stored in a path with spaces
- Fixed: remove unused variables in generated PruMemoryTransfer program
- Fixed: added a compilation error when FAST_INPUTS is used in PRU1 program (only PRU0 programs can access fast inputs for now)
- Fixed: PRU_ABZ_ENCODER.initialOffset was renamed to positionOfLastZ
- Fixed: support for VAR_IN_OUT (for PRU and for CoDeSys)
- Fixed: PRU1 programs (init, memory read/write) will not run if PRU0 init was skipped
v1.7.0: 20 March 2017
- Fixed: PRU-host communication (it was broken in 1.6.2)
- Fixed: PDM_DW output was inversed
- New feature: PRU cycle statistics (duration of the PRU program, and duration of PRU cycle)
- New feature: comments after
IF
,ELSIF
, etc
v1.6.2: 24 January 2017
- Case-insensitive mode for autocomplete
- Removed extra braces from
NOT
expressions - PRU:
MemoryTransfer
programs was split intoMemoryRead
andMemoryWrite
- PRU:
pruAccessLib.lib
is no longer required
v1.6.1: 25 December 2016
- Arguments are no longer red when replacing one FB call with another (e.g. TON(...) -> TOF(...))
- Implemented automatic updates, so updates will be small and fast
v1.6.0: 19 December 2016
- Both PRU cores can now be programmed. You can freely control 4 fast outputs and 2 fast inputs
- Standard library is improved. For instance, there's a block for step motor control, a block for ABZ encoder, and several others
- hardella.com has been launched
EXIT
statement was added, so you can break loops early- Autocomplete menu now includes variable comments
v1.5.0: 27 October 2016
- Support for TI AM1808 PRU code generation
v1.4.0: 12 June 2016
- New project name and logo. Great thanks to Sasha Karachinsky for the artwork.
v1.3.0: 30 April 2016
- New project wizard: https://youtu.be/zCULGT3yZwA
v1.2.0: 15 February 2016
- Simple CFC editor
v1.1.0: 14 February 2016
- Array, struct, enum: typesystem, initializers
- pointers: ADR, ^ dereference
v1.0.0
- Proof of concept release
Vladimir Sitnikov sitnikov.vladimir@gmail.com