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 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:


Bench Test

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.