it appears that the different revisions have different PDOs. I am currently trying to use the rev25. I have tried to use the rev24 (the device repository entry not from 'scan for devices') and i keep getting 'invalid output mapping' or 'invalid input mapping' in the ethercat log. I cant even get the bus to run from the device description that comes from 'scan for devices'...
it appears that the different revisions have different PDOs. I am currently trying to use the rev25. I have tried to use the rev24 (the device repository entry not from 'scan for devices') and i keep getting 'invalid output mapping' or 'invalid input mapping' in the ethercat log. I cant even get the bus to run from the device description that comes from 'scan for devices'...
also my ethercat bus won't run.
I have a beckhoff EL7041-1000 rev 21 in my ethercat bus but it wont correctly create a softmotion axis unless i manually insert the device. scan for devices gives me an el7041-1000 without an SM3 axis.
when using an array of structs, the runtime crashes. but when using an array of LREALS, it'll do 100k at least
What are the limitations of the OPC UA Server? I am trying to get data off my PLC that is acquired at high rates (~50k samples/s) so I am storing them in arrays and trying to get the arrays off the PLC. When I attempt to read a ~200k element array through OPC UA the server and runtime crashes (requiring tools -> update linux arm64 -> start runtime). Is there a better way to get highspeed data off? The ACDatalog library seems a bit irritating to use so I would prefer to go through OPC UA.
Nevermind, i did not recognize that the clamp is placed on the value of the integrator prior to it being scaled by KI. After increasing the max and decreasing the min, it functions normally.
I may have discovered a bug in the control loop library. I am using a PID Controller and when I use an anti-wind-up strategy the response will settle at exactly the setpoint-1. When the anti-windup strategy is removed the controller settles at the setpoint correctly. PROGRAM temperature_control VAR //PID Controllers PID_1_output: LREAL := 0.0; PID_1_error: Ctrl.Controller_Error; PID_1_integrator : Ctrl.Integrator_ParabolicApproximation; PID_1_diff : Ctrl.Differentiator_LinearAverageApproximation;...