I have been tasked with creating an interface between a delta motion controller which is attached to a servo valve.
I want to read back the position in real-time.
I started coding in C# and even though the loop is running continually with no delay, I am missing values.
My question is, what techniques can I use to speed up the communication and are there any articles?
I am new to Windows programming but have over 30 years of programming experience.
What I have tried:
This is my main code which is run as a thread
<pre> Comms_Thread = new Thread(new ThreadStart(Delta_Comms.ProcessWork));
Comms_Thread.Priority = ThreadPriority.Highest;
public void ProcessWork()
{
while (Static_Delta_Data.Connected)
{
Static_Delta_Data.rmc.ReadLFile((int)FileNumber70.fn70StatusAxis0 + axis, 0, Local_Controller_Data.Status_Register, 0, 1);
Static_Delta_Data.rmc.ReadFFile((int)FileNumber70.fn70StatusAxis0 + axis, Command_Position, RMC_Floats, 0, 1);
Static_Delta_Data.rmc.ReadFFile((int)FileNumber70.fn70StatusAxis0 + axis, Target_Position, RMC_Floats, 1, 1);
Static_Delta_Data.rmc.ReadFFile((int)FileNumber70.fn70StatusAxis0 + axis, Actual_Position, RMC_Floats, 2, 1);
Static_Delta_Data.rmc.ReadFFile((int)FileNumber70.fn70StatusAxis0 + axis, Command_Velocity, RMC_Floats, 3, 1);
Static_Delta_Data.rmc.ReadFFile((int)FileNumber70.fn70StatusAxis0 + axis, Target_Velocity, RMC_Floats, 4, 1);
Static_Delta_Data.rmc.ReadFFile((int)FileNumber70.fn70StatusAxis0 + axis, Actual_Velocity, RMC_Floats, 5, 1);
Static_Delta_Data.rmc.ReadFFile((int)FileNumber70.fn70StatusAxis0 + axis, Control_Output, RMC_Floats, 6, 1);
}
}