simulation

More
6 years 10 months ago #151848 by dgarrett
Replied by dgarrett on topic simulation
I've added an experimental branch for implementing a
dryrun facility: dgarr/dryrun (based on the master
branch):

github.com/LinuxCNC/linuxcnc/commits/dgarr/dryrun

In dryrun mode, you can jog axes, issue mdi commands or
run gcode programs and the axis gui display acts
normally -- however, no hal pins or motion status items are
updated.

A sim config using a pyvcp panel is provided:
configs/sim/axis/dryrun/dryrun.ini

Ref: github.com/LinuxCNC/linuxcnc/blob/dgarr/...m/axis/dryrun/README

The video below shows the axis gui preview path and
its dro display while running after selecting dryrun
mode. The halshow panel shows that the halpins for
positioning commands (motor control) are unaltered
while the dryrun is active.



====================================================

Notes:

1) The machine must be homed and ON in order to start
dryrun.

2) halpins set by gode commands like M62-65 (digital
outputs) and M67-68 (analog outputs) are not changed in
dryrun mode.

3) ancillary guis (like halui) are not affected. The
provided halpin motion.is-dryrun can be used to manage
their outputs.

4) Dryrun cannot be started when a program is running
in normal mode (stop the program first). Similarly,
dryrun cannot be stopped when running a program (stop
the program first). Mesages are issued for these
attempts.

5) Under some conditions with the axis gui, the
manual tab must be selected to start or stop dryrun.

6) halpins are read during dryrun but acknowledgement
varies:

a) inputs to task (example: halui.program-pause,resume)
are processed.

b) inputs to motion (example: limit switches) are
ignored as motion status is not updated during dryrun.
(This is subject to change for selected inputs)

====================================================

The branch can be built as a Run-in-place (RIP) or
obtained from the buildbot as a 'scratch branch (for
buildbot-supported operating systems) per the
instructions:

buildbot.linuxcnc.org/
====================================================
The following user(s) said Thank You: andypugh, RobotMatic, PKM, chimeno, nkp, tommylight, bkt

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

More
6 years 10 months ago #151876 by RobotMatic
Replied by RobotMatic on topic simulation
excellent !!!! thank you very much!!! I'm going to modify a lathe and try. thank you very much!!!!!!

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

More
6 years 8 months ago - 6 years 8 months ago #156369 by RobotMatic
Replied by RobotMatic on topic simulation
hi

I can't understand how I can incorporate the function, sorry for the question but I see many codes and I don't know where to start.

I understand how it works and the instructions to make it work, but I don't know how to implement

This function is excellent !!! I work intensively with compensation and I really believe that this implementation is very important for the project

Could you attach the codes and tell me where to put them. Thanks a lot
Last edit: 6 years 8 months ago by RobotMatic.

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

More
6 years 8 months ago - 6 years 8 months ago #156480 by dgarrett
Replied by dgarrett on topic simulation

... I don't know where to start.


Suggestions:

1) Read the integrator docs for the facility:
buildbot.linuxcnc.org/doc/scratch/v2.9.0...tegrator/dryrun.html

2) Install the 'scratch' dgarr/dryrun branch deb package from the buildbot
OR
3) Make a run-in-place build from a recent git checkout

4) Run and study the simulation config:
configs/sim/axis/dryrun/dryrun.ini
(No hardware or connections are required for sim configs)

5) Adapt to an existing hardware config following the docs
and the simulation examples.
Ref: buildbot.linuxcnc.org/doc/scratch/v2.9.0...rdware_configuration


Notes:

a) Instructions for obtaining buildbot scratch debs:
buildbot.linuxcnc.org/

b) buildbot scratch debs are available for a limited number of
days after an update -- a rebase update pushed today 3feb20

c) The experimental dgarr/dryrun branch is based on master branch
2.9~pre* and is force-pushed.

d) Instructions for building (run-in-place)from git:
linuxcnc.org/docs/master/html/code/building-linuxcnc.html
The branch to checkout is named dgarr/dryrun

e) The buildbot docs expire after a number of days but the
ascii doc text file is available at:
github.com/LinuxCNC/linuxcnc/blob/dgarr/...ntegrator/dryrun.txt
Last edit: 6 years 8 months ago by dgarrett.

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

More
6 years 8 months ago #156552 by RobotMatic
Replied by RobotMatic on topic simulation
Thank you very much for the information

I'll try

i like the challenge

Thank you very much

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

More
4 years 4 months ago #245448 by cakeslob
Replied by cakeslob on topic simulation
Recently Ive been running some fanuc robocut wire EDM and the boss training me uses dryrun when ever he needs to restart a program and basically uses it as a replacement for run from line. I never thought about using it on the fanuc cnc because I just start from a M06 safety block, but this seems like a decent alternative to a safety block/m06, or using the run-from-line options. I like where this Dryrun is going, and will be installing the dryrun branch later this evening, but I had a few questions.

Will vismach display the actual machine (or lack of) movement?

As it currently stands, you cannot use this in the way I am intending? A program must be stopped before it is turned on/off? So you cannot dryrun a program up to a certain line, and then turn off dryrun to resume program from that point?

Does linuxcnc have some kind of pin similar to feed hold point return? Where it would bring you back to the last feed hold point? Im thinking it would be something like how the jog-while-paused works.

My intended use case would be,
-cycle stop program middle of the file for what ever reason, jog to do something (on edm it would be jog z to remove slug or something),
-restart program with dry run,
-step program in dryrun to last point,
-when dryrun is at the point you want, while program is paused/feedhold
- press hold point return, machine does xy coordinated motion, then z (like jwp?) to the last feed hold point
-turn off dryrun, resume program. everything is good, nothing crashes,

kinda like run from line, but I assume all the G/M/S/F codes and offsets would be active become active while running it through dryrun, basically like hold point return + dryrun are a crash resistant version of run from line



I know I am usually a babbling blowhard, but does this make sense?

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

Time to create page: 0.242 seconds
Powered by Kunena Forum