I am planning to program an ECU in C to act as an OPC UA client. So far I have been using FreeOpcUa in Python on a Raspberry Pi. Now that I am moving to C, I am looking for equivalent libraries of SDKs for C under Windows 10. I have tried open62541, but I find it difficult to build the libraries for my system. Does anybody have experience with other solutions (open-source or proprietary)? What are the pros and cons of each? Which provider offers the best support? Which one is most interesting cost-wise?
1\$\begingroup\$ poll type questions are off topic here ... please clearly describe a problem you are trying to solve and ask a specific, answerable question \$\endgroup\$– jsotolaOct 12, 2021 at 15:13
1\$\begingroup\$ Isn't that a purely software question? Most here won't even know the abbreviations you used so the question is not very standalone as is it now. Even the libraries you linked to mention that they are OPC UA things but never mentions what does that mean. \$\endgroup\$– JustmeOct 12, 2021 at 15:23
\$\begingroup\$ Maybe some explanatory words to @jsotola 's comment. This site wants to provide information not just for the single person who is asking for it but for all the readers coming years after that. Opinions on what is "good" in some way may change soon. E.g. asking for cost is just a snapshot and will change for sure. Better ask such questions on IRC or other perishable media. \$\endgroup\$– AriserOct 12, 2021 at 15:25
I'm using Open62542 as a client software compiled with Visual Studio 2019 Community Edition since 2019.
The OPC server runs in a CNC lathe machine powered by a Siemens CNC system.
No compiling and building problems at all.
At the very beginning I faced some problems with a Certificate so I turned off encryption in the CNC machine and all started to work just fine.
Inventcom sells an industrial grade C library (client) that costed, back in 2019, about 3000 USD. It worked right away and I think it's very reliable.
\$\begingroup\$ Thank you. Any hints how I can find out if a build process of open62541 was successful or not? I have been able to create some
.hfiles, but they are not the same as the ones required in the tutorials of the official documentation. I have the suspicion that the documentation might be partially outdated. Or can you tell me which header files you are using for your client? \$\endgroup\$ Oct 13, 2021 at 9:59
\$\begingroup\$ I just read the documentation. The building process hasn't changed since 2019 \$\endgroup\$ Oct 13, 2021 at 18:20
\$\begingroup\$ Ok. So how do I know if my building process was successful? \$\endgroup\$ Oct 14, 2021 at 16:00
\$\begingroup\$ You have to know the C language and how to build an application with a C tool chain like Microsoft Visual Studio or GCC. \$\endgroup\$ Oct 14, 2021 at 19:24
1\$\begingroup\$ The second skill I lacked. I found out that "Then open buildopen62541.sln in Visual Studio 2015 and build as usual" means
Build --> Build solutionafter opening the
.slnfile. Thanks for hinting me in the right direction! \$\endgroup\$ Oct 19, 2021 at 13:11