Synching Online & Offline

  • Filter
  • Time
  • Show
Clear All
new posts

  • Synching Online & Offline

    Running PC-DMIS 2013 MR1 Online & 2014 Offline
    Mgmt finally decided I should get a laptop, to make use of our Offline license.

    I'm trying to get it set up, and I've got a working configuration, but I want more.
    Basically I'd like to have a pretty darn close to simulated replica of my setup.
    For example, I don't necessarily care if the machine CAD is in a program, but it would be nice if the Offline seat's home location was the same as the CMM's.

    I have a rotary table, and I know PC-DMIS handles the home location a little differently with that (AFAIK there are essentially 2; home location for the probe, which it finds during the initial homing operation, and the zero of the rotary, which it uses for initial alignment)


    I'd like to know what sort of files I can copy over from the online to the offline seat to make everything a bit more feng shui.
    The reason I ask is, as above, new laptop, new *****. However, I created a program offline, with a point at coordinates 0,0,7.5. I took the point on the machine, and it was like -4987.55,XXX,XXX which was awesome.
    I'm not expecting to see 0,0,7.5, or anywhere close to that, but almost -5000? seems a bit excessive on an Optiv...
    Last edited by InspectorJester; 06-13-2018, 10:13 AM. Reason: Reversed the order of some things

  • #2
    It would appear I had it incorrectly set in the online seat.
    Cad +X was CMM's +Y, and they should have been the same. Lol!

    Anways, this is two part:
    I'm having trouble getting the Offline seat set up with a rotary table. I have the option enabled on the portlock, I defined it (at 0,0,0 with perfect vectors), but it works differently.
    If I plug the offline portlock into the Online pc, and run a program, the probe "rotates around the part" at each move/rotab command. However, it does not on the laptop.

    I'm guessing some parameters are set incorrectly, and I know I don't fully understand the process on getting it enabled.
    Can someone show me how to define & calibrate a rotary table offline, and allow everything to more or less "visually" sync?


    • #3
      I don't think this is a sustainable thing.
      Home locations shift almost 1/4" depending on machine's home sensor system.
      Some are hall sensors (simple little magnets), some actually use the readhead and a specified scale tick-mark, some even use micro switches.
      Additionally, some CAD models you receive from customers will have alignment origins relative to higher assemblies (and are thus very distant from actual part).
      When you import CAD, the native alignment origin comes with it, and PCDMIS translates to the native CAD origin as STARTUP, upon import.

      The easiest way to correlate offline and online is:
      Initiate every routine with a manual 3/2/1 alignment, poking points (or load a subroutine with your standardized fixture location) on CAD offline.
      Align to the manual hits and continue to program entire routine offline.
      Once you run routine online, replicate your manual-poked CAD points with real hits on your part.
      Once points are physically poked, cad = part.
      Last edited by louisd; 06-13-2018, 10:41 AM.


      • #4
        louisd I believe you assume I am looking for a much more complex answer than I really am.
        I don't need the offline seat to change with each re-home of the machine, nor do I need "to the micron" accuracy of what goes where.
        It would be nice if I could, for example, define the boundaries of my machine offline, and have the CAD probe touch around the CAD model exactly where everything goes.

        It does so, until I move the rotary table.
        Then the probe tends to get more and more sideways, until I get to 180° & it's upside down.
        It's configured incorrectly, probably, and I'm requesting help.

        Furthermore, it would be nice if I could, for example, calibrate the machine online, copy/paste some files to offline (like comp.dat for example) and now the offline license is calibrated to the online coordinates.
        Does this make sense?

        Basically I want to program Offline, stick it on the machine and run it Online.
        That's feasible, but I currently have to program Offline, stick it in the machine and reconfigure most of it to get it to work.
        I'm looking for something more consistent

        EDIT 2:
        Also louisd I didn't get a chance to say, that sounds like a workable idea. It's got a beat, I can dance to it.
        Last edited by InspectorJester; 06-13-2018, 12:03 PM.


        • louisd
          louisd commented
          Editing a comment
          Also, you can add a simple comment at beginning of routine asking to skip manual hits.
          After comment, insert a IF_GOTO: if c1.input = "yes" goto label DCC_start
          Place dcc start label just after your final manual alignment, before Mode/DCC.
          Now you have a routine that you programmed offline, and manually measure the initial alignment only once.

        • InspectorJester
          InspectorJester commented
          Editing a comment
          I've already got a form that takes care of this and more :P
          That's my current method; program offline, when I stick it online do an iteration of manual hits, adjust an alignment or not, and it'll run.

      • #5
        This is where Hexagon really needs to improve on. I program 99% offline for five different CMM's. I had to edit all five virtual CMM's for the offline seat to match the same operating volume and center as the actual CMM's. What a mess! The TIGO virtual CMM was by far the most I had to edit.


        • InspectorJester
          InspectorJester commented
          Editing a comment
          So this is possible?
          What do I have to do, get the specs of my machine and make a generic one that I have to insert into every program?
          That's not a problem yet, since we just got offline capability yesterday

        • davehocum
          davehocum commented
          Editing a comment
          There are different ways to do this and depends on what fixtures and there origin. What I have found was to start with measuring the location of the bolt pattern of the CMM surface plate using the CMM to measure the ones that can be reach in MM’s. Create the origin to one of the tread inserts that you want to use to measure back to your Start Alignment position. This can be use too adjust the table center for the virtual CMM. Then use the CMM to measure the machine volume by moving the CMM to the end off travel, then move the CMM just enough to get back into the machine measuring volume without error and create a move point. Hand measure the CMM granite plate edge back to the machine measuring volume. This can also be easier to do if there was a CMM fixture plate mounted on the CMM after measuring the bolt pattern. Do this for all axis. Now use this data to adjust the virtual CMM. The origin of the CMM bolt pattern center measure results can also be used for the F5 Part to Machine coordinates. You can also adjust the virtual CMM center to match the center placement of the CMM Fixture plate if one is being used. Once this is done, you can use PC-DMIS 2017R2 and up to automatically place the CMM Fixture plate into the virtual CMM in the correct location. What I have found was that the CMM Fixture plate and part assembly center would be different for each assembly. Therefore, I would do was import the CMM Fixture Plate first. Then insert the Virtual CMM and let the software adjust the Part and Machine coordinates for me. Next, import the actual CMM Fixture plate and part assembly and select yes to merge the cad models. You can delete the first CMM Fixture later. Another way is that if you already know the Virtual CMM center to CMM Fixture location then just use that for the Part to Machine xyz settings. This works great when pushing the envelope for the smaller CMM’s. I hope I didn't miss anything. I will update if needed.

      • #6
        ^^^ this!
        OFFline will take a LOT of tweaking. And if you want to program a VISION system OFFline? (hint, hint Inspector Jester!) Basically forget it. The OFFline aspect is about 75% useless. Optics 100% useless.... Tactile? Well one can manage that aspect of it like the regular Demon.


        • #7
          +1's all around.
          davehocum it seems rather complex for something that happens automatically online!
          Shouldn't I be able to get the specs of the machine and manually enter them into a generic virtual one?

          sealevel I have also found that Vision is pretty useless with a CAD model. However it works for me; I can program the basics for the Vision(e.g. where I'm going to take what features, their respective angles & vectors, etc) offline, stick it on the machine for 5 minutes to get good numbers for lighting, tweak everything again, and relate the finished product to the machine when it's available.
          I get some really f'ed up happenstance bullcrap that happens on the Online machine, for an unfortunate plethora of reasons. It helps my sanity to avoid that by playing offline, and as you said, it's relatively straightforward Offline programming to get tactile hits.


          • #8
            I never ever cared for this! until I started working here where the CMM is unavailable 90% of the time. I had to spend extra time getting my offline seat dialed to the real machine. It is not perfect but it got me to a place where I can program 100% offline but still some things that look OK offline you know will be an issue thru experience like FLY mode.

            Put a usermachine.dat in your C:\ProgramData\WAI\PC-DMIS\2014 copy your original machine from C:\Program Files\WAI\PC-DMIS 2014 64-bit\MACHINE.DAT. Edit to whatever your needs are following some of what @davehocome previously mentioned.

            Here's some of mine:

            ITEM:GLOBAL_B&S_7-10-7 ARM
            cadgeom 0 -1000 0 1 0 0 0 1 0 0 0 1 1 global_7-10-7.draw
            tablecenter 244.147 699 -786 0 0 1
            linearjoint 0 0 0 0 1 0 0 0 0 1000 y axis
            cadgeom 0 0 0 0 1 0 1 0 0 0 1 0 2 global_7-10-7.draw
            cadgeom 200 0 0 0 1 0 1 0 0 0 1 0 0 global_B&S_ygraph_9-X-X.draw
            linearjoint 0 0 0 -1 0 0 0 0 0 700 x axis
            cadgeom 0 0 0 0 1 0 0 0 1 1 0 0 3 global_7-10-7.draw
            cadgeom 0 0 0 0 1 0 0 0 1 1 0 0 6 global_B&S_xgraph_9-X-X.draw
            linearjoint 0 0 0 0 1 0 0 0 -700 0 z axis
            cadgeom 0 0 0 0 -1 0 1 0 0 0 0 1 4 global_7-10-7.draw
            connect 0 0 0 0 0 1 ARM
            and custom (renamed to something else)
            ITEM:GGLOBAL_B&S_7-10-7 ARM
            cadgeom 0 -1000 -22.62 1 0 0 0 1 0 0 0 1 1 global_7-10-7.draw
            tablecenter 244.147 699 -786 0 0 1
            linearjoint 0 -49.14 0 0 1 0 0 0 0 1000 y axis
            cadgeom 0 0 -22.62 0 1 0 1 0 0 0 1 0 2 global_7-10-7.draw
            cadgeom 200 0 0 0 1 0 1 0 0 0 1 0 0 global_B&S_ygraph_9-X-X.draw
            linearjoint 56.56 0 0 -1 0 0 0 0 0 700 x axis
            cadgeom 0 0 -22.62 0 1 0 0 0 1 1 0 0 3 global_7-10-7.draw
            cadgeom 0 0 -22.62 0 1 0 0 0 1 1 0 0 6 global_B&S_xgraph_9-X-X.draw
            linearjoint 0 36.77 0 0 1 0 0 0 -700 0 z axis
            cadgeom 0 0 0 0 -1 0 1 0 0 0 0 1 4 global_7-10-7.draw
            connect 0 0 0 0 0 1 ARM
            This gave me exactly what I wanted... adjusting my virtual machine to that of my real machine stopped all the issues I had with real machine exceeding travel axis errors.

            I'm working on simulating probe racks next (lspx and Tesa-R)
            Last edited by Kp61dude!; 06-13-2018, 05:41 PM.
            PcDmis 2015.1 SP10 CAD++
            Global 7-10-7 DC800S


            Related Topics