Back to top
AKD Ethernet IP In Position Window Status
AKD Ethernet IP “In Position Status”.
I’ve seen a few instances where the PLC programmer used the (axis_name ).Status.On_Target_Position bit for logic to trigger other events in their ladder logic and in some cases they complained they observed the status bit flicker on and off or stay off, etc. Keep in mind the AKD_MOVE AOI already uses this status bit internally in tandem with the profile in progress status bit. When the AKD_Move block is enabled, the PC on the output of the given AKD_MOVE AOI is unlatched. On profile in progress ( not in progress ) and On target position, the PC ( Process Complete ) bit on he output of the given AKD_MOVE AOI is latched. In this way, the PC status can be used for "move complete".
A general rule of thumb for positioning is that your feedback resolution is 10 times the resolution you are trying to settle to.
That said, with an AKD Ethernet IP drive and using the On Target Position status or to compare target position with actual read over Ethernet IP it is important to understand how the feedback position is displayed both in Workbench and in the PLC over Ethernet IP. Ethernet IP position scaling has nothing to do with Workbench Units unless you set them up the same (recommended ). The default scaling for Ethernet IP is 65536. Often this is adequate. In very high precision applications sometimes using 65536 ( 16 bit ) resolution may be too low. See the AKD Getting Started quick start for more details on scaling ( it shows an example of increasing the Ethernet IP scaling to 20 bit ( 1048576 counts per rev if required ).
In Position Status ( axis_name.Status.On_Target_Position )
The AKD Ethernet IP drive has status words in the response assembly where one of the bits is the “in position” status. This is detailed in the AKD Ethernet IP Communications manual as shown below.
The In Position bit is based on bit 11 of the DRV.MOTIONSTAT in the AKD.
The AKD parameter/keyword MT.TPOSWND uses the position units of the drive ( Workbench units ) to set the in position window.
If the EIP units and Workbench units are the same ( recommended ) then the window would be the same units as the PLC.
Assuming 16 bit resolution or 65536 counts per rev, the MT.POSWND default value is 32768.000 or 0.5 revolutions. If you are using some other units ( i.e. cm, inches, etc. ) then the value will be scaled accordingly.
Querying or setting MT.TPOSWND:
I was able on my bench test to detune the drive and set the in position window ( MT.TPOSWND=1 or 10 for example ) sufficiently low using Workbench Terminal and then monitoring the In Position status where I could see the In Position bit toggle on and off as the position feedback was going in and out of the window even sitting still.
The In Position status in the drive can be viewed on the “Drive Motion Status” screen. Again I could increase or decrease the MT.TPOSWND in Workbench Terminal to adjust the in position window sensitivity and moved the motor shaft slightly and could see the status either stay on, blink, or go off.
You can look at the same status in your ladder or alternatively in the Controller Tags. In my case as in the sample project my axis was called AXIS_ONE.
I have seen some implementations where the programmer also monitored the PL.FB ( position feedback ) in the PLC ( this is already available in the response assembly on the RPI poll ) to check the current position vs. the target position and also that the position is within a specified window. They essentially created their own “In Position Window” in the PLC.
From my sample project you can see the data under Controller Tags. We also bring this out to the ladder in our sample project.
A final note is to keep in mind you can use the Workbench Scope to trace your moves and check
your settling into the target position and window.
It is possible to Scope the in position status bit in Workbench. The requirement would be to set a spare output ( if you have one ) to Mode 3 Move Complete I believe ( based on a bench test it seems the trajectory has to be completed AND in the target window ).
Mode 3 is based on bit 11 in the DRV.MOTIONSTAT. There is a mode 17 based on bit 15 of the DRV.MOTIONSTAT as well.
You can monitor the on target position bit and the feedback position using a Quick Watch in RSLogix5000.
I set my Scope to record the DOUT1.STATE set for Move Complete and recorded velocity and position commands and feedbacks. You can see the output turn on at the end of the move.