From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Datasocket for OPC comms with 64 bit LabView. Alternatives?

I have recently upgraded to 2020LV 64-bit  from 2017 32-bit only to discover that datasocket no longer supports OPC comms. To get round this I have implemented a 32-bit helper VI that communicates with the PLC as before, and transfers the PLC data to the 64-bit application via TCP/IP. It works but is a little bit messy. Is there an alternative where I can keep everything within my 64-bit application? 

0 Kudos
Message 1 of 7
(2,216 Views)

Hi Simon, 

 

Did you manage to find a solution for this, or are you still using the workaround?

 

Thanks,

 

Alasdair

0 Kudos
Message 2 of 7
(2,053 Views)

Hi Alasdair,

 

In the end I wrote a 32 bit server VI to communicate with the PLC. I am using TCP to send PLC data from this VI to my 64 bit application. It’s not ideal but it does work. Ultimately, I may use the UA protocol and write my own OPC server. But that’s for another day1

 

Thanks

Simon

 

0 Kudos
Message 3 of 7
(2,046 Views)

I haven't found a solution that I'm happy with. 

0 Kudos
Message 4 of 7
(1,608 Views)

@SimonAldred wrote:

I haven't found a solution that I'm happy with. 


Did you need the extra memory address space provided by a 64-bit environment?

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 5 of 7
(1,595 Views)

Yes, it's a pretty intensive image processing application. 

0 Kudos
Message 6 of 7
(1,588 Views)

An alternative, which seems more attractive and easier than the TCP/IP route, is to use shared variables to communicate between the 64 and 32 bit programs. I deploy shared variables in my 64 bit application and then access them with the 32 bit application. You do all the PLC comms in the 32 bit application. After I have read from the PLC I update the shared variables and the changes are picked up by the 64 bit application. I can also write from the 64 bit application to the PLC via the 32 bit application. 

0 Kudos
Message 7 of 7
(1,579 Views)