LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

EPICS Client data type bug

I cannot create an EPICS Client field with a "Short" (Int8) data type.  Regardless of what data type I select in the EPICS Client I/O Server dialog box, once deployed, the field will be DBL, BOOL, or STRING.

 

 

For example, if I follow the steps laid out in "Interactively Configuring EPICS I/O Servers", but selecting a data type of "Short" instead of "Double", everything appears to work.  Binding a shared variable to the EPICS field works; the shared variable will show up as a Int8.  However, if I deploy the EPICS Client server, and navigate to the field in NI Distributed System Manager, the type is "Double".

 

As a result, I cannot write to this process variable as the type is set to "Short" on the EPICS Server side.  An error results from attempting to write a Double to a Int8 process variable.

 

The image below shows the EPICS Client I/O Server dialog box and the resulting variable in DSM.  I've tried programmatically creating the field, with similar results.

 

EPICS Issue 28SEP2012.PNG

 

Is this a bug or a problem with my approach?  Any help is appreciated!

 

Thanks, Brian

 

0 Kudos
Message 1 of 3
(2,602 Views)

Is there a way you could change the data type to short before writing to the variable?  It looks like a difference between data types is probably what is causing the issue.  Maybe you can put up a copy of the project or a screen shot of the block diagram for some better analysis.

0 Kudos
Message 2 of 3
(2,576 Views)

Hi, Here's a simple example project with an EPICS server and EPICS client setup to share a variable with data type Int8 "short".

 

The "EPICS Client.vi" will error out with "LabVIEW:  (Hex 0x84C6AEC9) The data type of a process variable in the EPICS Client I/O server does not match the data type of the corresponding process variable in the IOC."

 

Opening up the NI Distributed System Manager and navigating to "My Systems>localhost>Epics Client1>EPICS:Short_Variable>VAL" will show that the client-side variable data type is a double.

 

This must be a very obvious bug or a very obvious error on my part, but I just cannot create a EPICS client variable with anything other than a double, string, or boolean.

 

-Brian

0 Kudos
Message 3 of 3
(2,565 Views)