Jump to content
OMRON Forums

rsipkema

Members
  • Posts

    14
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by rsipkema

  1. I had very similar issues, i.e., after lowering the servo update rate I got this error less often, but it still happened once every couple of days. For me this was fixed completely by replacing all EtherCAT cabling.
  2. Thanks for the info. So if I understand correctly, it is possible for ECAT[i].Error to get filled with an error code from the Acontis EtherCAT master at any time (when EtherCAT is running)? I'm pretty sure I have also seen an error starting with 981 in there sometimes; does it always drop the 981 for specific errors in the list?
  3. The problem turned out to be a bad network cable, but I would still be interested in a more extensive list of possible errors which can show up in ECAT[i].Error and their meaning.
  4. L.S., I'm having an issue where after some period of time (often multiple hours) I get an EtherCAT error, i.e., ECAT[0].Error=$1000a. I can't seem to find any documentation on what this error means. I have seen Acontis errors show op in ECAT[i].Error, and a list of those is in the IDE manual, but this value is not amongst those. Can anyone provide me with a clue as to what this error means and/or provide any pointers on how to fix this issue? My setup: CK3E with firmware 2.7.1.0, IDE 4.6.1.12, 2x KEBA ServoOne three-axis drives in CSP mode @ 1 kHz, several Beckhoff I/O terminals and an EL6601 Beckhoff Ethernet terminal.
  5. L.S., I'm trying to get a CK3E to work together with an LTI Motion ServoOne CM three-axis drive. One of the issues I'm having is that I cannot seem to find out how to properly use the drive's Homing mode; I've read in several locations that Delta Tau supports the three synchronous cyclic modes as well as the homing mode (6) for EtherCAT drives, but I have not been able to find out how one is supposed to use the homing mode. Does anyone have any experience in using an EtherCAT drive's homing mode? Not that I'd rather not perform homing in the CK3E (using probing) since then I'd have to write PLC's to support homing using Heidenhain distance coded reference markers, where the drive supports this type of homing natively. TIA -ronald
  6. No it's not, so I guess that was the thing I was missing. Thanks! --Ronald
  7. No it's not, so I guess that was the thing I was missing. Thanks! --Ronald
  8. L.S. I'm trying to perform coordinated motion using 4 linear axes and two rotary axes, and I'd like the rotary axes to use an alternate feedrate. All axes are in coordinate system one. When I do the following: &1 FRAX(X,Y,Z,U) F20 I5186=5 TA0 TS250 LINEAR ABS C0 The C stage does not seem to use the alternate feedrate of 5 units/s. (I5190 is 1000). Am I missing something? Are there other variables which determine if and when the alternate feedrate is used? Yours, Ronald
  9. L.S. I'm trying to perform coordinated motion using 4 linear axes and two rotary axes, and I'd like the rotary axes to use an alternate feedrate. All axes are in coordinate system one. When I do the following: &1 FRAX(X,Y,Z,U) F20 I5186=5 TA0 TS250 LINEAR ABS C0 The C stage does not seem to use the alternate feedrate of 5 units/s. (I5190 is 1000). Am I missing something? Are there other variables which determine if and when the alternate feedrate is used? Yours, Ronald
  10. [quote='Sina' pid='395' dateline='1272476642'] The second PLC can not delay the scan of your first PLC that much. Why do you have another PLC while doing the phase search move? What are you trying to do? [/quote] The other PLC continuously does safety checking (air supply pressure, etc.). I don't understand why this PLC couldn't delay the execution of the other "that much". How long is "that much" anyway? What is the time needed for things to start. If it's theoretically possible to be preempted for some time the I think the (psuedcode): start something; while not started wait; while not finished wait; way of handling things will always be error prone. I need an approach that's always going to work, not 99% of the time. In some of the examples I've seen there's half a dozen PLC's running at the same time. But even if I managed to write a very long and slow PLC that preempts another for the maximum duration I want my code to work. –Ronald Sipkema
  11. [quote='Sina' pid='393' dateline='1272411483'] [quote='rsipkema' pid='392' dateline='1272403778'] Hi, Is there an updated manual for PCOMMServer for download somewhere? I ordered a license from my local distributor, but have already been experimenting with the PCOMMServer included with PEWIN32 to get started. I got a manual for PCOMMServer 32 but it doesn't mention e.g. thePLC Status functions which I saw mentioned on this forum somewhere. Is the manual I have outdated or are these functions undocumented? TIA –Ronald Sipkema [/quote] The PCommServer manual is strictly for communication functions and not PMAC data. The PLC running bits are explained in [url=http://www.deltatau.com/manuals/pdfs/TURBO%20SRM.pdf]Turbo PMAC SRM[/url]. [/quote] I understand, but the manual I have here doesn't have documentation on the "over 400 functions" mentioned on the website; which leads me to believe I have an older manual. I saw mention on the forums here of a function GetPlcStatus, the use of which was recommended over reading the bits yourself. When I look at the functions that the IPmacDevice interface has there's a whole lot of them that are not in the manual I have (Pcomm Server Pro2 Library, rev 2, June 8, 2007). I wanted to know whether there's an updated manual that comes with the software (which I'll hopefully receive this week) and if it's possible to download the manual so I can get acquainted with the material. --Ronald Sipkema
  12. Hi, Is there an updated manual for PCOMMServer for download somewhere? I ordered a license from my local distributor, but have already been experimenting with the PCOMMServer included with PEWIN32 to get started. I got a manual for PCOMMServer 32 but it doesn't mention e.g. thePLC Status functions which I saw mentioned on this forum somewhere. Is the manual I have outdated or are these functions undocumented? TIA –Ronald Sipkema
  13. [quote='Sina' pid='387' dateline='1272315614'] ... Also, the foreground PLCs (PLC0 and PLCC0) are designed for time critical tasks which has to happen at a specified frequency (Real-time interrupt) which can be much less frequent than a background PLCC execution frequency. So if you want to use a PLC for emergency checks, a background PLCC is a better choice. ... When issuing a phasing command in a PLC, a.e. "#1$", if this initiates a phase search move such as stepper phasing search move or 2-guess phasing search move, then you have to check two bits from motor status register : Phasing reference in progress (bit 9) and Phasing reference error (bit 8). Also in addition you can wait for in-position bit (bit 0). Here is an example using suggested M-variable definitions: [code] CLOSE DEL GAT #define Mtr1InPos M140 #define Mtr1PhaseErr M148 #define Mtr1PhaseSrch M149 #define MachineStatus P1 #define PhaseSearchOK 1 #define PhaseSearchAct 0 #define PhaseSearchFail -1 OPEN PLC 2 CLEAR MachineStatus=PhaseSearchAct Mtr1PhaseErr=0 CMD"#1$" WHILE(Mtr1PhaseSrch=0) // wait for phasing search to start ENDWHILE WHILE(Mtr1PhaseSrch=1 OR Mtr1InPos=0) // wait for phasing to finish IF (Mtr1PhaseErr=1) // if phasing fails while waiting MachineStatus = PhaseSearchFail DISABLE PLC 2 ENDIF ENDWHILE MachineStatus = PhaseSearchOK DISABLE PLC 2 CLOSE [/code] Please keep in mind that this is just an example and you may have to check for more safety parameters in your system. [/quote] Regarding the first issue, I've got this part up and running as expected now. I'll keep in mind only running things with specific timing constraints in PLC (or PLCC) 0. The second part proved somewhat trickier: I tried the code mentioned above; but one thing is still bothering me though. It works perfectly as a single PLC, but when more than one PLC is running it doesn't. My conclusion was that a second PLC scan, started before the phase reference could start, takes such an amount of time that the entire phase reference is finished before it comes back to the while loop. The PLC will continue to wait for the phase reference to start, which will never happen (since it's already finished). I implemented now by setting phasing error to 1 and then waiting for a timer; if there's still an error after the timer has expired than the phasing was unsuccesful. Is there another (preferred) way to do this? Is my analysis correct? TIA –Ronald Sipkema
  14. Hi, working on my first project using delta tau hardware (UMAC) I have couple of (probably quite simple) questions: 1) How to have only a couple of PLC's enable on startup. I have a fg PLC (PLC0 during development, later PLCC0) running safety routines and want a couple of other PLC's running in the background. I also want to use some PLC's "on demand", i.e. I don't want them enabled on startup. What's a reliable way of doing this. Can I use PLC1 to disable the PLC's I don't want to have enabled on startup. Will PLC1 be scanned before the rest (2..31)? 2) When doing a phase reference, i.e. CMD"#1$" from a PLC, how to reliably check if it's done (within that PLC)? That is, what variables do I check in the while loop(s) following the $ command? TIA –Ronald Sipkema
×
×
  • Create New...