Labview UI project for Linuxcnc

More
17 Sep 2020 20:12 #182569 by rodw
So this resolves the error messages you listed in your previous post?
Would it be possible for you to create a pull request just of that error foe inclusion in master branch?

I've been trying to follow along as best I can but I do wonder why we have hard coded values in the code.

Can the value be deduced from the environment?
If it has to be hard coded surely it would be better to put an equate and appropriate comments in cms_dup.hh?

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

More
18 Sep 2020 17:47 - 18 Sep 2020 17:53 #182669 by auto-mation-assist
Yes that problem went away. I had inserted this comment into the file as future reference:

* Last change: Johannes Fassotte - Auto-Mation-Assist 09-17-2020
*line 472 - CMS_STATUS CMS_DISPLAY_ASCII_UPDATER if (x > increase to 9999999999 from if (x > 9999999
*line 528 - CMS_STATUS CMS_DISPLAY_ASCII_UPDATER if (x > increase to 9999999999 from if (x > 9999999

I have never done a pull or created a pull request.

I have all the status request coded now so I can execute the cmds and at least see a response and the variable values they contain in the debugger. They wont do anything else but that is fine for now.

This is the list from my rmcmaintask.cc

case RMC_JOINT_STAT_TYPE:
break;
case RMC_AXIS_STAT_TYPE:
break;
case RMC_TRAJ_STAT_TYPE:
break;
case RMC_MOTION_STAT_TYPE:
break;
case RMC_TASK_STAT_TYPE:
break;
case RMC_TOOL_STAT_TYPE:
break;
case RMC_AUX_STAT_TYPE:
break;
case RMC_SPINDLE_STAT_TYPE:
break;
case RMC_COOLANT_STAT_TYPE:
break;
case RMC_LUBE_STAT_TYPE:
break;
case RMC_IO_STAT_TYPE:
break;
case RMC_STAT_TYPE:
break;
case RMC_RPIN_STAT_TYPE: /* remote controlled HAL pins */
break;

There are several that report 4 or 8 byte memory pointer errors and will not execute. I will look at those again and post info to see if anyone can help figure out what is causing these errors to occur.
Last edit: 18 Sep 2020 17:53 by auto-mation-assist.

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

More
18 Sep 2020 23:00 #182687 by rodw

This is the list from my rmcmaintask.cc


Where is this file? It did not come up in a search on the git for master branch.
Where are the equates #defined?

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

More
19 Sep 2020 04:46 #182706 by auto-mation-assist
Sorry I should have been more clear: You will not have rmcmaintask.cc. The prefix rmc in that name refers to my development system used to for this project.

The source version src/emc/task/emctaskmain. The case statements I listed before where added into this file along with others in the switch statements so that these will be allowed to execute.

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

More
19 Sep 2020 05:57 - 19 Sep 2020 06:09 #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: 19 Sep 2020 06:09 by auto-mation-assist.
The following user(s) said Thank You: rodw

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

More
20 Sep 2020 15:37 #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
20 Sep 2020 17:58 #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
22 Sep 2020 08:05 #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
26 Sep 2020 07:41 #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.


Attachments:

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

More
26 Sep 2020 07:44 #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.436 seconds
Powered by Kunena Forum