09-28-2012
12:53 PM
- last edited on
08-13-2024
10:24 AM
by
Content Cleaner
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.
Is this a bug or a problem with my approach? Any help is appreciated!
Thanks, Brian
10-02-2012 09:32 AM
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.
10-03-2012 12:52 PM
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