tcarlbom - 2024-06-28

This is my first time posting in this forum and I am new to codesys.

I am a fullstack developer and I am trying to figure out how the following.

  1. What would be the best approach to create a own/custom tag browser? Either directly in codesys ide or using a separate custom program (perhaps a winforms application).
    1.a. Shall I parse the .project xml file to get a list of all tags in the project?
    1b. Shall I use python scripting in codesys ide to get a list of tags?

  2. Once one have selected some tags. These tags shall be exposed to a python program which will be acting as a edge computer.
    It’s fine to be able to import a file.
    2a. I found a library called codesys plchandler which (as I understand) acts a rest api server. Is this correct? If so, can I query the api from a custom python script, ie can query what tags exist in project and or read tag values?

My research so far.
From earlier projects I know that using opc ua would be perfect for this but from my opinion it’s bloating the plc since it’s resource intensive. So opc ua is not an option.

Codesys automation server is neat. But I don’t want to rely on some cloud services and subscription based pricing.

There seem to be several interesting codesys libraries like mqtt, tcp server and NVL sender which would help me expose plc tags. But all have a common problem. One have to manually write what tags which will be used in these function blocks.
I want a similar experience like “selecting” tags in the opc ua or the codesys tracing, ie a tag browser.