detect restart sequence ?


Page 1 of 2 12 LastLast
Results 1 to 20 of 25

Thread: detect restart sequence ?

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

    Default detect restart sequence ?

    hello guys, is it possible to detect from code if machine is in restart sequence ?

    so to avoid executing something, like variable initialization ? 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: detect restart sequence ?

    hello again mr. Wizard ... can't find that "Switch check program" ... or, at least, VRSTT states : 0normal / 1restarting ? kindly !

    don't worry, i just hit into Darth Vader, speaking about VRSTT states: http://www.cnczone.com/forums/okuma/...tailstock.html

    i can't believe it ... they are washing his face and give him haircut ...



    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: detect restart sequence ?

    hello, for osp-p300l, VRSTT states : 0_restart_inactive / 128_restart_active

    i needed it for something, but when i see that it works, i also used it to reduce restart-duration

    i declare each phase/sequence inside a ssb; i modify general structure like is :

    Code:
    O....
    
    variables initialization
    
      ( * )
    
    IF [ VRSTT NE 0 ] NEND
    
    safe position / index / tool approach / cutting / safe position
    
    NEND
    
    RTS
    now i run a simple program; restart duration reduced from 6 to ~2 seconds

    caution ... not all sequences are subject to this ... tailstock for example

    if " IF [ VRSTT NE 0 ] NEND " would be 1st line inside the ssb file, than restart will take place after this sequence; so desired phase to restart will be skiped

    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: detect restart sequence ?

    you just skipped all of your "safe positions"
    only code before restart position is skiped, including " safe positions(SP) " ... during restart i don't take into consideration SP from previous operations

    - also, for continuity reasons, there is always a conection between "end_sp of one sequence" and "start_sp of next one"
    - they share at least X or Z positions; i use :
    .... X_fix & Z_fix for OD tools that work near parts front
    .... only X_fix and random Z for OD tools that work near parts end
    .... only Z_fix and ranfdom X for ID tools

    but graphics information >>> this is not critical ...yes, it helps ... i don't use it
    tool calls
    when restarting i don't call tools, but sequences ... i write each sequence inside a ssb, and just call them from main program ...

    there is an image with sequences for a program that runs now :
    ...first column holds adrreses for each phase
    ...2nd call soubroutine
    ...3rd is for coments
    ...4th is for tool description
    ...5th is for required P cadran
    ...6th was added today, and it highlight phases that are skiped during restart

    there are 16 phases and 8 tool references ... there are :
    ... identical tools on turret
    ... phases performed by same tool

    modular / fast to see / easy to import, export, mix like a rubik cube

    press INTERLOCK and CYCLE START at the same time to begin from that point >>> i did not know that ... i'll try it
    still waiting >>> working on sky is my lower limit
    switch check program >>> this is new ... i will inspect it / at first glance looks alien


    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: detect restart sequence ?

    number search or scroll
    i can locate restart phrase/address only by search ...

    i have tried to scroll, but it does not work : i pushed "down arrow" , " page down "

    also, i enter " edit mode ", there i have scrolled to desired position, but i can't restart from "edit mode" ... well / i don't know what you reffer by scrolling ... i tried

    i'll try anything you wish ... if you wish ...

    then press INTERLOCK and CYCLE START at the same time to begin from that point
    once i locate desired position, by search, i press attached button + green

    if i press IL + green ( concomitent ) , than i receive an error

    ... so ...
    idea was to reduce restart duration, and so far i succeded by going down the "dangerous road"

    i tried what you said, because i thought that it may be an alternative ... even if solution described at post 5 works, i would be glad to avoid it and instead use "scroll"+"IL" or whatever buttons, that works faster

    restart duration is long, because machine verifies all stuff till that point ...
    sometimes programs are simple, but long, so restart duration will be increased, a lot of stuff will be verified, but all will be perfect in the end ... so in this case is normal to wish for a phisical restart : just start from there ... don't verify, i tell you that is all good so far


    just start from there >> if a lot of restarts occure at same position, maybe is better to split the program right there ; also, a GOTO near program begining will solve it

    don't verify, i tell you that is all good so far
    >> this is the " dangerous road" ; well, i am comfortable with it, and what i mean is that i don't feel like making experiments ... i had this in mind for long time, and darth vader just came in

    PS : there are things still left mysterious here :
    ....swith check : no time 4 it so far
    ....your waiting ....
    ....and i just observed that under darth vader is morris midwest label ... good day to you mr wizard

    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: detect restart sequence ?

    interlock + cycle start
    hello, it works :) once you switch to auto, also must focus program window ... in auto there are 3 zones on screen that can receive focus ( pls see image ), and i was not where i should be; once a zone is focused, it is bounded by that blue rectangle :)

    using IL+play on code with M66, requires M867 :)

    is interesting, because :
    ...... i have always M867 at program begining, and so it seems that IL+play skips it :)
    ...... if tailstock should be engaged, but i restart by IL+play with tailstock at home position / not engaged, than i receive a tailstock error

    ...... so it skips M867, but not the tailstock .... hmm
    ...... normal restart does not require M867 inside every sequence ...


    so general structure, now, is as below :

    Code:
    O....
    
    variables initialization
    
      ( * )
    
    IF [ VRSTT NE 0 ] NEND
    
    M867
    safe position 1
    < index M66 > < S / SB ... > < tool approach M63 >
    cutting
    safe position 2
    
    NEND
    
    RTS
    thx mr wizard :)

    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: detect restart sequence ?

    il + play / skipping behaviour
    il+play :
    ......1) does not skip tailstock advance
    ......2) skips M867 from program begining
    ......3) skips tailstock retreat from program begining

    i use 3) because :
    ...... safety reason, to be sure that tailstock is at home position every time the program starts / i can remove it, so operator should be more carefull
    ...... otherwise, if i remove it, than i must switch that key twice for each program run ; if i keep it, than key is always in the same position, and i let it be like that till next cnc setup ... i guess in 1 month ? ... i pray to " short setups & long machining " god ... actually i pray to "no setups & no fixtures" god

    it would be nice to have no worries about this skipping behaviour, because ... because potatoes can be fried ...

    i will try again, maybe i am missing something ... later ... nope, "il+play" fails on tailstock where "search+restart" works ...

    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: detect restart sequence ?

    there is no ODD behavior involved... Why is that strange?
    there are discussed issues about restarting : " scroll + IL + green (method_1)" vs " search + restart button + green (method_2)"

    in the attached movie, there is restarted same location, with method_1, and after with method_2; as you can see, method_1 failes, while method_2 goes nice

    so far method_1 skips things like :
    ......M867 from program begining
    ......tailstock retreat from program begining
    ......so there is something else

    Whether you "Skip" anything in a restart mode is totally up to you and your programming method (what ever the hell that might be)
    there are behaviour differences between these 2 methods; as you can see, in post 10, i had to modify the program for method_1 to work

    so skiping depends on restart method, and not on code

    programming approaches may vary; you can obtain same part differently ; whatever you do, can't avoid M55 / M56 for tailstock ...

    WTF has frying potatoes got to do with a Sequence Restart Skip programming sequence???
    i don't know ... really have no clue ... ... is it grammatically incorrect?

    with a bit of luck this thread can turn into a war zone ... again

    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: detect restart sequence ?

    Quote Originally Posted by broby View Post
    you and your programming method
    this post is only a modest example; nothing more ...

    ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . )

    beside structure from post7, i also log data for each code variant

    if enough functionality is added to consider a new code variant, than i keep the old one, and make modifications inside a new copy; for each variant i highlight differences; in the attached image, variants 5..7 are for restart procedures, and they are labeled "unsafe"

    latest variants may be machinable, or demo-tests ... like this i can always go back to a previous safe state and continue from there

    programs, and not only, i always back-up on a memory stick and also at home ... just in case, if one PC crashes, i have a spare 1 meter near, or at home, that has all i need to continue without interruption

    for data backup there are also clouds, but i don't like them, because they require net connection ...

    i use " free file sync " ... here : FreeFileSync - Free Backup and File Synchronization Software

    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: detect restart sequence ?

    lL + play / skipping behaviour solved
    if "IL+play" skips something, than just insert skipped code @ each operation begining

    in my case :
    .... tailstock to safe position, when tailstock is used, otherwise key must be switched before restart to right, and after restart, to left
    .... M867 to allow M66

    note : code add-ons are not neccesary when restarting by " search + restart button + play "

    Code:
    O....
    
    send tailstock to safe position
    
    variables initialization
    
      ( * )
    
    IF [ VRSTT NE 0 ] NEND
    
    M867
    safe position 1
    < index M66 > < S / SB ... > < tool approach M63 >
    cutting
    safe position 2
    
    NEND
    
    RTS


    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: detect restart sequence ?

    If you want it completely safe, turn off the power, kick the breaker, shut off the lights and go home. Respectfully >>> that's the spirit ; don't lose it
    CHUCK CLAMPED ? >>> machine checks that by default
    TAILSTOCK ENGAGED ? >>> machine checks that by default
    COOLANT ON ? >>> is it possible to verify if, after M08, operator stopped cooland from panel ?
    SEATS AND TRAY TABLES IN FULLY UPRIGHT POSITION? >>> i always instruct my operators to move turret up & right before a restart ... i guess i may verify from code stuff like that, but i bet on operator's attention

    YOU SURE YOU'RE WIFE'S OUT OF TOWN?
    this is nice ... sneaking jokes

    once i was talking with a friend about old cinema cartoons parents were going with their kids, so not to leave a child alone .... so far so good

    well, guys from cinema, from projector, where inserting xxx scenes during the cartoons these scenes were very short, very fast, so out of kids reaction time, but just enough for the adulst to start thinking ... is that kind of timing, when things happen so fast, and you wake up long after

    i just rememebered something : i was breaking because traffic lights were red ... it was night ... i was looking straight ahead, and i saw a light shape on my rear-mirror ... light shape, not head lights ... so i changed my eyes to the mirror ... and then i saw in front of my car, on the near street lane a nissan gtr ... this guy in a fraction of a second reduced speed from whatever and zig-zaged between 3 lanes ... also, even if breaking was hard, there had been no tire sounds ... also machine front did not lean ... it was so natural ... at green it launched ... i was looking and i continued my way home thinking about that

    I've crashed a machine >>> me too ; so far i recorded 2 crashes : i remember 1st one : i was looking how a big drill was going to hit the chuch, and i did not know what to do so i just continue looking ... i knew i will be in trouble
    it is incredibly difficult to restart a part once the tailstock has been engaged >>> why ? it's so easy & boring ... i have such a setup right now
    At some point, your macros and safety checks become the CAUSE of crashes rather than the PREVENTION of them ... it may be true ; so called " unsafe sentiment of safety " ; when you do something wrong, being sure is correct
    all the best teahole

    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 ...


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

    Default Re: detect restart sequence ?

    I don't bet on any operator doing anything. Ever. My idea of safety checks include verifying the coolant is on.
    i understand, and i don't go like this all the time; i believe that ideas about this issue are between these 2 limits :
    ......1) this is the operator, thank god he come to work, let it work how he can, because cnc spins without him; hope this time he won't forget to push green button
    ......2) jesus is operating

    i go with (1) on stable setups, easy parts, and i use unqualified opeartors, like young girls
    i go with (2) on unstable setups : here i use veterans ...

    i have attached parts crafting chart, for 3 days, each with 2 shifts : yellow is veteran ; blue is newbie

    difference is huge, and so i will take actions to raise newbies productivity ... so i bet on operators , but also do my best to raise their odds, only when necessary

    PS : if someone has an idea how to auto-generate this charts from cnc is more than welcomed

    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 ...


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

    Default Re: detect restart sequence ?

    Quote Originally Posted by OkumaWiz View Post
    you can also number search or scroll to a point in the program that you want to restart at and then press INTERLOCK and CYCLE START at the same time to begin from that point
    i asked myself many times why is there such a restart method ? i think that it is there so to reduce restart duration when you are sure what you do

    otherwise, you can see how life goes by, while the "normal restart sequence" goes through the program, through each code line

    however, meanwhile i worked on this, and i can say that :
    ... i use VRSTT in such a way that "normal restart sequence" jumps over operations, but not over critical points
    ... so i can "restart normally" almost as fast as "INTERLOCK+CYCLE START", and still being safe no more life waste

    ... however, "INTERLOCK+CYCLE START" rocks



    Okuma may optimize the "normal restart sequence", so to make it perform considerably faster, but this involves much more than salting a program with VRSTT

    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 ...


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

    Default Re: detect restart sequence ?

    hy in attached archive you may see a movie where i restart operations 7 and 6, by using normal restart method

    code is skiped, but not over critical points ( in this case : the tailstock )

    thus, after a restart, machine behaves like running a new program from the specified line : its almost as fast as IL+cycle start, but being safe ; 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 ...


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

    Default Re: detect restart sequence ?

    Quote Originally Posted by deadlykitten View Post
    its almost as fast as IL+cycle start, but being safe
    hello all comparing to my last post in this thread, i have reduced with more than 50% the duration of the normal restart sequence ( when using restart button, and not IL+ cycle start, which is a bit risky ) ; video attached

    each operation is inside a soubroutine : OS01, OS02, OS03, etc, and the main program calls each one of them :
    NN01 CALL OS01
    NN02 CALL OS02
    NN03 CALL OS03
    * NNxx represents the adress of each operation, so to be able to restart as desired; content of each soubroutine looks like this:

    Code:
    OSxx
        N****
        IF [ VRSTT NE 0 ] NEND
        // soubroutine content
        NEND
    RTS ( . . . . . . . . . . . . . . . . . . . . . . . )
    this approach jumps over entire operations, like nothing is there

    the key to avoid a failure, is to create the program in such a manner, that each operation can be restarted as an individual

    this involves managing the [ turret safe positions, which are particular to each operation ] and [ machine modes : G270, G271 and G272 ]

    there is a trick : for example, if 2 neighbour operations are using :
    ... both C axis, than C axis is not disengaged and reangaged
    ... C axis and S axis, than C axis is disengaged
    ...... thus there is an optimized transition between machine modes that is performed automatically ( http://www.cnczone.com/forums/okuma/...ptive-ctr.html )

    only exception is when the tailstock is involved and i handle it like this :

    Code:
    OSxx
        N****
        IF [ VRSTT NE 0 ] NEND
        // soubroutine content with tailstock codes
        NEND
        IF [ VRSTT EQ 0 ] NSTLS
             tailstock codes ( again, repeated )
        NSTLS
    RTS ( . . . . . . . . . . . . . . . . . . . . . . . )
    to be more exact, code looks like this :

    Code:
    OSxx
        NGHOST G305 (*2) 
        IF [ VRSTT NE 0 ] NEND
        // soubroutine content with tailstock codes
        NEND NOEX (*3)
        IF [ VRSTT EQ 0 ] NSTLS ( N skip tailstock )
             tailstock codes (*1)
        NSTLS NOEX (*3)
    RTS ( . . . . . . . . . . . . . . . . . . . . . . . )
    
    (*1)
    ( tailstock codes are repeated outside the code jumped during the restart sequence, so to make the control aware of tailstock state )
    
    (*2)
    ( in my case, if NGHOST is missing, than restarting operation "n" will lead to execution of operation "n+1", not "n" )
    ( this is because restarting at adress N_random may lead to program execution from the line that begins )
    (with N_random, or from the 1st line after the line that begins with N_random )
    ( this depends at least on NOEX and/or VRSTT presence on the line that is being restarted; maybe other factors are involved as well )
    
    ( G305 is there to avoid stopping the program at a non-execution line during a step-by-step procedure )
    (*3)
    ( someday i will explain more stuff about NOEX )
    as a result, during a restart sequence, only tailstock codes ar being taken into consideration

    i have done this, because i go crazy when i wait near a cnc to perform it's restart sequence, especially when long operations are involved all is build depending on cnc restart flag : VRSTT; another way to use this system variable is when using multi-purpose toolholders on Y turrets ( image attached ), so to manage turret safe positions, depending on VRSTT value, but this is a story for another time / 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 ...


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

    Default Re: detect restart sequence ?

    hello all so far, this thread is about :
    ... detecting when a restart is issued, so to behave conditionally
    ... differences between " classical restart = method 1" vs " ilk + cycle start = method 2 " :
    ...... method 1 : safe, but slow ( seconds )
    ...... method 2 : dangerous if not understood when it can be aplied, but fast ( almost instantaneously )
    ... using the vrstt ( method 3 ), so to deliver a restart in the classical manner, but with less waiting time; idea behind is to skip the cutting codes, but not the codes that are about machine state ( M110 on, Yaxis on, tailstock engaged, etc )

    there are a few videos shared so far :
    ... post 13 : shows how method 2 fails because tailstock conditions are not satisfied, but method 3 allows to restart without problems
    ... post 21 : shows how method 3 shaves time during a restart sequence ( without using vrstt, that restart would require few seconds ); at that moment, method 3 required circa 0.1seconds/operation; when my finger was reaching over " restart nr14 hardware button ", restart search was still executing, so i had to wait
    ... post 22 : method 3 is improved, so to require less time, by using noex; when my finger was reaching over " restart nr14 hardware button ", restart search was completed





    ok, so what now ?
    ... method 3 just got faster, in order to allow the classical restart to be executed almost as fast as ilk+c/s, but keeping the safety ( is all about how "safety" is handled inside the code )
    ... i started using multiple sequence names for the same operation, because different controllers and different programmers are using different masks for this "checkpoints", and, if someone is used with a certain type, it will be hard for him to change this behaviour; old habits die hard


    if you wish, please check attached video about live testing the actual state of method 3 + a tiny log, for faster debugging; it performs a bit slow, because, during restart, is opened the log file ( fwritc ), and file operations lead to downtime; i will be back with explanations about what is happening there / 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 ...


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

    Default Re: detect restart sequence ?

    using multiple sequence names for the same operation, because different controllers and different programmers are using different masks for this "checkpoints"
    hello let's start with a simple code, and develop :

    Code:
        [ p1.min ]
    
    
        NAT02   CALL OS01   ( operation is executed with tool number 2 )
    
    
        NAT04   CALL OS02   ( ... ... ... ... ... ... ... ... ... .. 4 )
    
    
        NAT06   CALL OS03   ( ... ... ... ... ... ... ... ... ... .. 6 )
    
    
        NAT08   CALL OS04   ( ... ... ... ... ... ... ... ... ... .. 8 )
    from whatever reason, operation 2 has to be canceled, so let's use some brakets :

    Code:
        [ p1.min ]
    
    
        NAT02   CALL OS01   ( operation is executed with tool number 2 )
    
    
        NAT04 ( CALL OS02 ) ( ... ... ... ... ... ... ... ... ... .. 4 )
    
    
        NAT06   CALL OS03   ( ... ... ... ... ... ... ... ... ... .. 6 )
    
    
        NAT08   CALL OS04   ( ... ... ... ... ... ... ... ... ... .. 8 )
    using brakets requires too many keystrokes, so let's pass the tool&offset number by using LINK variable; 2nd operation will be skipped, because LINK<0; like this activating/deactivating operations is done with minimal code edit

    Code:
        [ p1.min ]
    
    
        NAT02   CALL OS01   LINK = +02   ( operation is executed with tool number 2 )
    
    
        NAT04   CALL OS02   LINK = -04   ( ... ... ... ... ... ... ... ... ... .. 4 )
    
    
        NAT06   CALL OS03   LINK = +06   ( ... ... ... ... ... ... ... ... ... .. 6 )
    
    
        NAT08   CALL OS04   LINK = +08   ( ... ... ... ... ... ... ... ... ... .. 8 )
    now let's consider that 3rd operation needs to be restarted; if it is not known that 3rd operation is done with tool 6, then is needed to open the door and check the turret, or look inside the program ... this requires too much time, so let's add a 2nd layer of sequences for each operation; like this, operation 3 will be restarted with NN03, thus, avoiding to inspect the turret or the program

    Code:
        [ p1.min ]
    
    
        NN01    NOEX
        NAT02   CALL OS01   LINK = +02
    
    
        NN02    NOEX
        NAT04   CALL OS02   LINK = -04
    
    
        NN03    NOEX
        NAT06   CALL OS03   LINK = +06
    
    
        NN04    NOEX
        NAT08   CALL OS04   LINK = +08
    i like to use NN+operation_number more then NAT+tool_number, because NN** seems to me more intuitive; also, i preffer to remove the "A" from NAT, so to reduce the number of keystrokes; as a result, code from above becomes :

    Code:
        [ p1.min ]
    
    
        NT02    NOEX                     ( tool 2 will be used )
        NN01    CALL OS01   LINK = +02   ( operation 1 )
    
    
        NT04    NOEX                     ( tool 4 will be used )
        NN02    CALL OS02   LINK = -04   ( operation 2 )
    
    
        NT06    NOEX                     ( tool 6 will be used )
        NN03    CALL OS03   LINK = +06   ( operation 3 )
    
    
        NT08    NOEX                     ( tool 8 will be used )
        NN04    CALL OS04   LINK = +08   ( operation 4 )
    so far so goo for single programs it seems enough to use 2 types of sequence names for each operation

    now, please, let's consider that there are 2 programs ( ssb type, not min type ), and those programs are runned by a master program ( min type ) :
    ... 1st program uses tools 2 4 6 8 10
    ... 2nd program uses tools 1 3 5 7 10 10
    *each program has 2sequences for each operation :

    Code:
        [ united.min ]
    
    
        call p1.ssb
        call p2.ssb
    
    
        [ p1.ssb ]
    
    
        NT02    NOEX
        NN01    CALL OS01   LINK = +02
    
    
        NT04    NOEX
        NN02    CALL OS02   LINK = -04
    
    
        NT06    NOEX
        NN03    CALL OS03   LINK = +06
    
    
        NT08    NOEX
        NN04    CALL OS04   LINK = +08
    
    
        NT10    NOEX
        NN05    CALL OS05   LINK = +10
    
    
        [ p2.ssb ]
    
    
        NT01    NOEX
        NN01    CALL OS15   LINK = +01
    
    
        NT03    NOEX
        NN02    CALL OS16   LINK = +03
    
    
        NT05    NOEX
        NN03    CALL OS17   LINK = +05
    
    
        NT07    NOEX
        NN04    CALL OS18   LINK = +07
    
    
        NT10    NOEX
        NN05    CALL OS19   LINK = +10
    
    
        NT10    NOEX
        NN06    CALL OS20   LINK = +10
    structure from above allows to replace " sdf + pselect " with " min + call ", when there is no problem with memory; as a result, all these disadvatanges, specific to sdf files, are gone :
    ... 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


    now, let's say that i wish to restart 6th operation inside 2nd program; to do this, i can restart in 2 ways :
    ... NT10 order 3
    ... NN06 order 1
    it will work, but why should i pay attention to order number ? why loose time to remember or to dig for the order number ? to handle this, let's add a 3rd layer of sequences :

    Code:
        [ united.min ]
    
    
        call p1.ssb
        call p2.ssb
    
    
        [ p1.ssb ]
    
    
        NP01    NOEX                     ( general counter : operation 01 )
        NT02    NOEX
        NN01    CALL OS01   LINK = +02
    
    
        NP02    NOEX                     ( general counter : operation 02 )
        NT04    NOEX
        NN02    CALL OS02   LINK = -04
    
    
        NP03    NOEX                     ( general counter : operation 03 )
        NT06    NOEX
        NN03    CALL OS03   LINK = +06
    
    
        NP04    NOEX                     ( general counter : operation 04 )
        NT08    NOEX
        NN04    CALL OS04   LINK = +08
    
    
        NP05    NOEX                     ( general counter : operation 05 )
        NT10    NOEX
        NN05    CALL OS05   LINK = +10
    
    
        [ p2.ssb ]
    
    
        NP06    NOEX                     ( general counter : operation 06 )
        NT01    NOEX
        NN01    CALL OS15   LINK = +01
    
    
        NP07    NOEX                     ( general counter : operation 07 )
        NT03    NOEX
        NN02    CALL OS16   LINK = +03
    
    
        NP08    NOEX                     ( general counter : operation 08 )
        NT05    NOEX
        NN03    CALL OS17   LINK = +05
    
    
        NP09    NOEX                     ( general counter : operation 09 )
        NT07    NOEX
        NN04    CALL OS18   LINK = +07
    
    
        NP10    NOEX                     ( general counter : operation 10 )
        NT10    NOEX
        NN05    CALL OS19   LINK = +10
    
    
        NP11    NOEX                     ( general counter : operation 11 )
        NT10    NOEX
        NN06    CALL OS20   LINK = +10
    like this, if i wish to restart 6th operation inside program 2, i simply restart on NP11; idea, behind it, is that a part can be delivered by having all operations inside a program, inside multiple programs, or inside conditional looped codes, etc ... in the end, regardless of program arhitecture, a unique label is attached, removing the need to inspect the program




    after i create a program, if needed, i also deliver documentation ( machine setup + operation etc ). including the restart sequence

    during testing, i have used 9 sequences for each operation, but i generaly use only 2 or 3 :
    ... single programs : NT+tool, NN+operation_number
    ... linked programs : NP+general_operation_number

    video shared in previous post is about testing all these things shared so far; there is also a log that shows if an operation is runned in continuous mode, or if it had been restarted




    as for the future, i wish to restart with a single keystroke / 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 ...


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

    Default Re: detect restart sequence ?

    hello, just one more thing; for this code, which uses multiple sequences for same operation :

    Code:
        NP11    NOEX
        NT10    NOEX
        NN06    CALL OSUB
    
        M02
    
    OSUB
    
        NOEX V1 = ...
        NOEX V2 = ...
        NOEX V3 = ...
    
        // do something conditional, based on VRSTT (*1)
    
    RTS
    (*1) if restart is issued on NP11, NT10 or NN06, then the conditional behaviour, based on VRSTT is kept, as long as NOEX is there; if NOEX is removed, then the conditional behaviour is lost; thus is possible to behave conditionally on the line marked with *1, even if the restart was issues on NP11, which is 6 blocks ahead

    when restarting on a sequence, if there are NOEX codes ahead and after it, then the restart "area" is enlarged during the restart, controller won't stop at restarted sequence and check the machine state before it ( as usual ), but it will stop at 1st "no noex" line after the restart sequence, and check the machine state for the 1st "no noex" line before the restart sequence

    i use this behaviour :
    ... to capture the restart flag when using more then one restart sequence / operation
    ... to calculate math ( or whatever initializations ) during the restart sequence, and not after pressing cycle start / 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 ...


Page 1 of 2 12 LastLast

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

detect restart sequence ?

detect restart sequence ?