please, a few questions about using *.sdf


Results 1 to 19 of 19

Thread: please, a few questions about using *.sdf

  1. #1
    Member deadlykitten's Avatar
    Join Date
    Jun 2015
    Location
    Antarctica
    Posts
    4131
    Downloads
    0
    Uploads
    0

    Default please, a few questions about using *.sdf

    hello

    PSELECT p1.min
    PSELECT p2.min
    END

    how to restart at NAT07 inside p2 ?



    NP1 PSELECT p1.min
    NP2 PSELECT p2.min
    END

    why is not possible to restart on NP2 ? i mean, is possible to use NP* inside the sdf, but i can't restart on it ?!



    is it possible to insert an M0 inside a sdf ?

    besides PSELECT, VSET, END, what else is allowed inside the sdf ? kindly

    Similar Threads:
    we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...


  2. #2
    Member deadlykitten's Avatar
    Join Date
    Jun 2015
    Location
    Antarctica
    Posts
    4131
    Downloads
    0
    Uploads
    0

    Default Re: please, a few questions about using *.sdf

    hello, because of those restart issues, i replaced this :

    Code:
        file.sdf
    
        PSELECT p1.min
        PSELECT p2.min
    
        END
    
    with this

    Code:
        file.min
    
        call p1.ssb
        call p2.ssb
    
        M02
    
    i don't see the reason to use *.sdf, if is not possible to restart at a random operation, inside p2 for example ? programs are long ... kindly

    we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...


  3. #3
    Member deadlykitten's Avatar
    Join Date
    Jun 2015
    Location
    Antarctica
    Posts
    4131
    Downloads
    0
    Uploads
    0

    Default Re: please, a few questions about using *.sdf

    Option 1, press the cycle stop button on the control
    i don't know if i have that button ? i have the green one ( play ) , feed-hold, step-by-step, /, m01 ... that's all

    Option 2, Use the SP-No. Search button to go to the point you want to restart from
    you mean the block sequence counter ? like when restarting not at N002, but at number 750 ?

    we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...


  4. #4
    Member deadlykitten's Avatar
    Join Date
    Jun 2015
    Location
    Antarctica
    Posts
    4131
    Downloads
    0
    Uploads
    0

    Default Re: please, a few questions about using *.sdf

    hi, i have something like attached, is osp300 ... pls, can you spot it ?

    we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...


  5. #5
    Member deadlykitten's Avatar
    Join Date
    Jun 2015
    Location
    Antarctica
    Posts
    4131
    Downloads
    0
    Uploads
    0

    Default Re: please, a few questions about using *.sdf

    hello mr Wizard, hello area-828 i don't know where are those "cycle stop" and " bar feed link" buttons; it is a genos with osp300l, pretty similar to the image in post #6

    however, i extended the screen, and i found "schedule number search" ( image 01 ), and i searched a program; after that, just like you said, i pushed single block + cycle start, so to load it; and, after that i performed a normal restart ( image 02 )

    so far, so good thank you ... i did not imagined that i have to load the program before restarting inside it; nice trick to load it by single_block + play + reset

    You can use M0 if desired
    if i put an M0, like in image 3, then i get an error : image 4

    to make it work, i create a simple program, only with M0 + M02 inside it, and i PSELECT it

    The Control keys off of the M02
    if one of the programs do not have M02, then i receive error from image 5, so .... is ok i believe

    You want to use schedule programs because it loads and offloads programs which allows you to run more code than can fit in memory
    i have used sdf on the lathe, because it was possible now to run 2 programs consecutively, having modified jaws; before, i needed to rechuck the part, for each program

    so far, on osp300-lathe, i did not encountered a problem with memory; i don't have big programs, and the controller can handle only 2mb

    but, on the mill, there were programs >2mb, but also, there is PSELECT A B S

    i wonder why, on lathe, there is no A B S ? just another classic : team mill vs team lathe

    CG is right
    yes, you know, you are always right




    things i don't like about sdf :
    ... spindle stops between programs
    ... there is a small delay between programs, during when the program is loaded, and this leads to visible downtime
    ... there are too many keystrokes required to re-start, involving selecting the program, etc
    * since how i don't have a problem with program size ( at least so far ), on osp300, i believe that i will remain to the structure shared at post #2 / kindly

    we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...


  6. #6
    Member deadlykitten's Avatar
    Join Date
    Jun 2015
    Location
    Antarctica
    Posts
    4131
    Downloads
    0
    Uploads
    0

    Default Re: please, a few questions about using *.sdf

    If you scroll to a line in your schedule program and the hold in Interlock key while pressing cycle start, keystrokes are reduced
    hello again mr Wizard, it works also without ilk : i just selected the sdf file, scrolled down to 2nd program, and i pushed play ... however, even if ilk is used or not, if a 2nd restart is required, then is needed to reselect the sdf, so to clear the program that is loaded : for example, if there was a restart in 2nd program, and 2nd program remains loaded, and now is desired to restart inside 1st program, then is needed to flash away the 2nd program from the memory, and load instead the 1st program, and this can be done only by reselecting the sdf file ... so, there are less keystrokes, but repetability requires more keystrokes, in order to flash away the current loaded program ... of course, this is ok when memory is limited

    I believe that by changing parameter you can have “spindle not stop during M02”. Search in your spindle parameters
    i tried a few, shared them in that marvelous new thread, but no duck; my god, some parameters really sound promising / kindly

    we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...


  7. #7
    Member deadlykitten's Avatar
    Join Date
    Jun 2015
    Location
    Antarctica
    Posts
    4131
    Downloads
    0
    Uploads
    0

    Default Re: please, a few questions about using *.sdf

    PSELECT KING,,,Q1
    PSELECT ROOK,,,Q2
    PSELECT PAWN,,,Q8
    END

    hello mr wizard, i have seen that you like to share the chess sdf example, and recently i discovered that it actually works, thus there is no need to specify the '.min' extension

    this code works ( it will execute each file, even if the *.min extension is not specified inside the *.sdf ) :

    Code:
        PSELECT mr     ,,, Q1
        PSELECT wizard ,,, Q1
        PSELECT rock   ,,, Q2
        PSELECT paw    ,,, Q8
    
    END


    If the control doesn’t see the M2 it will not consider the part complete and will try to re run the program until it does. The counter will not advance in the schedule program until it sees the M2.

    Schedule programs kick butt over anyone else’s control so don’t be shy about this powerful tool. Avoid GOTO statements like the plague since you will run endlessly when the control should stop for something like a way lube alarm but never sees an M2. Not good.

    what about looping the program with GOTO, and using chuck ilk, so to feed the material without stopping the spindle ? kindly

    we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...


  8. #8
    Member deadlykitten's Avatar
    Join Date
    Jun 2015
    Location
    Antarctica
    Posts
    4131
    Downloads
    0
    Uploads
    0

    Default Re: please, a few questions about using *.sdf

    hi mr wizard we talked about those parameters here : https://www.cnczone.com/forums/okuma...ram-ended.html

    next code is stoping the spindle :
    ... image 01 , 02 : parameters
    ... image 03 : S load diagram shows that the spindle is stopped
    * please, would you give that code a try ? maybe it behaves differently / kindly

    Code:
    
    [ united.sdf ]
    
    
        PSELECT test-s-stop ,,, Q3
    
    
    END
    
    [ test-s-stop.min ]
    
        G04 F1  ( if i remove this line, then rpm won't stop, but drop to circa 1000o/min, then back to 2000 )
        G50 S2000
        G00 X500 Z200
        G97 S2000 M03
        G04 F5
    
    
    M02


    we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...


  9. #9
    Member deadlykitten's Avatar
    Join Date
    Jun 2015
    Location
    Antarctica
    Posts
    4131
    Downloads
    0
    Uploads
    0

    Default Re: please, a few questions about using *.sdf

    Also, if you highlight that top right box on the P300 screen there, the one with the grayish pictures of the turret and the current conditions, you should get the option on an F key to make that animated simulation, though some of the early P300's didn't have this.
    hey teahole, how are you ? please, can you share a printscreen ?

    I know for a fact that there's a parameter to prevent the spindle stopping and it absolutely works on a P100/200/200A/300/300A control.
    so far i could not keep the spindle running; my trials & results are at post 14

    another thing that doesn't work properly without the schedule is the N/C Operate Monitor which is basically your parts counter. You can try to make it work through some extensive macro-ing of the program, but i've found that as mentioned, the schedule is much more powerful than an IF/GOTO loop and causes fewer issues in the long run once everyone is used to using it. In my experience and opinion.
    depends on setup, my dear tea-hole : a while ago, i was messing with many bars, with equal length : last part was machined differently, puller was skiped, and some preparatory operations, for the next part, were also skiped; this was done in order to machine as many parts as possible from a single bar, and all the logic was done through some conditionals & variable based counters

    on another setup, i was feeding the material after machining 4 parts, thus 1st part was machined with overhang, and last part was machined near the spindle; through conditionals, the cutting specs were decreased for parts 1 & 2, and increased for parts 3 & 4

    i am not talking about short term setups, few parts, but looong ones ...

    actually, this is only the begining, because, on such long setups, appears a phenomen : unitar productivity variation, thus sometimes crafting much more parts then other times, during same period; here, you need monitoring tools, that are way beyond okuma's default counter; let's say that you know that one day has 10%lower machining time, but it delivers 5%more parts, and no one knows nothing ?! in that moment, you may realize that you need monitoring tools in short, is needed to analyze the downtime factors, and rush the setup, in a temperate manner;i am no longer looking into mac-man data, but into a base-line comparison chart

    of course, such things are available from okuma, there are 4.0 managements, and i believe you know that truth is that there are customers that buy such stuff, expecting to increase their productivity once implemented, but, in reality, it only shows what they allready ( should ) know; yes, the spindle is busy, i am so relaxed, but the overide is sometimes at 5%, and i am still ok, because i don't know that / kindly

    we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...


  10. #10
    Member deadlykitten's Avatar
    Join Date
    Jun 2015
    Location
    Antarctica
    Posts
    4131
    Downloads
    0
    Uploads
    0

    Default Re: please, a few questions about using *.sdf

    I'm not arguing with you.
    All i'm saying is that for 99% of the world, this:
    PSELECT A.MIN,,,Q6
    END
    yes teahole, and 99% of the macro guys can deliver a g-code counter but the osp300 is so " open posibilites "

    we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...


  11. #11
    Member deadlykitten's Avatar
    Join Date
    Jun 2015
    Location
    Antarctica
    Posts
    4131
    Downloads
    0
    Uploads
    0

    Default Re: please, a few questions about using *.sdf

    just one more thing : i know that using sdf is common, okuma's die hard, and old machines with low memory are still there

    for your reference : if you try to minimize the execution time of your programs, please be aware that looping with "goto" is faster then using " pselect *.min ,,, Q ", with about 0.5seconds/loop; to gain even more time, try to exclude preambul codes/operations from the loop

    such an amount does not matter for loooong programs, but it does for short ones, especially for ctr-finetuned codes / kindly


    ps : next, i will share the test programs :
    ... b1 is looped directly from the sdf file
    ... b2 is using goto
    ... b3 is using a soubroutine

    recorded times ( ms ) :
    ... b1 52596
    ... b2 46724
    ... b3 46674
    * times for b2 & b3 are pretty equal, while b1 performs with 5seconds slower

    Code:
    [ b1.min ]
    
        G50 S2000
        NOEX LVXP = VPVLX-VZOFX LVZP = 350
        G00 X+LVXP Z+LVZP
        T100 G97 S1200 M03 M42 G00 X-350 Z-200 M63 G91
        G01 Z-10 F0.22 G95
            Z+0.3
        G00 Z+9.7
        G00 X+LVXP Z+LVZP M05 M63 G90
        M02
    
    [ b2.min ]
    
        NOEX V3 = 0
        N1 NOEX
        G50 S2000
        NOEX LVXP = VPVLX-VZOFX LVZP = 350
        G00 X+LVXP Z+LVZP
        T100 G97 S1200 M03 M42 G00 X-350 Z-200 M63 G91
        G01 Z-10 F0.22 G95
            Z+0.3
        G00 Z+9.7
        G00 X+LVXP Z+LVZP M05 M63 G90
        NOEX V3 = V3 + 1
        IF [ V3 LT 10 ] N1
        M02
    
    [ b3.min ]
    
        CALL OSUB Q10
        M02
    
    
    OSUB
        G50 S2000
        NOEX LVXP = VPVLX-VZOFX LVZP = 350
        G00 X+LVXP Z+LVZP
        T100 G97 S1200 M03 M42 G00 X-350 Z-200 M63 G91
        G01 Z-10 F0.22 G95
            Z+0.3
        G00 Z+9.7
        G00 X+LVXP Z+LVZP M05 M63 G90
    RTS
    all those programs, are called from a sdf file, and the overall execution time is being calculated :

    Code:
    
     [ united.sdf ]
    
        VSET V1 = VDIN [ 1000 ]
        PSELECT b1 ,,, Q10
        VSET V1 = VDIN [ 1000 ] - V1
        PSELECT odd
    
    
        VSET V1 = VDIN [ 1000 ]
        PSELECT b2
        VSET V1 = VDIN [ 1000 ] - V1
        PSELECT odd
    
    
        VSET V1 = VDIN [ 1000 ]
        PSELECT b3
        VSET V1 = VDIN [ 1000 ] - V1
        PSELECT odd
    
    
    END
    
    [ odd.min ]
    
        FWRITC tempo.txt;A
        NOEX PUT V1
        WRITE C M02
    


    we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...


Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

please, a few questions about using *.sdf

please, a few questions about using *.sdf