Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4diac IDE and 4diac FORTE interface specification documentation #51

Open
ramo48859 opened this issue Dec 11, 2024 · 3 comments
Open

4diac IDE and 4diac FORTE interface specification documentation #51

ramo48859 opened this issue Dec 11, 2024 · 3 comments

Comments

@ramo48859
Copy link

Hello, there is no detailed documentation how the 4Diac-ide and 4Diac-forte interact with each other.

I am currently working and improving the Dinasore project to be able to use 4diac-ide 3.x.x. It seems that the protocol for creation/deletion etc. changed slighlty.
For example:

  1. The application name is now prepended in front of the function block name compared to the 2.x.x and 1.x.x versions.
  2. Watches returning a string do not work anymore because ''' character must be prepended for 4diac ide 3.x.x.

I couldn't find any documentation on the interface between 4diac-ide and forte (or in my case: a custom python runtime).

So here is my proposal:
Specify and add documentation for the interface between 4diac-ide and runtime.

Also clear things up:
Is it specified in the standard or is it an undocumented interface?

I could help with that but i only can guesstimate based on existing source code how the interface looks like.

BR,
David Märzinger

@azoitl
Copy link
Contributor

azoitl commented Dec 11, 2024

Thx for bringing this up. In general 4diac IDE is very flexible in how to talk with devices. We have a dedicated extension point with which anyone can provide their own device profile. A good example for this is the external plugin by Aimirim on how to interact with UAO devices: https://github.com/Aimirim-STI/4diac-Plugin-UAORT

So if you need your own specific solution you can take our plugin and adjust it to your needs. We are happy to support you with that.

We are also investigating other ways of interacting, for example we have a prototype to use OPC UA and I hope this will be our main deployment and monitoring mechanism in the future.

Regarding your specific problems:

ad 1) the addition of the application name was introduced in order to solve one major issue: if you have several applications mapped to the same resource there could be name clashes. Which was reported by several users in our Bugzilla. Already for subapp content we added the subapp hierarchy to the name so this was the consistent extension to it.

ad 2) This was just wrong before. IEC 61131-3 mandates that STRING and WSTRING literals are always contained in the according quotes. As with 3.0 we are working on improving and correcting our IEC 61131-3 support. This change was necessary on both sides (4diac IDE and 4diac FORTE) to correct this.

However I know that we are currently not very good in communicating and documenting this. So I would be happy to improve the situation. In general our default device interaction protocol is following the https://holobloc.com/doc/ita/index.htm, the monitoring extension is documented our (development documentation)[https://github.com/eclipse-4diac/4diac-documentation/blob/main/src/development/forte_monitoring.adoc].

I hope this helps you.

@azoitl azoitl changed the title 4Diac-IDE and Forte interface specification documentation 4diac IDE and 4diac FORTE interface specification documentation Dec 11, 2024
@ramo48859
Copy link
Author

Thank you for your (lightning fast) reply,

I will look into it. When I am comfortable enough with it, I will try to contribute to the documentation.

BR,
David

@azoitl
Copy link
Contributor

azoitl commented Dec 11, 2024

If you have any further question don't hesitate to ask. Also the Eclipse 4diac news/blog is happy to receive any updates from the Dinasore project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants