6 using System.Collections.Generic;
9 using System.Threading.Tasks;
10 using System.Runtime.InteropServices;
13 using UB = System.Byte;
14 using UW = System.UInt16;
15 using SW = System.Int16;
16 using SL = System.Int32;
17 using UL = System.UInt32;
21 using GCon = System.IntPtr;
22 using GSize = System.UInt32;
26 using GBufOut = System.Text.StringBuilder;
27 using GBufIn = System.String;
30 public static class LibraryPath
32 public const string GclibDllPath_ =
"C:\\Program Files (x86)\\Galil\\gclib\\dll\\x86\\gclib.dll";
33 public const string GcliboDllPath_ =
"C:\\Program Files (x86)\\Galil\\gclib\\dll\\x86\\gclibO.dll";
38 using GCon = System.IntPtr;
39 using GSize = System.UInt32;
43 using GBufOut = System.Text.StringBuilder;
44 using GBufIn = System.String;
47 public static class LibraryPath
49 public const string GclibDllPath_ =
"C:\\Program Files (x86)\\Galil\\gclib\\dll\\x64\\gclib.dll";
50 public const string GcliboDllPath_ =
"C:\\Program Files (x86)\\Galil\\gclib\\dll\\x64\\gclibo.dll";
69 #region "C# wrappers of gclib C calls"
71 #region "Private properties"
72 private const int BufferSize_ = 500000;
73 private GCStringOut Buffer_ =
new System.Text.StringBuilder(BufferSize_);
74 private byte[] ByteArray_ =
new byte[512];
75 private GCon ConnectionHandle_;
76 private bool ConnectionStatus_ =
false;
87 if (!File.Exists(LibraryPath.GclibDllPath_))
88 throw new System.Exception(
"Could not find gclib dll at " + LibraryPath.GclibDllPath_);
90 if (!File.Exists(LibraryPath.GcliboDllPath_))
91 throw new System.Exception(
"Could not find gclibo dll at " + LibraryPath.GcliboDllPath_);
104 GReturn rc = DllGAddresses(Buffer_, BufferSize_);
105 if (rc == G_NO_ERROR)
107 char[] delimiters =
new char[] {
'\r',
'\n' };
108 return Buffer_.ToString().Split(delimiters, System.StringSplitOptions.RemoveEmptyEntries);
111 return new string[0];
126 public void GArrayDownload(
string array_name, ref List<double> data, Int16 first = -1, Int16 last = -1)
128 System.Text.StringBuilder ArrayData =
new System.Text.StringBuilder(BufferSize_);
129 int len = data.Count();
130 for (
int i = 0; i <= len - 1; i++)
132 ArrayData.Append(data[i].ToString(
"F4"));
135 ArrayData.Append(
",");
138 GReturn rc = DllGArrayDownload(ConnectionHandle_, array_name, first, last, ArrayData.ToString());
139 if (!(rc == G_NO_ERROR))
141 throw new System.Exception(GError(rc));
155 GReturn rc = DllGArrayDownloadFile(ConnectionHandle_, Path);
156 if (rc != G_NO_ERROR)
158 throw new System.Exception(GError(rc));
173 public List<double>
GArrayUpload(
string array_name, Int16 first = -1, Int16 last = -1)
175 List<double> array =
new List<double>();
176 GReturn rc = DllGArrayUpload(ConnectionHandle_, array_name, first, last, 1, Buffer_, BufferSize_);
178 if (!(rc == G_NO_ERROR))
180 throw new System.Exception(GError(rc));
182 char[] delimiters =
new char[] {
',' };
184 string[] tokens = Buffer_.ToString().Split(delimiters, System.StringSplitOptions.RemoveEmptyEntries);
186 foreach (
string s
in tokens)
188 if (!
double.TryParse(s, out value))
190 throw new System.Exception(
"Could not parse " + s +
" into double");
208 GReturn rc = DllGArrayUploadFile(ConnectionHandle_, Path, Names);
209 if (rc != G_NO_ERROR)
211 throw new System.Exception(GError(rc));
226 GReturn rc = DllGAssign(ip, mac);
227 if (!(rc == G_NO_ERROR))
229 throw new System.Exception(GError(rc));
241 if(ConnectionStatus_)
242 DllGClose(ConnectionHandle_);
244 ConnectionStatus_ =
false;
257 public string GCommand(
string Command,
bool Trim =
true)
259 GSize bytes_read = 0;
260 GReturn rc = DllGCommand(ConnectionHandle_, Command, Buffer_, BufferSize_, ref bytes_read);
261 if (rc != G_NO_ERROR)
263 throw new System.Exception(GError(rc));
267 string r = Buffer_.ToString();
268 if (r[r.Count() - 1] ==
':')
270 r = r.Substring(0, r.Count() - 1);
276 return Buffer_.ToString();
290 return Convert.ToInt16(Convert.ToDouble(
GCommand(Command)));
303 return Convert.ToDouble(
GCommand(Command));
316 private string GError(
GReturn ErrorCode)
318 DllGError(ErrorCode, Buffer_, BufferSize_);
319 return ErrorCode.ToString() +
" " + Buffer_.ToString() +
"\n";
332 GReturn rc = DllGFirmwareDownload(ConnectionHandle_, filepath);
333 if (rc != G_NO_ERROR)
335 throw new System.Exception(GError(rc));
346 GReturn rc = DllGInfo(ConnectionHandle_, Buffer_, BufferSize_);
347 if (rc == G_NO_ERROR)
349 return Buffer_.ToString();
367 GReturn rc = DllGInterrupt(ConnectionHandle_, ref StatusByte);
368 if (rc == G_NO_ERROR)
388 GReturn rc = DllGIpRequests(Buffer_, BufferSize_);
389 if (rc == G_NO_ERROR)
391 char[] delimiters =
new char[] {
'\r',
'\n' };
392 return Buffer_.ToString().Split(delimiters, System.StringSplitOptions.RemoveEmptyEntries);
395 return new string[0];
409 GReturn rc = DllGMessage(ConnectionHandle_, Buffer_, BufferSize_);
410 if (rc == G_NO_ERROR)
412 return Buffer_.ToString();
430 GReturn rc = DllGMotionComplete(ConnectionHandle_, axes);
431 if (!(rc == G_NO_ERROR))
433 throw new System.Exception(GError(rc));
447 GReturn rc = DllGOpen(address, ref ConnectionHandle_);
448 if (rc != G_NO_ERROR)
450 throw new System.Exception(GError(rc));
453 ConnectionStatus_ =
true;
467 GReturn rc = DllGProgramDownload(ConnectionHandle_, program, preprocessor);
468 if (rc != G_NO_ERROR)
470 throw new System.Exception(GError(rc));
485 GReturn rc = DllGProgramDownloadFile(ConnectionHandle_, file_path, preprocessor);
486 if (rc != G_NO_ERROR)
488 throw new System.Exception(GError(rc));
501 GReturn rc = DllGProgramUpload(ConnectionHandle_, Buffer_, BufferSize_);
502 if (rc != G_NO_ERROR)
504 throw new System.Exception(GError(rc));
508 return Buffer_.ToString();
522 GReturn rc = DllGProgramUploadFile(ConnectionHandle_, file_path);
523 if (rc != G_NO_ERROR)
525 throw new System.Exception(GError(rc));
539 GReturn rc = DllGRead(ConnectionHandle_, ByteArray_, (uint)ByteArray_.Length, ref read);
540 if (rc == G_NO_ERROR)
542 byte[] ReturnData =
new byte[read];
544 for (
GSize i = 0; i <= read - 1; i++)
546 ReturnData[i] = ByteArray_[i];
573 GReturn rc = DllGRecord(ConnectionHandle_, ByteArray_, method);
574 if (rc != G_NO_ERROR)
575 throw new System.Exception(GError(rc));
577 return ByteArrayToDataRecord<T>(ByteArray_);
590 GReturn rc = DllGRecordRate(ConnectionHandle_, period_ms);
591 if (!(rc == G_NO_ERROR))
593 throw new System.Exception(GError(rc));
606 DllGTimeout(ConnectionHandle_, timeout_ms);
616 GReturn rc = DllGVersion(Buffer_, BufferSize_);
617 if (rc == G_NO_ERROR)
619 return Buffer_.ToString();
637 GReturn rc = DllGWrite(ConnectionHandle_, buffer, (uint) buffer.Length);
638 if (!(rc == G_NO_ERROR))
640 throw new System.Exception(GError(rc));
657 GReturn rc = DllGSetupDownloadFile(ConnectionHandle_, path, options, Buffer_, BufferSize_);
659 string ret_buf = Buffer_.ToString();
660 ret_buf = ret_buf.Replace(
"\r\n",
", ");
664 if (rc != G_NO_ERROR)
666 throw new System.Exception(GError(rc));
671 ret_buf +=
"\"options\"," + rc +
"\n";
674 char[] delimiters =
new char[] {
'\n' };
675 return ret_buf.ToString().Split(delimiters, System.StringSplitOptions.RemoveEmptyEntries);
688 GReturn rc = DllGSetServer(server_name);
692 throw new System.Exception(GError(rc));
703 GReturn rc = DllGServerStatus(Buffer_, BufferSize_);
706 return Buffer_.ToString();
708 throw new System.Exception(GError(rc));
718 GReturn rc = DllGListServers(Buffer_, BufferSize_);
722 char[] delimiters =
new char[] {
'\n' };
723 return Buffer_.ToString().Split(delimiters, System.StringSplitOptions.RemoveEmptyEntries);
727 throw new System.Exception(GError(rc));
740 GReturn rc = DllGPublishServer(server_name, Convert.ToInt16(publish), Convert.ToInt16(save));
742 if (rc != G_NO_ERROR)
743 throw new System.Exception(GError(rc));
753 GReturn rc = DllGRemoteConnections(Buffer_, BufferSize_);
757 char[] delimiters =
new char[] {
'\n' };
758 return Buffer_.ToString().Split(delimiters, System.StringSplitOptions.RemoveEmptyEntries);
762 throw new System.Exception(GError(rc));
768 #region "DLL Imports"
771 #region "Error Codes"
776 private const Int32 G_NO_ERROR = 0;
779 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GAddresses", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
782 [DllImport(LibraryPath.GclibDllPath_, EntryPoint =
"GArrayDownload", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
785 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GArrayDownloadFile", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
788 [DllImport(LibraryPath.GclibDllPath_, EntryPoint =
"GArrayUpload", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
791 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GArrayUploadFile", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
794 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GAssign", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
797 [DllImport(LibraryPath.GclibDllPath_, EntryPoint =
"GClose", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
800 [DllImport(LibraryPath.GclibDllPath_, EntryPoint =
"GCommand", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
803 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GError", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
806 [DllImport(LibraryPath.GclibDllPath_, EntryPoint =
"GFirmwareDownload", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
809 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GInfo", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
812 [DllImport(LibraryPath.GclibDllPath_, EntryPoint =
"GInterrupt", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
815 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GIpRequests", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
818 [DllImport(LibraryPath.GclibDllPath_, EntryPoint =
"GMessage", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
821 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GMotionComplete", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
824 [DllImport(LibraryPath.GclibDllPath_, EntryPoint =
"GOpen", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
827 [DllImport(LibraryPath.GclibDllPath_, EntryPoint =
"GProgramDownload", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
830 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GProgramDownloadFile", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
833 [DllImport(LibraryPath.GclibDllPath_, EntryPoint =
"GProgramUpload", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
836 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GProgramUploadFile", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
839 [DllImport(LibraryPath.GclibDllPath_, EntryPoint =
"GRead", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
840 private static extern GReturn DllGRead(
GCon g,
byte[] record,
GSize buffer_len, ref
GSize bytes_read);
842 [DllImport(LibraryPath.GclibDllPath_, EntryPoint =
"GRecord", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
845 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GRecordRate", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
846 private static extern GReturn DllGRecordRate(
GCon g,
double period_ms);
848 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GTimeout", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
849 private static extern void DllGTimeout(
GCon g,
GOption timeoutMs);
851 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GVersion", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
854 [DllImport(LibraryPath.GclibDllPath_, EntryPoint =
"GWrite", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
857 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GSetupDownloadFile", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
860 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GSetServer", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
863 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GServerStatus", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
866 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GListServers", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
869 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GPublishServer", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
872 [DllImport(LibraryPath.GcliboDllPath_, EntryPoint =
"GRemoteConnections", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
877 #region "Data Record"
879 private T ByteArrayToDataRecord<T>(
byte[] array)
882 GCHandle handle = GCHandle.Alloc(array, GCHandleType.Pinned);
885 return Marshal.PtrToStructure<T>(handle.AddrOfPinnedObject());
903 private static byte[] StructToByteArray(
GDataRecord record)
905 int size = Marshal.SizeOf(record);
906 byte[] arr =
new byte[size];
908 IntPtr ptr = Marshal.AllocHGlobal(size);
909 Marshal.StructureToPtr(record, ptr,
true);
910 Marshal.Copy(ptr, arr, 0, size);
911 Marshal.FreeHGlobal(ptr);
917 [StructLayout(LayoutKind.Sequential, Pack=1)]
920 public byte[]
byte_array() {
return StructToByteArray(
this); }
1101 [StructLayout(LayoutKind.Sequential, Pack=1)]
1293 [StructLayout(LayoutKind.Sequential, Pack=1)]
1472 [StructLayout(LayoutKind.Sequential, Pack=1)]
1614 [StructLayout(LayoutKind.Sequential, Pack=1)]
1707 [StructLayout(LayoutKind.Sequential, Pack=1)]
1761 [StructLayout(LayoutKind.Sequential, Pack=1)]
1811 [StructLayout(LayoutKind.Sequential, Pack=1)]
1863 [StructLayout(LayoutKind.Sequential, Pack=1)]
1916 [StructLayout(LayoutKind.Sequential, Pack=1)]
void GArrayDownloadFile(string Path)
Allows downloading of a program array file to the controller.
string GProgramUpload()
Allows uploading of a DMC program to a string.
void GAssign(string ip, string mac)
Assigns IP address over the Ethernet to a controller at a given MAC address.
string GVersion()
Used to get the gclib version.
void GOpen(string address)
Used to open a connection to Galil hardware.
string GServerStatus()
Retrieves the name of your local gcaps server and whether or not it is currently published
void GWrite(string buffer)
Performs a write on the connection.
gclib()
Constructor of the gclib wrapper class.
string GCommand(string Command, bool Trim=true)
Used for command-and-response transactions.
void GArrayDownload(string array_name, ref List< double > data, Int16 first=-1, Int16 last=-1)
Downloads array data to a pre-dimensioned array in the controller's array table.
string GInfo()
Provides a useful connection string.
string[] GSetupDownloadFile(string path, Int32 options)
Allows downloading of a Galil compressed backup (gcb) file to the controller.
void GPublishServer(string server_name, bool publish, bool save)
Publishes or removes local gcaps server from the network
string[] GIpRequests()
Provides a list of all Galil controllers requesting IP addresses via BOOT-P or DHCP.
void GProgramDownload(string program, string preprocessor="")
Allows downloading of a DMC program from a string buffer.
string[] GAddresses()
Return a string array of available connection addresses.
byte GInterrupt()
Provides access to PCI and UDP interrupts from the controller.
string GMessage()
Provides access to unsolicited messages.
byte[] GRead()
Performs a read on the connection.
void GSetServer(string server_name)
Connects gclib to a new gcaps server
T GRecord< T >(bool async)
Used for retrieving data records from the controller.
void GProgramDownloadFile(string file_path, string preprocessor="")
Allows downloading of a DMC program from file.
void GMotionComplete(string axes)
Blocking call that returns once all axes specified have completed their motion.
void GTimeout(Int16 timeout_ms)
Set the timeout of communication transactions. Use -1 to set the original timeout from GOpen().
double GCmdD(string Command)
Used for command-and-response transactions.
List< double > GArrayUpload(string array_name, Int16 first=-1, Int16 last=-1)
Uploads array data from the controller's array table.
string[] GListServers()
Retrieves a list of gcaps servers that are advertising themselves on the local network
void GProgramUploadFile(string file_path)
Allows uploading of a DMC program to a file.
void GClose()
Used to close a connection to Galil hardware.
Int16 GCmdI(string Command)
Used for command-and-response transactions.
void GRecordRate(double period_ms)
Sets the asynchronous data record to a user-specified period via DR.
void GArrayUploadFile(string Path, string Names)
Allows uploading of a program array file from the controller to an array CSV file.
string[] GRemoteConnections()
Returns a list of IP Addresses that currently have an open connection to your hardware.
void GFirmwareDownload(string filepath)
Upgrade firmware.
Provides a class that binds to gclib's unmanaged dll. Wraps each call and provides a more user-friend...
const char * GBufIn
Data input to the library. No null-termination, function will have a GSize to indicate bytes to write...
int GReturn
Every function returns a value of type GReturn. See gclib_errors.h for possible values.
int GOption
Option integer for various formatting, etc.
unsigned char GStatus
Interrupt status byte.
unsigned int GSize
Size of buffers, etc.
char * GBufOut
Data output from the library. No null-termination implied. Returned values may be null-terminated,...
void * GCon
Connection handle. Unique for each connection in process. Assigned a non-zero value in GOpen().
char * GCStringOut
C-string output from the library. Implies null-termination.
const char * GCStringIn
C-string input to the library. Implies null-termination.
byte[] byte_array()
Returns the data record as a byte array and allows for access to individual bytes.
Data record struct for DMC-1802 controllers.
SL axis_c_aux_position
C axis auxiliary position.
UB input_bank_3
general input bank 3 (inputs 25-32).
UB input_bank_0
general input bank 0 (inputs 1-8).
SL axis_d_reference_position
D axis reference position.
SL axis_b_position_error
B axis position error.
UB axis_d_stop_code
D axis stop code.
UB axis_a_switches
A axis switches.
UB output_bank_3
general output bank 3 (outputs 25-32).
UB axis_c_reserved_1
Reserved.
UB input_bank_1
general input bank 1 (inputs 9-16).
SL axis_d_position_error
D axis position error.
UB axis_a_reserved_0
Reserved.
SL axis_d_velocity
D axis velocity.
UB axis_b_switches
B axis switches.
SL axis_a_motor_position
A axis motor position.
UB input_bank_2
general input bank 2 (inputs 17-24).
UW s_plane_segment_count
segment count of coordinated move for S plane.
UB axis_d_reserved_1
Reserved.
UB output_bank_2
general output bank 2 (outputs 17-24).
SL axis_c_motor_position
C axis motor position.
SL axis_c_position_error
C axis position error.
SW axis_d_torque
D axis torque.
UB axis_b_stop_code
B axis stop code.
UW sample_number
sample number.
SL axis_a_velocity
A axis velocity.
UB axis_c_stop_code
C axis stop code.
UB output_bank_7
general output bank 7 (outputs 57-64).
UB input_bank_8
general input bank 8 (inputs 65-72).
UW axis_d_status
D axis status.
UB input_bank_9
general input bank 9 (inputs 73-80).
SL axis_a_position_error
A axis position error.
SL axis_a_aux_position
A axis auxiliary position.
UW axis_a_status
A axis status.
UB output_bank_4
general output bank 4 (outputs 33-40).
UB axis_b_reserved_1
Reserved.
UB input_bank_5
general input bank 5 (inputs 41-48).
SL axis_b_reference_position
B axis reference position.
SW axis_a_torque
A axis torque.
SL axis_c_reference_position
C axis reference position.
UB output_bank_9
general output bank 9 (outputs 73-80).
SL s_distance
distance traveled in coordinated move for S plane.
SL axis_b_aux_position
B axis auxiliary position.
UB input_bank_6
general input bank 6 (inputs 49-56).
UB general_status
general status
UB axis_a_stop_code
A axis stop code.
SL axis_a_reference_position
A axis reference position.
UB axis_a_reserved_1
Reserved.
UB output_bank_8
general output bank 8 (outputs 65-72).
UB axis_c_reserved_0
Reserved.
SL t_distance
distance traveled in coordinated move for T plane.
SW axis_b_torque
B axis torque.
UB axis_d_switches
D axis switches.
UW axis_b_status
B axis status.
SL axis_d_aux_position
D axis auxiliary position.
UB axis_d_reserved_0
Reserved.
UB output_bank_0
general output bank 0 (outputs 1-8).
SL axis_b_velocity
B axis velocity.
UB input_bank_7
general input bank 7 (inputs 57-64).
UB input_bank_4
general input bank 4 (inputs 33-40).
SL axis_c_velocity
C axis velocity.
UB output_bank_6
general output bank 6 (outputs 49-56).
UB output_bank_5
general output bank 5 (outputs 41-48).
UW axis_c_status
C axis status.
SL axis_b_motor_position
B axis motor position.
UB output_bank_1
general output bank 1 (outputs 9-16).
byte[] byte_array()
Returns the data record as a byte array and allows for access to individual bytes.
SW axis_c_torque
C axis torque.
UB axis_b_reserved_0
Reserved.
UW t_plane_move_status
Coordinated move status for T plane.
SL axis_d_motor_position
D axis motor position.
UW t_plane_segment_count
segment count of coordinated move for T plane.
UW s_plane_move_status
coordinated move status for S plane.
UB axis_c_switches
C axis switches.
Data record struct for DMC-1806 controller.
UL contour_segment_count
Segment Count for Contour Mode.
SL axis_a_variable
A User-defined variable (ZA).
SL axis_c_aux_position
C axis auxiliary position.
SL axis_h_torque
H axis torque.
UW axis_e_status
E axis status.
UB input_bank_3
general input bank 3 (inputs 25-32).
UB input_bank_0
general input bank 0 (inputs 1-8).
SL axis_d_reference_position
D axis reference position.
SL axis_b_position_error
B axis position error.
SL axis_h_position_error
H axis position error.
SL axis_g_variable
G User-defined variable (ZA).
UW axis_f_analog_in
F axis analog input.
SL axis_c_variable
C User-defined variable (ZA).
UB axis_d_stop_code
D axis stop code.
SL axis_e_motor_position
E axis motor position.
UB axis_a_switches
A axis switches.
UB output_bank_3
general output bank 3 (outputs 25-32).
UB axis_c_reserved_1
Reserved.
UB axis_e_stop_code
E axis stop code.
UW axis_h_analog_in
H axis analog input.
UB axis_g_switches
G axis switches.
UB axis_h_stop_code
H axis stop code.
SL axis_g_position_error
G axis position error.
UB input_bank_1
general input bank 1 (inputs 9-16).
SL axis_d_position_error
D axis position error.
UB axis_a_reserved_0
Reserved.
SL axis_d_velocity
D axis velocity.
UB axis_b_switches
B axis switches.
UB axis_h_reserved_1
Reserved.
SL axis_h_reference_position
H axis reference position.
UW axis_h_status
H axis status.
SL axis_a_motor_position
A axis motor position.
SL axis_f_position_error
F axis position error.
UB axis_g_stop_code
G axis stop code.
UB input_bank_2
general input bank 2 (inputs 17-24).
SL axis_g_aux_position
G axis auxiliary position.
UW axis_b_analog_in
B axis analog input.
UW s_plane_segment_count
segment count of coordinated move for S plane.
UB axis_d_reserved_1
Reserved.
UB thread_status
thread status.
UW axis_d_analog_in
D axis analog input.
SL axis_h_motor_position
H axis motor position.
SL axis_f_motor_position
F axis motor position.
UB output_bank_2
general output bank 2 (outputs 17-24).
SL axis_c_motor_position
C axis motor position.
SL axis_c_position_error
C axis position error.
SL axis_b_torque
B axis torque.
UW contour_buffer_available
Buffer space remaining, Contour Mode.
UB axis_b_stop_code
B axis stop code.
UB axis_e_switches
E axis switches.
UB axis_e_reserved_0
Reserved.
UB axis_h_switches
H axis switches.
UW sample_number
sample number.
UW axis_a_analog_in
A axis analog input.
SL axis_a_velocity
A axis velocity.
UB axis_g_reserved_0
Reserved.
UW axis_f_status
F axis status.
SL axis_g_reference_position
G axis reference position.
UB axis_c_stop_code
C axis stop code.
SL axis_c_torque
C axis torque.
SL axis_g_torque
G axis torque.
UB output_bank_7
general output bank 7 (outputs 57-64).
SL axis_f_velocity
F axis velocity.
UB input_bank_8
general input bank 8 (inputs 65-72).
UW axis_g_status
G axis status.
UW axis_d_status
D axis status.
UB input_bank_9
general input bank 9 (inputs 73-80).
SL axis_a_position_error
A axis position error.
SL axis_a_aux_position
A axis auxiliary position.
UW axis_a_status
A axis status.
SL axis_e_reference_position
E axis reference position.
UB output_bank_4
general output bank 4 (outputs 33-40).
SL axis_e_variable
E User-defined variable (ZA).
SL axis_h_variable
H User-defined variable (ZA).
UB axis_b_reserved_1
Reserved.
SL axis_b_variable
B User-defined variable (ZA).
UB input_bank_5
general input bank 5 (inputs 41-48).
SL axis_b_reference_position
B axis reference position.
UB axis_e_reserved_1
Reserved.
UW s_plane_buffer_available
Buffer space remaining, S Plane.
UB axis_h_reserved_0
Reserved.
SL axis_g_velocity
G axis velocity.
UB axis_f_stop_code
F axis stop code.
SL axis_c_reference_position
C axis reference position.
UW axis_e_analog_in
E axis analog input.
SL axis_g_motor_position
G axis motor position.
SL axis_f_aux_position
F axis auxiliary position.
UB output_bank_9
general output bank 9 (outputs 73-80).
UW t_plane_buffer_available
Buffer space remaining, T Plane.
SL s_distance
distance traveled in coordinated move for S plane.
SL axis_b_aux_position
B axis auxiliary position.
UB axis_f_reserved_0
Reserved.
UW axis_c_analog_in
C axis analog input.
SL axis_a_torque
A axis torque.
UB input_bank_6
general input bank 6 (inputs 49-56).
UB axis_a_stop_code
A axis stop code.
SL axis_h_aux_position
H axis auxiliary position.
SL axis_a_reference_position
A axis reference position.
UB axis_a_reserved_1
Reserved.
UW axis_g_analog_in
G axis analog input.
UB axis_f_reserved_1
Reserved.
UB output_bank_8
general output bank 8 (outputs 65-72).
UB axis_c_reserved_0
Reserved.
SL t_distance
distance traveled in coordinated move for T plane.
UB axis_d_switches
D axis switches.
UW axis_b_status
B axis status.
SL axis_d_aux_position
D axis auxiliary position.
UB axis_d_reserved_0
Reserved.
SL axis_f_variable
F User-defined variable (ZA).
UB axis_g_reserved_1
Reserved.
UB output_bank_0
general output bank 0 (outputs 1-8).
UB axis_f_switches
F axis switches.
SL axis_b_velocity
B axis velocity.
SL axis_e_position_error
E axis position error.
SL axis_e_torque
E axis torque.
SL axis_e_aux_position
E axis auxiliary position.
SL axis_d_variable
D User-defined variable (ZA).
UB input_bank_7
general input bank 7 (inputs 57-64).
UB input_bank_4
general input bank 4 (inputs 33-40).
SL axis_c_velocity
C axis velocity.
UB output_bank_6
general output bank 6 (outputs 49-56).
UB output_bank_5
general output bank 5 (outputs 41-48).
UW axis_c_status
C axis status.
SL axis_f_torque
F axis torque.
SL axis_b_motor_position
B axis motor position.
SL axis_f_reference_position
F axis reference position.
UB output_bank_1
general output bank 1 (outputs 9-16).
SL axis_d_torque
D axis torque.
byte[] byte_array()
Returns the data record as a byte array and allows for access to individual bytes.
UB axis_b_reserved_0
Reserved.
UW t_plane_move_status
Coordinated move status for T plane.
SL axis_h_velocity
H axis velocity.
SL axis_e_velocity
E axis velocity.
SL axis_d_motor_position
D axis motor position.
UW t_plane_segment_count
segment count of coordinated move for T plane.
UW s_plane_move_status
coordinated move status for S plane.
UB axis_c_switches
C axis switches.
Data record struct for DMC-2103 controllers.
SW axis_e_torque
E axis torque.
UB header_1
2nd Byte of Header.
SL axis_c_aux_position
C axis auxiliary position.
UW axis_e_status
E axis status.
UB input_bank_3
general input bank 3 (inputs 25-32).
UB input_bank_0
general input bank 0 (inputs 1-8).
SL axis_d_reference_position
D axis reference position.
SL axis_b_position_error
B axis position error.
SL axis_h_position_error
H axis position error.
UW axis_f_analog_in
F axis analog input.
UB axis_d_stop_code
D axis stop code.
SL axis_e_motor_position
E axis motor position.
UB axis_a_switches
A axis switches.
UB output_bank_3
general output bank 3 (outputs 25-32).
UB axis_e_stop_code
E axis stop code.
UW axis_h_analog_in
H axis analog input.
UB axis_g_switches
G axis switches.
UB axis_h_stop_code
H axis stop code.
SL axis_g_position_error
G axis position error.
UB input_bank_1
general input bank 1 (inputs 9-16).
SL axis_d_position_error
D axis position error.
SL axis_d_velocity
D axis velocity.
UB axis_b_switches
B axis switches.
SL axis_h_reference_position
H axis reference position.
UW axis_h_status
H axis status.
SL axis_a_motor_position
A axis motor position.
SL axis_f_position_error
F axis position error.
UB axis_g_stop_code
G axis stop code.
UB input_bank_2
general input bank 2 (inputs 17-24).
SL axis_g_aux_position
G axis auxiliary position.
UW axis_b_analog_in
B axis analog input.
UW s_plane_segment_count
segment count of coordinated move for S plane.
UW axis_d_analog_in
D axis analog input.
SL axis_h_motor_position
H axis motor position.
SL axis_f_motor_position
F axis motor position.
UB output_bank_2
general output bank 2 (outputs 17-24).
SL axis_c_motor_position
C axis motor position.
SL axis_c_position_error
C axis position error.
SW axis_d_torque
D axis torque.
UB axis_b_stop_code
B axis stop code.
UB axis_e_switches
E axis switches.
UB axis_h_switches
H axis switches.
UW sample_number
sample number.
SW axis_h_torque
H axis torque.
UW axis_a_analog_in
A axis analog input.
SL axis_a_velocity
A axis velocity.
UB header_3
4th Byte of Header.
UW axis_f_status
F axis status.
SL axis_g_reference_position
G axis reference position.
UB axis_c_stop_code
C axis stop code.
UB output_bank_7
general output bank 7 (outputs 57-64).
SW axis_g_torque
G axis torque.
SL axis_f_velocity
F axis velocity.
UB input_bank_8
general input bank 8 (inputs 65-72).
UW axis_g_status
G axis status.
UW axis_d_status
D axis status.
UB input_bank_9
general input bank 9 (inputs 73-80).
SL axis_a_position_error
A axis position error.
SW axis_f_torque
F axis torque.
SL axis_a_aux_position
A axis auxiliary position.
UW axis_a_status
A axis status.
SL axis_e_reference_position
E axis reference position.
UB output_bank_4
general output bank 4 (outputs 33-40).
UB input_bank_5
general input bank 5 (inputs 41-48).
SL axis_b_reference_position
B axis reference position.
UB header_2
3rd Byte of Header.
SL axis_g_velocity
G axis velocity.
UB axis_f_stop_code
F axis stop code.
SW axis_a_torque
A axis torque.
SL axis_c_reference_position
C axis reference position.
UW axis_e_analog_in
E axis analog input.
SL axis_g_motor_position
G axis motor position.
SL axis_f_aux_position
F axis auxiliary position.
UB output_bank_9
general output bank 9 (outputs 73-80).
SL s_distance
distance traveled in coordinated move for S plane.
SL axis_b_aux_position
B axis auxiliary position.
UW axis_c_analog_in
C axis analog input.
UB input_bank_6
general input bank 6 (inputs 49-56).
UB general_status
general status
UB axis_a_stop_code
A axis stop code.
SL axis_h_aux_position
H axis auxiliary position.
SL axis_a_reference_position
A axis reference position.
UB header_0
1st Byte of Header.
UW axis_g_analog_in
G axis analog input.
UB output_bank_8
general output bank 8 (outputs 65-72).
SL t_distance
distance traveled in coordinated move for T plane.
SW axis_b_torque
B axis torque.
UB axis_d_switches
D axis switches.
UW axis_b_status
B axis status.
SL axis_d_aux_position
D axis auxiliary position.
UB output_bank_0
general output bank 0 (outputs 1-8).
UB axis_f_switches
F axis switches.
SL axis_b_velocity
B axis velocity.
SL axis_e_position_error
E axis position error.
SL axis_e_aux_position
E axis auxiliary position.
UB input_bank_7
general input bank 7 (inputs 57-64).
UB input_bank_4
general input bank 4 (inputs 33-40).
SL axis_c_velocity
C axis velocity.
UB output_bank_6
general output bank 6 (outputs 49-56).
UB output_bank_5
general output bank 5 (outputs 41-48).
UW axis_c_status
C axis status.
SL axis_b_motor_position
B axis motor position.
SL axis_f_reference_position
F axis reference position.
UB output_bank_1
general output bank 1 (outputs 9-16).
byte[] byte_array()
Returns the data record as a byte array and allows for access to individual bytes.
SW axis_c_torque
C axis torque.
UW t_plane_move_status
Coordinated move status for T plane.
SL axis_h_velocity
H axis velocity.
SL axis_e_velocity
E axis velocity.
SL axis_d_motor_position
D axis motor position.
UW t_plane_segment_count
segment count of coordinated move for T plane.
UW s_plane_move_status
coordinated move status for S plane.
UB axis_c_switches
C axis switches.
Data record struct for DMC-30010 controllers.
UL contour_segment_count
Segment Count for Contour Mode.
UB axis_a_reserved
Reserved.
UW output_analog_2
Analog output 2.
SL axis_a_variable
A User-defined variable (ZA).
UB header_1
2nd Byte of Header.
UB input_bank_0
general input bank 0 (inputs 1-8).
UB axis_a_switches
A axis switches.
UW input_analog_2
Analog input 2. 1 is in axis data, see axis_a_analog_in.
UB input_bank_1
general input bank 1 (inputs 9-16).
SL axis_a_motor_position
A axis motor position.
UW s_plane_segment_count
segment count of coordinated move for S plane.
UB thread_status
thread status.
UW contour_buffer_available
Buffer space remaining, Contour Mode.
UW sample_number
sample number.
UW axis_a_analog_in
A axis analog input.
SL axis_a_velocity
A axis velocity.
UL amplifier_status
Amplifier Status.
UB header_3
4th Byte of Header.
SL axis_a_position_error
A axis position error.
SL axis_a_aux_position
A axis auxiliary position.
UW axis_a_status
A axis status.
UW s_plane_buffer_available
Buffer space remaining, S Plane.
UB header_2
3rd Byte of Header.
SL s_distance
distance traveled in coordinated move for S plane.
SL axis_a_torque
A axis torque.
UB axis_a_stop_code
A axis stop code.
SL axis_a_reference_position
A axis reference position.
UB header_0
1st Byte of Header.
UB output_bank_0
general output bank 0 (outputs 1-8).
UW output_analog_1
Analog output 1.
UB output_bank_1
general output bank 1 (outputs 9-16).
byte[] byte_array()
Returns the data record as a byte array and allows for access to individual bytes.
UB axis_a_halls
A Hall Input Status.
UW s_plane_move_status
coordinated move status for S plane.
Data record struct for DMC-4000 controllers, including 4000, 4200, 4103, and 500x0.
UL contour_segment_count
Segment Count for Contour Mode.
UB axis_a_reserved
Reserved.
UB axis_h_reserved
Reserved.
SL axis_a_variable
A User-defined variable (ZA).
UB header_1
2nd Byte of Header.
SL axis_c_aux_position
C axis auxiliary position.
SL axis_h_torque
H axis torque.
UW axis_e_status
E axis status.
UB ethernet_status_c
Ethernet Handle C Status.
UB input_bank_3
general input bank 3 (inputs 25-32).
UB input_bank_0
general input bank 0 (inputs 1-8).
SL axis_d_reference_position
D axis reference position.
SL axis_b_position_error
B axis position error.
SL axis_h_position_error
H axis position error.
SL axis_g_variable
G User-defined variable (ZA).
UW axis_f_analog_in
F axis analog input.
SL axis_c_variable
C User-defined variable (ZA).
UB axis_d_stop_code
D axis stop code.
SL axis_e_motor_position
E axis motor position.
UB axis_a_switches
A axis switches.
UB axis_d_reserved
Reserved.
UB output_bank_3
general output bank 3 (outputs 25-32).
UB axis_e_stop_code
E axis stop code.
UW axis_h_analog_in
H axis analog input.
UB axis_g_switches
G axis switches.
UB axis_h_stop_code
H axis stop code.
SL axis_g_position_error
G axis position error.
UB input_bank_1
general input bank 1 (inputs 9-16).
SL axis_d_position_error
D axis position error.
SL axis_d_velocity
D axis velocity.
UB axis_b_switches
B axis switches.
SL axis_h_reference_position
H axis reference position.
UW axis_h_status
H axis status.
SL axis_a_motor_position
A axis motor position.
SL axis_f_position_error
F axis position error.
UB axis_g_stop_code
G axis stop code.
UB axis_f_reserved
Reserved.
UB ethernet_status_g
Ethernet Handle G Status.
UB input_bank_2
general input bank 2 (inputs 17-24).
SL axis_g_aux_position
G axis auxiliary position.
UW axis_b_analog_in
B axis analog input.
UW s_plane_segment_count
segment count of coordinated move for S plane.
UB thread_status
thread status
UW axis_d_analog_in
D axis analog input.
SL axis_h_motor_position
H axis motor position.
SL axis_f_motor_position
F axis motor position.
UB output_bank_2
general output bank 2 (outputs 17-24).
SL axis_c_motor_position
C axis motor position.
SL axis_c_position_error
C axis position error.
SL axis_b_torque
B axis torque.
UW contour_buffer_available
Buffer space remaining, Contour Mode.
UB axis_b_stop_code
B axis stop code.
UB axis_e_switches
E axis switches.
UB axis_h_switches
H axis switches.
UW sample_number
sample number.
UW axis_a_analog_in
A axis analog input.
SL axis_a_velocity
A axis velocity.
UL amplifier_status
Amplifier Status.
UB header_3
4th Byte of Header.
UW axis_f_status
F axis status.
SL axis_g_reference_position
G axis reference position.
UB axis_c_stop_code
C axis stop code.
SL axis_c_torque
C axis torque.
SL axis_g_torque
G axis torque.
UB output_bank_7
general output bank 7 (outputs 57-64).
SL axis_f_velocity
F axis velocity.
UB input_bank_8
general input bank 8 (inputs 65-72).
UW axis_g_status
G axis status.
UW axis_d_status
D axis status.
UB input_bank_9
general input bank 9 (inputs 73-80).
SL axis_a_position_error
A axis position error.
SL axis_a_aux_position
A axis auxiliary position.
UW axis_a_status
A axis status.
SL axis_e_reference_position
E axis reference position.
UB output_bank_4
general output bank 4 (outputs 33-40).
SL axis_e_variable
E User-defined variable (ZA).
SL axis_h_variable
H User-defined variable (ZA).
SL axis_b_variable
B User-defined variable (ZA).
UB input_bank_5
general input bank 5 (inputs 41-48).
UB axis_g_reserved
Reserved.
SL axis_b_reference_position
B axis reference position.
UB axis_f_halls
F Hall Input Status.
UW s_plane_buffer_available
Buffer space remaining, S Plane.
UB header_2
3rd Byte of Header.
SL axis_g_velocity
G axis velocity.
UB axis_f_stop_code
F axis stop code.
SL axis_c_reference_position
C axis reference position.
UW axis_e_analog_in
E axis analog input.
SL axis_g_motor_position
G axis motor position.
SL axis_f_aux_position
F axis auxiliary position.
UB output_bank_9
general output bank 9 (outputs 73-80).
UW t_plane_buffer_available
Buffer space remaining, T Plane.
UB axis_b_reserved
Reserved.
SL s_distance
distance traveled in coordinated move for S plane.
SL axis_b_aux_position
B axis auxiliary position.
UB axis_g_halls
G Hall Input Status.
UW axis_c_analog_in
C axis analog input.
SL axis_a_torque
A axis torque.
UB input_bank_6
general input bank 6 (inputs 49-56).
UB axis_a_stop_code
A axis stop code.
SL axis_h_aux_position
H axis auxiliary position.
SL axis_a_reference_position
A axis reference position.
UB header_0
1st Byte of Header.
UB axis_c_halls
C Hall Input Status.
UW axis_g_analog_in
G axis analog input.
UB output_bank_8
general output bank 8 (outputs 65-72).
SL t_distance
distance traveled in coordinated move for T plane.
UB axis_d_switches
D axis switches.
UW axis_b_status
B axis status.
SL axis_d_aux_position
D axis auxiliary position.
UB axis_c_reserved
Reserved.
SL axis_f_variable
F User-defined variable (ZA).
UB axis_e_halls
E Hall Input Status.
UB ethernet_status_e
Ethernet Handle E Status.
UB output_bank_0
general output bank 0 (outputs 1-8).
UB axis_f_switches
F axis switches.
SL axis_b_velocity
B axis velocity.
SL axis_e_position_error
E axis position error.
UB ethernet_status_f
Ethernet Handle F Status.
SL axis_e_torque
E axis torque.
UB axis_b_halls
B Hall Input Status.
UB axis_d_halls
D Hall Input Status.
SL axis_e_aux_position
E axis auxiliary position.
UB ethernet_status_h
Ethernet Handle H Status.
SL axis_d_variable
D User-defined variable (ZA).
UB input_bank_7
general input bank 7 (inputs 57-64).
UB input_bank_4
general input bank 4 (inputs 33-40).
SL axis_c_velocity
C axis velocity.
UB output_bank_6
general output bank 6 (outputs 49-56).
UB output_bank_5
general output bank 5 (outputs 41-48).
UW axis_c_status
C axis status.
SL axis_f_torque
F axis torque.
SL axis_b_motor_position
B axis motor position.
SL axis_f_reference_position
F axis reference position.
UB output_bank_1
general output bank 1 (outputs 9-16).
SL axis_d_torque
D axis torque.
byte[] byte_array()
Returns the data record as a byte array and allows for access to individual bytes.
UB ethernet_status_b
Ethernet Handle B Status.
UW t_plane_move_status
Coordinated move status for T plane.
UB axis_a_halls
A Hall Input Status.
SL axis_h_velocity
H axis velocity.
UB axis_h_halls
H Hall Input Status.
SL axis_e_velocity
E axis velocity.
SL axis_d_motor_position
D axis motor position.
UW t_plane_segment_count
segment count of coordinated move for T plane.
UB axis_e_reserved
Reserved.
UW s_plane_move_status
coordinated move status for S plane.
UB ethernet_status_a
Ethernet Handle A Status.
UB ethernet_status_d
Ethernet Handle D Status.
UB axis_c_switches
C axis switches.
Data record struct for RIO-471xx and RIO-472xx PLCs. Includes encoder fields.
UW output_analog_2
Analog output 2.
UW input_analog_5
Analog input 5.
UB header_1
2nd Byte of Header.
UW output_analog_4
Analog output 4.
UW output_analog_7
Analog output 7.
UW input_analog_2
Analog input 2.
SL encoder_2
Encoder channel 2. Data only valid for parts with -BISS, -QUAD, or -SSI.
UW output_analog_0
Analog output 0.
UW input_bank_0
Digital inputs 0-15;.
UW output_bank_0
Digital outputs 0-15;.
UW input_analog_7
Analog input 7.
SL encoder_1
Encoder channel 1. Data only valid for parts with -BISS, -QUAD, or -SSI.
UW sample_number
Sample number.
UB header_3
4th Byte of Header.
UW input_analog_4
Analog input 4.
UW output_analog_6
Analog output 6.
UB header_2
3rd Byte of Header.
UB general_status
General status.
SL zd_variable
ZD User-defined variable (see ZD).
UW input_analog_6
Analog input 6.
UB header_0
1st Byte of Header.
UW input_analog_3
Analog input 3.
UW input_analog_1
Analog input 1.
SL encoder_3
Encoder channel 3. Data only valid for parts with -BISS, -QUAD, or -SSI.
UW output_analog_1
Analog output 1.
UW output_analog_3
Analog output 3.
byte[] byte_array()
Returns the data record as a byte array and allows for access to individual bytes.
SL encoder_0
Encoder channel 0. Data only valid for parts with -BISS, -QUAD, or -SSI.
UW output_analog_5
Analog output 5.
UW input_analog_0
Analog input 0.
SL zc_variable
ZC User-defined variable (see ZC).
UL pulse_count_0
Pulse counter (see PC).
Data record struct for RIO-47162.
UW output_analog_2
Analog output 2.
UW input_analog_5
Analog input 5.
UB header_1
2nd Byte of Header.
UW output_analog_4
Analog output 4.
UB output_byte_2
Digital outputs 16-23.
UW output_analog_7
Analog output 7.
UB input_byte_3
Digital inputs 24-31.
UW input_analog_2
Analog input 2.
SL encoder_2
Encoder channel 2. Data only valid for parts with -BISS, -QUAD, or -SSI.
UW output_analog_0
Analog output 0.
UB input_byte_1
Digital inputs 8-15.
UW input_analog_7
Analog input 7.
SL encoder_1
Encoder channel 1. Data only valid for parts with -BISS, -QUAD, or -SSI.
UW sample_number
Sample number.
UB header_3
4th Byte of Header.
UW input_analog_4
Analog input 4.
UW output_analog_6
Analog output 6.
UB input_byte_0
Digital inputs 0-7.
UB header_2
3rd Byte of Header.
UB input_byte_4
Digital inputs 32-39.
UB output_byte_0
Digital outputs 0-7.
UB general_status
General status.
SL zd_variable
ZD User-defined variable (see ZD).
UW input_analog_6
Analog input 6.
UB header_0
1st Byte of Header.
UW input_analog_3
Analog input 3.
UW input_analog_1
Analog input 1.
UB output_byte_1
Digital outputs 8-15.
UB input_byte_2
Digital inputs 16-23.
SL encoder_3
Encoder channel 3. Data only valid for parts with -BISS, -QUAD, or -SSI.
UW output_analog_1
Analog output 1.
UW output_analog_3
Analog output 3.
byte[] byte_array()
Returns the data record as a byte array and allows for access to individual bytes.
SL encoder_0
Encoder channel 0. Data only valid for parts with -BISS, -QUAD, or -SSI.
UW output_analog_5
Analog output 5.
UW input_analog_0
Analog input 0.
SL zc_variable
ZC User-defined variable (see ZC).
UL pulse_count_0
Pulse counter (see PC).
Data record struct for RIO-47300 with 24EX I/O daughter board.
UW output_analog_2
Analog output 2.
UW input_analog_5
Analog input 5.
UB header_1
2nd Byte of Header.
UW output_analog_4
Analog output 4.
UW input_bank_2
Digital inputs 24-39. Data only valid for parts with 24EXIN.
UW output_analog_7
Analog output 7.
UW input_analog_2
Analog input 2.
UW output_analog_0
Analog output 0.
UW input_bank_0
Digital inputs 0-15.
UW output_bank_0
Digital outputs 0-15.
UW input_analog_7
Analog input 7.
UW sample_number
Sample number.
UB header_3
4th Byte of Header.
UW input_analog_4
Analog input 4.
UW output_analog_6
Analog output 6.
UB header_2
3rd Byte of Header.
UB general_status
General status.
SL zd_variable
ZD User-defined variable (see ZD).
UW input_analog_6
Analog input 6.
UB header_0
1st Byte of Header.
UW input_analog_3
Analog input 3.
UW input_bank_3
Digital inputs 40-47. Data only valid for parts with 24EXIN.
UW input_bank_1
Digital inputs 16-23.
UW input_analog_1
Analog input 1.
UW output_back_3
Digital outputs 40-47. Data only valid for parts with 24EXOUT.
UW output_bank_1
Digital outputs 16-23.
UW output_analog_1
Analog output 1.
UW output_bank_2
Digital outputs 24-39. Data only valid for parts with 24EXOUT.
UW output_analog_3
Analog output 3.
byte[] byte_array()
Returns the data record as a byte array and allows for access to individual bytes.
UW output_analog_5
Analog output 5.
UW input_analog_0
Analog input 0.
SL zc_variable
ZC User-defined variable (see ZC).
UL pulse_count_0
Pulse counter (see PC)8.
Data record struct for RIO-47300. Includes encoder fields.
UW output_analog_2
Analog output 2.
UW input_analog_5
Analog input 5.
UB header_1
2nd Byte of Header.
UW output_analog_4
Analog output 4.
UW output_analog_7
Analog output 7.
UW input_analog_2
Analog input 2.
SL encoder_2
Encoder channel 2. Data only valid for parts with -BISS, -QUAD, or -SSI.
UW output_analog_0
Analog output 0.
UW input_bank_0
Digital inputs 0-15;.
UW output_bank_0
Digital outputs 0-15;.
UW input_analog_7
Analog input 7.
SL encoder_1
Encoder channel 1. Data only valid for parts with -BISS, -QUAD, or -SSI.
UW sample_number
Sample number.
UB header_3
4th Byte of Header.
UW input_analog_4
Analog input 4.
UW output_analog_6
Analog output 6.
UB header_2
3rd Byte of Header.
UB general_status
General status.
SL zd_variable
ZD User-defined variable (see ZD).
UW input_analog_6
Analog input 6.
UB header_0
1st Byte of Header.
UW input_analog_3
Analog input 3.
UW input_bank_1
Digital inputs 16-23;.
UW input_analog_1
Analog input 1.
SL encoder_3
Encoder channel 3. Data only valid for parts with -BISS, -QUAD, or -SSI.
UW output_bank_1
Digital outputs 16-23;.
UW output_analog_1
Analog output 1.
UW output_analog_3
Analog output 3.
byte[] byte_array()
Returns the data record as a byte array and allows for access to individual bytes.
SL encoder_0
Encoder channel 0. Data only valid for parts with -BISS, -QUAD, or -SSI.
UW output_analog_5
Analog output 5.
UW input_analog_0
Analog input 0.
SL zc_variable
ZC User-defined variable (see ZC).
UL pulse_count_0
Pulse counter (see PC).
Data record struct for DMC-52000 controller. Same as DMC-4000, with bank indicator added at byte 40.
UL contour_segment_count
Segment Count for Contour Mode.
UB axis_a_reserved
Reserved.
UB axis_h_reserved
Reserved.
SL axis_a_variable
A User-defined variable (ZA).
UB header_1
2nd Byte of Header.
SL axis_c_aux_position
C axis auxiliary position.
SL axis_h_torque
H axis torque.
UW axis_e_status
E axis status.
UB ethernet_status_c
Ethernet Handle C Status.
UB input_bank_3
general input bank 3 (inputs 25-32).
UB input_bank_0
general input bank 0 (inputs 1-8).
SL axis_d_reference_position
D axis reference position.
SL axis_b_position_error
B axis position error.
SL axis_h_position_error
H axis position error.
SL axis_g_variable
G User-defined variable (ZA).
UW axis_f_analog_in
F axis analog input.
SL axis_c_variable
C User-defined variable (ZA).
UB axis_d_stop_code
D axis stop code.
SL axis_e_motor_position
E axis motor position.
UB axis_a_switches
A axis switches.
UB axis_d_reserved
Reserved.
UB output_bank_3
general output bank 3 (outputs 25-32).
UB axis_e_stop_code
E axis stop code.
UW axis_h_analog_in
H axis analog input.
UB axis_g_switches
G axis switches.
UB axis_h_stop_code
H axis stop code.
SL axis_g_position_error
G axis position error.
UB input_bank_1
general input bank 1 (inputs 9-16).
SL axis_d_position_error
D axis position error.
SL axis_d_velocity
D axis velocity.
UB axis_b_switches
B axis switches.
SL axis_h_reference_position
H axis reference position.
UW axis_h_status
H axis status.
SL axis_a_motor_position
A axis motor position.
SL axis_f_position_error
F axis position error.
UB ethercat_bank
EtherCAT Bank Indicator.
UB axis_g_stop_code
G axis stop code.
UB axis_f_reserved
Reserved.
UB ethernet_status_g
Ethernet Handle G Status.
UB input_bank_2
general input bank 2 (inputs 17-24).
SL axis_g_aux_position
G axis auxiliary position.
UW axis_b_analog_in
B axis analog input.
UW s_plane_segment_count
segment count of coordinated move for S plane.
UB thread_status
thread status
UW axis_d_analog_in
D axis analog input.
SL axis_h_motor_position
H axis motor position.
SL axis_f_motor_position
F axis motor position.
UB output_bank_2
general output bank 2 (outputs 17-24).
SL axis_c_motor_position
C axis motor position.
SL axis_c_position_error
C axis position error.
SL axis_b_torque
B axis torque.
UW contour_buffer_available
Buffer space remaining, Contour Mode.
UB axis_b_stop_code
B axis stop code.
UB axis_e_switches
E axis switches.
UB axis_h_switches
H axis switches.
UW sample_number
sample number.
UW axis_a_analog_in
A axis analog input.
SL axis_a_velocity
A axis velocity.
UL amplifier_status
Amplifier Status.
UB header_3
4th Byte of Header.
UW axis_f_status
F axis status.
SL axis_g_reference_position
G axis reference position.
UB axis_c_stop_code
C axis stop code.
SL axis_c_torque
C axis torque.
SL axis_g_torque
G axis torque.
UB output_bank_7
general output bank 7 (outputs 57-64).
SL axis_f_velocity
F axis velocity.
UB input_bank_8
general input bank 8 (inputs 65-72).
UW axis_g_status
G axis status.
UW axis_d_status
D axis status.
UB input_bank_9
general input bank 9 (inputs 73-80).
SL axis_a_position_error
A axis position error.
SL axis_a_aux_position
A axis auxiliary position.
UW axis_a_status
A axis status.
SL axis_e_reference_position
E axis reference position.
UB output_bank_4
general output bank 4 (outputs 33-40).
SL axis_e_variable
E User-defined variable (ZA).
SL axis_h_variable
H User-defined variable (ZA).
SL axis_b_variable
B User-defined variable (ZA).
UB input_bank_5
general input bank 5 (inputs 41-48).
UB axis_g_reserved
Reserved.
SL axis_b_reference_position
B axis reference position.
UB axis_f_halls
F Hall Input Status.
UW s_plane_buffer_available
Buffer space remaining, S Plane.
UB header_2
3rd Byte of Header.
SL axis_g_velocity
G axis velocity.
UB axis_f_stop_code
F axis stop code.
SL axis_c_reference_position
C axis reference position.
UW axis_e_analog_in
E axis analog input.
SL axis_g_motor_position
G axis motor position.
SL axis_f_aux_position
F axis auxiliary position.
UB output_bank_9
general output bank 9 (outputs 73-80).
UW t_plane_buffer_available
Buffer space remaining, T Plane.
UB axis_b_reserved
Reserved.
SL s_distance
distance traveled in coordinated move for S plane.
SL axis_b_aux_position
B axis auxiliary position.
UB axis_g_halls
G Hall Input Status.
UW axis_c_analog_in
C axis analog input.
SL axis_a_torque
A axis torque.
UB input_bank_6
general input bank 6 (inputs 49-56).
UB axis_a_stop_code
A axis stop code.
SL axis_h_aux_position
H axis auxiliary position.
SL axis_a_reference_position
A axis reference position.
UB header_0
1st Byte of Header.
UB axis_c_halls
C Hall Input Status.
UW axis_g_analog_in
G axis analog input.
UB output_bank_8
general output bank 8 (outputs 65-72).
SL t_distance
distance traveled in coordinated move for T plane.
UB axis_d_switches
D axis switches.
UW axis_b_status
B axis status.
SL axis_d_aux_position
D axis auxiliary position.
UB axis_c_reserved
Reserved.
SL axis_f_variable
F User-defined variable (ZA).
UB axis_e_halls
E Hall Input Status.
UB ethernet_status_e
Ethernet Handle E Status.
UB output_bank_0
general output bank 0 (outputs 1-8).
UB axis_f_switches
F axis switches.
SL axis_b_velocity
B axis velocity.
SL axis_e_position_error
E axis position error.
UB ethernet_status_f
Ethernet Handle F Status.
SL axis_e_torque
E axis torque.
UB axis_b_halls
B Hall Input Status.
UB axis_d_halls
D Hall Input Status.
SL axis_e_aux_position
E axis auxiliary position.
UB ethernet_status_h
Ethernet Handle H Status.
SL axis_d_variable
D User-defined variable (ZA).
UB input_bank_7
general input bank 7 (inputs 57-64).
UB input_bank_4
general input bank 4 (inputs 33-40).
SL axis_c_velocity
C axis velocity.
UB output_bank_6
general output bank 6 (outputs 49-56).
UB output_bank_5
general output bank 5 (outputs 41-48).
UW axis_c_status
C axis status.
SL axis_f_torque
F axis torque.
SL axis_b_motor_position
B axis motor position.
SL axis_f_reference_position
F axis reference position.
UB output_bank_1
general output bank 1 (outputs 9-16).
SL axis_d_torque
D axis torque.
byte[] byte_array()
Returns the data record as a byte array and allows for access to individual bytes.
UB ethernet_status_b
Ethernet Handle B Status.
UW t_plane_move_status
Coordinated move status for T plane.
UB axis_a_halls
A Hall Input Status.
SL axis_h_velocity
H axis velocity.
UB axis_h_halls
H Hall Input Status.
SL axis_e_velocity
E axis velocity.
SL axis_d_motor_position
D axis motor position.
UW t_plane_segment_count
segment count of coordinated move for T plane.
UB axis_e_reserved
Reserved.
UW s_plane_move_status
coordinated move status for S plane.
UB ethernet_status_a
Ethernet Handle A Status.
UB ethernet_status_d
Ethernet Handle D Status.
UB axis_c_switches
C axis switches.
Data record union, containing all structs and a generic byte array accessor.