Jump to content
OMRON Forums

wschoi

Members
  • Posts

    3
  • Joined

  • Last visited

Posts posted by wschoi

  1. hello.
    I have a question about how to use Dynamic Break in TurboPMAC, ACC-24E2 + ServoTronix CDHD PWM Drive combination.

    In this project, we plan to use a combination of PowerPMAC (ArmCPU) and ACC-24E3 ServoTronix CDHD PWM Drive.

    It seems that there are parts that change as the CPU changes.

    When I searched the SRM document, it was identified as the AdcStrobe variable when using Gate1 and the AdcAmpCtrl variable in the case of Gate3.
    Please inquire about how to use this function.

    Documents previously referenced are attached separately. ServiceChannelCommand.txt, ServiceChannelQuery.txt

    The code I used based on the attached document is as follows.
     ; Dynamic Break is activated when any motor servo-on is turned off while motor home is complete.
     ; Dynamic Break is disabled when motor servo-on is activated again.


    #DEFINE DB_ON P7000
    #DEFINE DB_OFF P7001
    #DEFINE REENTRY_PREVENT P8000

    #DEFINE SERVO_IC_1st I7206
    #DEFINE SERVO_IC_2nd I7306

    #DEFINE TIMER I5412
    #DEFINE DB_MODE P8001

    OPEN PLC 12 CLEAR
    DB_MODE =7
    If (M139&M239&M339&M439&M539&M639=1) ; Check whether Servo On status.
      AND(M145&M245&M345&M445&M545&M645=1) ; Home Complete status check.
      DB_OFF=0
      DB_ON=1
    Else
      DB_ON=0
      DB_OFF=1
    EndIf
    If (DB_ON = 1 AND REENTRY_PREVENT = 0) ; DB activation.
      REENTRY_PREVENT=1
      SERVO_IC_1st=((DB_MODE*16)+(30*256)+10485763) ; #1~#4 Motor DB applied. Current 30%
      SERVO_IC_2nd=((DB_MODE*16)+(30*256)+10485763) ; #5~#6 Motor DB applied. Current 30%
      DB_ON=0
      TIMER=1000*8388608/I10 ; 1sec wait.
      While (TIMER > 0)
      EndWhile
      SERVO_IC_1st=$BFFFFF ; Command initialization.
      SERVO_IC_2nd=$BFFFFF ; Command initialization.
    EndIf

    If (DB_OFF = 1 AND REENTRY_PREVENT = 1) ; DB disabled.
      REENTRY_PREVENT=0
      TIMER=2000*8388608/I10 ; 2sec wait.
      While (TIMER > 0)
      EndWhile
      SERVO_IC_1st=((DB_MODE *16)+(0*256)+10485763) ; #1~#4 Motor DB applied.Current 0%
      SERVO_IC_2nd=((DB_MODE *16)+(0*256)+10485763) ; #5~#6 Motor DB applied.Current 0%
      TIMER=500*8388608/I10 ; 0.5sec wait.
      While (TIMER > 0)
      EndWhile
      SERVO_IC_1st=$BFFFFF ; Command initialization.
      SERVO_IC_2nd=$BFFFFF ; Command initialization.
    EndIf
    CLOSE

    ServiceChannelCommand.txt ServiceChannelQuery.txt

×
×
  • Create New...