Replies: 4 comments 7 replies
-
|
I am happy to hear that 4diac FORTE is working to your satisfaction so far. I have split my answers to your questions into multiple comments below, so that we can have independent threads of conversation if needed. In the future, I would ask you to please keep each issue or discussion on one topic only. This makes it easier for others to find topics of interest to them and join in the conversation. |
Beta Was this translation helpful? Give feedback.
-
I am currently not aware of any performance comparisons between CODESYS and 4diac, but maybe someone else knows of any. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
We already support loading additional types into 4diac FORTE at run time using shared libraries. However, this relies on support by the operating system and is currently only supported on Posix and Windows. If you want to try it out yourself, you can build both 4diac FORTE and your modules according to Building your own 4diac FORTE and then load your modules using the Internally, all types are self-registering themselves in the FORTE runtime, so this should also work regardless of your operating system, as long as you are able to somehow load and initialize the executable code. In other words, you will need a dynamic linker for your particular operating system and target platform. Afterwards, it should just be a matter of how to download the code and pass it on to the dynamic linker. Aside from that, there is also support for a dynamic deployment of FB types using a Lua interpreter, but this is currently defunct. |
Beta Was this translation helpful? Give feedback.


Uh oh!
There was an error while loading. Please reload this page.
-
Dear 4diac developers,
we have ported on our hardware (STM32N6570) the FORTE run-time with ThreadX RTOS and at a first glance it is working satisfying.
I have some question ideas regarding FORTE
Performance CODESYS vs. 4diac FBs
This is more my personal interest, I have worked for more than 13 years in CODESYS development with companies like ABB or Lenze. I know the CODESYS compiler very well, and at least to my last knowledge this compiler is not very performant. Your approch to generate C++ code, which is compiled using a high optimizing g++ compiler, should result in a significant performance advantage when running on the same hardware base. Did you ever made some comparisions between CODESYS and FORTE runtime. As I said in the beginning, this is just a personal interest.
Load FB code during run-time dynamically
In current design state, all FBs are defined in 4diac IDE and the code generator gives a .cpp implementation, which you add to your firmware, so you are able to generate a customer network in the 4diac IDE. From my point of view, an important feature of any PLC is the possibility to download a FB during run-time. since we have .cpp we would be able to compile this code "relocatable" and download this objects into RAM and execute from here. For this use-case the calling inside the FORTE run-time should also have a dynamic mode, e.g. write a pointer list of new FBs after download. My question is: Is there an idea existing to extend FORTE in such a way, and second do you have an idea or estimation how difficult this could be. This is in the current stage not a feature request, but just interesting for me, since this is an important feature for our customer, and I would be happy to have a bried discussion on a community meeting.
4diac Codegenerator as Key-Shortcut or by script
In current version you have to do a lot clicks to run the code generation (Export). Is there a way to do the Export via a key-shortcut or trigger it by a script or something else.
best regards
Volker Wittelsberger
Beta Was this translation helpful? Give feedback.
All reactions