Porting Forte. [message #1860266] |
Wed, 26 July 2023 09:17 |
Vadim RTV Messages: 14 Registered: April 2023 |
Junior Member |
|
|
Hi!
I am porting Forte to a new PLC. Questions please help:
1. How many FB blocks can be in a project and how to implement there are a large number of them to view project pages on the screen. A project can have dozens if not hundreds of FBs.
It's not clear from the documentation.
2. Are there any global variables, for example: set point temperature the air conditioning system can be supplied to several FBs, usually a global variable is declared and then it is selected as FB input. Is it possible here and how to do it? I didn't find it in the documentation.
3. There is a small display and buttons on the PLC, you need to make a menu, where settings and parameters could be edited. For example:
- temperature setpoint, fed to the input of the PID controller and available
in the menu on the controller display to change
- address of the controller on the network, a global variable available in all FBs
and available on the display to change
On the basis of what can such a menu and such functionality be implemented?
4. Are there non-volatile variables? On other systems, these are "retain variables".
5. A new FB block, analog output, has been created in the program. The N_AO input connections is given the output number.
In the program, it corresponds to st_N_AO(), printf("%i",st_N_AO()) gives 45940096,
and if you do:
int m=st_N_AO();
printf("%i",m);
That gives the correct value.
How to work with such variables in the program?
6. How to work with CIEC_STRING variables, I want to copy into a regular string char c[] via strcpy, I want to output via prinrf - the first one gives a compilation error, the second one is garbage instead of text. How to copy a part of such a string, compare, printf, merge with another string?
7. Made FB AI analog input, one works, watch shows correctly. Place 3 FB (each contains the number of the analog inputs 1,2,3) plus place 3 FB of analog outputs and connected them so that the values received from the inputs broadcast at the exit. For 3 AO I set watch and it is clear that the values are correct, but when I set watch for AI, then it is set for the first FB, and when installed on the second FB AI gives a message
INFO: T#2436236139045: Connection closed by peer
and 4Diac stops displaying watch.
8. You have to deploy twice to make watch work. The first time does not display anything. Second with "owerwrite" and "watch" - OK. Forte on Windows.
|
|
|
Re: Porting Forte. [message #1860533 is a reply to message #1860266] |
Sun, 13 August 2023 19:13 |
|
Hi,
these are a lot of question. Let me try to answer.
ad 1) we have in general no upper limit on FB instances per project. Performance wise we did tests up to 500k of FB instances. However to make such large projects manageable you need to use hierarchies of untyped as well as typed subapplications.
Ad 2) no there are no global variables. In the upcoming version we will have global constants for configuration purposes.
Ad 3) Not sure how to do the menu and display content but the values that you can set should be made available to the IEC 61499 program via SIFBs.
Ad 4) currently not. Again I guess to address that SIFBs that would write and read from NVRAM would be the right approach in IEC 61499. But I have not yet spent more time on a concept for that.
Ad 5) I'm not totally sure what is happening here. I guess I would need the FB interface and more information. However please not in the current development version this has changed. As I recommended also other users it makes sense to switch 4diac FORTE to the freeze branch and also use 4diac IDE milestone version (https://download.eclipse.org/4diac/updates/milestone/)
Ad 6) Again this improved a lot in the latest freeze branch. There are examples in 4diac FORTE code how to do this correctly.
Ad 7) From the description it is hard to tell what is going on here. However again we fixed a lot on monitoring in the last year.
Ad 8) This was because of a strange UI showing watches wrong. This is fixed in the latest milestone and nightly build versions.
I hope this helps.
Cheers,
Alois
|
|
|
|
Re: Porting Forte. [message #1860660 is a reply to message #1860601] |
Thu, 24 August 2023 09:39 |
|
Hi,
currently we don't have much documentation available on Subapplication. However I hope that our implementation is pretty straight forward. You can create Subapps by either right clicking on the application background. this gives you a new FB shape where you can added in and output pins in the according property sheet. Double clicking on the subapp brings you inside and you can create your fb network there. If you have already some fbs and you would like to put them into a subapp you just select them right click create subapp and 4diac IDE will do all the steps necessary to create a subapp with its interface and the selected blocks inside.
|
|
|
Powered by
FUDForum. Page generated in 0.02910 seconds