Jump to content
OMRON Forums

MoMo

Omron
  • Posts

    94
  • Joined

  • Last visited

  • Days Won

    14

MoMo last won the day on September 9

MoMo had the most liked content!

About MoMo

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

MoMo's Achievements

Enthusiast

Enthusiast (6/14)

  • One Year In
  • Dedicated Rare
  • Reacting Well Rare
  • Collaborator Rare
  • One Month Later

Recent Badges

23

Reputation

  1. Please enter the "ecat reset" command in the terminal window. If the terminal window can return the slave station information, the hardware is normal. From the analysis of your feedback, it may be that the EtherCAT In Out connection is reversed.
  2. Usually when there is a safety PLC in your network, the communication between the external IO and the safety PLC will use Slave To Slave
  3. I think you can try the new DART function in firmware version 2.8.1.0, which can realize binary data exchange, especially when the amount of data is large, the exchange speed is dozens of times faster than Gpascii
  4. I'm very sorry, I forgot the specific value, but the previous firmware did modify this part. In any case, if you have a lot of content, it is recommended to generate the file and then load it through gpascii
  5. Can you tell me what you want to do? I'm not sure about your application.
  6. Gpascii that I know can accept up to 8192 characters, but I'm not sure if cmd can also execute such long strings
  7. Yes the CMD instruction will send the string to the gpascii thread. The CMD instruction is indeed cached, so sending content by using the CMD instruction in the PLC does not guarantee immediate execution. You can use the following program in the PLC to ensure that the contents in cmd are completely executed before executing subsequent programs. Ldata.CmdStatus = 1; cmd "&1 delete lookahead" cmd "&1 #4->100C" cmd "&1 define lookahead 10000" sendallcmds; do { }; while (Ldata.CmdStatus == 1); // Will change when command executed// Delete buffer// Assign new motor to C.S. 1// Redefine buffer// Wait for command buffer to empty// Loop quickly while waiting
  8. If your drive is set to velocity mode, the motor must be tuned through PMAC's tuning software to ensure normal operation of the motor. I'm not sure what instructions you used, but the PMAC won't output any value until the motor doesn't close the loop.
  9. If your program has line numbers, you can monitor the Coord[x].Ncalc variable to determine which line the controller has calculated so far. Once the controller finds that there is no subsequent program, it will perform a stop motion process here.
  10. You can only use the mathematical function library currently provided internally by PMAC. As for the others, you cannot use them, or you have to write these functions yourself. Generally speaking, a custom algorithm should be a very concise mathematical calculation program that does not contain any string processing or other content. Your algorithm can be verified in advance using other tools, such as matlab, and then implemented in PPMAC.
  11. I think your encoder conversion table does not need to use type=2. Generally speaking, when it is used as an incremental position, you only need to obtain the low-bit data. The absolute value position only needs to be obtained when the system is started.
  12. Since usrcode runs in the real-time kernel, its efficiency requirements are very high. Therefore the use of other external libraries is not allowed. This will affect the operation of the kernel. You can use these library functions in background Linux programs.
  13. If you use the lookahead function, especially if the lookahead length is relatively long, PPMAC will be executed in advance, so it cannot be judged by whether the buffer is empty.
  14. A very important issue when using a rotation buffer is that motion stalls will occur if the program fails to be sent to the controller in time. I suggest you increase the program buffer of PPMAC and download all programs into the controller. Regards, Sangmo
  15. When Motor[x].Ctrl=Sys.ServoCtrl, PMAC will calculate the output value in the address set by Motor[x].pDac based on the desired position and the actual position of the feedback based on the PID parameters. Because the output result is related to your position following error, the output value must be a changing value.
×
×
  • Create New...