Hi,
I am trying to get a linear actuator (Haydon-Kerk Ametek 3H4A-2.33-815) to move with sinusoidal motion but am unable to figure it out using the driver files provided to me by the company I ordered from. The IDEA drive is Haydon-Kerk Ametek PCM4826E-K. The communications manual here (https://www.haydonkerkpittman.com/-/media/ametekhaydonkerk/downloads/products/drives/idea_drive_communication_manual.pdf?la=en) provides the command sets for use with this drive.
I have been able to get the linear actuator to move in one direction, either forward or backwards, until I hit the stop button or until it reaches its max/min position. The problem I am having is trying to get it to perform continuous movement going forward and backward in a cyclic regime until I hit the stop button. After talking to several people experienced in LabView, they seem unsure whether this is possible using the files provided by the company which I have attached in a zip file below. It includes 5 .vi files for different functions (read, write, parse position, parse max current, and find drive) and a sample program that combines all of these functions.
I have also attached a .vi file called "While_Loop_Movement" which moves the linear actuator with the 'M' command to a specific position. I programmed the loop to read out the position of the actuator before the loop is executed and after the stop button has been pressed.
The Case_Structure_Movement .vi file has three 'cases' for the linear actuator to move: forwards (using the 'M' command), backwards (using the 'M' command), and a default stop case (using the 'E' command).
While these modified files do work in moving the actuator, they are mostly a result of me messing around with the original files Ametek provided in order to get the actuator to move. Please note that the 'positions' referenced with the 'M' commands are all relative, and not absolute. I currently do not know how to get an absolute position value.
Ideally, the goal is to get the actuator to move in a sinusoidal motion and to be able to control the displacement amount as well (in millimeters). Furthermore since I am not sure how to obtain an absolute position value from the actuator I am not sure how to control the displacement (as it is reading in as bytes and it is not saving its previous position before executing the next movement; the actuator just moves a distance relative to where it was already at).
If anyone could help with (1) the problem of getting sinusoidal motion rather than movement in one direction or (2) the problem of how to get an absolute start position and tell the actuator to move an absolute number of steps it would be greatly appreciated! Thanks