Posts by robot-cnc

    I found some line reffering to OVM in tm bib.src


    I think is linked by OV_PRO when torque monitor.

    Or collision detection.


    Vary on OV_PRO from potentiometer while runing, change torque values and maybe robot could interpret this as a collision and stop movement.


    Should I deactivate collision detection?

    Therefore, still testing today robot behaviour, Submit Works fine, do not stop anymore.

    Running a simple src programm, in T1 os ok, in AUT is ok too a while, Robot Speed can be setted from potentiometer, but appear an error and stop, not in the same line , randomly saying

    "OVM invalid value"

    originator R1/nonname.src....my testing program

    I think it happen when I try to vary robot speed while running.

    When fix a speed from potentiometer and run in auto keeping it unchanged, run all program ok.

    Maybe I am wrong, but what about refer OVM value?

    It is linked by OV_PRO?

    I don't think is a problem with the program since in T1 is running well.

    Yes nPLCSspeed is declared as real, if try to define as integer , iPLCSpeed becomes red, not accepted.

    Your code simplified I think is better since potentiometer is 0-10V, and couldn't give for nPLCSpeed negative values or higher than 100.

    I will try it, if works will be adopted.

    Thank you !

    The working code for analogical robot speed control in Automatic Mode with an external potentiometer ( analogical input), to be added in sps.sub is fallowing :


    ;FOLD USER DECL

    ;please insert user defined declarations

    DECL REAL nPLCSpeed

    SIGNAL iPLCSpeed $ANIN[1] ; robot speed control from external potentiometer

    ;ENDFOLD (USER DECL)

    ;ENDFOLD (DECLARATIONS)

    .

    .

    .

    LOOP

    WAIT FOR NOT($POWER_FAIL)

    TORQUE_MONITORING()

    ;FOLD USER PLC

    ;Make your modifications here


    IF $AUT THEN : only apply PLC speed in Automatic Mode

    nPLCSpeed = iPLCSpeed ; transcribe input byte to integer


    IF nPLCSpeed<0 THEN

    nPLCSpeed=0 ; avoid negative values

    ENDIF

    IF nPLCSpeed>0 THEN

    nPLCSpeed=100 ; OV_PRO only accepts integers between 0 and 100

    ENDIF


    $OV_PRO=100.0*$ANIN[1] ; write speed to $OV_PRO

    ENDIF

    ENDLOOP


    Note that underlined code line will give you when edit in WV a warning message that should be ignored not supressed with ;

    The message is:

    "When using a value of type 'REAL' for a parameter of type 'INT' some values may not be initialized correctly"

    If you supress the message, just to have a clean syntax in Work Visual, will not function.

    Important is to have no error, warnings are just warnings, do not block.


    I also awarn that use of potentiometer in robot speed control should be done by end user with maximum attention, because is very easy to hit the button and instead 10% suddenly to reach 100%.

    Is more safe digital control with +/- from smartpad or external digital button if needed.


    Thank you Skyfire,PanicMode,Herman for your sugestions that lead me to solve this request.

    It works,


    External Content fb.watch
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.


    when finish testing will post the correct code....

    You should book a course

    Really?

    Imagine that I know to start/stop, or deselect Submit. In this case not work, otherwise I would not write here to ask help frome someone called experienced moderator. You provide only short answers, suposing......but uncertain solutions.

    If you are so good and expert with booked courses write a complete code of sps.sub including this OV_PRO functionality.

    So far you provided solution are not working , and you not responde to a dump,belive me Hermann.

    Have you really read first photo message?

    There is no answer for that.

    Submit stuck and do not start stop or deselect.

    I recommend you to give up on this superior behaviour that tend to humiliate anyone asking suppport on this forum. I think that its existance reason, is to help each other and to share from all participants experience.

    I am sorry but your answer bother me.

    In Hermann post he send to Skyfire post. Sorry for missmatch.

    Variable OV_APPL is available since 8.5, mine is 8.3, this is why cannot be used.

    The only way is with OV_PRO but in variant $OV_PRO=nPLCSpeed syntax is orange underlined with warning message:

    When using a value of type 'REAL' for a parameter of type 'INT' some values may not be initialized correctly" on line $OV_PRO = nPLCSpeed

    This syntax is accepted, not sure if works, must try.


    IF $AUT THEN; only apply PLC speed in Automatic modes

    nPLCSpeed = 100.0*iPLCSpeed ; transcribe input byte to integer

    IF nPLCSpeed < 0 THEN

    nPLCSpeed=0 ; avoid negative values

    ENDIF

    IF nPLCSpeed>100 THEN;

    nPLCSpeed=100 ; $OV_PRO only accepts integers between 0 and 100

    ENDIF

    nPLCSpeed = $OV_PRO ; write speed to $OV_PRO

    ENDIF

    Your help is very appreciated here.

    Ok if you want me to add link to your post here it is:


    Can you please correct my code, because the only valid version accepted by WV syntax is this:


    IF $AUT THEN; only apply PLC speed in Automatic modes

    nPLCSpeed = iPLCSpeed ; transcribe input byte to integer


    IF nPLCSpeed < 0 THEN

    nPLCSpeed=0 ; avoid negative values

    ENDIF


    IF nPLCSpeed>100 THEN;

    nPLCSpeed=100 ; $OV_PRO only accepts integers between 0 and 100

    ENDIF


    nPLCSpeed=$OV_PRO; write speed to $OV_PRO (...........instead $OV_PRO=nPLCSpeed)


    ENDIF


    If I introduce $OV_PRO = 100.0*$ANIN{1] is not accepted


    Thank you very much Panic Mode !

    Ok, I will use stop robot when spindle accidentaly stop with interrupt in main task not in sps.sub.


    The other issue I have is using a potentiometer to control in Automatic mode robot speed $OV-PRO.

    I used from an older post from Panic Mode fallowing code but it seems not work.

    I use a Beckhoff EL 3255 terminal for potentiometer as ANIN , is configured in I/O as analog input, when varies from button I see tension variable from 0 to +10V.

    But In Auto Mode do not change anything when use potentiometer.

    Attached are photos from sps.sub

    Work Visual has no error but only a warning that says


    "When using a value of type 'REAL' for a parameter of type 'INT' some values may not be initialized correctly" on line $OV_PRO = nPLCSpeed

    that's my new code based on your sugestions :

    IF NOT $IN[1] THEN ; TOOL NOT LOCKED (S1)

    $OUT[1]=FALSE ; SPINDLE STOPPED

    IF $IN[2] THEN ; TOOL RELEASED (S2)

    $OUT[1]=FALSE ; SPINDLE STOPPED

    IF $IN[3] THEN ; IF SPINDLE ROTATING

    $OUT[2]=FALSE AND NOT $IN[4] ; TOOL CHANGE AND TOOL CHANGE PUSHBUTTON NOT ALLOWED

    $IN[4]=TRUE ; TOOL PUSHBUTTON CAN BE USED

    IF NOT $IN[5] THEN ; SPINDLE OVERHEATED

    $OUT[1]=FALSE ; SPINDLE STOPPED

    ENDIF

    ENDIF

    ENDIF

    ENDIF


    Will try tomorrow.

    On the other hand, still have to add a safe condition while running, if spindle stop, robot must stop too, to not destroy workpiece, tool,etc. Is that correct so:


    IF $MODE_OP==#AUT THEN

    IF $OUT[1]==FALSE THEN ;IF SPINDLE STOP

    $OV_PRO = 0 ;ROBOT STOP TOO IN AUTOMATIC MODE

    ENDIF

    ENDIF

    Yes the message is $IN[1] IS WRITE PROTECTED. What means I try to set $IN reading?

    IF $IN[1]==TRUE THEN

    $OUT[1]=FALSE

    ENDIF


    Is that syntax in a reading way? What is the difference between write protected and read only, I understand the words sense , but is expected to happen in one case, what in next?


    $OUT IS NOT WRITE PROTECTED and neither assigned to any signal in STEU.