Jump to content
OMRON Forums

Eric Hotchkiss

Omron
  • Posts

    558
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by Eric Hotchkiss

  1. The 465/460 cannot run acontis. If you want to use etherlab with IDE4 you can follow this App Note, It basically says set up EtherCAT in IDE 3, take a config and move it to IDE 4 where your project actually is.: http://forums.deltatau.com/filedepot/download.php?f=Power%20PMAC/Application%20Notes/EtherCAT/Using%20EtherLab%20with%20IDE%204%20Projects.pdf [FILE REMOVED]
  2. What firmware is on the 465 CPU? Can you tell me what type of C code this is? useraglo, bgcplc, rticplc, Background C App? I am taking a look at the IDE/firmware compatibility chart (see attachment) and it really only says that new firmware requires a new IDE, not that new IDE requires new firmware. That being said, using firmware and IDE versions from years apart can cause problems.
  3. Uno, I can see what I believe is the same issue with my IDE language set to Spanish. When I set my windows region format to "German (Germany)", set the IDE language to windows default and restart the IDE, the position window seems to work the same as English. Is this an English installation of windows with that setting changed, or a German installation?
  4. What firmware version is this? I am able to use ecattypedsdo successfully to read/write $6060 on a 1S, from an IPC with firmware 2.2.0.1.
  5. Talking to the software team, uploading projects in IDE 4 will not get EtherCAT setup. This feature will be coming in a future IDE release. You should be able to import the ENI file in your configuration folder if you do not wish to change any of the old settings.
  6. The User Units section of motor setup is for scaling motor units with Motor[x].PosSf. To Change the scale on the position window: 1. Select the box or boxes you want to alter and right on one of them. To select multiple boxes, click on the first box and hold shift while clicking the last. 2. Change the number in the "motor units" box. Your motor position will be devided by this number. 3. You may want to change the display units, for example to mm. This will not auto-scale the displayed position. 4. You may also want to change the time units. This will auto-scale the displayed position. There was also a bug in previous IDE versions that would make the "motor units" box be greyed out. Update to IDE version 4.2.1.19 if you experience this issue.
  7. Assuming this is the only motor in the coordinate system and the code has been downloaded. Using the terminal: First put the motor in closed loop with #1J/ Then run the program with &1B1R (The first 1 is the coordinate system, the second is the program number.) From a PLC: First put the motor in closed loop with Jog/ 1 And run the program with START 1:1 (The first 1 is the coordinate system, the second is the program number.)
  8. I just want to expand this because it seemed important, but quick to miss. G1 is modal so if you want two linear moves, you probably only have 1 G1, like below. G1 X1 Y1 Z1 X2 Y2 Z2 Altering G1 in the G-Code Library could suppress a move in the first line, but not the second. All moves that might be suppressed would have to start with G1
  9. Because it looks like you are just trying to suppress motion, I am assuming that if the axis is in the G1 command then you want to move it, otherwise you do not want to move it. If you wanted to check something else, like a global variable the if statements below can be changed. I am also assuming absolute position is being used, otherwise if incremental is used Coord[1].CdPos[X] can be replaced with 0. Because the variables that hold the inputs are writable, it is possible to replace them for all unused arguments. We just have to move the actual move commands inside the sub-program. We can take current positions from Coord[1].CdPos[X]. I've tested the following, and it works, although it is a bit bare bones compared to our full G-Code implementation. #define ArgPassVar D0 #define XargMask $800000 #define YargMask $1000000 #define ZargMask $2000000 OPEN SUBPROG 1000 n1000: linear read(X,Y,Z) if ((ArgPassVar & XargMask)==0) {D24=Coord[1].CdPos[6]} if ((ArgPassVar & YargMask)==0) {D25=Coord[1].CdPos[7]} if ((ArgPassVar & ZargMask)==0) {D26=Coord[1].CdPos[8]} x(D24) Y(D25) Z(D26) CLOSE Edit: Looking back at this, I doubt you are trying to only move included axes as that would be basically default, just swap the if statement to whatever condition you were trying to check. Or is there something else you were trying to do?
  10. Are you talking about G-Code or some other subprogram? I don't believe there is a method. We often look at the mask in D0 after the read command, one bit will be true for each input received, and then use conditional logic to use the inputs we receive. If you were to issue G0 X5 for example, depending on how the sub program is written X5 may be an input to the subprogram used to issue something like X(D24) or if the subprogram does not read it may be ran as though it were on the next line.
  11. 250 ms is a very long time. Typical cycle times for ecat transfer are 0.125 to 1 ms. I could imagine this device not being intended to transfer PDOs with a distributed clock. Have you tried mapping all PDOs like zoo_lander suggested? For Zoo_lander, you should be able to push the "Load PDOs to PMAC" one time after all clock/PDO settings for all slaves are correct.
  12. The servo analyzer is still available for purchase through your distributor. The part number is 3A0-PPSRVA-35X.
  13. If you want a fixed IP instead of DHCP you should be able to update the interfaces file via usb stick.
  14. There is no temperature sensor to read on CK3E.
  15. I am not able to replicate your problem. Please try using an FTP client like filezilla as windows file explorer as FTP can have some issues. There is a windows option you can try to see if it helps. Find "internet options" in either the control panel or searching the start menu. Go to the advanced tab and scroll down to "Use passive FTP (for..." and check/uncheck the box. If it doesn't help, just set it back.
  16. I am able to drag a text file into gather or usrflash no problem on multiple PMAC CPU types through ftp in a file explorer like your computer shows. What PMAC form factor is this and can you share the file or try with a dummy text file with just a sentence written?
  17. Have you made sure that amplifier channel is in two phase mode by setting BrickLV.Chan[3].TwoPhaseMode=1 before allowing the Power On Reset PLC to run?
  18. The PowerBrick line has extra safety features (which it seems everyone learns about the hard way). The video lectures on youtube are from our class that is taught with UMAC systems, so the Abort All feature is rarely discussed. I would definitely recommend the PowerBrick LV manual. It is best to start at the beginning of Manual Motor setup to cover Abort All, the power on reset PLC and data unpacking.
  19. Were you able to download the manual from our file depot? I don't seem to have any problems downloading the User Manual.
  20. The code between "open prog 1" and "close" is the contents of motion program 1. To run it, put every motor in the intended coordinate system into closed loop and then use either "&1B1R" or "START 1:1" in the terminal. It looks like you only have motor 1 in coordinate system 1. You can put this motor in closed loop with "#1J/" or "&1 Enable", before starting the motion program. PMAC has a maximum following error specified by Motor[x].FatalFeLimit (in motor units). When this following error is exceeded, the motor is killed (as it is so far out of position it may not be safe). It may be that your encoder has resolution so high that the default of 2,000 is not enough for normal operation, or they may be something wrong with the motor setup preventing it from entering closed loop. I am a bit confused as to how your Motor[x].ServoCtrl was set incorrectly after successfully jogging the motor. Could you have changed the value in the terminal or restarted without issuing a save command?
  21. I believe your pointer is either rolling over, or showing both 16 words in that 32 bit register, when you only want one. Please provide your pointer definition as well as a screenshot of the "Process Data" window from the plot setup. If you select the variable in the column "Step 3 - data Processing" and click either scale factor or offset at the bottom, you will see this window.
  22. Please send an email to support@deltatau.com with your IDE and firmware versions as well as a description of your issue. Firmware can be found by typing "vers" into the terminal. IDE can be found by navigating to: Help -> Help About Power PMAC IDE
  23. Finally had a chance to look around the office and it doesn't look like this device is available to me. A couple thoughts: 1. Looking up the device, I see some references to a conversion time that sounds longer than a typical EtherCAT cycle time. It may be that the measurement takes too long to use in a PDO. 2. Do you know if you are using a distributed clock? The other devices are IO, so it's possible only this device needs a clock and it isn't getting one. From your commands, it looks like the temperature is at index 0x6000 subindex 0x11 on the device. Is this correct?
  24. We do not support EoE. I know we can use our normal EtherCAT drives (using CoE) in a star configuration. This allows a network switch to branch out the EtherCAT network. You might look into whether this is a possibility.
  25. I can't believe it wasn't Coord[x].SegMoveTime
×
×
  • Create New...