Has anyone gone down the road of evaluating or has experience implementing the OPC UA architecture? There are a couple of toolkits out there so thankfully there is no real need to tackle the OPC .NET API. At this point I'm trying to fetter the tech side of it. What were the unexpected roadblocks you ran into?
If anyone can share their experiences it would be appreciated.
I recently was presented with the task of integrating a Mitsubishi PLC into our systems. After a good deal of googling, I think the best (maybe only) way to get the data out is going to be via OPC, thanks to their proprietary Melsoft protocol. If anyone else knows a better way, feel free to stop me here.
Now, we are currently expanding our data generating capabilities (hence the PLC), and I have been thinking about rearchitecting the way we collect data from all over our facility to be more flexible. Since I may be required to use OPC anyways, I was considering using an OPC server to aggregate all of the facility data, and then redistribute to control rooms, historical logging, etc. To do this, we would need to integrate our cRIOs and operator PCs into the OPC environment as well.
I don’t see OPC mentioned very often (in fact it returns 0 results on LAVAG), and a lot of the stuff I see these days seems to be more “roll your own” or lower level (raw TCP/UDP, 0MQ, Network Streams, Transport.lvlib etc.) rather than a monolithic abstracting bridge like OPC. Unfortunately, I won’t have time to roll my own in the near future, but LVRT supports supports OPC UA, so I could potentially integrate the cRIOs fairly easily. Unfortunately, I think I would have to use LabVIEW DSC (or datasockets...) to integrate the PCs.
I would be very grateful if anyone has the experience to comment on the following or anything else related to using OPC.
What are viable update rates for OPC tags? I will need at the very (very) least 250 ms update rates. Is OPC typically low latency (time from data generated to to client received)? Does anyone have a recommendation for a product (NI OPC, Kepware, etc.)? Is OPC still popular, or are there other options for data aggregation that would be better suited to a new application? What are the options for logging and alarming with OPC? What are the options for talking to OPC from LabVIEW? How robust are the OPC connections in regards to reconnecting if a wireless connection is temporarily lost? Thanks in advance!
Hello to all.
First I explain my environment and then I will ask the question.
PC 1 (development PC): intel i5, windows10 64bits, 8GB Ram, Labview 2015 SP1 (32 bits), Vision Adquisition Software 2015, Module Vision 2015, DSC 2015, ni OPC Server.
PC 2 (deployment PC) : intel celeron 1.99 GHz, windows 7 64bits 8GB Ram, Labview 2015 SP1 (32 bits), VIsion Adquisition Software 2015, Module Vision 2015, DSC 2015, ni OPC Server, Run Time Engine 2015, VIsion Run Time 2015.
PC 3 (deployment PC) intel Atom CPU N2600 1.40GHz, windows 7 64bits, 4GB Ram, Labview 2015 SP1 (32 bits), VIsion Adquisition Software 2015, Module VIsion 2015, DSC 2015, ni OPC Server, Run Time Engine 2015, VIsion Run Time 2015.
I use the next in my aplication:
2 cameras GigE Lan connected to PC. A PLC connected RS232 through ni OPC server and about 15 shared variables.
In development environment my application works well. In PC 2 a executable of my application works well.
But the problem is that the same executable works bad in PC 3. Front Panel is slow and displays of image cameras don't refresh the image well. So all my application is slow in PC 3.
What can it be? I don't think that it could be the specification of PC 3 but I don't know... Does anyone fix something similar?
Any help will be appreciate it.
Thanks a lot.
Could you please share your thoughts about problem shown below?
Thanks in advance.
LabVIEW 2013 f2, 32 bit
When trying to read a value of tag from third party OPC server which is not widespread software using NI DSC OPC client we got empty data.
The type of tag in OPC server is Array of U16 and OPC server continuously writes array of values into that tag. However, NI DSC OPC client (and Distributed Systems Manager as well) defines type of that tag as String, thus can not read value of that tag (I suppose that NI OPC client is trying to treat variant data which holds array of U16 as string and because of conversation error issues empty data).
At the same time Kepwareâ€™s OPC client defines type of that tag as a String as well, but can read the values of that tag which holds Array of U16 (I suppose that Kepwareâ€™s OPC client after getting error, while converting Array of U16 into String, starts to look in datatype defined into variant itself).
Can the descriptions above explain the problem and if yes then what can we do to read the value of tag with DSC? Is there any opportunity to get more deep access to NI DSC OPC client to make some changes in order to work with customer OPC Server?
Hello. The group I'm working for is trying to establish a way for different users to access and experiment with our OPC server. The server itself is a Rockwell Automation RSLinx Classic OEM, and we're trying to figure out how to restrict the access users can have with it. We'd like them to be able to read and write to the server, but not anything else.
I'm new to labVIEW, so I was wondering if there might be anything available here to limit access to the OPC server?