Labview UI project for Linuxcnc

More
6 years 1 month ago - 6 years 1 month ago #182709 by auto-mation-assist
A little bit about my goals in developing this project which really has two parts.

First enhance the abilities of linuxCNC to handle complete user interfaces that are not compiled as part of linuxCNC and thus run completely separate from linuxCNC but control and status using local host or via remote TCP connection using the built in NML/CMS/RCS library.

The second part of this project for me is to build a user interface to use this enhanced capability. For this Labview is a good choice. It allows developing the control code required and at the same time build a very flexible user interface, and further, handle all communications. This all without adding adding overhead to linuxCNC itself.

As potential third item: Add REDIS for its data base and communications abilities. I already have this REDIS in the RMC project version of linuxCNC but its not being used but test have shown it to be functional. Labview is also able to interface with REDIS with a available package from the user community.

Thus I have been working on two things, my RMC project version of linuxCNC and as a separate project the Labview user interface. I anticipate being able to work on this more during the up coming winter here in Alaska. My priority on this is to work on improving handling of the status data and find the best way to do that based on what NML/CMS/RCS sends.

Note: Labview community versions can be downloaded from NI.

At the present time there are two community versions available from NI. Labview-communitity-x86 2020 about a 2gb download, and the NXG version with drivers about a 4.4gb download. Community versions are for personnel use only and replace the home versions.
Last edit: 6 years 1 month ago by auto-mation-assist.
The following user(s) said Thank You: rodw

Please Log in or Create an account to join the conversation.

More
6 years 1 month ago #182919 by auto-mation-assist
I was scrolling through my start up debug info today and noticed that the TrajSetMaxAcceleration does not look right and makes no sense to me. I think I would expect separate values for each axis/joint like in setHome and not some humongous number. What do you think this is? Here is part of the debug info that covers Trajectory:

rmcTrajSetJoints(4) returned 0
rmcTrajSetSpindles(2) returned 0
rmcTrajSetAxes(4, 15)
rmcTrajSetUnits(0.0394, 1.0000)
rmcTrajSetVelocity(0.0000, 0.2000) returned 0
rmcTrajSetMaxVelocity(0.4000) returned 0
rmcTrajSetAcceleration(3.0000) returned 0
rmcTrajSetMaxAcceleration(999999999999999967336168804116691273849533185806555472917961779471295845921727862608739868455469056.0000)
rmcTrajSetHome(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000) returned 0

Please Log in or Create an account to join the conversation.

More
6 years 1 month ago #182940 by PCW
Replied by PCW on topic Labview UI project for Linuxcnc
It is a single value since its the overall acceleration limit
My guess is that its just set to a high number by default so it does
not bound the per joint/axis limits

Please Log in or Create an account to join the conversation.

More
6 years 1 month ago #183260 by rodw
Johannes, are you using master branch for your development work?

There is an issue here with Plasmac that might be related to your nan problem. It does not affect V2.8
forum.linuxcnc.org/plasmac/40097-nan-voltage?start=0

So Plasmac uses some screen based variables in the GUI to calibrate a Mesa THCAD with values for scale and offset that are used to calculate Arc voltage. These values are sent to the plasmac.comp which parses it to a voltage.Some people are reporting sporadic nan errors for arc voltage when using their plasma cutter. As you can imagine this is not good when voltage is used as a process control variable to control torch height.

I wondered if the GUI variables are sent to HAL using NML messages. If that is the case, this must surely be related to your identified bug.

I'd appreciate your feedback.
The following user(s) said Thank You: auto-mation-assist

Please Log in or Create an account to join the conversation.

More
6 years 1 month ago #183802 by auto-mation-assist
I have made progress with getting pointer to work properly with to shared memory data transfer to my remote running on Win7. There is a lot more to do verify what type of data is at each location for proper decoding. I decided to do most of this In Labview with linuxCNC just giving me status'd item names and the pointer values associated with them.. From this information I generate the list shown on the left of the picture below and process it further in Labview. Each time linuxCNC starts the pointers are different but this has no effect on the actual relations ships between the the named variables. I would like to find a way where linuxCNC will also output data type of each so that I don't have to dig it out by hand.

Looking at the picture below, The panel on the left is the input from linuxCNC with a manual addition of data type to be processed at each memory location. The second coulomb from the left show the name and the converted number after processing the linuxCNC pointer values. The third panel from the left is a sorted list based on local memory pointer value for each item, these are arrays. On the top right are show arrays just for reference. Below that are cluster that contain four items for each named status'd item so that these can be processed further for decoding the information. Name, data type, Width (number of bytes). and the local pointer at the remote location from the top of the received status data. The bottom right shows the cluster sorted based on pointer value.


Please Log in or Create an account to join the conversation.

More
6 years 1 month ago #183803 by auto-mation-assist
I have been busy doing other work right now but will keep this in mind and update if I find anything.
The following user(s) said Thank You: rodw

Please Log in or Create an account to join the conversation.

Time to create page: 0.340 seconds
Powered by Kunena Forum