- Posts: 5
- Thank you received: 1
Online Forums
Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.
Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.
Do not use the Contact page for technical issues.
Error
#1) I found the source of the "old" service which as I said was written in NET 4.5, which was barely runnable in my environment.
#2) I decided to rewrite it with .NET6.
After completition, and being run compiled at the new machine - it:
- have no problem with communicating with OPCUA || KEPServer
- reads all the tags that are defined in config
.
I really do not know what is the problem with "old" service nor why after attaching the .der it does not work. Also, If I find time, I will try to debug it locally ....
Anyway - thank You very much.
Kindest Regards
Lukasz
Please Log in or Create an account to join the conversation.
#1 - ok so deducting from your note: the installed versions of the software does not have impact on the application as it got complied driver; if I understand correct.
#2 - last thing that bugs me, comparing the stack of the old machine and new one:
I do not undertand why moving it in 1:1 to new machine there's a problem with running it, as it seems more over the all related software and licenses are installed. I know there may be some differences related to it .....
INFO:
a) operating system:
old: Windows 7 Pro
new: Windows 10 Pro
b) in case of software related PLC:
old: KEPServer 6.4 + QuickOPC 2018.2 (5.53.225.1)
new: KEPServer 6.8 + QuickOPC 2022.63.225.2 + QuickOPC 2018.2 (5.53.225.1) ( I added it too)
c) application:
- from ...exe.config:
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
- dependencies from exe.manifest:
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="OpcLabs.BaseLib.dll" size="6239232">
<assemblyIdentity name="OpcLabs.BaseLib" version="5.52.91.1" publicKeyToken="6FADDCA41DACB409" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>Ze8NQCej/uH1zj7sVjrr5UXWKtHAsQ2E1O6tsxiRJCk=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="OpcLabs.BaseLibForms.dll" size="1959936">
<assemblyIdentity name="OpcLabs.BaseLibForms" version="5.52.91.1" publicKeyToken="6FADDCA41DACB409" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>uQnuJVoF+bu1OVssHDCbkvgQxVkt/xmQgYLzQZIz590=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="OpcLabs.EasyOpcUA.dll" size="8345600">
<assemblyIdentity name="OpcLabs.EasyOpcUA" version="5.52.91.1" publicKeyToken="6FADDCA41DACB409" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>5Gr0t2ord41QCdgEzYTM3njtxbHJYDtln6fslhd4XLM=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
d) certifactes:
OLD: probably generated by app at start=up
NEW: generated manually and moved to proper folders
e) references to KEPServer
OLD: the old KEPSERVER (6.4) - left at the old machine
NEW: the new KEPSERVER (6. - at the same machine as the app referenced by ip
NOTES:
a) I got 2 other services here but written in NETCoreApp,Version=v6.0, and they work fine.
Anyway, I am sure we will rewrite this service with .NET6 or incorporate it into one of the services running sooner or later, but first I need the source code.
Thank You very much for replays and hints.
Kindest Regards
Lukasz
Please Log in or Create an account to join the conversation.
unless you get more information about the exception, I cannot help further. It might very well be unrelated to QuickOPC whatsoever.
Your listing of versions (below) makes no sense to me.
old machine: KEPServer 6.4 + QuickOPC 2018.2 (5.53.225.1)
new machine: KEPServer 6.8 + QuickOPC 2022.63.225.2
If, what you are describing, are versions of QuickOPC installed on the machine using the Setup program, then you should be aware that they are completely irrelevant. For .NET projects, the assemblies of QuickOPC are part of the project output, and thus whichever QuickOPC version your application has been built with, it will stay with it and "carry it" with itself. If your application was built with QuickOPC 2018.2, it is what it will use. It will not use QuickOPC 2022 just because you install it on the target machine.
Regards
Please Log in or Create an account to join the conversation.
Who gives the error? The app?
No information, it comes from the log file of the app
Is there more information to it?
No
I need the call stack of the exception. But are you saying you do not have the source code?
As above, no for now
#1
I got "my quess" when playing with config.json". Is it possible that referencing the tags changed if different versions of KEPServer and OPCUA are used ?
old machine: KEPServer 6.4 + QuickOPC 2018.2 (5.53.225.1)
new machine: KEPServer 6.8 + QuickOPC 2022.63.225.2
I got array of tags to be read in cong.json, if I remove them then error changes:
Empty array .... (of course it is custom programmer error)
I doubled checked the tags entries with definitions in KEPServer and they are correct.
That's all inforamation I got. If I got any new I will update the situation. Probably it will end rewiritting it to .Net6
Have a nice day.
Kindest Regards
Lukasz
Please Log in or Create an account to join the conversation.
a) previous error is gone
b) new error is:
."given key was not present in the dictionary"
I was thinking of it as it is a bit ambigious ....
a) is it app related ?
b) key where ? key of what - certificate (certificate - key ) ?
It is so general that I barely know where to start
Kindest regards
Lukasz
Please Log in or Create an account to join the conversation.
Scenario:
1. I need to move the service to another Windows Machine - Windows 10
2. I moved all necessary applictions like: KEPServerEx, OPCUA Client
3. I moved appliction which runs as service
note:
a) unfortunately I cannot modify the source code, I need to work on what I got complied.
b) the app is based on .NET 4.5.2
Error:
Could not create a certificate via a proxy: Operation finished successfully = Bad.
+ The error occurred while checking the (client) application instance certificate. The certificate generator path was "C:\ExtralPressDataService\Opc.Ua.CertificateGenerator.exe".
More information:
1) I dug the forum and found informaction that the error is due to lack of the certificate
2) I try to issue the certificate manually by "Opc.Ua.CertificateGenerator.exe"
Opc.Ua.CertificateGenerator.exe -storePath "C:\ProgramData\OPC Foundation\CertificateStores\MachineDefault" -applicationName "ExtralPressDataService Press 8.1"
it is ok it generates der and pfx in '.../MachineDefaults"
3) Then import to OPC UA Configuration Manager - Trusted Certs gives warning , gives warning, but it goes through:
4) In Manage Certificates (Opcua config tool), Machine defaults, the certifacte is present
After all of that, the error changed to:
Self Signed Certificate is not trusted. = BadCertificateUntrusted
So the question is: how to issue trusted certificate with 'Opc.Ua.CertificateGenerator.exe' ?
Do I need to add any other specific arguments ? I use applicationName and stotePath ... ?
I really appreciate any hints or help ...
Kindest Regards
Lukasz
Please Log in or Create an account to join the conversation.