Forum Replies Created
-
AuthorPosts
-
syndrome5Participant
Thank you for this update.
I’m currently working on Alarms with OPC UA. I see that under the scheme there is an eventbox. What’s the process to add a line (here an alarm, and if possible with acknowledgment system) with name, reason etc ?
syndrome5ParticipantI made the release of the actual version with all needed details (status, installation guide for windows & linux).
Available on my Github : https://github.com/syndrome5/KpOpcUA/releases/tag/1.0.0.0
You can use these files for the online demo. You ofc need to deploy an OPC UA server (I recommend node-opcua) with, for this example, a folder called “MyDevice” with one item inside with BrowseName “FreeMemory” and its DataType is Double.syndrome5ParticipantOk I’ll look deeper how is it later, thank you.
Thanks jacklondon.I updated the github, I added the linux compatibility. Follow carefully README steps to make it properly. Also, after tests, I found what and how DLLs must be in the project. So it’s in the repo and explained how to manage them. At this point, normally, you would be able to make your own KpOpcUA without problem and windows and linux.
syndrome5ParticipantAnother question : for the command, you can only make boolean command on/off ? I would like to command the vars with an input (for values ofc) ?
syndrome5ParticipantI need time to make a beautiful release without bug and with all features work. So It won’t be immediately available. Feel free to do it from my Github if you got some time (I prepared the Readme to install it as easier as possible).
syndrome5ParticipantNode-opcua is using nodeJS/JS, not .NET
syndrome5ParticipantI’m on CentOS 7.
I’m using the node-opcua from https://github.com/node-opcua/node-opcua ! I created my little one, and by default you have some interesting informations, like the Free Memory (the data on the last screen tho)syndrome5ParticipantOk It also works on Linux
syndrome5ParticipantI have to check which DLLs are useful or not (because I think I got some mess in my actual folder due to tests), and where should they be precisely.
I hesitate to supply a release version because I’m far away to get this title on the plugin, but I can supply DLLs in other way.Go the my github repo and check README file. As I say, the logic is working well (just start ScadaCommSvc), but the form to manage vars is not ready to be used.
It’s the most minimum possible working OPCUA-plugin. So people can use it, but I don’t recommend to trust on it too much, because I didn’t tested it deeply.
I’ve got a question about the linux working (because I’m trying to make it works on unix system) : how can I see/modify .dat files on linux ?
syndrome5ParticipantHere it is : https://github.com/syndrome5/KpOpcUA
I’m worried for you about DLL needed. There is a great chance that you’ll have some issues because of that. Normally, all libraries must be in the same folder than the DLL KpOpcUA.syndrome5ParticipantFor this project not yet, do you want the actual code on my Github ?
syndrome5ParticipantAt this moment, it doesn’t work on CentOS, I’m on it to understand why.
Also, I had to break the code where you configure vars to make Logic works. So I have to review this and manage save/load file correctly, and also verify all types of certificate work. Another annoying thing is about loading of Opc Ua configuration file (you cannot specify a path, just a name, so you have to place this file next to the exe responsible of ScadaCommSvc. And surprise (or not), it’s a service launched from System32 so files are scattered everywhere).
The code is not the best in my point of view for example about commentary aspect. Need some clean up.
So after that I’ll create a pull request with the filessyndrome5Participant
Ok it works. But the signal system with all KpcLogic.Tag, DataItemInfo & others is too complicated imo.In fact, in KpOpc, we can see on CreateDaSubscr function we’re subscribing our data, and in other hand we got the function OnAddedToComLine with loading DataItemInfos.
> Why don’t just let the plugin creator to manage their vars ? Because all protocols got its specificity, and the “name” and “path” variables are not good here.
For example I created the class “ItemsOPCUA” (like Opc.Da.Items) to subs them, and so I got a Name, a Tree (for example MyServer.MyFolder.MyVar) and others things like update rate. I would like to got a function called “int assignSignal(void)” in order to add an int in my class, and so link easily.Another thing that I found complicated is to manage page on Web Interface, and particularly to add a variable anywhere. To do that, sometimes, you have to edit 3 or 4 scattered files (including Database)… Annoying.
syndrome5ParticipantIt uses .NET Standard partially (I think it depends if you want interoperability). I don’t know if the dedicated functions are using DCOM or not, but I hope/think not.
Anyway I successfully bypassed this problem, but it’s a mess..syndrome5ParticipantI’m trying a lot of stuff, very hard because they use specific configuration/target..
I based all my work on this repo : https://github.com/OPCFoundation/UA-.NETStandard and more precisely on NetCoreConsoleClient.
-
AuthorPosts