Lookout

cancel
Showing results for 
Search instead for 
Did you mean: 

Can't write REAL4 into GE Series 90 PLC using DataSocket

Hello,

I am programming a LabVIEW application that need to write REAL4 numbers into GE Series 90 PLC holding registers. Looking at the documentation for the OPC driver, and regarding the numeric holding registers, I see that one can only write %R, %RD, and %RU (but not %RF).

Since I am using LabVIEW, I am forced to use DataSocket to read/write the OPC values. It seems I should be able to cast my SGL number as a U32 and write it to a %RU address. However, when I try this (e.g %RU702), I find that the higher-order word (e.g. %RU703) DOES NOT CHANGE, even though the lower-order word does in fact get updated properly.

Does anyone have a suggestion on how I can get a REAL4 written from LabVIEW to this PLC?

Thanks!

David Moerman
TruView Technology Integration Ltd.
0 Kudos
Message 1 of 7
(3,825 Views)
Hello David!

The data types that we support for the GE Seriers 90 PLC can be found in the lookout helpfile. Simply goto help then the index tab and type GE_Series90 then click on 'Data Members'. If you can find the correct data member here it is possible to use Lookouts OPC server to communicate with your PLC. I if this is a lookout support data type using its OPC server would give you the desired results.

Let me know if there is more I can do. Have a great day!!!

Allan S.
National Instruments
0 Kudos
Message 2 of 7
(3,810 Views)
Hello,

Unfortunately, this response does not help. This is the same help information that is available from the "Industrial Automation OPC Servers". My point is that there seems to be no way to write a 32-bit number to a GE Series 90 PLC, and using the %RU addresses does not work either. It could be a problem with the OPC driver, or a problem with DataSocket.

Regards,
-Dave
0 Kudos
Message 3 of 7
(3,808 Views)
Hello David!

I believe what you are trying todo should work. My main concern is that when you are doing the type conversion you are using a Convert To VI as opposed to a type cast. A convert to simply rounds the number but a Type Cast converts it to the U32 reprentation of a floating point number. I hope this helps. Have a great day!

Allan S.
National Instruments
0 Kudos
Message 4 of 7
(3,799 Views)
No, I was using a type-cast as you have showed. Please bear in mind that I was observing the PLC registers with GE software (Cimplicity) during the write process, and I could clearly see that only 1 (16-bit) register had changed while the adjacent register had not. When I write to a %RU address I expect 2 adjacent 16-bit registers to change.

-Dave
0 Kudos
Message 5 of 7
(3,795 Views)
Hello!

Do you have a alternative way to write to this PLC so we can determine whether its Datasocket or the OPC driver? Which OPC server are you using? Let me know and we will go from there.

Allan S.
National Instruments
0 Kudos
Message 6 of 7
(3,785 Views)
Well, my OPC servers version is 5.1 (build 4). I'm not quite sure about the "alternative way" that you mean... I do have GE's "Cimplicity" software which communicates to the PLC via it's own communication protocol, and it can set registers without any hindrance.

Also note that I am using the "legacy" datasocket VIs, that are typically shipped in vi.lib/platform/dataskt.llb. I've found these to be much more robust than those in the communications palette.

I also recall using "Server Explorer" when investigating this problem last week, but I'll double-check and make sure I attempted a %RU write operation from there.

-Dave
0 Kudos
Message 7 of 7
(3,779 Views)