03-02-2007 07:37 AM
03-06-2007 08:46 AM
Bauch:
Specifying the link as follows: opc://localhost/National Instruments.Variable Engine/\\.\test\OPCArray is equivalent to using the opc protocol to access the Shared Variable Engine. This is also the same thing as dropping the shared variable on your block diagram and creating an indicator for it. Regarding the original question, conceptually connecting to the shared variable engine and a 3rd party OPC server that supports arrays should work the same way. It is just that I have not tried it myself to guarantee it. Have you been able to try your application using a 3rd party OPC server?
Thanks,
Rudi N.
03-08-2007 03:40 AM
03-08-2007 07:46 AM
03-09-2007 02:23 PM
Bauch:
Thank you very much for getting back with me. I am not sure about what you mean by the fact that arrays of data cannot be sent using NI-PSP in LabVIEW 8.0. Please see the attached zip where I am passing an array of data to a shared variable and reading the data later from another vi. I really want to make sure that we get on the same page and uncover any possible issues.
Regards,
Rudi N.
03-12-2007 06:35 AM
@Rudi N wrote:
Bauch:
I am not sure about what you mean by the fact that arrays of data cannot be sent using NI-PSP in LabVIEW 8.0.
Regards,
Rudi N.
I mean that I cannot send the array to an OPC listening non-Labview client via NI-PSP. This problem only exists in Labview 8.0 !
03-13-2007 04:24 PM
Bauch:
I agree that it is not possible to pass arrays of data to OPC using LabVIEW. Do you have any OPC client that can read arrays of data?. Also, in the last example that you posted, you are binding an array of double into a Shared Variable ("SGL Array") which is actually defined as a double precision variable. I added an indicator to read the value from the Shared Variable and was not able to read anything from the variable. Please let me know how you were able to make this work.
Regards,
Rudi N.
03-13-2007 04:46 PM
Arrays are supported for internal and holding register locations for all data types except for Boolean and strings. Arrays are also supported for input and output coils (boolean data types). There are two methods of addressing an array. Examples are given using holding register locations.
4xxxx [rows] [cols]
4xxxx [cols] this method assumes rows is equal to one
For arrays, rows multiplied by cols cannot exceed the block size that has been assigned to the device for the register/coil type. For register arrays of 32 bit data types, rows multiplied by cols multiplied by 2 cannot exceed the block size.
03-14-2007 05:54 PM
03-14-2007 08:48 PM