With exciting projects in oil and gas, aerospace, utilities, and other industries, Vertical AIT is looking to hire skilled LabVIEW developers and architects in the Houston area. We are an Alliance Partner, and we specialize in embedded development.
- US citizenship (required by our contracts)
- Industry experience in production software development
- Embedded cRIO development experience (Real-time and FPGA)
- Certification (CLD, CLA, and/or CLED) preferred
- Must be meticulous and detail-oriented
We offer great benefits, and we prioritize a healthy work/life balance.
Learn more about Vertical AIT at www.VerticalAIT.com, and please send resumes to email@example.com.
By Óscar Gómez
In a few days my team and me will start a project and I'm a little anxious because I've never work with PXI Systems... If anyone want to tell me a tip, recommendation or something about your experience with this systems, you'll welcome. I'm one of the developers in the crew!.
I've experience with cRIO and cDAQ.
I've got some weird stuff going on with a cRIO project I'm working on wanted to get some opinions on it. The basic architecture is a set of classes that do some process. That process registers with a server. The internal data of the process is held in a DVR and the server get's access to that DVR. Clients use TCP to ask the server to do something, the server makes a call against the classes DVR and returns a response to the client.
To simplify the issues I'm seeing I created a class that internally just increments an integer every 500ms. The client asks the server what's the current count, the server asks the Counter class and returns the answer to the client. This works perfectly fine when running the VI in the IDE. When built it connects, will get the JSON message back, but always gets a default value from the DVR call (zero, in this case). As soon as I open a remote debug panel to the cRIO, everything is working. The count is correct, the client calls work, just like normal. As soon as I right-click, close debug, it goes back to zero. Open debug works, close debug, back to zero. I know the DVR isn't getting dropped because the count continues to increment while not in debug, the process is still running happily with no issues.
Here's a few screenshots of the code;
Count Class process (get the count, increment, write it back to the DVR) - Counter Class process
You can see the DVR vi's are actually vim's using a cast. I can't imagine that's the issue.
Server Side call - Server Side calls
All this does is get the count from the DVR (same as above) and wraps it in JSON and passes it back to the client as a JSON string.
I also implemented an Echo class that ignores the process and DVR's, it just takes whatever string you sent form the client to the server and passes it back with a prepended "@echo". This works when running as an executable with the debug turned off so I know the client, server, and the server/class calls are all working as expected.
Any thoughts here would be welcome, thanks.
edit: I added the any possible errors coming from the variant cast to the JSON reply. When the debug is open there are no errors, when the debugger is closed it throws error 91, but the in-place element structure reading the DVR does not throw any errors. How can a variant not exist until a debugger is opened and than it magically exists?
edit: the internal data dictionary is a wrapper around a variant attribute, I wired out the "found?" terminal all the way out to the JSON reply and if the debugger is open the attribute is found, but not if the debugger is closed. Anyone have issues with Variant Attributes in Real-Time?
Hello fellow LabVIEWers,
I am trying to get a self developed PXI chassis up and running - with some problems.
As this is this my first time developing a chassis, some general questions about 3rd party chassis:
If I want to get a 3rd party PXI chassis up and running with MAX I just need to add the right description files into the right folder? otherwise the chassis will be recognized as "undefined"? but will still work - except triggers?
Whats my status right now?
Chassis is connected via PCIe 8361 - PXIe 8360 and the Connection seems to work Chassis seems to work and inserted cards get recognized by MAX and "self test" works Chassis seems to get recognized with the Keysight Resource Manager (I installed it and selected it in NI MAX) no unknown devices in windows device manager (so the NI SMBus Controller gets recognized correctly)
btw my actual SW installation:
PXI Services 17.5.1
I am open for any suggestions and tipps!