Jump to content
OMRON Forums

dzrong

Members
  • Posts

    187
  • Joined

  • Last visited

Posts posted by dzrong

  1. I hope you are talking about PowerPMAC and not TURBO as there is no Telnet communication for Turbo.

    If you want to use telent to download the file you will have to do following....

    1.User program must be compiled for user variables. If you write the user program without using the variable names then it is fine.

    2.FTP the program to /var/ftp/userflash/temp folder.

    3.Once the telnet terminal is open then type the command at terminal

    gpascii –i

    This will download entire file to PowerPMAC.

    -i = option download the program to powerpmac memory.

    4.The key is the user program must be compiled and error free. The gpascii will return the error and abort if it cannot understand the program line.

    5. If you want to use line by line download then you may want to use rotary buffer.

    Hope it answers your question.

    Atul

     

     

    It seems the step three have some problem,linux tells me no such file or directory there even if i can open the file,we can see it from the pictures.

     

    2.jpg.cf0615d753f27ab7218c313bb9cf052b.jpg

    ReadFile1.jpg.ffa2aee5955836b86da2895310dd638c.jpg

    3.jpg.bf885944ca3d7e4b4aea05cb2e9136c3.jpg

     

  2. I hope you are talking about PowerPMAC and not TURBO as there is no Telnet communication for Turbo.

    If you want to use telent to download the file you will have to do following....

    1.User program must be compiled for user variables. If you write the user program without using the variable names then it is fine.

    2.FTP the program to /var/ftp/userflash/temp folder.

    3.Once the telnet terminal is open then type the command at terminal

    gpascii –i

    This will download entire file to PowerPMAC.

    -i = option download the program to powerpmac memory.

    4.The key is the user program must be compiled and error free. The gpascii will return the error and abort if it cannot understand the program line.

    5. If you want to use line by line download then you may want to use rotary buffer.

    Hope it answers your question.

    Atul

     

     

    Can i do this way to download my Subroutine in my HMI if my Subroutine don't use the variable names? If not,how can i do that?

  3. I hope you are talking about PowerPMAC and not TURBO as there is no Telnet communication for Turbo.

    If you want to use telent to download the file you will have to do following....

    1.User program must be compiled for user variables. If you write the user program without using the variable names then it is fine.

    2.FTP the program to /var/ftp/userflash/temp folder.

    3.Once the telnet terminal is open then type the command at terminal

    gpascii –i

    This will download entire file to PowerPMAC.

    -i = option download the program to powerpmac memory.

    4.The key is the user program must be compiled and error free. The gpascii will return the error and abort if it cannot understand the program line.

    5. If you want to use line by line download then you may want to use rotary buffer.

    Hope it answers your question.

    Atul

     

     

    Yes,this is PowerPMAC forum,so it's about PowerPMAC.

    But i'm not sure how to compile the file in the user's HMI,using PPmac IDE?

     

    Thanks

  4. It's not a PPmac question,it's about CT driver(Unidrive SP).

    I'm using PPmac with CT driver,i wait to CT driver working at current loop mode, but it seems impossible to set it work at current loop mode.

    Who had used that? Can you give me a help!

     

    Rong form DTC

  5. How can i make a filter for current feedback? Because the noise of the current feedback.

    What i had done is that,using Encode Table to deal the current feedback address for filter,and using plc to copy the result to Y address(Y:$10f0 store ADC1A input value,Y:$10f1 store ADC1B input value),and setting Ix82 eque $10f1,but it seems not work.

    Any suggestion?

    This is my code.

    /////////////////////////////////////////////////////////////////////////////////////

    undefine all

    del all

     

    i8008 = $3f8005

    i8009 = 98304

    i8010 = 409600

    i8011 = $3f8006

    i8012 = 98304

    i8013 = 409600

    i8014 = $3f800D

    i8015 = 98304

    i8016 = 409600

    i8017 = $3f800E

    i8018 = 98304

    i8019 = 409600

    i8020 = $3f8015

    i8021 = 98304

    i8022 = 409600

    i8023 = $3f8016

    i8024 = 98304

    i8025 = 409600

    i8026 = $3f801D

    i8027 = 98304

    i8028 = 409600

    i8029 = $3f801E

    i8030 = 98304

    i8031 = 409600

    i8032 = $3f8105

    i8033 = 98304

    i8034 = 409600

    i8035 = $3f8106

    i8036 = 98304

    i8037 = 409600

    i8038 = $3f810D

    i8039 = 98304

    i8040 = 409600

    i8041 = $3f810E

    i8042 = 98304

    i8043 = 409600

    i8044 = $3f8115

    i8045 = 98304

    i8046 = 409600

    i8047 = $3f8116

    i8048 = 98304

    i8049 = 409600

    i8050 = $3f811D

    i8051 = 98304

    i8052 = 409600

    i8053 = $3f811E

    i8054 = 98304

    i8055 = 409600

     

    m7105 ->x:$350b,0,24,s

    m7106 ->x:$350e,0,24,s

    m7205 ->x:$3511,0,24,s

    m7206 ->x:$3514,0,24,s

    m7305 ->x:$3517,0,24,s

    m7306 ->x:$351a,0,24,s

    m7405 ->x:$351d,0,24,s

    m7406 ->x:$3520,0,24,s

    m7505 ->x:$3523,0,24,s

    m7506 ->x:$3526,0,24,s

    m7605 ->x:$3529,0,24,s

    m7606 ->x:$352c,0,24,s

    m7705 ->x:$352f,0,24,s

    m7706 ->x:$3532,0,24,s

    m7805 ->x:$3535,0,24,s

    m7806 ->x:$3538,0,24,s

     

     

    m6105->Y:$10f0,0,24,s

    m6106->Y:$10f1,0,24,s

    m6205->Y:$10f2,0,24,s

    m6206->Y:$10f3,0,24,s

    m6305->Y:$10f4,0,24,s

    m6306->Y:$10f5,0,24,s

    m6405->Y:$10f6,0,24,s

    m6406->Y:$10f7,0,24,s

    m6505->Y:$10f8,0,24,s

    m6506->Y:$10f9,0,24,s

    m6605->Y:$10fa,0,24,s

    m6606->Y:$10fb,0,24,s

    m6705->Y:$10fc,0,24,s

    m6706->Y:$10fd,0,24,s

    m6805->Y:$10fe,0,24,s

    m6806->Y:$10ff,0,24,s

     

    i182=$10f1

    i882=$10ff

     

    open plcc1 clear

    m6105= m7105

    m6106= m7106

    m6205= m7205

    m6206= m7206

    m6305= m7305

    m6306= m7306

    m6405= m7405

    m6406= m7406

    m6505= m7505

    m6506= m7506

    m6605= m7605

    m6606= m7606

    m6705= m7705

    m6706= m7706

    m6805= m7805

    m6806= m7806

    close

     

    enable plcc1

     

    i5=2

    i8=0

    /////////////////////////////////////////////////////////////////////////////

  6. I am using ACC24E2A with PPmac CPU,and I have setting the parametres of clock as this:

    Gate1[4].PwmPeriod = 1636

    Gate1[4].PhaseClockDiv = 2

    Gate1[4].ServoClockDiv = 0

    According to old manual, I should set Sys.ServoPeriod = 0.0832875569661.

    But According to new manual,I should set Sys.ServoPeriod =0.1665751139322( 0.0832875569661 X 2).

    Which is right?

     

    If I set ServoPeriod as the old manual,when I control the motor to jog,the real motor's actual speed was right,but Motor[].ActVel give twice value.

    If I set ServoPeriod as the new manual,when I control the motor to jog,the real motor's actual speed was as twice as the Motor[].JogSpeed commanded.

    The feedrate was 100% in the two situation.

    What's the problem?

     

    Thanks

     

  7. Sorry, I do not understand this. Can you give a more detailed explanation

     

    Please see the picture,it's from Turbo.

    In PPmac,the Moter[x].DesPos seems be Net Positon(A+B in the picture) in Turbo.In the picture, A is called Command Position in Turbo.How can I get Command Position in PPmac? I mean,Is't a Data Structure there for Command Position?

    If I can find it,I can make 'B= -A' as the picture show in Turbo.I want to this way to achieve 'machine lock' in PPmac.

     

    Thanks

    turbo.JPG.14126f215dc26ad6f6dfce54eef4b8f5.JPG

  8. The phantom motor works in either closed or open loop mode. In english we say phantom, it is the same as a simulated motor. You make this setup and PPmac works just like it has a real motor connected.

     

    I'm sorry for not speaking clear.

    I mean the real motor works at close mode.I want the DesignPosition become zero when program is running or jog command has be sent,but the sevro loop still closeloop.So the hardware enable signel must still there.

     

    Thanks

  9. Hello Everyone,

     

    They is a function in the machine,called 'run empty', I can use encode table to achieve it in Turbo,usually set command position of one axis in encode table,and set Ix05 of the axis equal to encode table ,and then open Ix06.

     

    Who know how to set that in PowerPmac? I mean how to set command position of one axis into encode table.

     

    Thanks

     

     

    We usually call this a phantom or virtual motor because for PMAC it is a motor but there is no real motor. This link gives you some setup in PowerPmac.

     

    Note that over time we have discoved it is much better to use the DAC out to make this than using the CMD position.

     

    http://forums.deltatau.com/showthread.php?tid=193&highlight=phantom

     

     

    This function may be called 'simulation mode' or 'machine lock',I'm not sure.I can used phantom to achieve.

    But I don't want to the axis working at open loop mode.If I want to the axis working at close loop mode when the machine working at 'simulation mode' or 'machine lock', what should I do?

     

    Thanks

  10. [quote='bradp' pid='259' dateline='1259107548'] This is a sample C application which shows how use a few of the basic PPmac API functions. For a more complete example look into the two sample projects installed with the PPmac IDE. //-------------------------------------------------------------------------------- #include #include // Global Rt/Gp Shared memory pointers //------------------------------------------------------------- // The following is a projpp created file from the User defines //------------------------------------------------------------- #include "../../Include/pp_proj.h" #define CHAR_BUF_SIZE 0x10000 int main(void) { double dMtr1Kp, dSysDdata1, dPartNum, dGateIOData, PPmacData; char response[CHAR_BUF_SIZE]; volatile GateArray1* Gate1; volatile GateIOStruct* GateIO; int result; if(InitLibrary()) // Access to PPmac API plus shared memory pointers { // pshm accesses PPmac structures like Motor[1].Servo.Kp and P-var array // pushm accesses PPmac user buffer like Sys.Ddata[] //------- Shared Memory Pointer Examples ------------------------------------------ dMtr1Kp = pshm->Motor[1].Servo.Kp; // read Motor[1].Servo.Kp dSysDdata1 = *((double *) (((double *) pushm) + 1)); // read Sys.Ddata[1] Gate1 = GetGate1MemPtr(4); // use CAPI to get pointer to the Gate1[4] structure if(Gate1) { dPartNum = Gate1->AdcStrobe >> 8; // lower 8-bits are not used in Gate1 } GateIO = GetGateIOMemPtr(0); // use CAPI to get pointer to the GateIO[0] structure if(GateIO) { dGateIOData = GateIO->DataReg[0] >> 8; // lower 8-bits are not used in GateIO } //------- PPmac API Examples ------------------------------------------------------ result = Command((char*) "#1"); // Send string to command processor with no response desired result = GetResponse((char*) "Motor[1].Servo.Kp", response, CHAR_BUF_SIZE, 0); // Send string to command processor and get an ASCII response result = GetPmacVar("Motor[1].Servo.Kp", &PPmacData); // Send string to command processor and get a numeric response CloseLibrary(); } return 0; } [/quote] Why I can't set ACC66E's datareg throw C app,the main code was here: while(1) { GateIO = GetGateIOMemPtr(4); if(GateIO) { GateIO->DataReg[3] = (unsigned)pshm->P[1] << 8; GateIO->DataReg[4] = (unsigned)pshm->P[2] ; pshm->P[5] +=1; } usleep(1000000 + pshm->P[3] ); pshm->P[4] +=1; And I make sure the program was downloaded correctly.Then I change P1 and p2,GateIo[4].DataReg[3] andGateIo[4].DataReg[4],have nothing. Why? Thanks
  11. Thanks for you reply.That what I want exactly.

    So you pmac works in the close loop mode,I mean you get the feedback data from profibus.

    How many axis you control throw the profibus?

    2ms was too slow for close loop control I think,can I control that using open loop way?I mean only send position command to servo drive throw profibus,the only question worried me was the precision of the position command,24bits? or higher?

  12. Hello Everyone,

     

    There is a function in the machine,called 'run empty', I can use encode table to achieve it in Turbo,usually set command position of one axis in encode table,and set Ix05 of the axis equal to encode table ,and then open Ix06.

     

    Who know how to set that in PowerPmac? I mean how to set command position of one axis into encode table.

     

    Thanks

     

×
×
  • Create New...