Jump to content
OMRON Forums

RomanSolonto

Members
  • Posts

    27
  • Joined

  • Last visited

Posts posted by RomanSolonto

  1. Good afternoon.

    We have the power pmac clipper board.

    We updated the firmware. We made an update through Power pmac IDE.

    During the update download, the connection was broken and the controller stopped loading.

    We checked the drive with the file system by loading it on a similar board, it was the pmac clipper board too.

    We think that the problem is the damage to the firmware of the FPGA.

    We tried to restore the firmware through USB. The controller does not read USB-drive. The controller also does not read the flash drive where the operating system (Linux) is located.

    We tried to create the folder "PowerPmacFactoryReset" on the USB drive and run the power pmac clipper. It doesn't work. Clipper didn't read USB-flash at all.

    Now when we start the clipper, it turns on green led and nothing more.

    Tell me how we can restore the boot firmware to turn the pmac clipper and fix board boot.

  2. Greetings.

    Turbo PMAC clipper.

    I have a trouble with M163 (motor number is one) variable when controller processes the cnc program.

    When controller processes positive (more than 0) move command it works fine. But when controller processes negative move command it doesn't work at all!

    For example. I load this program:

    T1 F3200

    G0 X40000 (target position is 40,000)

    X0 (target position is 0)

    X-40000 (target position is 0 ...)

    X0 (target position is 0).

     

    Why is the target position displayed incorrectly?

  3. Good day.

     

    NC has some functions to work with the desired line number:

    SearchLine

    SearchText

    SearchTextNext.

     

    The next procedure is working:

    PHMIDoc.SendCmd("Devices.PmacNC1.SearchLine(0,25)")

    Desired line changes.

     

    But

    PHMIDoc.SendCmd("Devices.PmacNC1.SearchText(0,""N20"", 0)")

    Does not working. Desired line not changes.

     

     

     

    There is the form "frmSearch" in NC.

    ''frmProgramMenu" has the next procedure:

     

    Public Sub Search()

    Dim MyStr As String

    MyStr = "Devices.PmacNC.Search"

    PHMIDoc.SendCmd(MyStr)

    ...

    ' frmSearch.Show 1

    ...

    End Sub

     

    "frmSearch.Show 1" is commented out. It looks like it was used in earlier versions of the program. "Devices.PmacNC.Search" shows dialog box that i don't like.

     

    Procedure "btnSearch_Click" of the "frmSearch" does not working too:

     

    Private Sub btnSearch_Click()

    Dim MyStr As String

    Dim m_MatchCase As Long

    If (chkMatchCase.Value = True) Then m_MatchCase = 1 Else m_MatchCase = 0

    MyStr = "Devices.PmacNC1.SearchText(0,""" + txtSearch.Text + """," + Str(m_MatchCase) + ")"

    PHMIDoc.SendCmd (MyStr)

    btnSearch.SetFocus

    txtSearch.SetFocus

    End Sub

     

     

    How can I search text and set the desired line without dialog box that used "Devices.PmacNC.Search"

  4. I am confused by the line from Power PMAC Clipper User Manual.pdf: Clipper[0].Chan[2].OutputMode = Clipper[0].Chan[2].OutputMode & ( Clipper[0].Chan[2].OutputMode ^ 8 )

    You can record easier: Clipper[0].Chan[2].OutputMode &= $07

    But the DAC worked need set to 1 third bit Clipper[0].Chan[2].OutputMode?

    Then need: Clipper[0].Chan[2].OutputMode |= $08

  5. I have plate POWER Clipper with Option 12.

    I use 4 servo motor with direct PWM control.

    Need DAC output. I write setup:

    Sys.WpKey = $AAAAAAAA;

    Clipper[0].PhaseFreq=10000;

    Clipper[0].PhaseClockDiv=0;

    Clipper[0].ServoClockDiv=3;

    Clipper[0].AdcAmpStrobe=$fffffc

    Clipper[0].Chan[2].PwmFreqMult=5

    Sys.PhaseOverServoPeriod=1/( Clipper[0].ServoClockDiv+1)

    Sys.ServoPeriod=1000*( Clipper[0].ServoClockDiv+1)/Clipper[0].PhaseFreq

    Clipper[0].Chan[2].OutputMode= Clipper[0].Chan[2].OutputMode&( Clipper[0].Chan[2].OutputMode^8)

     

    I'm trying to read the value from Gate3[0].Chan[2].Pwm[3], but get 0.

    What am I doing wrong?

  6. Ok, I corrected the variable types:

     

    // Local variables:

    #define adrMvar 3000

    unsigned int modAdr = 0xFFF000FF; // Template variable

    unsigned int adr = 0;

     

    // Create a pointer to a structure:

    volatile unsigned int MyFirstICAdr;

    volatile unsigned int *MyFirstICGpioData;

    MyFirstICAdr = pshm->OffsetGate3[0]; // Gate3[0]

    MyFirstICGpioData = (int *) piom + ((MyFirstICAdr + 0x250) >> 2); // Defined pointer on Gate3[0].GpioData[0]

     

    // Read the value of the M-variable with a type cast and mask overlay:

    adr = ((int) GetPtrVar(adrMvar)) & 0x0000000F;

     

    // Modify a variable and pass it to the registry I/O Gate3[0].GpioData[0]:

    modAdr |= (adr << 16); // The result will be the following, when adr=0xf (for example): adr<<16 = 0xf<<16 = 0xf0000; modAdr = modAdr | 0xf0000 = 0xFFF000FF | 0xf0000 = 0xFFFf00FF

    pshm->Gate3PartData[0].GpioOutData[0] &= modAdr;

    *MyFirstICGpioData = pshm->Gate3PartData[0].GpioOutData[0];

     

    But the result is not changed - on the output port has no signal.

    Includes the following files:

    #include

    #include

    #include

    #define _PPScriptMode_ // uncomment for Pmac Script type access

    #define _EnumMode_ // uncomment for Pmac enum data type checking on Set & Get global functions

    #include "../../Include/pp_proj.h"

    #include

    Need to connect something else?

  7. Good day.

     

    // Local variables:

    #define adrMvar 3000

    int modAdr = 0xFFF000FF; // Template variable

    int adr = 0;

     

    // Create a pointer to a structure:

    int MyFirstICAdr;

    int *MyFirstICGpioData;

    MyFirstICAdr = pshm->OffsetGate3[0]; // Gate3[0]

    MyFirstICGpioData = (int *) piom + ((MyFirstICAdr + 0x250) >> 2); // Defined pointer on Gate3[0].GpioData[0]

     

    // Read the value of the M-variable with a type cast and mask overlay:

    adr = ((int) GetPtrVar(adrMvar)) & 0x0000000F;

     

    // Modify a variable and pass it to the registry I/O Gate3[0].GpioData[0]:

    modAdr |= (adr << 16); // The result will be the following, when adr=0xf (for example): adr<<16 = 0xf<<16 = 0xf0000; modAdr = modAdr | 0xf0000 = 0xFFF000FF | 0xf0000 = 0xFFFf00FF

    pshm->Gate3PartData[0].GpioOutData[0] &= modAdr;

    *MyFirstICGpioData = pshm->Gate3PartData[0].GpioOutData[0];

     

    // As a result, the outputs of MO1, MO2, MO3, MO4 (it Gate3[0].GpioData[0].16.4) must appear, but it does not appear

  8. Hi,

    I have Turbo Pmac (not Clipper) and I need to control the output power of the laser.

     

    I tried to use countdown timer to create PWM signal.

    NCAutopilot creates this PLC:

     

    OPEN PLC 9 CLEAR

    I5112=1*8388608/I10

    WHILE(I5112>0)

    END WHILE

    M525=M525-1

     

    I make:

     

    OPEN PLC 16 CLEAR

    IF (P1011>0 AND P1012>0)

    M4602=4095 //DAC ch#1 = max

    M525 =P1011

    WHILE (M525>0)

    ENDWHILE

    M4602=0 //DAC ch#1 = min

    M525 = P1012

    WHILE (M525>0)

    ENDWHILE

    ENDIF

     

    where

    m4602->Y:$78E08,0,12,U ; DAC ch#1

    P1011 and P1012 - time for countdown timers

     

    But I have some problems:

    1. Frequency not stable

    2. I think that it's not right way.

     

    Is there any way to control frequency and duty cycle?

    Is it possible to use PWM control of amplifiers for this?

  9. Hi,

    I have Turbo Pmac (not Clipper) and I need to control the output power of the laser.

     

    I tried to use countdown timer to create PWM signal.

    NCAutopilot creates this PLC:

     

    OPEN PLC 9 CLEAR

    I5112=1*8388608/I10

    WHILE(I5112>0)

    END WHILE

    M525=M525-1

     

    I make:

     

    OPEN PLC 16 CLEAR

    IF (P1011>0 AND P1012>0)

    M4602=4095 //DAC ch#1 = max

    M525 =P1011

    WHILE (M525>0)

    ENDWHILE

    M4602=0 //DAC ch#1 = min

    M525 = P1012

    WHILE (M525>0)

    ENDWHILE

    ENDIF

     

    where

    m4602->Y:$78E08,0,12,U ; DAC ch#1

    P1011 and P1012 - time for countdown timers

     

    But I have some problems:

    1. Frequency not stable

    2. I think that it's not right way.

     

    Is there any way to control frequency and duty cycle?

    Is it possible to use PWM control of amplifiers for this?

×
×
  • Create New...