OPC UA Server (PK controller) setup

I've not used OPC UA before. I am setting up a server on the PK for a PLC to read and write. I understand i need to generate a certificate for the PLC. Then, I need the PLC to generate a client certificate and i will import that. But, I don't know how to configure or do anything signal wise. I read in one spot that when enabling OPC UA, it creates an address space for every module in the controller?  So, how does the client know what address space to use. How do I see that? Is it customizable?  Does the address space essentially contain every parameter that is valid?  Then I just have to give them the parameters to read and write to?

When i use Matrikon Data Manager, I have the OPC.DeltaV.1 server that i can navigate, but I don't know if that is the same path that is going to show up for the PLC client.

Thanks

  • Yes, you will find something similar when using any OPC Client to read from the PK, with the three sorted as per the CM's you have defined in the PK, and within each CM similar structure of data...
  • In reply to Inocencio Perez:

    Okay, so what you are saying is that we exchange the certificates. The connection is made.. and the PLC will then see this. Okay, then I think it should be trivial for them to find the actual path as long as i supply the Module/parameter?? I'm not sure what you mean by "CM". I haven't "defined" anything in the PK...... Oh, did you mean "tree sorted"?? I read "three".. Okay, so you are saying the tree will be sorted based on the control modules i've defined. That makes sense. I'll just give them the parameter paths. However,they will be very happy if i was able to define the entire path. If we have only the parameter path and not the server name, etc. then they will still have to modify their plc map after we get the connection established. Is there any way i can see what that path will look like on their end?
  • In reply to TreyB:

    CM=Control Module

    Address will be something like XV001/EDC1/OUT_D.CV or TIT101/AI1/OUT.CV or similar, depending the data you want to access.

    Of course you will need to provide the IP and the Endpoint URL, but I think that's all. With that they should have access to that tree of data...you shouldn't need any other information about the path Thinking

  • In reply to Inocencio Perez:

    Okay, i think i understand. I was trying to use the Proplus OPC UA Client and set up a connection, but i don't think the server works that way, it probably requires a physical connection. Do you know .. if I'm using the OPC UA Client on the Proplus, what physical port would i use? I understand how to setup the IP and port for the server on the PK, but if I was talking to a PLC that had a server and wanted to use the Proplus Client.. what would that look like?

    In the end, this is just me wanting to learn and play since i don't have anything else to test stuff out with, so I think i'm good with the information i have in terms of setting up the PK server.
  • In reply to Inocencio Perez:

    Okay, i think i understand. I was trying to use the Proplus OPC UA Client and set up a connection, but i don't think the server works that way, it probably requires a physical connection. Do you know .. if I'm using the OPC UA Client on the Proplus, what physical port would i use? I understand how to setup the IP and port for the server on the PK, but if I was talking to a PLC that had a server and wanted to use the Proplus Client.. what would that look like?

    In the end, this is just me wanting to learn and play since i don't have anything else to test stuff out with, so I think i'm good with the information i have in terms of setting up the PK server.
  • In reply to TreyB:

    TreyB, setting up the certificates is the biggest change between OPC DA and OPC UA/DA. I used the Pro Plus client to get a trial run on setting up a client.  This keeps it all in the family.  You have to generate certificates for the client and the server, and then load these in each so they can validate.  When I first set this up, I don't enable encryption and use anonymous until everything is working.  And note that you have to match your encryption settings on both the client and server.  I would not bother configuring signals until you've resolved all the set up issues; URL, certificates, encryption, user etc.  

    In the OPC Client of DeltaV (PropPlus or EIOC), you configure LDT's and signals.  If you don't have an SI Key, you will need OPC UA Client tags(One per Signal) for the UA Client.  So setting up a test may not be possible without this license.  If you have an EIOC, the configuration is the same (LDT/SIgnal) but licensing is with IO DST, one per LDT.  OPC UA Client tags are fraction of IO DST, in case you're wondering.

    The OPC UA client you are working with on the PLC Side should support a browser, and if so, that is the best way to set up your first signal.  That will solve all you syntax issues and hopefully you can bulk edit the signal references, as browsing can be slow.  

    Anyway, here is an image of the OPC UA client signal from the DeltaV OPC UA CLient

    notice that the referenced path "ns=2;s=0:LIC1-100/PID1/PV.CV" is referred to as a Node Id, and the OPC Client assigns this to a Signal Tag in DeltaV.  Terminology changes in OPC UA from Group/Item to Node Id.  Anyway, this uses the DeltaV Module/block/parameter.field syntax but with some prefix information.  The ns-2;s=0: seems to be consistent on all the signals I created, but I don't know its significance.  If your third party client can browse that should confirm the syntax and any added characters in addition to the parameter path in DeltaV speak.  

    You can also download a free OPC UA tool like UAExpert, which would give you the ability to explore/browse the PK controller OPC UA server and correlate to what your PLC Client is showing.  Should all be the same.

    Andre Dicaire

  • In reply to Andre Dicaire:

    Yeah, so i've done all that, as far as i can tell. I have generated the certificates and added them to the server and client, matched the endpoint URL, copy and pasted... Anonymous login for both. I can't find anything else but when I browse online to add signals to the LDT, i get nothing, it's just blank. Yes, i have an SI key, so licensing should not be an issue.

    Side note. If i were to use the Proplus as a Client. What network does the PLC need to reside on?? Would i have to setup the 4th NIC for that? Because I can't have it on the ACN primary or secondary and don't want these devices on my plant network.

    I'm going to look into that OPC tool, thanks for the recommendation. That should help, but i was hoping I could just use the Proplus to achieve the same thing. I must be missing something.

    Again, i'd like for them to be able to setup all the tags prior to the devices being networked. We won't have the kind of support to have someone browsing and building their client on site. So, i want to have that syntax established so ideally the PLC ships with the programming already in place.
    Thanks
  • In reply to TreyB:

    Hi Trey, I'm having the same issue when I browse it returns nothing. I'm running OPC UA client on the Proplus, imported the client certificate from the Kepserver, using anonymous for encryption. The cert was exported from the Kepserver and seems to be valid. Connection is through the plant LAN. I ran a test-netconnect command from powershell and it now fails the TCP test. I also have an SI key.
  • In reply to Michael Irwin:

    I ended up just using the OPC tool to talk to the OPC server on the PK. I got this working once i got the software client working. I didn't end up using the Proplus as a client in the end for testing, since this isn't what I'll b doing in the field anyways. So, i'm probably not much help.
  • In reply to Michael Irwin:

    Do you have to allow the client connection in KEPServer? We have KEPServerEX v6 and had to enable the client connection in OPC UA Configuration | Server Endpoints tab. then reinitialize KEPServer.

    OPC Expert is also a free tool to download. No install files necessary, just run this on the client computer and it offers more help as to why an OPC DA or UA connection isn't working.