Jump to content
OMRON Forums

maxvoxel8

Members
  • Posts

    54
  • Joined

  • Last visited

Recent Profile Visitors

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

maxvoxel8's Achievements

Enthusiast

Enthusiast (6/14)

  • Dedicated Rare
  • First Post
  • Collaborator Rare
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. In a follow up to my previous question, is there a way to disable the output of a motor when in the step/direction configuration without affecting the internal trajectory? Something in the Gate3[].Chan[] perhaps? I'm looking for something that I can set and clear at the start and end of a motion to ensure that extra pulses are never emitted. Otherwise I will have to add a relay controlled by a digital IO, which seems like a roundabout way of doing it...
  2. I am using a motor output in step/direction mode and seeing pulses emitted even if DesVel is zero. All integrators are disabled, and I confirmed Servo.Integrator is zero the whole time. I am trying to get rid of the pulses with OutDbOn/Off/Seed and it's not behaving as I expect. I set OutDbOn to 0.5, OutDbOff to 4, and OutDbSeed to 1. But in the rightmost interval in FE.png, you see a pulse emitted long after DesVel became 0, and PosError never left the range of 0.5 and 4. Looking at Motor.Servo.Status it goes to 0 when DesVel goes to 0, even though PosError is 1.06 at this time, and then goes to 1 after the spurious pulse. Also looking at Motor.Servo.Status I'm seeing confusing things. For one thing, it sometimes takes on a value of 2 which is not documented. Secondly, it sometimes fluctuates rapidly between 0 and 2.
  3. This was the package given to me by our systems integrator. I had to rename it to .txt to get the forum to allow me to post it but it's a .deb file. debian.usb2serialARM-CK3E.txt
  4. I believe the problem may be in uploading. If I define a 2D comp table, download, then set Comptable[0].Ctrl to 23 in the terminal and then upload and download again, Ctrl gets reset to 7. Same with First Data Point 2, if I set it to 2000, and download, it works. But then if I reopen the editor and upload, it shows 100 for First Data Point 2. Also if I change the value Comptable[0].X0[1] in the terminal and upload, it doesn't update the value. This is on a Clipper with firmware 2.4.0.180, but it also shows up on a Powerbrick with 2.4.0.180 or 2.5.1.2.
  5. It seems that there is a bug when uploading a 2D comp table to the editor, editing it, and then downloading it. Sometimes the CompTable[x].X0[1] value gets reset to 100, and the CompTable[x].Ctrl value gets reset to 7 (I have it set to 23 normally). This bug is present in IDE 4.4.0.99.
  6. Ok, I moved all of the Modbus commands to the same PLC and now things seem to work. Thanks for the help.
  7. Ah, that gives a clue. Does that mean I have to use the same PLC to send all commands? At present we are connecting with a different PLC than the one that sends the read/write commands.
  8. We currently use Modbus successfully with our PowerBricks. We have a PLC that issues commands like cmd"ModbusHoldingRead ..." and it works. Now I'm trying the same thing on the CK3M. The only difference is that since the CK3M only has one Ethernet interface, I'm using it for both Modbus and normal communication. Currently I only have one Modbus client enabled. I am able to connect to the Modbus client and issue the same Modbus commands from the terminal. However whenever I enable the PLC, it disconnects with a "Send" error in ModbusSocketError. When I look at ModbusLinuxError, I get different errors such as "Socket operation on non-socket," "Bad file descriptor," and "Destination address required". Is there some problem with using the same interface for both Ethernet and Modbus? Should I get a USB Ethernet adapter? Or is there some other workaround?
  9. I tried setting Ta/Td to 5, but was still getting the high acceleration spike at the end. It seems like Ta is just not compatible with lookahead. I tried the low-pass filter, and the results are intriguing. However I see that it introduces a time shift. Does that mean I need to use the same filter on all motors for the motion to remain coordinated?
  10. Thanks. A few more questions. I don't see it in the documentation that Coord.Ta can be set to a negative value for inverse acceleration. Is this true? If InvJMax and Coord.Ts are 0, where does the jerk limit come from? Shouldn't the velocity profile be trapezoidal in that case? If I want to limit jerk, should I do it with InvJMax or Ts?
  11. Correction, Coord[1].Ta and Coord[1].Td were set to 1. I set them to 0. Now I get a different profile as shown in the screenshot. The initial corner of the s-curve lasts around 1ms, which I assume is due to SegMoveTime being 1? But the deceleration corner of the s-curve only lasts about 0.5 ms. The acceleration also still exceeds 8, but by a relatively small amount. I guess my questions are, how can I make the profile never exceed 8 m/s^2 acceleration? And how can I make the profile have a consistent jerk at the start and end of the motion?
  12. Also, verified that Coord[1].LHSize is 2048, so the lookahead buffer shouldn't be exhausted under these conditions.
  13. In my setup, Coord[1].SegMoveTime = 1 Coord[1].Ts = 0 Coord[1].Ta = 0 Motor[1].InvAMax = 0.125 Motor[1].InvDMax = 0.125 Motor[1].InvJMax = 0 Now I do a series of moves on Motor[1]. To be exact, my program is: G1 X3.2 F600 G4 P500 G1 X-3.2 G4 P500 etc. Now if I plot 2 * Motor[1].Desired.Accel and 6 * Motor[1].Desired.Jerk (is there a more direct way to plot acceleration?) I get the attached graph. Some things I don't understand: What is controlling the length and magnitude of the jerk-limited segment at the beginning? This segment is Jerk = -1.3 for 5.8ms. Likewise, what controls the length and magnitude of the middle and final jerk segments? The final acceleration goes up to 17.46 - why is this so high? I thought all motor moves were limited to InvAMax? Is the motor actually being commanded to accelerate this fast? It looks in the second plot like there is a knee in the velocity curve so the acceleration is actually increasing.
  14. Update: I was able to find a debian package that makes the USB-to-serial converter work. Thanks.
×
×
  • Create New...