Dear all,
My current project needs to control a KollMorgen AKD by EtherCAT, from a NI cRIO and LabVIEW. This AKD is a motor controller, used with a motor including an absolute encoder. The motor is connected to a gearbox and a linear actuator, so I can easily measure the position value (physically). AKD parameters are visible in a third party software called Kollmorgen Workbench. AKD is natively compatible with LabVIEW.
I created a project and added EtherCAT device, using "Getting started with AKD EtherCAT and SoftMotion" pdf, available on:
http://www.ni.com/pdf/manuals/375592f.pdf
I didn't get any trouble with my LabVIEW application. I was able to control the speed of my motor and get a position value.
BUT
I realized that the position was not the right value (physically, and compared to Workbench-after scaling). The biggest problem was the position value after restarting (power up) all the materials (cRIO, AKD...). The value was not the same as before shutting down.
I spoke with KollMorgen distributor service and saw with him that the configuration was right (using Workbench). There's a parameter (called FB1.EXTENDEDMULTITURN) to save values when we shut down, that is enabled. Furthermore, we saw that cRIO changes some AKD parameters at cRIO start up (like Units…). We worked on these problems (and others), and I really think AKD configuration is now OK. The problem remains, and should come from EtherCAT communication, or from LabVIEW.
After trying many solutions to solve the problem, I read this manual.
https://www.kollmorgen.com/sites/default/files/public_downloads/AKD%20EtherCat%20Communications%20Manual%20EN%20%28REV%20R%29.pdf
In my LabVIEW project explorer, under my EtherCAT device, I have some variables that I can use. So I tried to get a position value from variable called "Internal Position Value" (adress 6063h). I saw that this value was the same that I can get with an Invoke Node connected to my related Axis (scaled with a 2^20 factor).
Now, I would like to get "Actual Position Value" (called PL.FB in Workbench, adress 6064h) that is not actually available in the projet explorer. This parameter shows the right value in Workbench (compared to my measure on the linear actuator), so I want to get it in LabVIEW. To do so, I tried to modify the xml file
C:\Program Files (x86)\National Instruments\LabVIEW 2018\resource\Framework\Providers\indcomecat\DD\AKD14.xml
using this article
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019LesSAE
but I failed… Each trial created an error on AKD.
Trying to get 6064h parameter is the solution I want to try for the moment. Could you help me modifying the xml file, please ?
Thanks in advance,
Julien