gclib 2.0.9
Communications API for Galil controllers and PLCs
 
Loading...
Searching...
No Matches
gclib.vb
Go to the documentation of this file.
1Imports System
2Imports System.Text 'StringBuilder
3Imports System.Runtime.InteropServices 'DLL import
4Imports System.IO 'File.Exists
5
6Imports UB = System.Byte
7Imports UW = System.UInt16
8Imports SW = System.Int16
9Imports SL = System.Int32
10Imports UL = System.UInt32
11
12#If PLATFORM = "x86" Then
13Imports GReturn = System.Int32
14Imports GCon = System.IntPtr
15Imports GSize = System.UInt32
16Imports GOption = System.Int32
17Imports GCStringOut = System.Text.StringBuilder
18Imports GCStringIn = System.String
19Imports GBufOut = System.Text.StringBuilder
20Imports GBufIn = System.String
21Imports GStatus = System.Byte
23Public Module LibraryPath
24 Public Const GclibDllPath_ As String = "C:\Program Files (x86)\Galil\gclib\dll\x86\gclib.dll"
25 Public Const GcliboDllPath_ As String = "C:\Program Files (x86)\Galil\gclib\dll\x86\gclibo.dll"
27
28#ElseIf PLATFORM = "x64" Then
29Imports GReturn = System.Int32
34Imports GCStringIn = System.String
37Imports GStatus = System.Byte
38' IMPORTANT! Be sure that the paths below are correct
39Public Module LibraryPath
40 Public Const GclibDllPath_ As String = "C:\Program Files (x86)\Galil\gclib\dll\x64\gclib.dll"
41 Public Const GcliboDllPath_ As String = "C:\Program Files (x86)\Galil\gclib\dll\x64\gclibo.dll"
42End Module
43#End If
45''' <summary>
47''' </summary>
48''' <remarks>
49''' The Gclib class assumes the default installation of gclib, "C:\Program Files (x86)\Galil\gclib\".
50''' If the dlls are elsewhere, change the path strings GclibDllPath_, and GcliboDllPath_.
51''' </remarks>
52Public Class Gclib
53
54#Region "VB wrappers of gclib C calls"
55
56#Region "Private properties"
57 Private Const BufferSize_ As Integer = 500000 'size of "char *" buffer. Big enough to fit entire 4000 program via UL/LS, or 24000 elements of array data.
58 Private Buffer_ As New System.Text.StringBuilder(BufferSize_) 'used to pass a "char *" to gclib.
59 Private ByteArray_(512) As Byte 'byte array to hold data record and response to GRead
60 Private ConnectionHandle_ As GCon 'keep track of the gclib connection handle.
61 Private ConnectionStatus_ As Boolean 'keep track of the status of gclib's connection.
62#End Region
63
64 ''' <summary>
65 ''' Constructor of the gclib wrapper class.
66 ''' </summary>
67 ''' <remarks>Checks to ensure gclib dlls are in the correct location.</remarks>
68 ''' <exception cref="System.Exception">Will throw an exception if either dll isn't found.</exception>
69 Public Sub New()
70 If Not File.Exists(GclibDllPath_) Then
71 Throw New System.Exception("Could not find gclib dll at " & GclibDllPath_)
72 End If
73
74 If Not File.Exists(GcliboDllPath_) Then
75 Throw New System.Exception("Could not find gclibo dll at " & GcliboDllPath_)
76 End If
77 End Sub
78
79 ''' <summary>
80 ''' Return a string array of available connection addresses.
81 ''' </summary>
82 ''' <returns>String array containing all available Galil Ethernet controllers, PCI controllers, and COM ports.</returns>
83 ''' <remarks>Wrapper around gclib GAddresses(),
84 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclibo_8h.html#a6a6114683ed5749519b64f19512c24d6
85 ''' An empty array is returned on error.</remarks>
86 Public Function GAddresses() As String()
87 Dim rc As GReturn = DllGAddresses(Buffer_, BufferSize_)
88 If rc = G_NO_ERROR Then
89 Return Buffer_.ToString().Split({vbCr, vbLf}, System.StringSplitOptions.RemoveEmptyEntries)
90 Else
91 Return New String() {}
92 End If
93 End Function
94
95 ''' <summary>
96 ''' Downloads array data to a pre-dimensioned array in the controller's array table.
97 ''' </summary>
98 ''' <param name="array_name">String containing the name of the array to download. Must match the array name used in DM.</param>
99 ''' <param name="data">A list of doubles, to be downloaded.</param>
100 ''' <param name="first">The first element of the array for sub-array downloads.</param>
101 ''' <param name="last">The last element of the array for sub-array downloads.</param>
102 ''' <remarks>Wrapper around gclib GArrayDownload(),
103 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclib_8h.html#a6ea5ae6d167675e4c27ccfaf2f240f8a
104 ''' The array must already exist on the controller, see DM and LA.</remarks>
105 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
106 Public Sub GArrayDownload(array_name As String, ByRef data As List(Of Double), Optional first As Int16 = -1, Optional last As Int16 = -1)
107 Dim ArrayData As New System.Text.StringBuilder(BufferSize_) 'for converting to ASCII
108 Dim len As Integer = data.Count()
109 For i As Integer = 0 To len - 1
110 ArrayData.Append(data(i).ToString("F4")) 'format to fixed point
111 If i < len - 1 Then
112 ArrayData.Append(",") 'delimiter
113 End If
114 Next
115 Dim rc As GReturn = DllGArrayDownload(ConnectionHandle_, array_name, first, last, ArrayData.ToString())
116 If Not rc = G_NO_ERROR Then
117 Throw New System.Exception(GError(rc))
118 End If
119 End Sub
120
121 ''' <summary>
122 ''' Allows downloading of a program array file to the controller.
123 ''' </summary>
124 ''' <param name="Path">The full filepath of the array csv file.</param>
125 ''' <remarks>Wrapper around gclib GArrayDownload(),
126 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclibo_8h.html#a14b448ab8c7e6cf495865af301be398e
127 ''' </remarks>
128 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
129 Public Sub GArrayDownloadFile(Path As String)
130 Dim rc As GReturn = DllGArrayDownloadFile(ConnectionHandle_, Path)
131 If rc <> G_NO_ERROR Then
132 Throw New System.Exception(GError(rc))
133 End If
134 End Sub
135
136 ''' <summary>
137 ''' Uploads array data from the controller's array table.
138 ''' </summary>
139 ''' <param name="array_name">String containing the name of the array to upload.</param>
140 ''' <param name="first">The first element of the array for sub-array uploads.</param>
141 ''' <param name="last">The last element of the array for sub-array uploads.</param>
142 ''' <returns>The desired array as a list of doubles.</returns>
143 ''' <remarks>Wrapper around gclib GArrayUpload(),
144 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclib_8h.html#af215806ec26ba06ed3f174ebeeafa7a7
145 ''' </remarks>
146 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
147 Public Function GArrayUpload(array_name As String, Optional first As Int16 = -1, Optional last As Int16 = -1) As List(Of Double)
148 Dim array As New List(Of Double)
149 Dim rc As GReturn = DllGArrayUpload(ConnectionHandle_, array_name, first, last, 1, Buffer_, BufferSize_) '1 = comma delim
150 If Not rc = G_NO_ERROR Then
151 Throw New System.Exception(GError(rc))
152 End If
153 Dim tokens As String() = Buffer_.ToString.Split({","}, System.StringSplitOptions.RemoveEmptyEntries)
154 Dim value As Double
155 For Each s As String In tokens
156 If Not Double.TryParse(s, value) Then
157 Throw New System.Exception("Could not parse " & s & " into double")
158 End If
159 array.Add(value)
160 Next
161 Return array
162 End Function
164 ''' <summary>
165 ''' Allows uploading of a program array file from the controller to an array CSV file.
166 ''' </summary>
167 ''' <param name="Path">The full filepath of the array csv file to save.</param>
168 ''' <param name="Names">A space separated list of the array names to upload. A null string uploads all arrays in the array table (LA).</param>
169 ''' <remarks>Wrapper around gclib GArrayUpload().
170 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclib_8h.html#af215806ec26ba06ed3f174ebeeafa7a7
171 ''' </remarks>
172 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
173 Public Sub GArrayUploadFile(Path As String, Names As String)
174 Dim rc As GReturn = DllGArrayUploadFile(ConnectionHandle_, Path, Names)
175 If rc <> G_NO_ERROR Then
176 Throw New System.Exception(GError(rc))
177 End If
178 End Sub
179
180 ''' <summary>
181 ''' Assigns IP address over the Ethernet to a controller at a given MAC address.
182 ''' </summary>
183 ''' <param name="ip">The ip address to assign. The hardware should not yet have an IP address. </param>
184 ''' <param name="mac">The MAC address of the hardware.</param>
185 ''' <remarks>Wrapper around gclib GAssign(),
186 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclibo_8h.html#acc996b7c22cfed8e5573d096ef1ab759
187 ''' </remarks>
188 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
189 Public Sub GAssign(ip As String, mac As String)
190 Dim rc As GReturn = DllGAssign(ip, mac)
191 If Not rc = G_NO_ERROR Then
192 Throw New System.Exception(GError(rc))
193 End If
194 End Sub
195
196 ''' <summary>
197 ''' Used to close a connection to Galil hardware.
198 ''' </summary>
199 ''' <remarks>Wrapper around gclib GClose(),
200 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclib_8h.html#a24a437bcde9637b0db4b94176563a052
201 ''' Be sure to call GClose() whenever a connection is finished.</remarks>
202 Public Sub GClose()
203 If ConnectionStatus_ Then
204 DllGClose(ConnectionHandle_)
205 End If
207 ConnectionStatus_ = False
208 End Sub
209
210 ''' <summary>
211 ''' Used for command-and-response transactions.
212 ''' </summary>
213 ''' <param name="Command">The command to send to the controller. Do not append a carriage return. Use only ASCII-based commmands.</param>
214 ''' <param name="Trim">If true, the response will be trimmed of the trailing colon and any leading or trailing whitespace.</param>
215 ''' <returns>The command's response.</returns>
216 ''' <remarks>Wrapper around gclib GCommand(),
217 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclib_8h.html#a5ac031e76efc965affdd73a1bec084a8
218 ''' </remarks>
219 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
220 Public Function GCommand(Command As String, Optional Trim As Boolean = True) As String
221 Dim rc As GReturn = DllGCommand(ConnectionHandle_, Command, Buffer_, BufferSize_, 0)
222 If rc <> G_NO_ERROR Then
223 Throw New System.Exception(GError(rc))
224 End If
225 If Trim Then
226 Dim r As String = Buffer_.ToString()
227 If r(r.Count() - 1) = ":" Then
228 r = r.Substring(0, r.Count() - 1)
229 End If
230 Return r.Trim()
231 Else
232 Return Buffer_.ToString()
233 End If
234 End Function
235
236
237 ''' <summary>
238 ''' Used for command-And-response transactions.
239 ''' </summary>
240 ''' <param name="Command">The command to send to the controller. Do Not append a carriage return. Use only ASCII-based commmands.</param>
241 ''' <returns>The command's response parsed as an integer.</returns>
242 ''' <remarks>Wrapper around gclib GCmdI(),
243 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclib_8h.html#a5ac031e76efc965affdd73a1bec084a8
244 ''' </remarks>
245 Public Function GCmdI(Command As String) As Int16
246 Return Convert.ToInt16(Convert.ToDouble(GCommand(Command)))
247 End Function
248
249 ''' <summary>
250 ''' Used for command-And-response transactions.
251 ''' </summary>
252 ''' <param name="Command">The command to send to the controller. Do Not append a carriage return. Use only ASCII-based commmands.</param>
253 ''' <returns>The command's response parsed as a double.</returns>
254 ''' <remarks>Wrapper around gclib GCmdD(),
255 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclib_8h.html#a5ac031e76efc965affdd73a1bec084a8
256 ''' </remarks>
257 Public Function GCmdD(Command As String) As Double
258 Return Convert.ToDouble(GCommand(Command))
259 End Function
261 ''' <summary>
262 ''' Provides a human-readable error message from a gclib error code.
263 ''' </summary>
264 ''' <param name="ErrorCode">The gclib error code, as returned from a call to the gclib.</param>
265 ''' <returns>Error message string.</returns>
266 ''' <remarks>
267 ''' Wrapper around gclib GError(),
268 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclibo_8h.html#afef1bed615bd72134f3df6d3a5723cba
269 ''' This function is private, all public calls that throw errors use this command for setting the exception message.
270 ''' </remarks>
271 Private Function GError(ErrorCode As GReturn) As String
272 DllGError(ErrorCode, Buffer_, BufferSize_)
273 Return ErrorCode.ToString & " " & Buffer_.ToString() & vbCrLf
274 End Function
275
276 ''' <summary>
277 ''' Upgrade firmware.
278 ''' </summary>
279 ''' <param name="filepath ">The full filepath of the firmware hex file.</param>
280 ''' <remarks>Wrapper around gclib GFirmwareDownload(),
281 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclib_8h.html#a1878a2285ff17897fa4fb20182ba6fdf
282 ''' </remarks>
283 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
284 Public Sub GFirmwareDownload(filepath As String)
285 Dim rc As GReturn = DllGFirmwareDownload(ConnectionHandle_, filepath)
286 If rc <> G_NO_ERROR Then
287 Throw New System.Exception(GError(rc))
288 End If
289 End Sub
290
291 ''' <summary>Provides a useful connection string.</summary>
292 ''' <remarks>Wrapper around gclib GInfo(),
293 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclibo_8h.html#a08abfcff8a1a85a01987859473167518
294 ''' </remarks>
295 ''' <returns>String containing connection information, e.g. "192.168.0.43, DMC4020 Rev 1.2c, 291". A null string indicates an error was returned from the library.</returns>
296 Public Function GInfo() As String
297 Dim rc As GReturn = DllGInfo(ConnectionHandle_, Buffer_, BufferSize_)
298 If rc = G_NO_ERROR Then
299 Return Buffer_.ToString()
300 Else
301 Return ""
302 End If
303 End Function
304
305 ''' <summary>
306 ''' Provides access to PCI and UDP interrupts from the controller.
307 ''' </summary>
308 ''' <returns>The status byte from the controller. Zero will be returned if a status byte is not read.</returns>
309 ''' <remarks>Wrapper around gclib GInterrupt(),
310 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclib_8h.html#a5bcf802404a96343e7593d247b67f132
311 ''' -s ALL or -s EI must be specified in the address argument of GOpen() to receive interrupts.</remarks>
312 Public Function GInterrupt() As Byte
313 Dim StatusByte As Byte = 0
314 Dim rc As GReturn = DllGInterrupt(ConnectionHandle_, StatusByte)
315 If rc = G_NO_ERROR Then
316 Return StatusByte
317 Else
318 Return 0
319 End If
320 End Function
321
322 ''' <summary>
323 ''' Provides a list of all Galil controllers requesting IP addresses via BOOT-P or DHCP.
324 ''' </summary>
325 ''' <returns>Each line of the returned data will be of the form "model, serial_number, mac". </returns>
326 ''' <remarks>Wrapper around gclib GIpRequests(),
327 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclibo_8h.html#a0afb4c82642a4ef86f997c39a5518952
328 ''' An empty array is returned on error.
329 ''' Call will take roughly 5 seconds to return.</remarks>
330 Public Function GIpRequests() As String()
331 Dim rc As GReturn = DllGIpRequests(Buffer_, BufferSize_)
332 If rc = G_NO_ERROR Then
333 Return Buffer_.ToString().Split({vbCr, vbLf}, System.StringSplitOptions.RemoveEmptyEntries)
334 Else
335 Return New String() {}
336 End If
337 End Function
338
339 ''' <summary>
340 ''' Provides access to unsolicited messages.
341 ''' </summary>
342 ''' <returns>String containing all messages received by controller.</returns>
343 ''' <remarks>Wrapper around gclib GMessage(),
344 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclib_8h.html#aabc5eaa09ddeca55ab8ee048b916cbcd
345 '''An empty string is returned on error.
346 ''' -s ALL or -s MG must be specified in the address argument of GOpen() to receive messages.</remarks>
347 Public Function GMessage() As String
348 Dim rc As GReturn = DllGMessage(ConnectionHandle_, Buffer_, BufferSize_)
349 If rc = G_NO_ERROR Then
350 Return Buffer_.ToString
351 Else
352 Return ""
353 End If
354 End Function
355
356 ''' <summary>
357 ''' Blocking call that returns once all axes specified have completed their motion.
358 ''' </summary>
359 ''' <param name="axes">A string containing a multiple-axes mask. Every character in the string should be a valid argument to MG_BGm, i.e. XYZWABCDEFGHST.</param>
360 ''' <remarks>Wrapper around gclib GMotionComplete(),
361 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclibo_8h.html#a19c220879442987970706444197f397a
362 ''' </remarks>
363 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
364 Public Sub GMotionComplete(axes As String)
365 Dim rc As GReturn = DllGMotionComplete(ConnectionHandle_, axes)
366 If Not rc = G_NO_ERROR Then
367 Throw New System.Exception(GError(rc))
368 End If
369 End Sub
370
371 ''' <summary>
372 ''' Used to open a connection to Galil hardware.
373 ''' </summary>
374 ''' <param name="address">Address string including any connection switches. See gclib documentation for GOpen().</param>
375 ''' <remarks>Wrapper around gclib GOpen(),
376 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclib_8h.html#aef4aec8a85630eed029b7a46aea7db54
377 ''' </remarks>
378 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
379 Public Sub GOpen(address As String)
380 Dim rc As GReturn = DllGOpen(address, ConnectionHandle_)
381 If rc <> G_NO_ERROR Then
382 Throw New System.Exception(GError(rc))
383 Else
384 ConnectionStatus_ = True
385 End If
386 End Sub
387
388 ''' <summary>
389 ''' Allows downloading of a DMC program from a string buffer.
390 ''' </summary>
391 ''' <param name="program">The program to download.</param>
392 ''' <param name="preprocessor">Preprocessor directives. Use nullstring for none.</param>
393 ''' <remarks>Wrapper around gclib GProgramDownload(),
394 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclib_8h.html#acafe19b2dd0537ff458e3c8afe3acfeb
395 ''' </remarks>
396 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
397 Public Sub GProgramDownload(ByRef program As String, Optional preprocessor As String = "")
398 Dim rc As GReturn = DllGProgramDownload(ConnectionHandle_, program, preprocessor)
399 If rc <> G_NO_ERROR Then
400 Throw New System.Exception(GError(rc))
401 End If
402 End Sub
403
404 ''' <summary>
405 ''' Allows downloading of a DMC program from file.
406 ''' </summary>
407 ''' <param name="file_path">The full filepath of the DMC file.</param>
408 ''' <param name="preprocessor">Preprocessor directives. Use nullstring for none.</param>
409 ''' <remarks>Wrapper around gclib GProgramDownloadFile(),
410 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclibo_8h.html#a8e44e2e321df9e7b8c538bf2d640633f
411 ''' </remarks>
412 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
413 Public Sub GProgramDownloadFile(file_path As String, Optional preprocessor As String = "")
414 Dim rc As GReturn = DllGProgramDownloadFile(ConnectionHandle_, file_path, preprocessor)
415 If rc <> G_NO_ERROR Then
416 Throw New System.Exception(GError(rc))
417 End If
418 End Sub
419
420 ''' <summary>
421 ''' Allows uploading of a DMC program to a string.
422 ''' </summary>
423 ''' <remarks>Wrapper around gclib GProgramUpload(),
424 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclib_8h.html#a80a653ce387a2bd16bde2793c6de77e9
425 ''' </remarks>
426 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
427 Public Function GProgramUpload() As String
428 Dim rc As GReturn = DllGProgramUpload(ConnectionHandle_, Buffer_, BufferSize_)
429 If rc <> G_NO_ERROR Then
430 Throw New System.Exception(GError(rc))
431 Else
432 Return Buffer_.ToString()
433 End If
434 End Function
435
436 ''' <summary>
437 ''' Allows uploading of a DMC program to a file.
438 ''' </summary>
439 ''' <param name="file_path">The full filepath of the DMC file to save.</param>
440 ''' <remarks>Wrapper around gclib GProgramUploadFile(),
441 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclibo_8h.html#a38c5565afc11762fa19d37fbaa3c9aa3
442 ''' </remarks>
443 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
444 Public Sub GProgramUploadFile(file_path As String)
445 Dim rc As GReturn = DllGProgramUploadFile(ConnectionHandle_, file_path)
446 If rc <> G_NO_ERROR Then
447 Throw New System.Exception(GError(rc))
448 End If
449 End Sub
450
451 ''' <summary>
452 ''' Performs a read on the connection.
453 ''' </summary>
454 ''' <returns>String containing the read data, or a nullstring if nothing was read or an error occured.</returns>
455 ''' <remarks>Wrapper around gclib GRead(),
456 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclib_8h.html#adab6ec79b7e1bc7f0266684dd3434923
457 ''' </remarks>
458 Public Function GRead() As Byte()
459 Dim read As UInteger
460 Dim rc As GReturn = DllGRead(ConnectionHandle_, ByteArray_, ByteArray_.Length, read)
461 If rc = G_NO_ERROR Then
462 Dim ReturnData(read - 1) As Byte 'create an array of the correct size
463 For i As Integer = 0 To read - 1
464 ReturnData(i) = ByteArray_(i) 'copy over the data
465 Next
466 Return ReturnData
467 Else
468 Return Nothing
469 End If
470 End Function
471
472 ''' <summary>
473 ''' Used for retrieving data records from the controller.
474 ''' </summary>
475 ''' <returns>A struct containing the information of the retrieved data record.</returns>
476 ''' <param name="async">False to user QR, True to use DR.</param>
477 ''' <remarks>Wrapper around gclib GRecord(),
478 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclib_8h.html#a1f39cd57dcfa55d065c972a020b1f8ee
479 ''' To use async, -s ALL or -s DR must be specified in the address argument of GOpen(),
480 ''' and the records must be started via DR or RecordRate().
481 ''' </remarks>
482 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
483 Public Function GRecord(Of T As GDataRecord)(async As Boolean) As T
484 Dim method As UShort = 0 'QR mode
485 If async Then
486 method = 1 'DR mode
487 End If
489 Dim rc As GReturn = DllGRecord(ConnectionHandle_, ByteArray_, method)
490 If rc <> G_NO_ERROR Then
491 Throw New System.Exception(GError(rc))
492 End If
493 Return ByteArrayToDataRecord(Of T)(ByteArray_)
494 End Function
496 ''' <summary>
497 ''' Sets the asynchronous data record to a user-specified period via DR.
498 ''' </summary>
499 ''' <param name="period_ms">Period, in milliseconds, to set up for the asynchronous data record.</param>
500 ''' <remarks>Wrapper around gclib GRecordRate(),
501 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclibo_8h.html#ada86dc9d33ac961412583881963a1b8a
502 ''' Takes TM and product type into account and sets the DR period to the period requested by the user, if possible.</remarks>
503 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
504 Public Sub GRecordRate(period_ms As Double)
505 Dim rc As GReturn = DllGRecordRate(ConnectionHandle_, period_ms)
506 If Not rc = G_NO_ERROR Then
507 Throw New System.Exception(GError(rc))
508 End If
509 End Sub
511 ''' <summary>
512 ''' Set the timeout of communication transactions. Use -1 to set the original timeout from GOpen().
513 ''' </summary>
514 ''' <param name="timeout_ms ">New timeout in miliseconds.</param>
515 ''' <remarks>Wrapper around gclib GTimeout(),
516 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclibo_8h.html#a179aa2d1b8e2227944cc06a7ceaf5640
517 ''' </remarks>
518 Public Sub GTimeout(timeout_ms As Int16)
519 DllGTimeout(ConnectionHandle_, timeout_ms)
520 End Sub
522 ''' <summary>Used to get the gclib version.</summary>
523 ''' <returns>The library version, e.g. "104.73.179". A null string indicates an error was returned from the library.</returns>
524 ''' <remarks>Wrapper around gclib GVersion(),
525 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclibo_8h.html#a1784b39416b77af20efc98a05f8ce475
526 ''' </remarks>
527 Public Function GVersion() As String
528 Dim rc As GReturn = DllGVersion(Buffer_, BufferSize_)
529 If rc = G_NO_ERROR Then
530 Return Buffer_.ToString()
531 Else
532 Return ""
533 End If
534 End Function
536 ''' <summary>
537 ''' Performs a write on the connection.
538 ''' </summary>
539 ''' <param name="buffer">The user's write buffer. To send a Galil command, a terminating carriage return is usually required. </param>
540 ''' <remarks>Wrapper around gclib GWrite(),
541 ''' http://www.galil.com/sw/pub/all/doc/gclib/html/gclib_8h.html#abe28ebaecd5b3940adf4e145d40e5456
542 ''' </remarks>
543 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
544 Public Sub GWrite(ByRef buffer As String)
545 Dim rc As GReturn = DllGWrite(ConnectionHandle_, buffer, buffer.Length())
546 If Not rc = G_NO_ERROR Then
547 Throw New System.Exception(GError(rc))
548 End If
549 End Sub
551 ''' <summary>
552 ''' Allows downloading of a Galil compressed backup (gcb) file to the controller.
553 ''' </summary>
554 ''' <param name="Path">The full filepath of the gcb file.</param>
555 ''' <param name="Options">A bit mask indicating which sectors of the gcb file to restore to the controller.</param>
556 ''' <returns>The controller information stored in the gcb file.</returns>
557 ''' <remarks>Wrapper around gclib GSetupDownloadFile(),
558 '''
559 ''' If options is specified as 0, the return string will have a number appended corresponding to a bit mask of the available gcb sectors
560 ''' </remarks>
561 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR is received from gclib.</exception>
562 Public Function GSetupDownloadFile(Path As String, Options As Int32) As String()
563 'Dim _info As New System.Text.StringBuilder(BufferSize_)
564 Dim rc As GReturn = DllGSetupDownloadFile(ConnectionHandle_, Path, Options, Buffer_, BufferSize_)
565 Dim ret_buf As String = Buffer_.ToString()
566 ret_buf = Replace(ret_buf, vbCrLf, ", ")
568 If Not Options = 0 Then
569 If rc <> G_NO_ERROR Then
570 Throw New System.Exception(GError(rc))
571 End If
572 Else
573 ret_buf += """options""" + "," + rc.ToString() + vbLf
574 End If
576 Return ret_buf.Split({vbLf}, System.StringSplitOptions.RemoveEmptyEntries)
577 End Function
579 ''' <summary>
580 ''' Connects gclib to a New gcaps server
581 ''' </summary>
582 ''' <param name="server_name">Name of the server to connect.</param>
583 ''' <remarks>Wrapper around gclib GSetServer(),
584 ''' Call GSetServer("Local") to connect gclib back to local gcaps server
585 ''' </remarks>
586 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR Is received from gclib.</exception>
587 Public Sub GSetServer(server_name As String)
588 Dim rc As GReturn = DllGSetServer(server_name)
590 If Not rc = G_NO_ERROR Then
591 Throw New System.Exception(GError(rc))
592 End If
593 End Sub
595 ''' <summary>
596 ''' Retrieves the name of your local gcaps server And whether Or Not it Is currently published
597 ''' </summary>
598 ''' <returns>A string in the form "<server_name>, <isPublished>"</returns>
599 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR Is received from gclib.</exception>
600 Public Function GServerStatus() As String
601 Dim rc As GReturn = DllGServerStatus(Buffer_, BufferSize_)
603 If Not rc = G_NO_ERROR Then
604 Throw New System.Exception(GError(rc))
605 End If
607 Return Buffer_.ToString()
608 End Function
610 ''' <summary>
611 ''' Retrieves a list of gcaps servers that are advertising themselves on the local network
612 ''' </summary>
613 ''' <returns>A list of available gcaps server names</returns>
614 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR Is received from gclib.</exception>
615 Public Function GListServers() As String()
616 Dim rc As GReturn = DllGListServers(Buffer_, BufferSize_)
618 If Not rc = G_NO_ERROR Then
619 Throw New System.Exception(GError(rc))
620 End If
622 Dim delimiters As Char() = New Char() {vbLf, vbNewLine}
623 Return Buffer_.ToString().Split(delimiters, System.StringSplitOptions.RemoveEmptyEntries)
624 End Function
626 ''' <summary>
627 ''' Publishes Or removes local gcaps server from the network
628 ''' </summary>
629 ''' <param name="server_name">Name to publish server under.</param>
630 ''' <param name="publish">True=publish server, False=remove server.</param>
631 ''' <param name="save">Save this configuration for future server reboots.</param>
632 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR Is received from gclib.</exception>
633 Public Sub GPublishServer(server_name As String, publish As Boolean, save As Boolean)
634 Dim rc As GReturn = DllGPublishServer(server_name, Convert.ToInt16(publish), Convert.ToInt16(save))
636 If Not rc = G_NO_ERROR Then
637 Throw New System.Exception(GError(rc))
638 End If
639 End Sub
641 ''' <summary>
642 ''' Returns a list of IP Addresses that currently have an open connection to your hardware.
643 ''' </summary>
644 ''' <returns>Returns a list of IP Addresses that currently have an open connection to your hardware.</returns>
645 ''' <exception cref="System.Exception">Will throw an exception if anything other than G_NO_ERROR Is received from gclib.</exception>
646 Public Function GRemoteConnections() As String()
647 Dim rc As GReturn = DllGRemoteConnections(Buffer_, BufferSize_)
649 If Not rc = G_NO_ERROR Then
650 Throw New System.Exception(GError(rc))
651 End If
653 Dim delimiters As Char() = New Char() {vbLf, vbNewLine}
654 Return Buffer_.ToString().Split(delimiters, System.StringSplitOptions.RemoveEmptyEntries)
655 End Function
657#End Region
659#Region "DLL Imports"
661 'Import declarations for gclib functions. Functions are private to this class and are prefixed with "Dll" to distinguish from VB functions.
663#Region "Error Codes"
664 ''' <summary>Functions are checked for G_NO_ERROR.</summary>
665 ''' <remarks>Some functions throw exceptions if G_NO_ERROR is not returned.</remarks>
666 Private Const G_NO_ERROR As Integer = 0
667#End Region
669 <DllImport(GcliboDllPath_, EntryPoint:="GAddresses", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
670 Private Shared Function DllGAddresses(addresses As GCStringOut, addresses_len As GSize) As GReturn
671 End Function
673 <DllImport(GclibDllPath_, EntryPoint:="GArrayDownload", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
674 Private Shared Function DllGArrayDownload(g As GCon, array_name As GCStringIn, first As GOption,
675 last As GOption, buffer As GCStringIn) As GReturn
676 End Function
678 <DllImport(GcliboDllPath_, EntryPoint:="GArrayDownloadFile", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
679 Private Shared Function DllGArrayDownloadFile(g As GCon, path As GCStringIn) As GReturn
680 End Function
682 <DllImport(GclibDllPath_, EntryPoint:="GArrayUpload", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
683 Private Shared Function DllGArrayUpload(g As GCon, array_name As GCStringIn, first As GOption,
684 last As GOption, delim As GOption, buffer As GCStringOut, bufferLength As GSize) As GReturn
685 End Function
687 <DllImport(GcliboDllPath_, EntryPoint:="GArrayUploadFile", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
688 Private Shared Function DllGArrayUploadFile(g As GCon, path As GCStringIn, names As GCStringIn) As GReturn
689 End Function
691 <DllImport(GcliboDllPath_, EntryPoint:="GAssign", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
692 Private Shared Function DllGAssign(ip As GCStringIn, mac As GCStringIn) As GReturn
693 End Function
695 <DllImport(GclibDllPath_, EntryPoint:="GClose", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
696 Private Shared Function DllGClose(g As GCon) As GReturn
697 End Function
699 <DllImport(GclibDllPath_, EntryPoint:="GCommand", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
700 Private Shared Function DllGCommand(g As GCon, command As GCStringIn, buffer As GCStringOut,
701 bufferLength As GSize, ByRef bytesReturned As GSize) As GReturn
702 End Function
704 <DllImport(GcliboDllPath_, EntryPoint:="GError", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
705 Private Shared Sub DllGError(error_code As GReturn, errorbuf As GCStringOut, error_len As GSize)
706 End Sub
708 <DllImport(GclibDllPath_, EntryPoint:="GFirmwareDownload", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
709 Private Shared Function DllGFirmwareDownload(g As GCon, path As GCStringIn) As GReturn
710 End Function
712 <DllImport(GcliboDllPath_, EntryPoint:="GInfo", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
713 Private Shared Function DllGInfo(g As GCon, info As GCStringOut, infoLength As GSize) As GReturn
714 End Function
716 <DllImport(GclibDllPath_, EntryPoint:="GInterrupt", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
717 Private Shared Function DllGInterrupt(g As GCon, ByRef status_byte As GStatus) As GReturn
718 End Function
720 <DllImport(GcliboDllPath_, EntryPoint:="GIpRequests", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
721 Private Shared Function DllGIpRequests(requests As GCStringOut, requests_len As GSize) As GReturn
722 End Function
724 <DllImport(GclibDllPath_, EntryPoint:="GMessage", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
725 Private Shared Function DllGMessage(g As GCon, buffer As GCStringOut, bufferLength As GSize) As GReturn
726 End Function
728 <DllImport(GcliboDllPath_, EntryPoint:="GMotionComplete", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
729 Private Shared Function DllGMotionComplete(g As GCon, axes As GCStringIn) As GReturn
730 End Function
732 <DllImport(GclibDllPath_, EntryPoint:="GOpen", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
733 Private Shared Function DllGOpen(address As GCStringIn, ByRef g As GCon) As GReturn
734 End Function
736 <DllImport(GclibDllPath_, EntryPoint:="GProgramDownload", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
737 Private Shared Function DllGProgramDownload(g As GCon, program As GCStringIn, preprocessor As GCStringIn) As GReturn
738 End Function
740 <DllImport(GcliboDllPath_, EntryPoint:="GProgramDownloadFile", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
741 Private Shared Function DllGProgramDownloadFile(g As GCon, path As GCStringIn, preprocessor As GCStringIn) As GReturn
742 End Function
744 <DllImport(GclibDllPath_, EntryPoint:="GProgramUpload", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
745 Private Shared Function DllGProgramUpload(g As GCon, buffer As GCStringOut, bufferLength As GSize) As GReturn
746 End Function
748 <DllImport(GcliboDllPath_, EntryPoint:="GProgramUploadFile", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
749 Private Shared Function DllGProgramUploadFile(g As GCon, path As GCStringIn) As GReturn
750 End Function
752 <DllImport(GclibDllPath_, EntryPoint:="GRead", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
753 Private Shared Function DllGRead(g As GCon, buffer As Byte(), buffer_len As GSize, ByRef bytes_read As GSize) As GReturn
754 End Function
756 <DllImport(GclibDllPath_, EntryPoint:="GRecord", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
757 Private Shared Function DllGRecord(g As GCon, record As Byte(), method As GOption) As GReturn
758 End Function
760 <DllImport(GcliboDllPath_, EntryPoint:="GRecordRate", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
761 Private Shared Function DllGRecordRate(g As GCon, period_ms As Double) As GReturn
762 End Function
764 <DllImport(GcliboDllPath_, EntryPoint:="GTimeout", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
765 Private Shared Sub DllGTimeout(g As GCon, timeoutMs As Short)
766 End Sub
768 <DllImport(GcliboDllPath_, EntryPoint:="GVersion", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
769 Private Shared Function DllGVersion(ver As GCStringOut, ver_len As GSize) As GReturn
770 End Function
772 <DllImport(GclibDllPath_, EntryPoint:="GWrite", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
773 Private Shared Function DllGWrite(g As GCon, buffer As GCStringIn, buffer_len As GSize) As GReturn
774 End Function
776 <DllImport(GcliboDllPath_, EntryPoint:="GSetupDownloadFile", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
777 Private Shared Function DllGSetupDownloadFile(g As GCon, path As GCStringIn, options As GOption, info As GCStringOut, info_len As GSize) As GReturn
778 End Function
780 <DllImport(GcliboDllPath_, EntryPoint:="GSetServer", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
781 Private Shared Function DllGSetServer(server_name As GCStringIn) As GReturn
782 End Function
784 <DllImport(GcliboDllPath_, EntryPoint:="GServerStatus", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
785 Private Shared Function DllGServerStatus(status As GCStringOut, status_len As GSize) As GReturn
786 End Function
788 <DllImport(GcliboDllPath_, EntryPoint:="GListServers", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
789 Private Shared Function DllGListServers(servers As GCStringOut, servers_len As GSize) As GReturn
790 End Function
792 <DllImport(GcliboDllPath_, EntryPoint:="GPublishServer", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
793 Private Shared Function DllGPublishServer(server_name As GCStringIn, publish As GOption, save As GOption) As GReturn
794 End Function
796 <DllImport(GcliboDllPath_, EntryPoint:="GRemoteConnections", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.StdCall)>
797 Private Shared Function DllGRemoteConnections(connections As GCStringOut, connections_len As GSize) As GReturn
798 End Function
800#End Region
801
802#Region "Data Record"
804 Private Function ByteArrayToDataRecord(Of T As GDataRecord)(array As Byte()) As T
805 Dim handle As GCHandle = GCHandle.Alloc(array, GCHandleType.Pinned)
806 Try
807 Return Marshal.PtrToStructure(Of T)(handle.AddrOfPinnedObject())
808 Finally
809 handle.Free()
810 End Try
811 End Function
813 Public Interface GDataRecord
814 Function byte_array() As Byte()
815 End Interface
817 Private Shared Function StructToByteArray(record As GDataRecord)
818 Dim size As Integer = Marshal.SizeOf(record)
819 Dim arr(size) As Byte
821 Dim ptr As IntPtr = Marshal.AllocHGlobal(size)
822 Marshal.StructureToPtr(record, ptr, True)
823 Marshal.Copy(ptr, arr, 0, size)
824 Marshal.FreeHGlobal(ptr)
825 Return arr
826 End Function
828 ' Data record struct for DMC-4000 controllers, including 4000, 4200, 4103, And 500x0.
829 <StructLayout(LayoutKind.Sequential, Pack:=1)>
830 Public Structure GDataRecord4000
831 Implements GDataRecord
833 Public header_0 As UB '/*00*/ 1st Byte of Header.
834 Public header_1 As UB '/*01*/ 2nd Byte of Header.
835 Public header_2 As UB '/*02*/ 3rd Byte of Header.
836 Public header_3 As UB '/*03*/ 4th Byte of Header.
838 Public sample_number As UW '/*04-05*/ sample number.
840 Public input_bank_0 As UB '/*06*/ general input bank 0 (inputs 1-8).
841 Public input_bank_1 As UB '/*07*/ general input bank 1 (inputs 9-16).
842 Public input_bank_2 As UB '/*08*/ general input bank 2 (inputs 17-24).
843 Public input_bank_3 As UB '/*09*/ general input bank 3 (inputs 25-32).
844 Public input_bank_4 As UB '/*10*/ general input bank 4 (inputs 33-40).
845 Public input_bank_5 As UB '/*11*/ general input bank 5 (inputs 41-48).
846 Public input_bank_6 As UB '/*12*/ general input bank 6 (inputs 49-56).
847 Public input_bank_7 As UB '/*13*/ general input bank 7 (inputs 57-64).
848 Public input_bank_8 As UB '/*14*/ general input bank 8 (inputs 65-72).
849 Public input_bank_9 As UB '/*15*/ general input bank 9 (inputs 73-80).
851 Public output_bank_0 As UB '/*16*/ general output bank 0 (outputs 1-8).
852 Public output_bank_1 As UB '/*17*/ general output bank 1 (outputs 9-16).
853 Public output_bank_2 As UB '/*18*/ general output bank 2 (outputs 17-24).
854 Public output_bank_3 As UB '/*19*/ general output bank 3 (outputs 25-32).
855 Public output_bank_4 As UB '/*20*/ general output bank 4 (outputs 33-40).
856 Public output_bank_5 As UB '/*21*/ general output bank 5 (outputs 41-48).
857 Public output_bank_6 As UB '/*22*/ general output bank 6 (outputs 49-56).
858 Public output_bank_7 As UB '/*23*/ general output bank 7 (outputs 57-64).
859 Public output_bank_8 As UB '/*24*/ general output bank 8 (outputs 65-72).
860 Public output_bank_9 As UB '/*25*/ general output bank 9 (outputs 73-80).
862 Public reserved_0 As SW '/*26-27*/ Reserved.
863 Public reserved_2 As SW '/*28-29*/ Reserved.
864 Public reserved_4 As SW '/*30-31*/ Reserved.
865 Public reserved_6 As SW '/*32-33*/ Reserved.
866 Public reserved_8 As SW '/*34-35*/ Reserved.
867 Public reserved_10 As SW '/*36-37*/ Reserved.
868 Public reserved_12 As SW '/*38-39*/ Reserved.
869 Public reserved_14 As SW '/*40-41*/ Reserved.
871 Public ethernet_status_a As UB '/*42*/ Ethernet Handle A Status.
872 Public ethernet_status_b As UB '/*43*/ Ethernet Handle B Status.
873 Public ethernet_status_c As UB '/*44*/ Ethernet Handle C Status.
874 Public ethernet_status_d As UB '/*45*/ Ethernet Handle D Status.
875 Public ethernet_status_e As UB '/*46*/ Ethernet Handle E Status.
876 Public ethernet_status_f As UB '/*47*/ Ethernet Handle F Status.
877 Public ethernet_status_g As UB '/*48*/ Ethernet Handle G Status.
878 Public ethernet_status_h As UB '/*49*/ Ethernet Handle H Status.
880 Public error_code As UB '/*50*/ error code.
881 Public thread_status As UB '/*51*/ thread status
882 Public amplifier_status As UL '/*52-55*/ Amplifier Status.
884 Public contour_segment_count As UL '/*56-59*/ Segment Count for Contour Mode.
885 Public contour_buffer_available As UW '/*60-61*/ Buffer space remaining, Contour Mode.
887 Public s_plane_segment_count As UW '/*62-63*/ segment count of coordinated move for S plane.
888 Public s_plane_move_status As UW '/*64-65*/ coordinated move status for S plane.
889 Public s_distance As SL '/*66-69*/ distance traveled in coordinated move for S plane.
890 Public s_plane_buffer_available As UW '/*70-71*/ Buffer space remaining, S Plane.
892 Public t_plane_segment_count As UW '/*72-73*/ segment count of coordinated move for T plane.
893 Public t_plane_move_status As UW '/*74-75*/ Coordinated move status for T plane.
894 Public t_distance As SL '/*76-79*/ distance traveled in coordinated move for T plane.
895 Public t_plane_buffer_available As UW '/*80-81*/ Buffer space remaining, T Plane.
897 Public axis_a_status As UW '/*82-83*/ A axis status.
898 Public axis_a_switches As UB '/*84*/ A axis switches.
899 Public axis_a_stop_code As UB '/*85*/ A axis stop code.
900 Public axis_a_reference_position As SL '/*86-89*/ A axis reference position.
901 Public axis_a_motor_position As SL '/*90-93*/ A axis motor position.
902 Public axis_a_position_error As SL '/*94-97*/ A axis position error.
903 Public axis_a_aux_position As SL '/*98-101*/ A axis auxiliary position.
904 Public axis_a_velocity As SL '/*102-105*/ A axis velocity.
905 Public axis_a_torque As SL '/*106-109*/ A axis torque.
906 Public axis_a_analog_in As UW '/*110-111*/ A axis analog input.
907 Public axis_a_halls As UB '/*112*/ A Hall Input Status.
908 Public axis_a_reserved As UB '/*113*/ Reserved.
909 Public axis_a_variable As SL '/*114-117*/ A User-defined variable (ZA).
911 Public axis_b_status As UW '/*118-119*/ B axis status.
912 Public axis_b_switches As UB '/*120*/ B axis switches.
913 Public axis_b_stop_code As UB '/*121*/ B axis stop code.
914 Public axis_b_reference_position As SL '/*122-125*/ B axis reference position.
915 Public axis_b_motor_position As SL '/*126-129*/ B axis motor position.
916 Public axis_b_position_error As SL '/*130-133*/ B axis position error.
917 Public axis_b_aux_position As SL '/*134-137*/ B axis auxiliary position.
918 Public axis_b_velocity As SL '/*138-141*/ B axis velocity.
919 Public axis_b_torque As SL '/*142-145*/ B axis torque.
920 Public axis_b_analog_in As UW '/*146-147*/ B axis analog input.
921 Public axis_b_halls As UB '/*148*/ B Hall Input Status.
922 Public axis_b_reserved As UB '/*149*/ Reserved.
923 Public axis_b_variable As SL '/*150-153*/ B User-defined variable (ZA).
925 Public axis_c_status As UW '/*154-155*/ C axis status.
926 Public axis_c_switches As UB '/*156*/ C axis switches.
927 Public axis_c_stop_code As UB '/*157*/ C axis stop code.
928 Public axis_c_reference_position As SL '/*158-161*/ C axis reference position.
929 Public axis_c_motor_position As SL '/*162-165*/ C axis motor position.
930 Public axis_c_position_error As SL '/*166-169*/ C axis position error.
931 Public axis_c_aux_position As SL '/*170-173*/ C axis auxiliary position.
932 Public axis_c_velocity As SL '/*174-177*/ C axis velocity.
933 Public axis_c_torque As SL '/*178-181*/ C axis torque.
934 Public axis_c_analog_in As UW '/*182-183*/ C axis analog input.
935 Public axis_c_halls As UB '/*184*/ C Hall Input Status.
936 Public axis_c_reserved As UB '/*185*/ Reserved.
937 Public axis_c_variable As SL '/*186-189*/ C User-defined variable (ZA).
939 Public axis_d_status As UW '/*190-191*/ D axis status.
940 Public axis_d_switches As UB '/*192*/ D axis switches.
941 Public axis_d_stop_code As UB '/*193*/ D axis stop code.
942 Public axis_d_reference_position As SL '/*194-197*/ D axis reference position.
943 Public axis_d_motor_position As SL '/*198-201*/ D axis motor position.
944 Public axis_d_position_error As SL '/*202-205*/ D axis position error.
945 Public axis_d_aux_position As SL '/*206-209*/ D axis auxiliary position.
946 Public axis_d_velocity As SL '/*210-213*/ D axis velocity.
947 Public axis_d_torque As SL '/*214-217*/ D axis torque.
948 Public axis_d_analog_in As UW '/*218-219*/ D axis analog input.
949 Public axis_d_halls As UB '/*220*/ D Hall Input Status.
950 Public axis_d_reserved As UB '/*221*/ Reserved.
951 Public axis_d_variable As SL '/*222-225*/ D User-defined variable (ZA).
953 Public axis_e_status As UW '/*226-227*/ E axis status.
954 Public axis_e_switches As UB '/*228*/ E axis switches.
955 Public axis_e_stop_code As UB '/*229*/ E axis stop code.
956 Public axis_e_reference_position As SL '/*230-233*/ E axis reference position.
957 Public axis_e_motor_position As SL '/*234-237*/ E axis motor position.
958 Public axis_e_position_error As SL '/*238-241*/ E axis position error.
959 Public axis_e_aux_position As SL '/*242-245*/ E axis auxiliary position.
960 Public axis_e_velocity As SL '/*246-249*/ E axis velocity.
961 Public axis_e_torque As SL '/*250-253*/ E axis torque.
962 Public axis_e_analog_in As UW '/*254-255*/ E axis analog input.
963 Public axis_e_halls As UB '/*256*/ E Hall Input Status.
964 Public axis_e_reserved As UB '/*257*/ Reserved.
965 Public axis_e_variable As SL '/*258-261*/ E User-defined variable (ZA).
967 Public axis_f_status As UW '/*262-263*/ F axis status.
968 Public axis_f_switches As UB '/*264*/ F axis switches.
969 Public axis_f_stop_code As UB '/*265*/ F axis stop code.
970 Public axis_f_reference_position As SL '/*266-269*/ F axis reference position.
971 Public axis_f_motor_position As SL '/*270-273*/ F axis motor position.
972 Public axis_f_position_error As SL '/*274-277*/ F axis position error.
973 Public axis_f_aux_position As SL '/*278-281*/ F axis auxiliary position.
974 Public axis_f_velocity As SL '/*282-285*/ F axis velocity.
975 Public axis_f_torque As SL '/*286-289*/ F axis torque.
976 Public axis_f_analog_in As UW '/*290-291*/ F axis analog input.
977 Public axis_f_halls As UB '/*292*/ F Hall Input Status.
978 Public axis_f_reserved As UB '/*293*/ Reserved.
979 Public axis_f_variable As SL '/*294-297*/ F User-defined variable (ZA).
981 Public axis_g_status As UW '/*298-299*/ G axis status.
982 Public axis_g_switches As UB '/*300*/ G axis switches.
983 Public axis_g_stop_code As UB '/*301*/ G axis stop code.
984 Public axis_g_reference_position As SL '/*302-305*/ G axis reference position.
985 Public axis_g_motor_position As SL '/*306-309*/ G axis motor position.
986 Public axis_g_position_error As SL '/*310-313*/ G axis position error.
987 Public axis_g_aux_position As SL '/*314-317*/ G axis auxiliary position.
988 Public axis_g_velocity As SL '/*318-321*/ G axis velocity.
989 Public axis_g_torque As SL '/*322-325*/ G axis torque.
990 Public axis_g_analog_in As UW '/*326-327*/ G axis analog input.
991 Public axis_g_halls As UB '/*328*/ G Hall Input Status.
992 Public axis_g_reserved As UB '/*329*/ Reserved.
993 Public axis_g_variable As SL '/*330-333*/ G User-defined variable (ZA).
995 Public axis_h_status As UW '/*334-335*/ H axis status.
996 Public axis_h_switches As UB '/*336*/ H axis switches.
997 Public axis_h_stop_code As UB '/*337*/ H axis stop code.
998 Public axis_h_reference_position As SL '/*338-341*/ H axis reference position.
999 Public axis_h_motor_position As SL '/*342-345*/ H axis motor position.
1000 Public axis_h_position_error As SL '/*346-349*/ H axis position error.
1001 Public axis_h_aux_position As SL '/*350-353*/ H axis auxiliary position.
1002 Public axis_h_velocity As SL '/*354-357*/ H axis velocity.
1003 Public axis_h_torque As SL '/*358-361*/ H axis torque.
1004 Public axis_h_analog_in As UW '/*362-363*/ H axis analog input.
1005 Public axis_h_halls As UB '/*364*/ H Hall Input Status.
1006 Public axis_h_reserved As UB '/*365*/ Reserved.
1007 Public axis_h_variable As SL '/*366-369*/ H User-defined variable (ZA).
1009 Public Function byte_array() As Byte() Implements GDataRecord.byte_array
1010 Return StructToByteArray(Me)
1011 End Function
1012 End Structure
1014 ' Data record struct for DMC-52000 controller. Same as DMC-4000, with bank indicator added at byte 40.
1015 <StructLayout(LayoutKind.Sequential, Pack:=1)>
1016 Public Structure GDataRecord52000
1017 Implements GDataRecord
1019 Public header_0 As UB '/*00*/ 1st Byte of Header.
1020 Public header_1 As UB '/*01*/ 2nd Byte of Header.
1021 Public header_2 As UB '/*02*/ 3rd Byte of Header.
1022 Public header_3 As UB '/*03*/ 4th Byte of Header.
1024 Public sample_number As UW '/*04-05*/ sample number.
1026 Public input_bank_0 As UB '/*06*/ general input bank 0 (inputs 1-8).
1027 Public input_bank_1 As UB '/*07*/ general input bank 1 (inputs 9-16).
1028 Public input_bank_2 As UB '/*08*/ general input bank 2 (inputs 17-24).
1029 Public input_bank_3 As UB '/*09*/ general input bank 3 (inputs 25-32).
1030 Public input_bank_4 As UB '/*10*/ general input bank 4 (inputs 33-40).
1031 Public input_bank_5 As UB '/*11*/ general input bank 5 (inputs 41-48).
1032 Public input_bank_6 As UB '/*12*/ general input bank 6 (inputs 49-56).
1033 Public input_bank_7 As UB '/*13*/ general input bank 7 (inputs 57-64).
1034 Public input_bank_8 As UB '/*14*/ general input bank 8 (inputs 65-72).
1035 Public input_bank_9 As UB '/*15*/ general input bank 9 (inputs 73-80).
1037 Public output_bank_0 As UB '/*16*/ general output bank 0 (outputs 1-8).
1038 Public output_bank_1 As UB '/*17*/ general output bank 1 (outputs 9-16).
1039 Public output_bank_2 As UB '/*18*/ general output bank 2 (outputs 17-24).
1040 Public output_bank_3 As UB '/*19*/ general output bank 3 (outputs 25-32).
1041 Public output_bank_4 As UB '/*20*/ general output bank 4 (outputs 33-40).
1042 Public output_bank_5 As UB '/*21*/ general output bank 5 (outputs 41-48).
1043 Public output_bank_6 As UB '/*22*/ general output bank 6 (outputs 49-56).
1044 Public output_bank_7 As UB '/*23*/ general output bank 7 (outputs 57-64).
1045 Public output_bank_8 As UB '/*24*/ general output bank 8 (outputs 65-72).
1046 Public output_bank_9 As UB '/*25*/ general output bank 9 (outputs 73-80).
1048 Public reserved_0 As SW '/*26-27*/ Reserved.
1049 Public reserved_2 As SW '/*28-29*/ Reserved.
1050 Public reserved_4 As SW '/*30-31*/ Reserved.
1051 Public reserved_6 As SW '/*32-33*/ Reserved.
1052 Public reserved_8 As SW '/*34-35*/ Reserved.
1053 Public reserved_10 As SW '/*36-37*/ Reserved.
1054 Public reserved_12 As SW '/*38-39*/ Reserved.
1055 Public ethercat_bank As UB '/*40*/ EtherCAT Bank Indicator.
1056 Public reserved_14 As UB '/*41*/ Reserved.
1058 Public ethernet_status_a As UB '/*42*/ Ethernet Handle A Status.
1059 Public ethernet_status_b As UB '/*43*/ Ethernet Handle B Status.
1060 Public ethernet_status_c As UB '/*44*/ Ethernet Handle C Status.
1061 Public ethernet_status_d As UB '/*45*/ Ethernet Handle D Status.
1062 Public ethernet_status_e As UB '/*46*/ Ethernet Handle E Status.
1063 Public ethernet_status_f As UB '/*47*/ Ethernet Handle F Status.
1064 Public ethernet_status_g As UB '/*48*/ Ethernet Handle G Status.
1065 Public ethernet_status_h As UB '/*49*/ Ethernet Handle H Status.
1067 Public error_code As UB '/*50*/ error code.
1068 Public thread_status As UB '/*51*/ thread status
1069 Public amplifier_status As UL '/*52-55*/ Amplifier Status.
1071 Public contour_segment_count As UL '/*56-59*/ Segment Count for Contour Mode.
1072 Public contour_buffer_available As UW '/*60-61*/ Buffer space remaining, Contour Mode.
1074 Public s_plane_segment_count As UW '/*62-63*/ segment count of coordinated move for S plane.
1075 Public s_plane_move_status As UW '/*64-65*/ coordinated move status for S plane.
1076 Public s_distance As SL '/*66-69*/ distance traveled in coordinated move for S plane.
1077 Public s_plane_buffer_available As UW '/*70-71*/ Buffer space remaining, S Plane.
1078
1079 Public t_plane_segment_count As UW '/*72-73*/ segment count of coordinated move for T plane.
1080 Public t_plane_move_status As UW '/*74-75*/ Coordinated move status for T plane.
1081 Public t_distance As SL '/*76-79*/ distance traveled in coordinated move for T plane.
1082 Public t_plane_buffer_available As UW '/*80-81*/ Buffer space remaining, T Plane.
1084 Public axis_a_status As UW '/*82-83*/ A axis status.
1085 Public axis_a_switches As UB '/*84*/ A axis switches.
1086 Public axis_a_stop_code As UB '/*85*/ A axis stop code.
1087 Public axis_a_reference_position As SL '/*86-89*/ A axis reference position.
1088 Public axis_a_motor_position As SL '/*90-93*/ A axis motor position.
1089 Public axis_a_position_error As SL '/*94-97*/ A axis position error.
1090 Public axis_a_aux_position As SL '/*98-101*/ A axis auxiliary position.
1091 Public axis_a_velocity As SL '/*102-105*/ A axis velocity.
1092 Public axis_a_torque As SL '/*106-109*/ A axis torque.
1093 Public axis_a_analog_in As UW '/*110-111*/ A axis analog input.
1094 Public axis_a_halls As UB '/*112*/ A Hall Input Status.
1095 Public axis_a_reserved As UB '/*113*/ Reserved.
1096 Public axis_a_variable As SL '/*114-117*/ A User-defined variable (ZA).
1098 Public axis_b_status As UW '/*118-119*/ B axis status.
1099 Public axis_b_switches As UB '/*120*/ B axis switches.
1100 Public axis_b_stop_code As UB '/*121*/ B axis stop code.
1101 Public axis_b_reference_position As SL '/*122-125*/ B axis reference position.
1102 Public axis_b_motor_position As SL '/*126-129*/ B axis motor position.
1103 Public axis_b_position_error As SL '/*130-133*/ B axis position error.
1104 Public axis_b_aux_position As SL '/*134-137*/ B axis auxiliary position.
1105 Public axis_b_velocity As SL '/*138-141*/ B axis velocity.
1106 Public axis_b_torque As SL '/*142-145*/ B axis torque.
1107 Public axis_b_analog_in As UW '/*146-147*/ B axis analog input.
1108 Public axis_b_halls As UB '/*148*/ B Hall Input Status.
1109 Public axis_b_reserved As UB '/*149*/ Reserved.
1110 Public axis_b_variable As SL '/*150-153*/ B User-defined variable (ZA).
1112 Public axis_c_status As UW '/*154-155*/ C axis status.
1113 Public axis_c_switches As UB '/*156*/ C axis switches.
1114 Public axis_c_stop_code As UB '/*157*/ C axis stop code.
1115 Public axis_c_reference_position As SL '/*158-161*/ C axis reference position.
1116 Public axis_c_motor_position As SL '/*162-165*/ C axis motor position.
1117 Public axis_c_position_error As SL '/*166-169*/ C axis position error.
1118 Public axis_c_aux_position As SL '/*170-173*/ C axis auxiliary position.
1119 Public axis_c_velocity As SL '/*174-177*/ C axis velocity.
1120 Public axis_c_torque As SL '/*178-181*/ C axis torque.
1121 Public axis_c_analog_in As UW '/*182-183*/ C axis analog input.
1122 Public axis_c_halls As UB '/*184*/ C Hall Input Status.
1123 Public axis_c_reserved As UB '/*185*/ Reserved.
1124 Public axis_c_variable As SL '/*186-189*/ C User-defined variable (ZA).
1126 Public axis_d_status As UW '/*190-191*/ D axis status.
1127 Public axis_d_switches As UB '/*192*/ D axis switches.
1128 Public axis_d_stop_code As UB '/*193*/ D axis stop code.
1129 Public axis_d_reference_position As SL '/*194-197*/ D axis reference position.
1130 Public axis_d_motor_position As SL '/*198-201*/ D axis motor position.
1131 Public axis_d_position_error As SL '/*202-205*/ D axis position error.
1132 Public axis_d_aux_position As SL '/*206-209*/ D axis auxiliary position.
1133 Public axis_d_velocity As SL '/*210-213*/ D axis velocity.
1134 Public axis_d_torque As SL '/*214-217*/ D axis torque.
1135 Public axis_d_analog_in As UW '/*218-219*/ D axis analog input.
1136 Public axis_d_halls As UB '/*220*/ D Hall Input Status.
1137 Public axis_d_reserved As UB '/*221*/ Reserved.
1138 Public axis_d_variable As SL '/*222-225*/ D User-defined variable (ZA).
1140 Public axis_e_status As UW '/*226-227*/ E axis status.
1141 Public axis_e_switches As UB '/*228*/ E axis switches.
1142 Public axis_e_stop_code As UB '/*229*/ E axis stop code.
1143 Public axis_e_reference_position As SL '/*230-233*/ E axis reference position.
1144 Public axis_e_motor_position As SL '/*234-237*/ E axis motor position.
1145 Public axis_e_position_error As SL '/*238-241*/ E axis position error.
1146 Public axis_e_aux_position As SL '/*242-245*/ E axis auxiliary position.
1147 Public axis_e_velocity As SL '/*246-249*/ E axis velocity.
1148 Public axis_e_torque As SL '/*250-253*/ E axis torque.
1149 Public axis_e_analog_in As UW '/*254-255*/ E axis analog input.
1150 Public axis_e_halls As UB '/*256*/ E Hall Input Status.
1151 Public axis_e_reserved As UB '/*257*/ Reserved.
1152 Public axis_e_variable As SL '/*258-261*/ E User-defined variable (ZA).
1153
1154 Public axis_f_status As UW '/*262-263*/ F axis status.
1155 Public axis_f_switches As UB '/*264*/ F axis switches.
1156 Public axis_f_stop_code As UB '/*265*/ F axis stop code.
1157 Public axis_f_reference_position As SL '/*266-269*/ F axis reference position.
1158 Public axis_f_motor_position As SL '/*270-273*/ F axis motor position.
1159 Public axis_f_position_error As SL '/*274-277*/ F axis position error.
1160 Public axis_f_aux_position As SL '/*278-281*/ F axis auxiliary position.
1161 Public axis_f_velocity As SL '/*282-285*/ F axis velocity.
1162 Public axis_f_torque As SL '/*286-289*/ F axis torque.
1163 Public axis_f_analog_in As UW '/*290-291*/ F axis analog input.
1164 Public axis_f_halls As UB '/*292*/ F Hall Input Status.
1165 Public axis_f_reserved As UB '/*293*/ Reserved.
1166 Public axis_f_variable As SL '/*294-297*/ F User-defined variable (ZA).
1168 Public axis_g_status As UW '/*298-299*/ G axis status.
1169 Public axis_g_switches As UB '/*300*/ G axis switches.
1170 Public axis_g_stop_code As UB '/*301*/ G axis stop code.
1171 Public axis_g_reference_position As SL '/*302-305*/ G axis reference position.
1172 Public axis_g_motor_position As SL '/*306-309*/ G axis motor position.
1173 Public axis_g_position_error As SL '/*310-313*/ G axis position error.
1174 Public axis_g_aux_position As SL '/*314-317*/ G axis auxiliary position.
1175 Public axis_g_velocity As SL '/*318-321*/ G axis velocity.
1176 Public axis_g_torque As SL '/*322-325*/ G axis torque.
1177 Public axis_g_analog_in As UW '/*326-327*/ G axis analog input.
1178 Public axis_g_halls As UB '/*328*/ G Hall Input Status.
1179 Public axis_g_reserved As UB '/*329*/ Reserved.
1180 Public axis_g_variable As SL '/*330-333*/ G User-defined variable (ZA).
1182 Public axis_h_status As UW '/*334-335*/ H axis status.
1183 Public axis_h_switches As UB '/*336*/ H axis switches.
1184 Public axis_h_stop_code As UB '/*337*/ H axis stop code.
1185 Public axis_h_reference_position As SL '/*338-341*/ H axis reference position.
1186 Public axis_h_motor_position As SL '/*342-345*/ H axis motor position.
1187 Public axis_h_position_error As SL '/*346-349*/ H axis position error.
1188 Public axis_h_aux_position As SL '/*350-353*/ H axis auxiliary position.
1189 Public axis_h_velocity As SL '/*354-357*/ H axis velocity.
1190 Public axis_h_torque As SL '/*358-361*/ H axis torque.
1191 Public axis_h_analog_in As UW '/*362-363*/ H axis analog input.
1192 Public axis_h_halls As UB '/*364*/ H Hall Input Status.
1193 Public axis_h_reserved As UB '/*365*/ Reserved.
1194 Public axis_h_variable As SL '/*366-369*/ H User-defined variable (ZA).
1195
1196 Public Function byte_array() As Byte() Implements GDataRecord.byte_array
1197 Return StructToByteArray(Me)
1198 End Function
1199 End Structure
1202 'Data record struct for DMC-1806 controller.
1204 'The 18x6 Data record Is the same as 4000 except the following.
1205 '-# No header bytes. Firmware strips it in DR. Software removes it from QR.
1206 '-# No Ethernet status (bytes 42-49).
1207 '-# No amplfifier status (bytes 52-55).
1208 '-# No axis-specific hall input status.
1209 <StructLayout(LayoutKind.Sequential, Pack:=1)>
1210 Public Structure GDataRecord1806
1211 Implements GDataRecord
1213 Public sample_number As UW '/*00-01*/ sample number.
1215 Public input_bank_0 As UB '/*02*/ general input bank 0 (inputs 1-8).
1216 Public input_bank_1 As UB '/*03*/ general input bank 1 (inputs 9-16).
1217 Public input_bank_2 As UB '/*04*/ general input bank 2 (inputs 17-24).
1218 Public input_bank_3 As UB '/*05*/ general input bank 3 (inputs 25-32).
1219 Public input_bank_4 As UB '/*06*/ general input bank 4 (inputs 33-40).
1220 Public input_bank_5 As UB '/*07*/ general input bank 5 (inputs 41-48).
1221 Public input_bank_6 As UB '/*08*/ general input bank 6 (inputs 49-56).
1222 Public input_bank_7 As UB '/*09*/ general input bank 7 (inputs 57-64).
1223 Public input_bank_8 As UB '/*10*/ general input bank 8 (inputs 65-72).
1224 Public input_bank_9 As UB '/*11*/ general input bank 9 (inputs 73-80).
1226 Public output_bank_0 As UB '/*12*/ general output bank 0 (outputs 1-8).
1227 Public output_bank_1 As UB '/*13*/ general output bank 1 (outputs 9-16).
1228 Public output_bank_2 As UB '/*14*/ general output bank 2 (outputs 17-24).
1229 Public output_bank_3 As UB '/*15*/ general output bank 3 (outputs 25-32).
1230 Public output_bank_4 As UB '/*16*/ general output bank 4 (outputs 33-40).
1231 Public output_bank_5 As UB '/*17*/ general output bank 5 (outputs 41-48).
1232 Public output_bank_6 As UB '/*18*/ general output bank 6 (outputs 49-56).
1233 Public output_bank_7 As UB '/*19*/ general output bank 7 (outputs 57-64).
1234 Public output_bank_8 As UB '/*20*/ general output bank 8 (outputs 65-72).
1235 Public output_bank_9 As UB '/*21*/ general output bank 9 (outputs 73-80).
1237 Public reserved_0 As SW '/*22-23*/ Reserved.
1238 Public reserved_2 As SW '/*24-25*/ Reserved.
1239 Public reserved_4 As SW '/*26-27*/ Reserved.
1240 Public reserved_6 As SW '/*28-29*/ Reserved.
1241 Public reserved_8 As SW '/*30-31*/ Reserved.
1242 Public reserved_10 As SW '/*32-33*/ Reserved.
1243 Public reserved_12 As SW '/*34-35*/ Reserved.
1244 Public reserved_14 As SW '/*36-37*/ Reserved.
1246 Public reserved_16 As UB '/*38*/ Reserved.
1247 Public reserved_17 As UB '/*39*/ Reserved.
1248 Public reserved_18 As UB '/*40*/ Reserved.
1249 Public reserved_19 As UB '/*41*/ Reserved.
1250 Public reserved_20 As UB '/*42*/ Reserved.
1251 Public reserved_21 As UB '/*43*/ Reserved.
1252 Public reserved_22 As UB '/*44*/ Reserved.
1253 Public reserved_23 As UB '/*45*/ Reserved.
1255 Public error_code As UB '/*46*/ error code.
1256 Public thread_status As UB '/*47*/ thread status.
1257 Public reserved_24 As UL '/*48-51*/ Reserved.
1259 Public contour_segment_count As UL '/*52-55*/ Segment Count for Contour Mode.
1260 Public contour_buffer_available As UW '/*56-57*/ Buffer space remaining, Contour Mode.
1262 Public s_plane_segment_count As UW '/*58-59*/ segment count of coordinated move for S plane.
1263 Public s_plane_move_status As UW '/*60-61*/ coordinated move status for S plane.
1264 Public s_distance As SL '/*62-65*/ distance traveled in coordinated move for S plane.
1265 Public s_plane_buffer_available As UW '/*66-67*/ Buffer space remaining, S Plane.
1267 Public t_plane_segment_count As UW '/*68-69*/ segment count of coordinated move for T plane.
1268 Public t_plane_move_status As UW '/*70-71*/ Coordinated move status for T plane.
1269 Public t_distance As SL '/*72-75*/ distance traveled in coordinated move for T plane.
1270 Public t_plane_buffer_available As UW '/*76-77*/ Buffer space remaining, T Plane.
1271
1272 Public axis_a_status As UW '/*78-79*/ A axis status.
1273 Public axis_a_switches As UB '/*80*/ A axis switches.
1274 Public axis_a_stop_code As UB '/*81*/ A axis stop code.
1275 Public axis_a_reference_position As SL '/*82-85*/ A axis reference position.
1276 Public axis_a_motor_position As SL '/*86-89*/ A axis motor position.
1277 Public axis_a_position_error As SL '/*90-93*/ A axis position error.
1278 Public axis_a_aux_position As SL '/*94-97*/ A axis auxiliary position.
1279 Public axis_a_velocity As SL '/*98-101*/ A axis velocity.
1280 Public axis_a_torque As SL '/*102-105*/ A axis torque.
1281 Public axis_a_analog_in As UW '/*106-107*/ A axis analog input.
1282 Public axis_a_reserved_0 As UB '/*108*/ Reserved.
1283 Public axis_a_reserved_1 As UB '/*109*/ Reserved.
1284 Public axis_a_variable As SL '/*110-113*/ A User-defined variable (ZA).
1286 Public axis_b_status As UW '/*114-115*/ B axis status.
1287 Public axis_b_switches As UB '/*116*/ B axis switches.
1288 Public axis_b_stop_code As UB '/*117*/ B axis stop code.
1289 Public axis_b_reference_position As SL '/*118-121*/ B axis reference position.
1290 Public axis_b_motor_position As SL '/*122-125*/ B axis motor position.
1291 Public axis_b_position_error As SL '/*126-129*/ B axis position error.
1292 Public axis_b_aux_position As SL '/*130-133*/ B axis auxiliary position.
1293 Public axis_b_velocity As SL '/*134-137*/ B axis velocity.
1294 Public axis_b_torque As SL '/*138-141*/ B axis torque.
1295 Public axis_b_analog_in As UW '/*142-143*/ B axis analog input.
1296 Public axis_b_reserved_0 As UB '/*144*/ Reserved.
1297 Public axis_b_reserved_1 As UB '/*145*/ Reserved.
1298 Public axis_b_variable As SL '/*146-149*/ B User-defined variable (ZA).
1300 Public axis_c_status As UW '/*150-151*/ C axis status.
1301 Public axis_c_switches As UB '/*152*/ C axis switches.
1302 Public axis_c_stop_code As UB '/*153*/ C axis stop code.
1303 Public axis_c_reference_position As SL '/*154-157*/ C axis reference position.
1304 Public axis_c_motor_position As SL '/*158-161*/ C axis motor position.
1305 Public axis_c_position_error As SL '/*162-165*/ C axis position error.
1306 Public axis_c_aux_position As SL '/*166-169*/ C axis auxiliary position.
1307 Public axis_c_velocity As SL '/*170-173*/ C axis velocity.
1308 Public axis_c_torque As SL '/*174-177*/ C axis torque.
1309 Public axis_c_analog_in As UW '/*178-179*/ C axis analog input.
1310 Public axis_c_reserved_0 As UB '/*180*/ Reserved.
1311 Public axis_c_reserved_1 As UB '/*181*/ Reserved.
1312 Public axis_c_variable As SL '/*182-185*/ C User-defined variable (ZA).
1314 Public axis_d_status As UW '/*186-187*/ D axis status.
1315 Public axis_d_switches As UB '/*188*/ D axis switches.
1316 Public axis_d_stop_code As UB '/*189*/ D axis stop code.
1317 Public axis_d_reference_position As SL '/*190-193*/ D axis reference position.
1318 Public axis_d_motor_position As SL '/*194-197*/ D axis motor position.
1319 Public axis_d_position_error As SL '/*198-201*/ D axis position error.
1320 Public axis_d_aux_position As SL '/*202-205*/ D axis auxiliary position.
1321 Public axis_d_velocity As SL '/*206-209*/ D axis velocity.
1322 Public axis_d_torque As SL '/*210-213*/ D axis torque.
1323 Public axis_d_analog_in As UW '/*214-215*/ D axis analog input.
1324 Public axis_d_reserved_0 As UB '/*216*/ Reserved.
1325 Public axis_d_reserved_1 As UB '/*217*/ Reserved.
1326 Public axis_d_variable As SL '/*218-221*/ D User-defined variable (ZA).
1328 Public axis_e_status As UW '/*222-223*/ E axis status.
1329 Public axis_e_switches As UB '/*224*/ E axis switches.
1330 Public axis_e_stop_code As UB '/*225*/ E axis stop code.
1331 Public axis_e_reference_position As SL '/*226-229*/ E axis reference position.
1332 Public axis_e_motor_position As SL '/*230-233*/ E axis motor position.
1333 Public axis_e_position_error As SL '/*234-237*/ E axis position error.
1334 Public axis_e_aux_position As SL '/*238-241*/ E axis auxiliary position.
1335 Public axis_e_velocity As SL '/*242-245*/ E axis velocity.
1336 Public axis_e_torque As SL '/*256-249*/ E axis torque.
1337 Public axis_e_analog_in As UW '/*250-251*/ E axis analog input.
1338 Public axis_e_reserved_0 As UB '/*252*/ Reserved.
1339 Public axis_e_reserved_1 As UB '/*253*/ Reserved.
1340 Public axis_e_variable As SL '/*254-257*/ E User-defined variable (ZA).
1342 Public axis_f_status As UW '/*258-259*/ F axis status.
1343 Public axis_f_switches As UB '/*260*/ F axis switches.
1344 Public axis_f_stop_code As UB '/*261*/ F axis stop code.
1345 Public axis_f_reference_position As SL '/*262-265*/ F axis reference position.
1346 Public axis_f_motor_position As SL '/*266-269*/ F axis motor position.
1347 Public axis_f_position_error As SL '/*270-273*/ F axis position error.
1348 Public axis_f_aux_position As SL '/*274-277*/ F axis auxiliary position.
1349 Public axis_f_velocity As SL '/*278-281*/ F axis velocity.
1350 Public axis_f_torque As SL '/*282-285*/ F axis torque.
1351 Public axis_f_analog_in As UW '/*286-287*/ F axis analog input.
1352 Public axis_f_reserved_0 As UB '/*288*/ Reserved.
1353 Public axis_f_reserved_1 As UB '/*289*/ Reserved.
1354 Public axis_f_variable As SL '/*290-293*/ F User-defined variable (ZA).
1355
1356 Public axis_g_status As UW '/*294-295*/ G axis status.
1357 Public axis_g_switches As UB '/*296*/ G axis switches.
1358 Public axis_g_stop_code As UB '/*297*/ G axis stop code.
1359 Public axis_g_reference_position As SL '/*298-301*/ G axis reference position.
1360 Public axis_g_motor_position As SL '/*302-305*/ G axis motor position.
1361 Public axis_g_position_error As SL '/*306-309*/ G axis position error.
1362 Public axis_g_aux_position As SL '/*310-313*/ G axis auxiliary position.
1363 Public axis_g_velocity As SL '/*314-317*/ G axis velocity.
1364 Public axis_g_torque As SL '/*318-321*/ G axis torque.
1365 Public axis_g_analog_in As UW '/*322-323*/ G axis analog input.
1366 Public axis_g_reserved_0 As UB '/*324*/ Reserved.
1367 Public axis_g_reserved_1 As UB '/*325*/ Reserved.
1368 Public axis_g_variable As SL '/*326-329*/ G User-defined variable (ZA).
1369
1370 Public axis_h_status As UW '/*330-331*/ H axis status.
1371 Public axis_h_switches As UB '/*332*/ H axis switches.
1372 Public axis_h_stop_code As UB '/*333*/ H axis stop code.
1373 Public axis_h_reference_position As SL '/*334-337*/ H axis reference position.
1374 Public axis_h_motor_position As SL '/*338-341*/ H axis motor position.
1375 Public axis_h_position_error As SL '/*342-345*/ H axis position error.
1376 Public axis_h_aux_position As SL '/*346-349*/ H axis auxiliary position.
1377 Public axis_h_velocity As SL '/*350-353*/ H axis velocity.
1378 Public axis_h_torque As SL '/*354-357*/ H axis torque.
1379 Public axis_h_analog_in As UW '/*358-359*/ H axis analog input.
1380 Public axis_h_reserved_0 As UB '/*360*/ Reserved.
1381 Public axis_h_reserved_1 As UB '/*361*/ Reserved.
1382 Public axis_h_variable As SL '/*362-365*/ H User-defined variable (ZA).
1383
1384 Public Function byte_array() As Byte() Implements GDataRecord.byte_array
1385 Return StructToByteArray(Me)
1386 End Function
1387 End Structure
1388
1389 ' Data record struct for DMC-2103 controllers.
1390 <StructLayout(LayoutKind.Sequential, Pack:=1)>
1391 Public Structure GDataRecord2103
1392 Implements GDataRecord
1393
1394 Public header_0 As UB '/*00*/ 1st Byte of Header.
1395 Public header_1 As UB '/*01*/ 2nd Byte of Header.
1396 Public header_2 As UB '/*02*/ 3rd Byte of Header.
1397 Public header_3 As UB '/*03*/ 4th Byte of Header.
1398
1399 Public sample_number As UW '/*04-05*/ sample number.
1400
1401 Public input_bank_0 As UB '/*06*/ general input bank 0 (inputs 1-8).
1402 Public input_bank_1 As UB '/*07*/ general input bank 1 (inputs 9-16).
1403 Public input_bank_2 As UB '/*08*/ general input bank 2 (inputs 17-24).
1404 Public input_bank_3 As UB '/*09*/ general input bank 3 (inputs 25-32).
1405 Public input_bank_4 As UB '/*10*/ general input bank 4 (inputs 33-40).
1406 Public input_bank_5 As UB '/*11*/ general input bank 5 (inputs 41-48).
1407 Public input_bank_6 As UB '/*12*/ general input bank 6 (inputs 49-56).
1408 Public input_bank_7 As UB '/*13*/ general input bank 7 (inputs 57-64).
1409 Public input_bank_8 As UB '/*14*/ general input bank 8 (inputs 65-72).
1410 Public input_bank_9 As UB '/*15*/ general input bank 9 (inputs 73-80).
1411
1412 Public output_bank_0 As UB '/*16*/ general output bank 0 (outputs 1-8).
1413 Public output_bank_1 As UB '/*17*/ general output bank 1 (outputs 9-16).
1414 Public output_bank_2 As UB '/*18*/ general output bank 2 (outputs 17-24).
1415 Public output_bank_3 As UB '/*19*/ general output bank 3 (outputs 25-32).
1416 Public output_bank_4 As UB '/*20*/ general output bank 4 (outputs 33-40).
1417 Public output_bank_5 As UB '/*21*/ general output bank 5 (outputs 41-48).
1418 Public output_bank_6 As UB '/*22*/ general output bank 6 (outputs 49-56).
1419 Public output_bank_7 As UB '/*23*/ general output bank 7 (outputs 57-64).
1420 Public output_bank_8 As UB '/*24*/ general output bank 8 (outputs 65-72).
1421 Public output_bank_9 As UB '/*25*/ general output bank 9 (outputs 73-80).
1422
1423 Public error_code As UB '/*26*/ error code.
1424 Public general_status As UB '/*27*/ general status
1425
1426 Public s_plane_segment_count As UW '/*28-29*/ segment count of coordinated move for S plane.
1427 Public s_plane_move_status As UW '/*30-31*/ coordinated move status for S plane.
1428 Public s_distance As SL '/*32-35*/ distance traveled in coordinated move for S plane.
1429
1430 Public t_plane_segment_count As UW '/*36-37*/ segment count of coordinated move for T plane.
1431 Public t_plane_move_status As UW '/*38-39*/ Coordinated move status for T plane.
1432 Public t_distance As SL '/*40-43*/ distance traveled in coordinated move for T plane.
1433
1434 Public axis_a_status As UW '/*44-45*/ A axis status.
1435 Public axis_a_switches As UB '/*46*/ A axis switches.
1436 Public axis_a_stop_code As UB '/*47*/ A axis stop code.
1437 Public axis_a_reference_position As SL '/*48-51*/ A axis reference position.
1438 Public axis_a_motor_position As SL '/*52-55*/ A axis motor position.
1439 Public axis_a_position_error As SL '/*56-59*/ A axis position error.
1440 Public axis_a_aux_position As SL '/*60-63*/ A axis auxiliary position.
1441 Public axis_a_velocity As SL '/*64-67*/ A axis velocity.
1442 Public axis_a_torque As SW '/*68-69*/ A axis torque.
1443 Public axis_a_analog_in As UW '/*70-71*/ A axis analog input.
1444
1445 Public axis_b_status As UW '/*72-73*/ B axis status.
1446 Public axis_b_switches As UB '/*74*/ B axis switches.
1447 Public axis_b_stop_code As UB '/*75*/ B axis stop code.
1448 Public axis_b_reference_position As SL '/*76-79*/ B axis reference position.
1449 Public axis_b_motor_position As SL '/*80-83*/ B axis motor position.
1450 Public axis_b_position_error As SL '/*84-87*/ B axis position error.
1451 Public axis_b_aux_position As SL '/*88-91*/ B axis auxiliary position.
1452 Public axis_b_velocity As SL '/*92-95*/ B axis velocity.
1453 Public axis_b_torque As SW '/*96-97*/ B axis torque.
1454 Public axis_b_analog_in As UW '/*98-99*/ B axis analog input.
1455
1456 Public axis_c_status As UW '/*100-101*/ C axis status.
1457 Public axis_c_switches As UB '/*102*/ C axis switches.
1458 Public axis_c_stop_code As UB '/*103*/ C axis stop code.
1459 Public axis_c_reference_position As SL '/*104-107*/ C axis reference position.
1460 Public axis_c_motor_position As SL '/*108-111*/ C axis motor position.
1461 Public axis_c_position_error As SL '/*112-115*/ C axis position error.
1462 Public axis_c_aux_position As SL '/*116-119*/ C axis auxiliary position.
1463 Public axis_c_velocity As SL '/*120-123*/ C axis velocity.
1464 Public axis_c_torque As SW '/*124-125*/ C axis torque.
1465 Public axis_c_analog_in As UW '/*126-127*/ C axis analog input.
1466
1467 Public axis_d_status As UW '/*128-129*/ D axis status.
1468 Public axis_d_switches As UB '/*130*/ D axis switches.
1469 Public axis_d_stop_code As UB '/*131*/ D axis stop code.
1470 Public axis_d_reference_position As SL '/*132-135*/ D axis reference position.
1471 Public axis_d_motor_position As SL '/*136-139*/ D axis motor position.
1472 Public axis_d_position_error As SL '/*140-143*/ D axis position error.
1473 Public axis_d_aux_position As SL '/*144-147*/ D axis auxiliary position.
1474 Public axis_d_velocity As SL '/*148-151*/ D axis velocity.
1475 Public axis_d_torque As SW '/*152-153*/ D axis torque.
1476 Public axis_d_analog_in As UW '/*154-155*/ D axis analog input.
1477
1478 Public axis_e_status As UW '/*156-157*/ E axis status.
1479 Public axis_e_switches As UB '/*158*/ E axis switches.
1480 Public axis_e_stop_code As UB '/*159*/ E axis stop code.
1481 Public axis_e_reference_position As SL '/*160-163*/ E axis reference position.
1482 Public axis_e_motor_position As SL '/*164-167*/ E axis motor position.
1483 Public axis_e_position_error As SL '/*168-171*/ E axis position error.
1484 Public axis_e_aux_position As SL '/*172-175*/ E axis auxiliary position.
1485 Public axis_e_velocity As SL '/*176-179*/ E axis velocity.
1486 Public axis_e_torque As SW '/*180-181*/ E axis torque.
1487 Public axis_e_analog_in As UW '/*182-183*/ E axis analog input.
1488
1489 Public axis_f_status As UW '/*184-185*/ F axis status.
1490 Public axis_f_switches As UB '/*186*/ F axis switches.
1491 Public axis_f_stop_code As UB '/*187*/ F axis stop code.
1492 Public axis_f_reference_position As SL '/*188-191*/ F axis reference position.
1493 Public axis_f_motor_position As SL '/*192-195*/ F axis motor position.
1494 Public axis_f_position_error As SL '/*196-199*/ F axis position error.
1495 Public axis_f_aux_position As SL '/*200-203*/ F axis auxiliary position.
1496 Public axis_f_velocity As SL '/*204-207*/ F axis velocity.
1497 Public axis_f_torque As SW '/*208-209*/ F axis torque.
1498 Public axis_f_analog_in As UW '/*210-211*/ F axis analog input.
1499
1500 Public axis_g_status As UW '/*212-213*/ G axis status.
1501 Public axis_g_switches As UB '/*214*/ G axis switches.
1502 Public axis_g_stop_code As UB '/*215*/ G axis stop code.
1503 Public axis_g_reference_position As SL '/*216-219*/ G axis reference position.
1504 Public axis_g_motor_position As SL '/*220-223*/ G axis motor position.
1505 Public axis_g_position_error As SL '/*224-227*/ G axis position error.
1506 Public axis_g_aux_position As SL '/*228-231*/ G axis auxiliary position.
1507 Public axis_g_velocity As SL '/*232-235*/ G axis velocity.
1508 Public axis_g_torque As SW '/*236-237*/ G axis torque.
1509 Public axis_g_analog_in As UW '/*238-239*/ G axis analog input.
1510
1511 Public axis_h_status As UW '/*240-241*/ H axis status.
1512 Public axis_h_switches As UB '/*242*/ H axis switches.
1513 Public axis_h_stop_code As UB '/*243*/ H axis stop code.
1514 Public axis_h_reference_position As SL '/*244-247*/ H axis reference position.
1515 Public axis_h_motor_position As SL '/*248-251*/ H axis motor position.
1516 Public axis_h_position_error As SL '/*252-255*/ H axis position error.
1517 Public axis_h_aux_position As SL '/*256-259*/ H axis auxiliary position.
1518 Public axis_h_velocity As SL '/*260-263*/ H axis velocity.
1519 Public axis_h_torque As SW '/*264-265*/ H axis torque.
1520 Public axis_h_analog_in As UW '/*266-267*/ H axis analog input.
1521
1522 Public Function byte_array() As Byte() Implements GDataRecord.byte_array
1523 Return StructToByteArray(Me)
1524 End Function
1525 End Structure
1526
1527 ' Data record struct for DMC-1802 controllers.
1528 '
1529 'The 18x2 Data record Is the Same as 2103 except the following.
1530 '-# No header bytes. Software removes it from QR.
1531 '-# No analog in axis data.
1532 <StructLayout(LayoutKind.Sequential, Pack:=1)>
1533 Public Structure GDataRecord1802
1534 Implements GDataRecord
1535
1536 Public sample_number As UW '/*00-01*/ sample number.
1537
1538 Public input_bank_0 As UB '/*02*/ general input bank 0 (inputs 1-8).
1539 Public input_bank_1 As UB '/*03*/ general input bank 1 (inputs 9-16).
1540 Public input_bank_2 As UB '/*04*/ general input bank 2 (inputs 17-24).
1541 Public input_bank_3 As UB '/*05*/ general input bank 3 (inputs 25-32).
1542 Public input_bank_4 As UB '/*06*/ general input bank 4 (inputs 33-40).
1543 Public input_bank_5 As UB '/*07*/ general input bank 5 (inputs 41-48).
1544 Public input_bank_6 As UB '/*08*/ general input bank 6 (inputs 49-56).
1545 Public input_bank_7 As UB '/*09*/ general input bank 7 (inputs 57-64).
1546 Public input_bank_8 As UB '/*10*/ general input bank 8 (inputs 65-72).
1547 Public input_bank_9 As UB '/*11*/ general input bank 9 (inputs 73-80).
1548
1549 Public output_bank_0 As UB '/*12*/ general output bank 0 (outputs 1-8).
1550 Public output_bank_1 As UB '/*13*/ general output bank 1 (outputs 9-16).
1551 Public output_bank_2 As UB '/*14*/ general output bank 2 (outputs 17-24).
1552 Public output_bank_3 As UB '/*15*/ general output bank 3 (outputs 25-32).
1553 Public output_bank_4 As UB '/*16*/ general output bank 4 (outputs 33-40).
1554 Public output_bank_5 As UB '/*17*/ general output bank 5 (outputs 41-48).
1555 Public output_bank_6 As UB '/*18*/ general output bank 6 (outputs 49-56).
1556 Public output_bank_7 As UB '/*19*/ general output bank 7 (outputs 57-64).
1557 Public output_bank_8 As UB '/*20*/ general output bank 8 (outputs 65-72).
1558 Public output_bank_9 As UB '/*21*/ general output bank 9 (outputs 73-80).
1559
1560 Public error_code As UB '/*22*/ error code.
1561 Public general_status As UB '/*23*/ general status
1562
1563 Public s_plane_segment_count As UW '/*24-25*/ segment count of coordinated move for S plane.
1564 Public s_plane_move_status As UW '/*26-27*/ coordinated move status for S plane.
1565 Public s_distance As SL '/*28-31*/ distance traveled in coordinated move for S plane.
1566
1567 Public t_plane_segment_count As UW '/*32-33*/ segment count of coordinated move for T plane.
1568 Public t_plane_move_status As UW '/*34-35*/ Coordinated move status for T plane.
1569 Public t_distance As SL '/*36-39*/ distance traveled in coordinated move for T plane.
1570
1571 Public axis_a_status As UW '/*40-41*/ A axis status.
1572 Public axis_a_switches As UB '/*42*/ A axis switches.
1573 Public axis_a_stop_code As UB '/*43*/ A axis stop code.
1574 Public axis_a_reference_position As SL '/*44-47*/ A axis reference position.
1575 Public axis_a_motor_position As SL '/*48-51*/ A axis motor position.
1576 Public axis_a_position_error As SL '/*52-55*/ A axis position error.
1577 Public axis_a_aux_position As SL '/*56-59*/ A axis auxiliary position.
1578 Public axis_a_velocity As SL '/*60-63*/ A axis velocity.
1579 Public axis_a_torque As SW '/*64-65*/ A axis torque.
1580 Public axis_a_reserved_0 As UB '/*66*/ Reserved.
1581 Public axis_a_reserved_1 As UB '/*67*/ Reserved.
1582
1583 Public axis_b_status As UW '/*68-69*/ B axis status.
1584 Public axis_b_switches As UB '/*70*/ B axis switches.
1585 Public axis_b_stop_code As UB '/*71*/ B axis stop code.
1586 Public axis_b_reference_position As SL '/*72-75*/ B axis reference position.
1587 Public axis_b_motor_position As SL '/*76-79*/ B axis motor position.
1588 Public axis_b_position_error As SL '/*80-83*/ B axis position error.
1589 Public axis_b_aux_position As SL '/*84-87*/ B axis auxiliary position.
1590 Public axis_b_velocity As SL '/*88-91*/ B axis velocity.
1591 Public axis_b_torque As SW '/*92-93*/ B axis torque.
1592 Public axis_b_reserved_0 As UB '/*94*/ Reserved.
1593 Public axis_b_reserved_1 As UB '/*95*/ Reserved.
1594
1595 Public axis_c_status As UW '/*96-97*/ C axis status.
1596 Public axis_c_switches As UB '/*98*/ C axis switches.
1597 Public axis_c_stop_code As UB '/*99*/ C axis stop code.
1598 Public axis_c_reference_position As SL '/*100-103*/ C axis reference position.
1599 Public axis_c_motor_position As SL '/*104-107*/ C axis motor position.
1600 Public axis_c_position_error As SL '/*108-111*/ C axis position error.
1601 Public axis_c_aux_position As SL '/*112-115*/ C axis auxiliary position.
1602 Public axis_c_velocity As SL '/*116-119*/ C axis velocity.
1603 Public axis_c_torque As SW '/*120-121*/ C axis torque.
1604 Public axis_c_reserved_0 As UB '/*122*/ Reserved.
1605 Public axis_c_reserved_1 As UB '/*123*/ Reserved.
1606
1607 Public axis_d_status As UW '/*124-125*/ D axis status.
1608 Public axis_d_switches As UB '/*126*/ D axis switches.
1609 Public axis_d_stop_code As UB '/*127*/ D axis stop code.
1610 Public axis_d_reference_position As SL '/*128-131*/ D axis reference position.
1611 Public axis_d_motor_position As SL '/*132-135*/ D axis motor position.
1612 Public axis_d_position_error As SL '/*136-139*/ D axis position error.
1613 Public axis_d_aux_position As SL '/*140-143*/ D axis auxiliary position.
1614 Public axis_d_velocity As SL '/*144-147*/ D axis velocity.
1615 Public axis_d_torque As SW '/*148-149*/ D axis torque.
1616 Public axis_d_reserved_0 As UB '/*150*/ Reserved.
1617 Public axis_d_reserved_1 As UB '/*151*/ Reserved.
1618
1619 Public Function byte_array() As Byte() Implements GDataRecord.byte_array
1620 Return StructToByteArray(Me)
1621 End Function
1622 End Structure
1623
1624 ' Data record struct for DMC-30010 controllers.
1625 <StructLayout(LayoutKind.Sequential, Pack:=1)>
1626 Public Structure GDataRecord30000
1627 Implements GDataRecord
1628
1629 Public header_0 As UB '/*00*/ 1st Byte of Header.
1630 Public header_1 As UB '/*01*/ 2nd Byte of Header.
1631 Public header_2 As UB '/*02*/ 3rd Byte of Header.
1632 Public header_3 As UB '/*03*/ 4th Byte of Header.
1633
1634 Public sample_number As UW '/*04-05*/ sample number.
1635
1636 Public input_bank_0 As UB '/*06*/ general input bank 0 (inputs 1-8).
1637 Public input_bank_1 As UB '/*07*/ general input bank 1 (inputs 9-16).
1638
1639 Public output_bank_0 As UB '/*08*/ general output bank 0 (outputs 1-8).
1640 Public output_bank_1 As UB '/*09*/ general output bank 1 (outputs 9-16).
1641
1642 Public error_code As UB '/*10*/ error code.
1643 Public thread_status As UB '/*11*/ thread status.
1644
1645 Public input_analog_2 As UW '/*12-13*/ Analog input 2. 1 is in axis data, see axis_a_analog_in.
1646
1647 Public output_analog_1 As UW '/*14-15*/ Analog output 1.
1648 Public output_analog_2 As UW '/*16-17*/ Analog output 2.
1649
1650 Public amplifier_status As UL '/*18-21*/ Amplifier Status.
1651
1652 Public contour_segment_count As UL '/*22-25*/ Segment Count for Contour Mode.
1653 Public contour_buffer_available As UW '/*26-27*/ Buffer space remaining, Contour Mode.
1654
1655 Public s_plane_segment_count As UW '/*28-29*/ segment count of coordinated move for S plane.
1656 Public s_plane_move_status As UW '/*30-31*/ coordinated move status for S plane.
1657 Public s_distance As SL '/*32-35*/ distance traveled in coordinated move for S plane.
1658 Public s_plane_buffer_available As UW '/*36-37*/ Buffer space remaining, S Plane.
1659
1660 Public axis_a_status As UW '/*38-39*/ A axis status.
1661 Public axis_a_switches As UB '/*40*/ A axis switches.
1662 Public axis_a_stop_code As UB '/*41*/ A axis stop code.
1663 Public axis_a_reference_position As SL '/*42-45*/ A axis reference position.
1664 Public axis_a_motor_position As SL '/*46-49*/ A axis motor position.
1665 Public axis_a_position_error As SL '/*50-53*/ A axis position error.
1666 Public axis_a_aux_position As SL '/*54-57*/ A axis auxiliary position.
1667 Public axis_a_velocity As SL '/*58-61*/ A axis velocity.
1668 Public axis_a_torque As SL '/*62-65*/ A axis torque.
1669 Public axis_a_analog_in As UW '/*66-67*/ A axis analog input.
1670 Public axis_a_halls As UB '/*68*/ A Hall Input Status.
1671 Public axis_a_reserved As UB '/*69*/ Reserved.
1672 Public axis_a_variable As SL '/*70-73*/ A User-defined variable (ZA).
1673
1674 Public Function byte_array() As Byte() Implements GDataRecord.byte_array
1675 Return StructToByteArray(Me)
1676 End Function
1677 End Structure
1678
1679 ' Data record struct for RIO-471xx and RIO-472xx PLCs. Includes encoder fields.
1680 <StructLayout(LayoutKind.Sequential, Pack:=1)>
1681 Public Structure GDataRecord47000_ENC
1682 Implements GDataRecord
1683
1684 Public header_0 As UB '/*00*/ 1st Byte of Header.
1685 Public header_1 As UB '/*01*/ 2nd Byte of Header.
1686 Public header_2 As UB '/*02*/ 3rd Byte of Header.
1687 Public header_3 As UB '/*03*/ 4th Byte of Header.
1688
1689 Public sample_number As UW '/*04-05*/ Sample number.
1690 Public error_code As UB '/*06*/ Error code.
1691 Public general_status As UB '/*07*/ General status.
1692
1693 Public output_analog_0 As UW '/*08-09*/ Analog output 0.
1694 Public output_analog_1 As UW '/*10-11*/ Analog output 1.
1695 Public output_analog_2 As UW '/*12-13*/ Analog output 2.
1696 Public output_analog_3 As UW '/*14-15*/ Analog output 3.
1697 Public output_analog_4 As UW '/*16-17*/ Analog output 4.
1698 Public output_analog_5 As UW '/*18-19*/ Analog output 5.
1699 Public output_analog_6 As UW '/*20-21*/ Analog output 6.
1700 Public output_analog_7 As UW '/*22-23*/ Analog output 7.
1701
1702 Public input_analog_0 As UW '/*24-25*/ Analog input 0.
1703 Public input_analog_1 As UW '/*26-27*/ Analog input 1.
1704 Public input_analog_2 As UW '/*28-29*/ Analog input 2.
1705 Public input_analog_3 As UW '/*30-31*/ Analog input 3.
1706 Public input_analog_4 As UW '/*32-33*/ Analog input 4.
1707 Public input_analog_5 As UW '/*34-35*/ Analog input 5.
1708 Public input_analog_6 As UW '/*36-37*/ Analog input 6.
1709 Public input_analog_7 As UW '/*38-39*/ Analog input 7.
1710
1711 Public output_bank_0 As UW '/*40-41*/ Digital outputs 0-15;
1712
1713 Public input_bank_0 As UW '/*42-43*/ Digital inputs 0-15;
1714
1715 Public pulse_count_0 As UL '/*44-47*/ Pulse counter (see PC).
1716 Public zc_variable As SL '/*48-51*/ ZC User-defined variable (see ZC).
1717 Public zd_variable As SL '/*52-55*/ ZD User-defined variable (see ZD).
1718
1719 Public encoder_0 As SL '/*56-59*/ Encoder channel 0. Data only valid for parts with -BISS, -QUAD, or -SSI.
1720 Public encoder_1 As SL '/*60-63*/ Encoder channel 1. Data only valid for parts with -BISS, -QUAD, or -SSI.
1721 Public encoder_2 As SL '/*64-67*/ Encoder channel 2. Data only valid for parts with -BISS, -QUAD, or -SSI.
1722 Public encoder_3 As SL '/*68-71*/ Encoder channel 3. Data only valid for parts with -BISS, -QUAD, or -SSI.
1723
1724 Public Function byte_array() As Byte() Implements GDataRecord.byte_array
1725 Return StructToByteArray(Me)
1726 End Function
1727 End Structure
1728
1729 ' Data record struct for RIO-47300. Includes encoder fields.
1730 <StructLayout(LayoutKind.Sequential, Pack:=1)>
1731 Public Structure GDataRecord47300_ENC
1732 Implements GDataRecord
1733
1734 Public header_0 As UB '/*00*/ 1st Byte of Header.
1735 Public header_1 As UB '/*01*/ 2nd Byte of Header.
1736 Public header_2 As UB '/*02*/ 3rd Byte of Header.
1737 Public header_3 As UB '/*03*/ 4th Byte of Header.
1738
1739 Public sample_number As UW '/*04-05*/ Sample number.
1740 Public error_code As UB '/*06*/ Error code.
1741 Public general_status As UB '/*07*/ General status.
1742
1743 Public output_analog_0 As UW '/*08-09*/ Analog output 0.
1744 Public output_analog_1 As UW '/*10-11*/ Analog output 1.
1745 Public output_analog_2 As UW '/*12-13*/ Analog output 2.
1746 Public output_analog_3 As UW '/*14-15*/ Analog output 3.
1747 Public output_analog_4 As UW '/*16-17*/ Analog output 4.
1748 Public output_analog_5 As UW '/*18-19*/ Analog output 5.
1749 Public output_analog_6 As UW '/*20-21*/ Analog output 6.
1750 Public output_analog_7 As UW '/*22-23*/ Analog output 7.
1751
1752 Public input_analog_0 As UW '/*24-25*/ Analog input 0.
1753 Public input_analog_1 As UW '/*26-27*/ Analog input 1.
1754 Public input_analog_2 As UW '/*28-29*/ Analog input 2.
1755 Public input_analog_3 As UW '/*30-31*/ Analog input 3.
1756 Public input_analog_4 As UW '/*32-33*/ Analog input 4.
1757 Public input_analog_5 As UW '/*34-35*/ Analog input 5.
1758 Public input_analog_6 As UW '/*36-37*/ Analog input 6.
1759 Public input_analog_7 As UW '/*38-39*/ Analog input 7.
1760
1761 Public output_bank_0 As UW '/*40-41*/ Digital outputs 0-15;
1762 Public output_bank_1 As UW '/*42-43*/ Digital outputs 16-23;
1763
1764 Public input_bank_0 As UW '/*44-45*/ Digital inputs 0-15;
1765 Public input_bank_1 As UW '/*46-47*/ Digital inputs 16-23;
1766
1767 Public pulse_count_0 As UL '/*48-51*/ Pulse counter (see PC).
1768 Public zc_variable As SL '/*52-55*/ ZC User-defined variable (see ZC).
1769 Public zd_variable As SL '/*56-59*/ ZD User-defined variable (see ZD).
1770
1771 Public encoder_0 As SL '/*60-63*/ Encoder channel 0. Data only valid for parts with -BISS, -QUAD, or -SSI.
1772 Public encoder_1 As SL '/*64-67*/ Encoder channel 1. Data only valid for parts with -BISS, -QUAD, or -SSI.
1773 Public encoder_2 As SL '/*68-71*/ Encoder channel 2. Data only valid for parts with -BISS, -QUAD, or -SSI.
1774 Public encoder_3 As SL '/*72-75*/ Encoder channel 3. Data only valid for parts with -BISS, -QUAD, or -SSI.
1775
1776 Public Function byte_array() As Byte() Implements GDataRecord.byte_array
1777 Return StructToByteArray(Me)
1778 End Function
1779 End Structure
1780
1781 ' Data record struct for RIO-47300 with 24EX I/O daughter board.
1782 <StructLayout(LayoutKind.Sequential, Pack:=1)>
1783 Public Structure GDataRecord47300_24EX
1784 Implements GDataRecord
1785
1786 Public header_0 As UB '/*00*/ 1st Byte of Header.
1787 Public header_1 As UB '/*01*/ 2nd Byte of Header.
1788 Public header_2 As UB '/*02*/ 3rd Byte of Header.
1789 Public header_3 As UB '/*03*/ 4th Byte of Header.
1790
1791 Public sample_number As UW '/*04-05*/ Sample number.
1792 Public error_code As UB '/*06*/ Error code.
1793 Public general_status As UB '/*07*/ General status.
1794
1795 Public output_analog_0 As UW '/*08-09*/ Analog output 0.
1796 Public output_analog_1 As UW '/*10-11*/ Analog output 1.
1797 Public output_analog_2 As UW '/*12-13*/ Analog output 2.
1798 Public output_analog_3 As UW '/*14-15*/ Analog output 3.
1799 Public output_analog_4 As UW '/*16-17*/ Analog output 4.
1800 Public output_analog_5 As UW '/*18-19*/ Analog output 5.
1801 Public output_analog_6 As UW '/*20-21*/ Analog output 6.
1802 Public output_analog_7 As UW '/*22-23*/ Analog output 7.
1803
1804 Public input_analog_0 As UW '/*24-25*/ Analog input 0.
1805 Public input_analog_1 As UW '/*26-27*/ Analog input 1.
1806 Public input_analog_2 As UW '/*28-29*/ Analog input 2.
1807 Public input_analog_3 As UW '/*30-31*/ Analog input 3.
1808 Public input_analog_4 As UW '/*32-33*/ Analog input 4.
1809 Public input_analog_5 As UW '/*34-35*/ Analog input 5.
1810 Public input_analog_6 As UW '/*36-37*/ Analog input 6.
1811 Public input_analog_7 As UW '/*38-39*/ Analog input 7.
1812
1813 Public output_bank_0 As UW '/*40-41*/ Digital outputs 0-15.
1814 Public output_bank_1 As UW '/*42-43*/ Digital outputs 16-23.
1815
1816 Public input_bank_0 As UW '/*44-45*/ Digital inputs 0-15.
1817 Public input_bank_1 As UW '/*46-47*/ Digital inputs 16-23.
1818
1819 Public pulse_count_0 As UL '/*48-51*/ Pulse counter (see PC)8.
1820 Public zc_variable As SL '/*52-55*/ ZC User-defined variable (see ZC).
1821 Public zd_variable As SL '/*56-59*/ ZD User-defined variable (see ZD).
1822
1823 Public output_bank_2 As UW '/*60-61*/ Digital outputs 24-39. Data only valid for parts with 24EXOUT.
1824 Public output_back_3 As UW '/*62-63*/ Digital outputs 40-47. Data only valid for parts with 24EXOUT.
1825
1826 Public input_bank_2 As UW '/*64-65*/ Digital inputs 24-39. Data only valid for parts with 24EXIN.
1827 Public input_bank_3 As UW '/*66-67*/ Digital inputs 40-47. Data only valid for parts with 24EXIN.
1828
1829 Public Function byte_array() As Byte() Implements GDataRecord.byte_array
1830 Return StructToByteArray(Me)
1831 End Function
1832 End Structure
1833
1834 'Data record struct for RIO-47162.
1835 <StructLayout(LayoutKind.Sequential, Pack:=1)>
1836 Public Structure GDataRecord47162
1837 Implements GDataRecord
1838
1839 Public header_0 As UB '/*00*/ 1st Byte of Header.
1840 Public header_1 As UB '/*01*/ 2nd Byte of Header.
1841 Public header_2 As UB '/*02*/ 3rd Byte of Header.
1842 Public header_3 As UB '/*03*/ 4th Byte of Header.
1843
1844 Public sample_number As UW '/*04-05*/ Sample number.
1845 Public error_code As UB '/*06*/ Error code.
1846 Public general_status As UB '/*07*/ General status.
1847
1848 Public output_analog_0 As UW '/*08-09*/ Analog output 0.
1849 Public output_analog_1 As UW '/*10-11*/ Analog output 1.
1850 Public output_analog_2 As UW '/*12-13*/ Analog output 2.
1851 Public output_analog_3 As UW '/*14-15*/ Analog output 3.
1852 Public output_analog_4 As UW '/*16-17*/ Analog output 4.
1853 Public output_analog_5 As UW '/*18-19*/ Analog output 5.
1854 Public output_analog_6 As UW '/*20-21*/ Analog output 6.
1855 Public output_analog_7 As UW '/*22-23*/ Analog output 7.
1856
1857 Public input_analog_0 As UW '/*24-25*/ Analog input 0.
1858 Public input_analog_1 As UW '/*26-27*/ Analog input 1.
1859 Public input_analog_2 As UW '/*28-29*/ Analog input 2.
1860 Public input_analog_3 As UW '/*30-31*/ Analog input 3.
1861 Public input_analog_4 As UW '/*32-33*/ Analog input 4.
1862 Public input_analog_5 As UW '/*34-35*/ Analog input 5.
1863 Public input_analog_6 As UW '/*36-37*/ Analog input 6.
1864 Public input_analog_7 As UW '/*38-39*/ Analog input 7.
1865
1866 Public output_byte_0 As UB '/*40*/ Digital outputs 0-7.
1867 Public output_byte_1 As UB '/*41*/ Digital outputs 8-15.
1868 Public output_byte_2 As UB '/*42*/ Digital outputs 16-23.
1869
1870 Public input_byte_0 As UB '/*43*/ Digital inputs 0-7.
1871 Public input_byte_1 As UB '/*44*/ Digital inputs 8-15.
1872 Public input_byte_2 As UB '/*45*/ Digital inputs 16-23.
1873 Public input_byte_3 As UB '/*46*/ Digital inputs 24-31.
1874 Public input_byte_4 As UB '/*47*/ Digital inputs 32-39.
1875
1876 Public pulse_count_0 As UL '/*48-51*/ Pulse counter (see PC).
1877 Public zc_variable As SL '/*52-55*/ ZC User-defined variable (see ZC).
1878 Public zd_variable As SL '/*56-59*/ ZD User-defined variable (see ZD).
1879
1880 Public encoder_0 As SL '/*60-63*/ Encoder channel 0. Data only valid for parts with -BISS, -QUAD, or -SSI.
1881 Public encoder_1 As SL '/*64-67*/ Encoder channel 1. Data only valid for parts with -BISS, -QUAD, or -SSI.
1882 Public encoder_2 As SL '/*68-71*/ Encoder channel 2. Data only valid for parts with -BISS, -QUAD, or -SSI.
1883 Public encoder_3 As SL '/*72-75*/ Encoder channel 3. Data only valid for parts with -BISS, -QUAD, or -SSI.
1884
1885 Public Function byte_array() As Byte() Implements GDataRecord.byte_array
1886 Return StructToByteArray(Me)
1887 End Function
1888 End Structure
1889#End Region
1890
1891End Class
Provides a class that binds to gclib's unmanaged dll. Wraps each call and provides a more user-friend...
Definition gclib.cs:68
GListServers()
Retrieves a list of gcaps servers that are advertising themselves on the local network.
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.
GRemoteConnections()
Returns a list of IP Addresses that currently have an open connection to your hardware.
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.
List< double > GArrayUpload(string array_name, Int16 first=-1, Int16 last=-1)
Uploads array data from the controller's array table.
void GProgramDownload(ref string program, string preprocessor="")
Allows downloading of a DMC program from a string buffer.
GIpRequests()
Provides a list of all Galil controllers requesting IP addresses via BOOT-P or DHCP.
void New()
Constructor of the gclib wrapper class.
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.
void GPublishServer(string server_name, bool publish, bool save)
Publishes Or removes local gcaps server from the network.
void GWrite(ref string buffer)
Performs a write on the connection.
byte GInterrupt()
Provides access to PCI and UDP interrupts from the controller.
string GMessage()
Provides access to unsolicited messages.
void GSetServer(string server_name)
Connects gclib to a New gcaps server.
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.
T GRecord(Of GDataRecord)(async T bool)
Used for retrieving data records from the controller.
void GTimeout(Int16 timeout_ms)
Set the timeout of communication transactions. Use -1 to set the original timeout from GOpen().
GRead()
Performs a read on the connection.
double GCmdD(string Command)
Used for command-And-response transactions.
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.
string[] GSetupDownloadFile(string Path, Int32 Options)
Allows downloading of a Galil compressed backup (gcb) file to the controller.
void GArrayUploadFile(string Path, string Names)
Allows uploading of a program array file from the controller to an array CSV file.
string GCommand(string Command, bool Trim=True)
Used for command-and-response transactions.
GAddresses()
Return a string array of available connection addresses.
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...
Definition gclib.vb:45
GCLIB_DLL_EXPORTED GReturn GCALL GMotionComplete(GCon g, GCStringIn axes)
Blocking call that returns once all axes specified have completed their motion.
Definition gclibo.c:300
GCLIB_DLL_EXPORTED GReturn GCALL GPublishServer(GCStringIn name, GOption publish, GOption save)
Uses GUtility(), G_UTIL_GCAPS_PUBLISH_SERVER to publish local gcaps server to the local network.
Definition gclibo.c:189
GCLIB_DLL_EXPORTED GReturn GCALL GArrayDownloadFile(GCon g, GCStringIn file_path)
Array download from file.
Definition arrays.c:380
GCLIB_DLL_EXPORTED GReturn GCALL GFirmwareDownload(GCon g, GCStringIn filepath)
Upgrade firmware.
GCLIB_DLL_EXPORTED GReturn GCALL GRecord(GCon g, union GDataRecord *record, GOption method)
Provides a fresh copy of the controller's data record. Data is cast into a union, GDataRecord.
GCLIB_DLL_EXPORTED GReturn GCALL GAssign(GCStringIn ip, GCStringIn mac)
Uses GUtility(), G_UTIL_GCAPS_ASSIGN or G_UTIL_ASSIGN to assign an IP address over the Ethernet to a ...
Definition gclibo.c:70
GCLIB_DLL_EXPORTED GReturn GCALL GArrayUploadFile(GCon g, GCStringIn file_path, GCStringIn names)
Array upload to file.
Definition arrays.c:408
GCLIB_DLL_EXPORTED GReturn GCALL GClose(GCon g)
Closes a connection to a Galil Controller.
GCLIB_DLL_EXPORTED GReturn GCALL GProgramDownloadFile(GCon g, GCStringIn file_path, GCStringIn preprocessor)
Program download from file.
Definition gclibo.c:387
int GOption
Option integer for various formatting, etc.
Definition gclib.h:96
GCLIB_DLL_EXPORTED GReturn GCALL GIpRequests(GCStringOut requests, GSize requests_len)
Uses GUtility(), G_UTIL_GCAPS_IPREQUEST or G_UTIL_IPREQUEST to provide a list of all Galil controller...
Definition gclibo.c:106
GCLIB_DLL_EXPORTED GReturn GCALL GTimeout(GCon g, short timeout_ms)
Uses GUtility() and G_UTIL_TIMEOUT_OVERRIDE to set the library timeout.
Definition gclibo.c:65
GCLIB_DLL_EXPORTED GReturn GCALL GListServers(GCStringOut servers, GSize servers_len)
Uses GUtility(), G_UTIL_GCAPS_LIST_SERVERS to provide a list of all available gcaps services on the l...
Definition gclibo.c:169
GCLIB_DLL_EXPORTED GReturn GCALL GSetupDownloadFile(GCon g, GCStringIn file_path, GOption options, GCStringOut info, GSize info_len)
Download a saved controller configuration from a file.
Definition arrays.c:476
GCLIB_DLL_EXPORTED GReturn GCALL GVersion(GCStringOut ver, GSize ver_len)
Uses GUtility(), G_UTIL_VERSION and G_UTIL_GCAPS_VERSION to provide the library and gcaps version num...
Definition gclibo.c:29
#define G_NO_ERROR
Return value if function succeeded.
GCLIB_DLL_EXPORTED GReturn GCALL GCommand(GCon g, GCStringIn command, GBufOut buffer, GSize buffer_len, GSize *bytes_returned)
Performs a command-and-response transaction on the connection.
GCLIB_DLL_EXPORTED GReturn GCALL GInterrupt(GCon g, GStatus *status_byte)
Provides access to PCI and UDP interrupts from the controller.
GCLIB_DLL_EXPORTED GReturn GCALL GRemoteConnections(GCStringOut connections, GSize connections_length)
Uses GUtility(), G_UTIL_GCAPS_REMOTE_CONNECTIONS to get a list of remote addresses connected to the l...
Definition gclibo.c:217
GCLIB_DLL_EXPORTED GReturn GCALL GWrite(GCon g, GBufIn buffer, GSize buffer_len)
Performs a write on the connection.
GCLIB_DLL_EXPORTED GReturn GCALL GArrayDownload(GCon g, const GCStringIn array_name, GOption first, GOption last, GCStringIn buffer)
Downloads array data to a pre-dimensioned array in the controller's array table.
GCLIB_DLL_EXPORTED GReturn GCALL GProgramUpload(GCon g, GBufOut buffer, GSize buffer_len)
Uploads a program from the controller's program buffer.
GCLIB_DLL_EXPORTED void GCALL GError(GReturn rc, GCStringOut error, GSize error_len)
Provides a human-readable description string for return codes.
Definition gclibo.c:459
GCLIB_DLL_EXPORTED GReturn GCALL GProgramUploadFile(GCon g, GCStringIn file_path)
Program upload to file.
Definition gclibo.c:430
GCLIB_DLL_EXPORTED GReturn GCALL GMessage(GCon g, GCStringOut buffer, GSize buffer_len)
Provides access to unsolicited messages from the controller.
GCLIB_DLL_EXPORTED GReturn GCALL GRecordRate(GCon g, double period_ms)
Sets the asynchronous data record to a user-specified period via DR.
Definition gclibo.c:342
GCLIB_DLL_EXPORTED GReturn GCALL GServerStatus(GCStringOut status, GSize status_len)
Uses GUtility(), G_UTIL_GCAPS_SERVER_STATUS to get information on the local server name and if it is ...
Definition gclibo.c:149
GCLIB_DLL_EXPORTED GReturn GCALL GProgramDownload(GCon g, GCStringIn program, GCStringIn preprocessor)
Downloads a program to the controller's program buffer.
GCLIB_DLL_EXPORTED GReturn GCALL GInfo(GCon g, GCStringOut info, GSize info_len)
Uses GUtility() and G_UTIL_INFO to provide a useful connection string.
Definition gclibo.c:49
GCLIB_DLL_EXPORTED GReturn GCALL GSetServer(GCStringIn server_name)
Uses GUtility(), G_UTIL_GCAPS_SET_SERVER to set the new active server.
Definition gclibo.c:128
GCLIB_DLL_EXPORTED GReturn GCALL GRead(GCon g, GBufOut buffer, GSize buffer_len, GSize *bytes_read)
Performs a read on the connection.
GCLIB_DLL_EXPORTED GReturn GCALL GAddresses(GCStringOut addresses, GSize addresses_len)
Uses GUtility(), G_UTIL_GCAPS_ADDRESSES or G_UTIL_ADDRESSES to provide a listing of all available con...
Definition gclibo.c:54
GCLIB_DLL_EXPORTED GReturn GCALL GOpen(GCStringIn address, GCon *g)
Open a connection to a Galil Controller.
GCLIB_DLL_EXPORTED GReturn GCALL GArrayUpload(GCon g, const GCStringIn array_name, GOption first, GOption last, GOption delim, GBufOut buffer, GSize buffer_len)
Uploads array data from the controller's array table.
void error(GCon g, GReturn rc)
An example of error handling and debugging information.
Definition examples.h:40
GReturn vector(GCon g, char *file)
Puts controller into Vector Mode and accepts a file defining vector points.
Definition vector.cpp:36
UB input_bank_3
general input bank 3 (inputs 25-32).
UB input_bank_0
general input bank 0 (inputs 1-8).
UB output_bank_3
general output bank 3 (outputs 25-32).
UB input_bank_1
general input bank 1 (inputs 9-16).
UB input_bank_2
general input bank 2 (inputs 17-24).
UB output_bank_2
general output bank 2 (outputs 17-24).
UB output_bank_7
general output bank 7 (outputs 57-64).
UB input_bank_8
general input bank 8 (inputs 65-72).
UB input_bank_9
general input bank 9 (inputs 73-80).
UB output_bank_4
general output bank 4 (outputs 33-40).
UB input_bank_5
general input bank 5 (inputs 41-48).
UB output_bank_9
general output bank 9 (outputs 73-80).
UB input_bank_6
general input bank 6 (inputs 49-56).
UB output_bank_8
general output bank 8 (outputs 65-72).
UB output_bank_0
general output bank 0 (outputs 1-8).
UB error_code
error code.
UB input_bank_7
general input bank 7 (inputs 57-64).
UB input_bank_4
general input bank 4 (inputs 33-40).
UB output_bank_6
general output bank 6 (outputs 49-56).
UB output_bank_5
general output bank 5 (outputs 41-48).
UB output_bank_1
general output bank 1 (outputs 9-16).
UB input_bank_3
general input bank 3 (inputs 25-32).
UB input_bank_0
general input bank 0 (inputs 1-8).
UB output_bank_3
general output bank 3 (outputs 25-32).
UB input_bank_1
general input bank 1 (inputs 9-16).
UB input_bank_2
general input bank 2 (inputs 17-24).
UB output_bank_2
general output bank 2 (outputs 17-24).
SW reserved_0
Reserved.
UB output_bank_7
general output bank 7 (outputs 57-64).
UB input_bank_8
general input bank 8 (inputs 65-72).
UB input_bank_9
general input bank 9 (inputs 73-80).
UB output_bank_4
general output bank 4 (outputs 33-40).
UB input_bank_5
general input bank 5 (inputs 41-48).
UB output_bank_9
general output bank 9 (outputs 73-80).
UB input_bank_6
general input bank 6 (inputs 49-56).
UB output_bank_8
general output bank 8 (outputs 65-72).
UB output_bank_0
general output bank 0 (outputs 1-8).
UB input_bank_7
general input bank 7 (inputs 57-64).
UB input_bank_4
general input bank 4 (inputs 33-40).
UB output_bank_6
general output bank 6 (outputs 49-56).
UB output_bank_5
general output bank 5 (outputs 41-48).
UB output_bank_1
general output bank 1 (outputs 9-16).
UB input_bank_3
general input bank 3 (inputs 25-32).
UB input_bank_0
general input bank 0 (inputs 1-8).
UB output_bank_3
general output bank 3 (outputs 25-32).
UB input_bank_1
general input bank 1 (inputs 9-16).
UB input_bank_2
general input bank 2 (inputs 17-24).
UB output_bank_2
general output bank 2 (outputs 17-24).
UB output_bank_7
general output bank 7 (outputs 57-64).
UB input_bank_8
general input bank 8 (inputs 65-72).
UB input_bank_9
general input bank 9 (inputs 73-80).
UB output_bank_4
general output bank 4 (outputs 33-40).
UB input_bank_5
general input bank 5 (inputs 41-48).
UB output_bank_9
general output bank 9 (outputs 73-80).
UB input_bank_6
general input bank 6 (inputs 49-56).
UB output_bank_8
general output bank 8 (outputs 65-72).
UB output_bank_0
general output bank 0 (outputs 1-8).
UB error_code
error code.
UB input_bank_7
general input bank 7 (inputs 57-64).
UB input_bank_4
general input bank 4 (inputs 33-40).
UB output_bank_6
general output bank 6 (outputs 49-56).
UB output_bank_5
general output bank 5 (outputs 41-48).
UB output_bank_1
general output bank 1 (outputs 9-16).
UB input_bank_0
general input bank 0 (inputs 1-8).
UB input_bank_1
general input bank 1 (inputs 9-16).
UW axis_a_analog_in
A axis analog input.
UB output_bank_0
general output bank 0 (outputs 1-8).
UB error_code
error code.
UB output_bank_1
general output bank 1 (outputs 9-16).
UB input_bank_3
general input bank 3 (inputs 25-32).
UB input_bank_0
general input bank 0 (inputs 1-8).
UB output_bank_3
general output bank 3 (outputs 25-32).
UB input_bank_1
general input bank 1 (inputs 9-16).
UB input_bank_2
general input bank 2 (inputs 17-24).
UB output_bank_2
general output bank 2 (outputs 17-24).
SW reserved_0
Reserved.
UB output_bank_7
general output bank 7 (outputs 57-64).
UB input_bank_8
general input bank 8 (inputs 65-72).
UB input_bank_9
general input bank 9 (inputs 73-80).
UB output_bank_4
general output bank 4 (outputs 33-40).
UB input_bank_5
general input bank 5 (inputs 41-48).
UB output_bank_9
general output bank 9 (outputs 73-80).
UB input_bank_6
general input bank 6 (inputs 49-56).
UB output_bank_8
general output bank 8 (outputs 65-72).
UB output_bank_0
general output bank 0 (outputs 1-8).
UB input_bank_7
general input bank 7 (inputs 57-64).
UB input_bank_4
general input bank 4 (inputs 33-40).
UB output_bank_6
general output bank 6 (outputs 49-56).
UB output_bank_5
general output bank 5 (outputs 41-48).
UB output_bank_1
general output bank 1 (outputs 9-16).
SL zd_variable
ZD User-defined variable (see ZD).
SL encoder_0
Encoder channel 0. Data only valid for parts with -BISS, -QUAD, or -SSI.
SL zc_variable
ZC User-defined variable (see ZC).
UL pulse_count_0
Pulse counter (see PC).
SL zd_variable
ZD User-defined variable (see ZD).
SL encoder_0
Encoder channel 0. Data only valid for parts with -BISS, -QUAD, or -SSI.
SL zc_variable
ZC User-defined variable (see ZC).
UL pulse_count_0
Pulse counter (see PC).
SL zd_variable
ZD User-defined variable (see ZD).
UW output_bank_2
Digital outputs 24-39. Data only valid for parts with 24EXOUT.
SL zc_variable
ZC User-defined variable (see ZC).
UL pulse_count_0
Pulse counter (see PC)8.
SL zd_variable
ZD User-defined variable (see ZD).
SL encoder_0
Encoder channel 0. Data only valid for parts with -BISS, -QUAD, or -SSI.
SL zc_variable
ZC User-defined variable (see ZC).
UL pulse_count_0
Pulse counter (see PC).
UB input_bank_3
general input bank 3 (inputs 25-32).
UB input_bank_0
general input bank 0 (inputs 1-8).
UB output_bank_3
general output bank 3 (outputs 25-32).
UB input_bank_1
general input bank 1 (inputs 9-16).
UB input_bank_2
general input bank 2 (inputs 17-24).
UB output_bank_2
general output bank 2 (outputs 17-24).
SW reserved_0
Reserved.
UB output_bank_7
general output bank 7 (outputs 57-64).
UB input_bank_8
general input bank 8 (inputs 65-72).
UB input_bank_9
general input bank 9 (inputs 73-80).
UB output_bank_4
general output bank 4 (outputs 33-40).
UB input_bank_5
general input bank 5 (inputs 41-48).
UB output_bank_9
general output bank 9 (outputs 73-80).
UB input_bank_6
general input bank 6 (inputs 49-56).
UB output_bank_8
general output bank 8 (outputs 65-72).
UB output_bank_0
general output bank 0 (outputs 1-8).
UB input_bank_7
general input bank 7 (inputs 57-64).
UB input_bank_4
general input bank 4 (inputs 33-40).
UB output_bank_6
general output bank 6 (outputs 49-56).
UB output_bank_5
general output bank 5 (outputs 41-48).
UB output_bank_1
general output bank 1 (outputs 9-16).
Reserved.*UW axis_d_status
/*124-125
Definition gclib.vb:1141
segment count of coordinated move for S plane.*UW s_plane_move_status
/*26-27
Definition gclib.vb:1103
D axis position error.*SL axis_d_aux_position
/*140-143
Definition gclib.vb:1147
A axis position error.*SL axis_a_aux_position
/*56-59
Definition gclib.vb:1114
Reserved.*UW axis_b_status
/*68-69
Definition gclib.vb:1119
D axis reference position.*SL axis_d_motor_position
/*132-135
Definition gclib.vb:1145
Reserved.*UB axis_b_reserved_1
/*95
Definition gclib.vb:1129
B axis position error.*SL axis_b_aux_position
/*84-87
Definition gclib.vb:1125
Coordinated move status for T plane.*SL t_distance
/*36-39
Definition gclib.vb:1107
segment count of coordinated move for T plane.*UW t_plane_move_status
/*34-35
Definition gclib.vb:1106
D axis velocity.*SW axis_d_torque
/*148-149
Definition gclib.vb:1149
A axis torque.*UB axis_a_reserved_0
/*66
Definition gclib.vb:1117
A axis reference position.*SL axis_a_motor_position
/*48-51
Definition gclib.vb:1112
Reserved.*UB axis_c_reserved_1
/*123
Definition gclib.vb:1140
C axis auxiliary position.*SL axis_c_velocity
/*116-119
Definition gclib.vb:1137
C axis switches.*UB axis_c_stop_code
/*99
Definition gclib.vb:1132
D axis switches.*UB axis_d_stop_code
/*127
Definition gclib.vb:1143
distance traveled in coordinated move for T plane.*UW axis_a_status
/*40-41
Definition gclib.vb:1108
D axis torque.*UB axis_d_reserved_0
/*150
Definition gclib.vb:1150
B axis velocity.*SW axis_b_torque
/*92-93
Definition gclib.vb:1127
A axis status.*UB axis_a_switches
/*42
Definition gclib.vb:1109
D axis stop code.*SL axis_d_reference_position
/*128-131
Definition gclib.vb:1144
D axis auxiliary position.*SL axis_d_velocity
/*144-147
Definition gclib.vb:1148
D axis status.*UB axis_d_switches
/*126
Definition gclib.vb:1142
B axis stop code.*SL axis_b_reference_position
/*72-75
Definition gclib.vb:1122
UW sample_number
/*00-01
Definition gclib.vb:1079
B axis status.*UB axis_b_switches
/*70
Definition gclib.vb:1120
B axis auxiliary position.*SL axis_b_velocity
/*88-91
Definition gclib.vb:1126
error code.*UB general_status
/*23
Definition gclib.vb:1101
B axis switches.*UB axis_b_stop_code
/*71
Definition gclib.vb:1121
C axis stop code.*SL axis_c_reference_position
/*100-103
Definition gclib.vb:1133
B axis torque.*UB axis_b_reserved_0
/*94
Definition gclib.vb:1128
A axis auxiliary position.*SL axis_a_velocity
/*60-63
Definition gclib.vb:1115
A axis motor position.*SL axis_a_position_error
/*52-55
Definition gclib.vb:1113
Reserved.*UB axis_d_reserved_1
/*151
Definition gclib.vb:1151
C axis status.*UB axis_c_switches
/*98
Definition gclib.vb:1131
distance traveled in coordinated move for S plane.*UW t_plane_segment_count
/*32-33
Definition gclib.vb:1105
B axis reference position.*SL axis_b_motor_position
/*76-79
Definition gclib.vb:1123
A axis velocity.*SW axis_a_torque
/*64-65
Definition gclib.vb:1116
Reserved.*UW axis_c_status
/*96-97
Definition gclib.vb:1130
C axis position error.*SL axis_c_aux_position
/*112-115
Definition gclib.vb:1136
C axis torque.*UB axis_c_reserved_0
/*122
Definition gclib.vb:1139
C axis reference position.*SL axis_c_motor_position
/*104-107
Definition gclib.vb:1134
C axis motor position.*SL axis_c_position_error
/*108-111
Definition gclib.vb:1135
coordinated move status for S plane.*SL s_distance
/*28-31
Definition gclib.vb:1104
C axis velocity.*SW axis_c_torque
/*120-121
Definition gclib.vb:1138
D axis motor position.*SL axis_d_position_error
/*136-139
Definition gclib.vb:1146
general status *UW s_plane_segment_count
/*24-25
Definition gclib.vb:1102
A axis stop code.*SL axis_a_reference_position
/*44-47
Definition gclib.vb:1111
B axis motor position.*SL axis_b_position_error
/*80-83
Definition gclib.vb:1124
A axis switches.*UB axis_a_stop_code
/*43
Definition gclib.vb:1110
Reserved.*UB axis_a_reserved_1
/*67
Definition gclib.vb:1118
segment count of coordinated move for S plane.*UW s_plane_move_status
/*60-61
Definition gclib.vb:845
error code.*UB thread_status
/*47
Definition gclib.vb:840
Reserved.*UB reserved_16
/*38
Definition gclib.vb:831
Reserved.*UB reserved_18
/*40
Definition gclib.vb:833
C axis velocity.*SL axis_c_torque
/*174-177
Definition gclib.vb:886
D axis position error.*SL axis_d_aux_position
/*202-205
Definition gclib.vb:897
A axis position error.*SL axis_a_aux_position
/*94-97
Definition gclib.vb:858
E axis reference position.*SL axis_e_motor_position
/*230-233
Definition gclib.vb:908
H axis switches.*UB axis_h_stop_code
/*333
Definition gclib.vb:945
D axis velocity.*SL axis_d_torque
/*210-213
Definition gclib.vb:899
Reserved.*SL axis_e_variable
/*254-257
Definition gclib.vb:916
F axis reference position.*SL axis_f_motor_position
/*266-269
Definition gclib.vb:921
G axis status.*UB axis_g_switches
/*296
Definition gclib.vb:931
D axis reference position.*SL axis_d_motor_position
/*194-197
Definition gclib.vb:895
Reserved.*UB axis_b_reserved_1
/*145
Definition gclib.vb:876
distance traveled in coordinated move for S plane.*UW s_plane_buffer_available
/*66-67
Definition gclib.vb:847
F axis motor position.*SL axis_f_position_error
/*270-273
Definition gclib.vb:922
Reserved.*UB axis_h_reserved_1
/*361
Definition gclib.vb:954
E axis status.*UB axis_e_switches
/*224
Definition gclib.vb:905
E User defined variable.*[] UW axis_f_status
/*258-259
Definition gclib.vb:917
H axis status.*UB axis_h_switches
/*332
Definition gclib.vb:944
F axis analog input.*UB axis_f_reserved_0
/*288
Definition gclib.vb:927
Reserved.*SW reserved_2
/*24-25
Definition gclib.vb:824
Reserved.*SL axis_d_variable
/*218-221
Definition gclib.vb:903
B axis position error.*SL axis_b_aux_position
/*130-133
Definition gclib.vb:871
Reserved.*SW reserved_12
/*34-35
Definition gclib.vb:829
B axis velocity.*SL axis_b_torque
/*138-141
Definition gclib.vb:873
Coordinated move status for T plane.*SL t_distance
/*72-75
Definition gclib.vb:850
H axis velocity.*SL axis_h_torque
/*354-357
Definition gclib.vb:951
Reserved.*SW reserved_8
/*30-31
Definition gclib.vb:827
segment count of coordinated move for T plane.*UW t_plane_move_status
/*70-71
Definition gclib.vb:849
D axis analog input.*UB axis_d_reserved_0
/*216
Definition gclib.vb:901
H axis torque.*UW axis_h_analog_in
/*358-359
Definition gclib.vb:952
A axis reference position.*SL axis_a_motor_position
/*86-89
Definition gclib.vb:856
Reserved.*SW reserved_4
/*26-27
Definition gclib.vb:825
Reserved.*UB axis_c_reserved_1
/*181
Definition gclib.vb:889
D User defined variable.*[] UW axis_e_status
/*222-223
Definition gclib.vb:904
C axis auxiliary position.*SL axis_c_velocity
/*170-173
Definition gclib.vb:885
E axis velocity.*SL axis_e_torque
/*256-249
Definition gclib.vb:912
H axis position error.*SL axis_h_aux_position
/*346-349
Definition gclib.vb:949
C axis switches.*UB axis_c_stop_code
/*153
Definition gclib.vb:880
Reserved.*SW reserved_10
/*32-33
Definition gclib.vb:828
B User defined variable.*[] UW axis_c_status
/*150-151
Definition gclib.vb:878
D axis switches.*UB axis_d_stop_code
/*189
Definition gclib.vb:893
G axis stop code.*SL axis_g_reference_position
/*298-301
Definition gclib.vb:933
H axis stop code.*SL axis_h_reference_position
/*334-337
Definition gclib.vb:946
G axis torque.*UW axis_g_analog_in
/*322-323
Definition gclib.vb:939
G axis analog input.*UB axis_g_reserved_0
/*324
Definition gclib.vb:940
Reserved.*UB reserved_17
/*39
Definition gclib.vb:832
A axis status.*UB axis_a_switches
/*80
Definition gclib.vb:853
D axis stop code.*SL axis_d_reference_position
/*190-193
Definition gclib.vb:894
G axis velocity.*SL axis_g_torque
/*318-321
Definition gclib.vb:938
G axis position error.*SL axis_g_aux_position
/*310-313
Definition gclib.vb:936
Reserved.*UB axis_e_reserved_1
/*253
Definition gclib.vb:915
Reserved.*UB axis_g_reserved_1
/*325
Definition gclib.vb:941
D axis auxiliary position.*SL axis_d_velocity
/*206-209
Definition gclib.vb:898
Buffer space Contour Mode.*UW s_plane_segment_count
/*58-59
Definition gclib.vb:844
D axis status.*UB axis_d_switches
/*188
Definition gclib.vb:892
Reserved.*UB reserved_22
/*44
Definition gclib.vb:837
B axis stop code.*SL axis_b_reference_position
/*118-121
Definition gclib.vb:868
E axis position error.*SL axis_e_aux_position
/*238-241
Definition gclib.vb:910
UW sample_number
/*00-01
Definition gclib.vb:802
F axis switches.*UB axis_f_stop_code
/*261
Definition gclib.vb:919
B axis status.*UB axis_b_switches
/*116
Definition gclib.vb:866
B axis auxiliary position.*SL axis_b_velocity
/*134-137
Definition gclib.vb:872
Reserved.*SW reserved_6
/*28-29
Definition gclib.vb:826
E axis stop code.*SL axis_e_reference_position
/*226-229
Definition gclib.vb:907
Reserved.*SW reserved_14
/*36-37
Definition gclib.vb:830
H axis analog input.*UB axis_h_reserved_0
/*360
Definition gclib.vb:953
B axis switches.*UB axis_b_stop_code
/*117
Definition gclib.vb:867
Reserved.*UB reserved_21
/*43
Definition gclib.vb:836
distance traveled in coordinated move for T plane.*UW t_plane_buffer_available
/*76-77
Definition gclib.vb:851
C axis stop code.*SL axis_c_reference_position
/*154-157
Definition gclib.vb:881
Reserved.*SL axis_h_variable
/*362-365
Definition gclib.vb:955
E axis switches.*UB axis_e_stop_code
/*225
Definition gclib.vb:906
Reserved.*UB reserved_19
/*41
Definition gclib.vb:834
F axis auxiliary position.*SL axis_f_velocity
/*278-281
Definition gclib.vb:924
Reserved.*UL contour_segment_count
/*52-55
Definition gclib.vb:842
E axis auxiliary position.*SL axis_e_velocity
/*242-245
Definition gclib.vb:911
A axis velocity.*SL axis_a_torque
/*102-105
Definition gclib.vb:860
A axis auxiliary position.*SL axis_a_velocity
/*98-101
Definition gclib.vb:859
F axis status.*UB axis_f_switches
/*260
Definition gclib.vb:918
B axis analog input.*UB axis_b_reserved_0
/*144
Definition gclib.vb:875
H axis motor position.*SL axis_h_position_error
/*342-345
Definition gclib.vb:948
F User defined variable.*[] UW axis_g_status
/*294-295
Definition gclib.vb:930
A axis motor position.*SL axis_a_position_error
/*90-93
Definition gclib.vb:857
Reserved.*UB axis_d_reserved_1
/*217
Definition gclib.vb:902
G axis switches.*UB axis_g_stop_code
/*297
Definition gclib.vb:932
C axis status.*UB axis_c_switches
/*152
Definition gclib.vb:879
C User defined variable.*[] UW axis_d_status
/*186-187
Definition gclib.vb:891
E axis motor position.*SL axis_e_position_error
/*234-237
Definition gclib.vb:909
E axis torque.*UW axis_e_analog_in
/*250-251
Definition gclib.vb:913
H axis auxiliary position.*SL axis_h_velocity
/*350-353
Definition gclib.vb:950
G User defined variable.*[] UW axis_h_status
/*330-331
Definition gclib.vb:943
H User defined variable.*[] byte_array()
F axis velocity.*SL axis_f_torque
/*282-285
Definition gclib.vb:925
D axis torque.*UW axis_d_analog_in
/*214-215
Definition gclib.vb:900
B axis reference position.*SL axis_b_motor_position
/*122-125
Definition gclib.vb:869
Reserved.*UB error_code
/*46
Definition gclib.vb:839
Reserved.*SL axis_b_variable
/*146-149
Definition gclib.vb:877
Reserved.*SL axis_f_variable
/*290-293
Definition gclib.vb:929
B axis torque.*UW axis_b_analog_in
/*142-143
Definition gclib.vb:874
F axis torque.*UW axis_f_analog_in
/*286-287
Definition gclib.vb:926
thread status.*UL reserved_24
/*48-51
Definition gclib.vb:841
C axis position error.*SL axis_c_aux_position
/*166-169
Definition gclib.vb:884
Reserved.*UB axis_f_reserved_1
/*289
Definition gclib.vb:928
G axis motor position.*SL axis_g_position_error
/*306-309
Definition gclib.vb:935
Reserved.*UB reserved_23
/*45
Definition gclib.vb:838
C axis reference position.*SL axis_c_motor_position
/*158-161
Definition gclib.vb:882
H axis reference position.*SL axis_h_motor_position
/*338-341
Definition gclib.vb:947
C axis motor position.*SL axis_c_position_error
/*162-165
Definition gclib.vb:883
E axis analog input.*UB axis_e_reserved_0
/*252
Definition gclib.vb:914
coordinated move status for S plane.*SL s_distance
/*62-65
Definition gclib.vb:846
D axis motor position.*SL axis_d_position_error
/*198-201
Definition gclib.vb:896
F axis position error.*SL axis_f_aux_position
/*274-277
Definition gclib.vb:923
G axis reference position.*SL axis_g_motor_position
/*302-305
Definition gclib.vb:934
A axis stop code.*SL axis_a_reference_position
/*82-85
Definition gclib.vb:855
A axis torque.*UW axis_a_analog_in
/*106-107
Definition gclib.vb:861
B axis motor position.*SL axis_b_position_error
/*126-129
Definition gclib.vb:870
A User defined variable.*[] UW axis_b_status
/*114-115
Definition gclib.vb:865
G axis auxiliary position.*SL axis_g_velocity
/*314-317
Definition gclib.vb:937
A axis switches.*UB axis_a_stop_code
/*81
Definition gclib.vb:854
C axis torque.*UW axis_c_analog_in
/*178-179
Definition gclib.vb:887
Reserved.*SL axis_g_variable
/*326-329
Definition gclib.vb:942
Segment Count for Contour Mode.*UW contour_buffer_available
/*56-57
Definition gclib.vb:843
Reserved.*UB axis_a_reserved_1
/*109
Definition gclib.vb:863
Reserved.*SL axis_a_variable
/*110-113
Definition gclib.vb:864
Reserved.*UB reserved_20
/*42
Definition gclib.vb:835
Buffer space S Plane.*UW t_plane_segment_count
/*68-69
Definition gclib.vb:848
C axis analog input.*UB axis_c_reserved_0
/*180
Definition gclib.vb:888
A axis analog input.*UB axis_a_reserved_0
/*108
Definition gclib.vb:862
F axis stop code.*SL axis_f_reference_position
/*262-265
Definition gclib.vb:920
Buffer space T Plane.*UW axis_a_status
/*78-79
Definition gclib.vb:852
Reserved.*SL axis_c_variable
/*182-185
Definition gclib.vb:890
segment count of coordinated move for S plane.*UW s_plane_move_status
/*30-31
Definition gclib.vb:989
D axis analog input.*UW axis_e_status
/*156-157
Definition gclib.vb:1034
G axis velocity.*SW axis_g_torque
/*236-237
Definition gclib.vb:1062
D axis position error.*SL axis_d_aux_position
/*144-147
Definition gclib.vb:1030
A axis position error.*SL axis_a_aux_position
/*60-63
Definition gclib.vb:1000
E axis reference position.*SL axis_e_motor_position
/*164-167
Definition gclib.vb:1038
H axis switches.*UB axis_h_stop_code
/*243
Definition gclib.vb:1066
E axis analog input.*UW axis_f_status
/*184-185
Definition gclib.vb:1044
F axis reference position.*SL axis_f_motor_position
/*192-195
Definition gclib.vb:1048
G axis status.*UB axis_g_switches
/*214
Definition gclib.vb:1055
D axis reference position.*SL axis_d_motor_position
/*136-139
Definition gclib.vb:1028
F axis motor position.*SL axis_f_position_error
/*196-199
Definition gclib.vb:1049
E axis status.*UB axis_e_switches
/*158
Definition gclib.vb:1035
H axis status.*UB axis_h_switches
/*242
Definition gclib.vb:1065
B axis position error.*SL axis_b_aux_position
/*88-91
Definition gclib.vb:1010
Coordinated move status for T plane.*SL t_distance
/*40-43
Definition gclib.vb:993
A axis analog input.*UW axis_b_status
/*72-73
Definition gclib.vb:1004
segment count of coordinated move for T plane.*UW t_plane_move_status
/*38-39
Definition gclib.vb:992
D axis velocity.*SW axis_d_torque
/*152-153
Definition gclib.vb:1032
H axis torque.*UW axis_h_analog_in
/*266-267
Definition gclib.vb:1073
A axis reference position.*SL axis_a_motor_position
/*52-55
Definition gclib.vb:998
byte of Header.*UB header_2
/*02
Definition gclib.vb:963
C axis auxiliary position.*SL axis_c_velocity
/*120-123
Definition gclib.vb:1021
G axis analog input.*UW axis_h_status
/*240-241
Definition gclib.vb:1064
H axis position error.*SL axis_h_aux_position
/*256-259
Definition gclib.vb:1070
C axis switches.*UB axis_c_stop_code
/*103
Definition gclib.vb:1016
D axis switches.*UB axis_d_stop_code
/*131
Definition gclib.vb:1026
G axis stop code.*SL axis_g_reference_position
/*216-219
Definition gclib.vb:1057
H axis stop code.*SL axis_h_reference_position
/*244-247
Definition gclib.vb:1067
distance traveled in coordinated move for T plane.*UW axis_a_status
/*44-45
Definition gclib.vb:994
G axis torque.*UW axis_g_analog_in
/*238-239
Definition gclib.vb:1063
B axis velocity.*SW axis_b_torque
/*96-97
Definition gclib.vb:1012
A axis status.*UB axis_a_switches
/*46
Definition gclib.vb:995
D axis stop code.*SL axis_d_reference_position
/*132-135
Definition gclib.vb:1027
F axis velocity.*SW axis_f_torque
/*208-209
Definition gclib.vb:1052
G axis position error.*SL axis_g_aux_position
/*228-231
Definition gclib.vb:1060
D axis auxiliary position.*SL axis_d_velocity
/*148-151
Definition gclib.vb:1031
D axis status.*UB axis_d_switches
/*130
Definition gclib.vb:1025
B axis analog input.*UW axis_c_status
/*100-101
Definition gclib.vb:1014
B axis stop code.*SL axis_b_reference_position
/*76-79
Definition gclib.vb:1007
E axis position error.*SL axis_e_aux_position
/*172-175
Definition gclib.vb:1040
E axis velocity.*SW axis_e_torque
/*180-181
Definition gclib.vb:1042
F axis switches.*UB axis_f_stop_code
/*187
Definition gclib.vb:1046
B axis status.*UB axis_b_switches
/*74
Definition gclib.vb:1005
B axis auxiliary position.*SL axis_b_velocity
/*92-95
Definition gclib.vb:1011
E axis stop code.*SL axis_e_reference_position
/*160-163
Definition gclib.vb:1037
error code.*UB general_status
/*27
Definition gclib.vb:987
B axis switches.*UB axis_b_stop_code
/*75
Definition gclib.vb:1006
C axis stop code.*SL axis_c_reference_position
/*104-107
Definition gclib.vb:1017
E axis switches.*UB axis_e_stop_code
/*159
Definition gclib.vb:1036
F axis auxiliary position.*SL axis_f_velocity
/*204-207
Definition gclib.vb:1051
E axis auxiliary position.*SL axis_e_velocity
/*176-179
Definition gclib.vb:1041
byte of Header.*UW sample_number
/*04-05
Definition gclib.vb:965
A axis auxiliary position.*SL axis_a_velocity
/*64-67
Definition gclib.vb:1001
F axis status.*UB axis_f_switches
/*186
Definition gclib.vb:1045
H axis motor position.*SL axis_h_position_error
/*252-255
Definition gclib.vb:1069
A axis motor position.*SL axis_a_position_error
/*56-59
Definition gclib.vb:999
G axis switches.*UB axis_g_stop_code
/*215
Definition gclib.vb:1056
C axis status.*UB axis_c_switches
/*102
Definition gclib.vb:1015
E axis motor position.*SL axis_e_position_error
/*168-171
Definition gclib.vb:1039
E axis torque.*UW axis_e_analog_in
/*182-183
Definition gclib.vb:1043
H axis auxiliary position.*SL axis_h_velocity
/*260-263
Definition gclib.vb:1071
distance traveled in coordinated move for S plane.*UW t_plane_segment_count
/*36-37
Definition gclib.vb:991
D axis torque.*UW axis_d_analog_in
/*154-155
Definition gclib.vb:1033
B axis reference position.*SL axis_b_motor_position
/*80-83
Definition gclib.vb:1008
F axis analog input.*UW axis_g_status
/*212-213
Definition gclib.vb:1054
A axis velocity.*SW axis_a_torque
/*68-69
Definition gclib.vb:1002
B axis torque.*UW axis_b_analog_in
/*98-99
Definition gclib.vb:1013
F axis torque.*UW axis_f_analog_in
/*210-211
Definition gclib.vb:1053
C axis position error.*SL axis_c_aux_position
/*116-119
Definition gclib.vb:1020
G axis motor position.*SL axis_g_position_error
/*224-227
Definition gclib.vb:1059
C axis reference position.*SL axis_c_motor_position
/*108-111
Definition gclib.vb:1018
H axis reference position.*SL axis_h_motor_position
/*248-251
Definition gclib.vb:1068
C axis motor position.*SL axis_c_position_error
/*112-115
Definition gclib.vb:1019
coordinated move status for S plane.*SL s_distance
/*32-35
Definition gclib.vb:990
C axis velocity.*SW axis_c_torque
/*124-125
Definition gclib.vb:1022
byte of Header.*UB header_1
/*01
Definition gclib.vb:962
D axis motor position.*SL axis_d_position_error
/*140-143
Definition gclib.vb:1029
F axis position error.*SL axis_f_aux_position
/*200-203
Definition gclib.vb:1050
G axis reference position.*SL axis_g_motor_position
/*220-223
Definition gclib.vb:1058
general status *UW s_plane_segment_count
/*28-29
Definition gclib.vb:988
byte of Header.*UB header_3
/*03
Definition gclib.vb:964
A axis stop code.*SL axis_a_reference_position
/*48-51
Definition gclib.vb:997
H axis velocity.*SW axis_h_torque
/*264-265
Definition gclib.vb:1072
A axis torque.*UW axis_a_analog_in
/*70-71
Definition gclib.vb:1003
B axis motor position.*SL axis_b_position_error
/*84-87
Definition gclib.vb:1009
G axis auxiliary position.*SL axis_g_velocity
/*232-235
Definition gclib.vb:1061
A axis switches.*UB axis_a_stop_code
/*47
Definition gclib.vb:996
C axis analog input.*UW axis_d_status
/*128-129
Definition gclib.vb:1024
C axis torque.*UW axis_c_analog_in
/*126-127
Definition gclib.vb:1023
H axis analog input.* byte_array()
F axis stop code.*SL axis_f_reference_position
/*188-191
Definition gclib.vb:1047
Analog output.*UL amplifier_status
/*18-21
Definition gclib.vb:1171
segment count of coordinated move for S plane.*UW s_plane_move_status
/*30-31
Definition gclib.vb:1175
error code.*UB thread_status
/*11
Definition gclib.vb:1167
A axis position error.*SL axis_a_aux_position
/*54-57
Definition gclib.vb:1184
distance traveled in coordinated move for S plane.*UW s_plane_buffer_available
/*36-37
Definition gclib.vb:1177
A User defined variable.*[] byte_array()
A axis reference position.*SL axis_a_motor_position
/*46-49
Definition gclib.vb:1182
byte of Header.*UB header_2
/*02
Definition gclib.vb:1159
A axis status.*UB axis_a_switches
/*40
Definition gclib.vb:1179
Buffer space Contour Mode.*UW s_plane_segment_count
/*28-29
Definition gclib.vb:1174
Amplifier Status.*UL contour_segment_count
/*22-25
Definition gclib.vb:1172
Buffer space S Plane.*UW axis_a_status
/*38-39
Definition gclib.vb:1178
Analog input.is in axis see axis_a_analog_in.*UW output_analog_1
/*14-15
Definition gclib.vb:1169
A axis analog input.*UB axis_a_halls
/*68
Definition gclib.vb:1188
thread status.*UW input_analog_2
/*12-13
Definition gclib.vb:1168
A axis velocity.*SL axis_a_torque
/*62-65
Definition gclib.vb:1186
byte of Header.*UW sample_number
/*04-05
Definition gclib.vb:1161
A axis auxiliary position.*SL axis_a_velocity
/*58-61
Definition gclib.vb:1185
Analog output.*UW output_analog_2
/*16-17
Definition gclib.vb:1170
A axis motor position.*SL axis_a_position_error
/*50-53
Definition gclib.vb:1183
A Hall Input Status.*UB axis_a_reserved
/*69
Definition gclib.vb:1189
coordinated move status for S plane.*SL s_distance
/*32-35
Definition gclib.vb:1176
byte of Header.*UB header_1
/*01
Definition gclib.vb:1158
byte of Header.*UB header_3
/*03
Definition gclib.vb:1160
A axis stop code.*SL axis_a_reference_position
/*42-45
Definition gclib.vb:1181
A axis torque.*UW axis_a_analog_in
/*66-67
Definition gclib.vb:1187
A axis switches.*UB axis_a_stop_code
/*41
Definition gclib.vb:1180
Segment Count for Contour Mode.*UW contour_buffer_available
/*26-27
Definition gclib.vb:1173
Reserved.*SL axis_a_variable
/*70-73
Definition gclib.vb:1190
segment count of coordinated move for S plane.*UW s_plane_move_status
/*64-65
Definition gclib.vb:522
error code.*UB thread_status
/*51
Definition gclib.vb:517
C axis velocity.*SL axis_c_torque
/*178-181
Definition gclib.vb:563
D axis position error.*SL axis_d_aux_position
/*206-209
Definition gclib.vb:574
A axis position error.*SL axis_a_aux_position
/*98-101
Definition gclib.vb:535
E axis reference position.*SL axis_e_motor_position
/*234-237
Definition gclib.vb:585
H axis switches.*UB axis_h_stop_code
/*337
Definition gclib.vb:622
D axis velocity.*SL axis_d_torque
/*214-217
Definition gclib.vb:576
Reserved.*SL axis_e_variable
/*258-261
Definition gclib.vb:593
F axis reference position.*SL axis_f_motor_position
/*270-273
Definition gclib.vb:598
G axis status.*UB axis_g_switches
/*300
Definition gclib.vb:608
D axis reference position.*SL axis_d_motor_position
/*198-201
Definition gclib.vb:572
C Hall Input Status.*UB axis_c_reserved
/*185
Definition gclib.vb:566
distance traveled in coordinated move for S plane.*UW s_plane_buffer_available
/*70-71
Definition gclib.vb:524
F axis motor position.*SL axis_f_position_error
/*274-277
Definition gclib.vb:599
E axis status.*UB axis_e_switches
/*228
Definition gclib.vb:582
E User defined variable.*[] UW axis_f_status
/*262-263
Definition gclib.vb:594
H axis status.*UB axis_h_switches
/*336
Definition gclib.vb:621
Reserved.*SW reserved_2
/*28-29
Definition gclib.vb:501
Ethernet Handle F Status.*UB ethernet_status_g
/*48
Definition gclib.vb:514
Ethernet Handle A Status.*UB ethernet_status_b
/*43
Definition gclib.vb:509
Reserved.*SL axis_d_variable
/*222-225
Definition gclib.vb:580
B axis position error.*SL axis_b_aux_position
/*134-137
Definition gclib.vb:548
B axis analog input.*UB axis_b_halls
/*148
Definition gclib.vb:552
Reserved.*SW reserved_12
/*38-39
Definition gclib.vb:506
H Hall Input Status.*UB axis_h_reserved
/*365
Definition gclib.vb:631
B axis velocity.*SL axis_b_torque
/*142-145
Definition gclib.vb:550
Coordinated move status for T plane.*SL t_distance
/*76-79
Definition gclib.vb:527
H axis velocity.*SL axis_h_torque
/*358-361
Definition gclib.vb:628
Reserved.*SW reserved_8
/*34-35
Definition gclib.vb:504
segment count of coordinated move for T plane.*UW t_plane_move_status
/*74-75
Definition gclib.vb:526
H axis torque.*UW axis_h_analog_in
/*362-363
Definition gclib.vb:629
A axis reference position.*SL axis_a_motor_position
/*90-93
Definition gclib.vb:533
Reserved.*SW reserved_4
/*30-31
Definition gclib.vb:502
D User defined variable.*[] UW axis_e_status
/*226-227
Definition gclib.vb:581
byte of Header.*UB header_2
/*02
Definition gclib.vb:477
C axis auxiliary position.*SL axis_c_velocity
/*174-177
Definition gclib.vb:562
E axis velocity.*SL axis_e_torque
/*250-253
Definition gclib.vb:589
H axis position error.*SL axis_h_aux_position
/*350-353
Definition gclib.vb:626
C axis switches.*UB axis_c_stop_code
/*157
Definition gclib.vb:557
Reserved.*SW reserved_10
/*36-37
Definition gclib.vb:505
B User defined variable.*[] UW axis_c_status
/*154-155
Definition gclib.vb:555
D axis switches.*UB axis_d_stop_code
/*193
Definition gclib.vb:570
G axis stop code.*SL axis_g_reference_position
/*302-305
Definition gclib.vb:610
B Hall Input Status.*UB axis_b_reserved
/*149
Definition gclib.vb:553
H axis stop code.*SL axis_h_reference_position
/*338-341
Definition gclib.vb:623
G axis torque.*UW axis_g_analog_in
/*326-327
Definition gclib.vb:616
A axis status.*UB axis_a_switches
/*84
Definition gclib.vb:530
D axis stop code.*SL axis_d_reference_position
/*194-197
Definition gclib.vb:571
G axis velocity.*SL axis_g_torque
/*322-325
Definition gclib.vb:615
Reserved.*UB ethernet_status_a
/*42
Definition gclib.vb:508
G axis position error.*SL axis_g_aux_position
/*314-317
Definition gclib.vb:613
D axis auxiliary position.*SL axis_d_velocity
/*210-213
Definition gclib.vb:575
Buffer space Contour Mode.*UW s_plane_segment_count
/*62-63
Definition gclib.vb:521
D axis status.*UB axis_d_switches
/*192
Definition gclib.vb:569
B axis stop code.*SL axis_b_reference_position
/*122-125
Definition gclib.vb:545
E axis position error.*SL axis_e_aux_position
/*242-245
Definition gclib.vb:587
F axis switches.*UB axis_f_stop_code
/*265
Definition gclib.vb:596
Amplifier Status.*UL contour_segment_count
/*56-59
Definition gclib.vb:519
B axis status.*UB axis_b_switches
/*120
Definition gclib.vb:543
F axis analog input.*UB axis_f_halls
/*292
Definition gclib.vb:604
B axis auxiliary position.*SL axis_b_velocity
/*138-141
Definition gclib.vb:549
Reserved.*SW reserved_6
/*32-33
Definition gclib.vb:503
E axis stop code.*SL axis_e_reference_position
/*230-233
Definition gclib.vb:584
Reserved.*SW reserved_14
/*40-41
Definition gclib.vb:507
B axis switches.*UB axis_b_stop_code
/*121
Definition gclib.vb:544
distance traveled in coordinated move for T plane.*UW t_plane_buffer_available
/*80-81
Definition gclib.vb:528
C axis stop code.*SL axis_c_reference_position
/*158-161
Definition gclib.vb:558
Reserved.*SL axis_h_variable
/*366-369
Definition gclib.vb:632
E axis switches.*UB axis_e_stop_code
/*229
Definition gclib.vb:583
Ethernet Handle H Status.*UB error_code
/*50
Definition gclib.vb:516
A axis analog input.*UB axis_a_halls
/*112
Definition gclib.vb:539
Ethernet Handle D Status.*UB ethernet_status_e
/*46
Definition gclib.vb:512
F axis auxiliary position.*SL axis_f_velocity
/*282-285
Definition gclib.vb:601
E axis auxiliary position.*SL axis_e_velocity
/*246-249
Definition gclib.vb:588
Ethernet Handle C Status.*UB ethernet_status_d
/*45
Definition gclib.vb:511
A axis velocity.*SL axis_a_torque
/*106-109
Definition gclib.vb:537
byte of Header.*UW sample_number
/*04-05
Definition gclib.vb:479
A axis auxiliary position.*SL axis_a_velocity
/*102-105
Definition gclib.vb:536
F axis status.*UB axis_f_switches
/*264
Definition gclib.vb:595
E Hall Input Status.*UB axis_e_reserved
/*257
Definition gclib.vb:592
H axis motor position.*SL axis_h_position_error
/*346-349
Definition gclib.vb:625
F User defined variable.*[] UW axis_g_status
/*298-299
Definition gclib.vb:607
A axis motor position.*SL axis_a_position_error
/*94-97
Definition gclib.vb:534
G axis switches.*UB axis_g_stop_code
/*301
Definition gclib.vb:609
C axis status.*UB axis_c_switches
/*156
Definition gclib.vb:556
C User defined variable.*[] UW axis_d_status
/*190-191
Definition gclib.vb:568
E axis motor position.*SL axis_e_position_error
/*238-241
Definition gclib.vb:586
E axis torque.*UW axis_e_analog_in
/*254-255
Definition gclib.vb:590
H axis auxiliary position.*SL axis_h_velocity
/*354-357
Definition gclib.vb:627
G User defined variable.*[] UW axis_h_status
/*334-335
Definition gclib.vb:620
H User defined variable.*[] byte_array()
F axis velocity.*SL axis_f_torque
/*286-289
Definition gclib.vb:602
D axis torque.*UW axis_d_analog_in
/*218-219
Definition gclib.vb:577
B axis reference position.*SL axis_b_motor_position
/*126-129
Definition gclib.vb:546
Reserved.*SL axis_b_variable
/*150-153
Definition gclib.vb:554
E axis analog input.*UB axis_e_halls
/*256
Definition gclib.vb:591
Reserved.*SL axis_f_variable
/*294-297
Definition gclib.vb:606
G axis analog input.*UB axis_g_halls
/*328
Definition gclib.vb:617
B axis torque.*UW axis_b_analog_in
/*146-147
Definition gclib.vb:551
F axis torque.*UW axis_f_analog_in
/*290-291
Definition gclib.vb:603
A Hall Input Status.*UB axis_a_reserved
/*113
Definition gclib.vb:540
C axis position error.*SL axis_c_aux_position
/*170-173
Definition gclib.vb:561
Ethernet Handle G Status.*UB ethernet_status_h
/*49
Definition gclib.vb:515
F Hall Input Status.*UB axis_f_reserved
/*293
Definition gclib.vb:605
H axis analog input.*UB axis_h_halls
/*364
Definition gclib.vb:630
G axis motor position.*SL axis_g_position_error
/*310-313
Definition gclib.vb:612
C axis reference position.*SL axis_c_motor_position
/*162-165
Definition gclib.vb:559
H axis reference position.*SL axis_h_motor_position
/*342-345
Definition gclib.vb:624
C axis motor position.*SL axis_c_position_error
/*166-169
Definition gclib.vb:560
coordinated move status for S plane.*SL s_distance
/*66-69
Definition gclib.vb:523
byte of Header.*UB header_1
/*01
Definition gclib.vb:476
D axis motor position.*SL axis_d_position_error
/*202-205
Definition gclib.vb:573
F axis position error.*SL axis_f_aux_position
/*278-281
Definition gclib.vb:600
G axis reference position.*SL axis_g_motor_position
/*306-309
Definition gclib.vb:611
byte of Header.*UB header_3
/*03
Definition gclib.vb:478
Ethernet Handle B Status.*UB ethernet_status_c
/*44
Definition gclib.vb:510
A axis stop code.*SL axis_a_reference_position
/*86-89
Definition gclib.vb:532
A axis torque.*UW axis_a_analog_in
/*110-111
Definition gclib.vb:538
B axis motor position.*SL axis_b_position_error
/*130-133
Definition gclib.vb:547
A User defined variable.*[] UW axis_b_status
/*118-119
Definition gclib.vb:542
G axis auxiliary position.*SL axis_g_velocity
/*318-321
Definition gclib.vb:614
A axis switches.*UB axis_a_stop_code
/*85
Definition gclib.vb:531
thread status *UL amplifier_status
/*52-55
Definition gclib.vb:518
C axis torque.*UW axis_c_analog_in
/*182-183
Definition gclib.vb:564
Reserved.*SL axis_g_variable
/*330-333
Definition gclib.vb:619
Segment Count for Contour Mode.*UW contour_buffer_available
/*60-61
Definition gclib.vb:520
D axis analog input.*UB axis_d_halls
/*220
Definition gclib.vb:578
Reserved.*SL axis_a_variable
/*114-117
Definition gclib.vb:541
G Hall Input Status.*UB axis_g_reserved
/*329
Definition gclib.vb:618
Buffer space S Plane.*UW t_plane_segment_count
/*72-73
Definition gclib.vb:525
C axis analog input.*UB axis_c_halls
/*184
Definition gclib.vb:565
Ethernet Handle E Status.*UB ethernet_status_f
/*47
Definition gclib.vb:513
D Hall Input Status.*UB axis_d_reserved
/*221
Definition gclib.vb:579
F axis stop code.*SL axis_f_reference_position
/*266-269
Definition gclib.vb:597
Buffer space T Plane.*UW axis_a_status
/*82-83
Definition gclib.vb:529
Reserved.*SL axis_c_variable
/*186-189
Definition gclib.vb:567
Analog input.*UW input_analog_4
/*32-33
Definition gclib.vb:1215
Analog output.*UW output_analog_4
/*16-17
Definition gclib.vb:1207
Analog input.*UW input_analog_5
/*34-35
Definition gclib.vb:1216
Encoder channel.Data only valid for parts with or SSI.*SL encoder_2
/*64-67
Definition gclib.vb:1226
Analog input.*UW input_analog_3
/*30-31
Definition gclib.vb:1214
Analog output.*UW output_analog_3
/*14-15
Definition gclib.vb:1206
General status.*UW output_analog_0
/*08-09
Definition gclib.vb:1203
Analog input.*UW input_analog_6
/*36-37
Definition gclib.vb:1217
byte of Header.*UB header_2
/*02
Definition gclib.vb:1198
Analog input.*UW input_analog_7
/*38-39
Definition gclib.vb:1218
Analog output.*UW input_analog_0
/*24-25
Definition gclib.vb:1211
Error code.*UB general_status
/*07
Definition gclib.vb:1202
Encoder channel.Data only valid for parts with or SSI.*SL encoder_1
/*60-63
Definition gclib.vb:1225
byte of Header.*UW sample_number
/*04-05
Definition gclib.vb:1200
Analog output.*UW output_analog_1
/*10-11
Definition gclib.vb:1204
Analog output.*UW output_analog_2
/*12-13
Definition gclib.vb:1205
Analog input.*UW input_analog_1
/*26-27
Definition gclib.vb:1212
Analog output.*UW output_analog_7
/*22-23
Definition gclib.vb:1210
Analog input.*UW output_bank_0
/*40-41
Definition gclib.vb:1219
byte of Header.*UB header_1
/*01
Definition gclib.vb:1197
byte of Header.*UB header_3
/*03
Definition gclib.vb:1199
Sample number.*UB error_code
/*06
Definition gclib.vb:1201
Encoder channel.Data only valid for parts with or SSI.*SL encoder_3
/*68-71
Definition gclib.vb:1227
Analog input.*UW input_analog_2
/*28-29
Definition gclib.vb:1213
Analog output.*UW output_analog_6
/*20-21
Definition gclib.vb:1209
Encoder channel.Data only valid for parts with or SSI.* byte_array()
Analog output.*UW output_analog_5
/*18-19
Definition gclib.vb:1208
ZC User defined variable(see ZC). */public SL zd_variable
/*52-55
Pulse counter(see PC). */public SL zc_variable
/*48-51
ZD User defined variable(see ZD). */public SL encoder_0
/*56-59
Analog input.*UW input_analog_4
/*32-33
Definition gclib.vb:1330
Digital outputs.*UB output_byte_1
/*41
Definition gclib.vb:1335
Analog output.*UW output_analog_4
/*16-17
Definition gclib.vb:1322
Analog input.*UW input_analog_5
/*34-35
Definition gclib.vb:1331
Encoder channel.Data only valid for parts with or SSI.*SL encoder_2
/*68-71
Definition gclib.vb:1347
Analog input.*UW input_analog_3
/*30-31
Definition gclib.vb:1329
Analog output.*UW output_analog_3
/*14-15
Definition gclib.vb:1321
General status.*UW output_analog_0
/*08-09
Definition gclib.vb:1318
Analog input.*UW input_analog_6
/*36-37
Definition gclib.vb:1332
Digital outputs.*UB input_byte_0
/*43
Definition gclib.vb:1337
Analog input.*UB output_byte_0
/*40
Definition gclib.vb:1334
byte of Header.*UB header_2
/*02
Definition gclib.vb:1313
Digital inputs.*UB input_byte_1
/*44
Definition gclib.vb:1338
Analog input.*UW input_analog_7
/*38-39
Definition gclib.vb:1333
Analog output.*UW input_analog_0
/*24-25
Definition gclib.vb:1326
Error code.*UB general_status
/*07
Definition gclib.vb:1317
Encoder channel.Data only valid for parts with or SSI.*SL encoder_1
/*64-67
Definition gclib.vb:1346
byte of Header.*UW sample_number
/*04-05
Definition gclib.vb:1315
Digital inputs.*UB input_byte_3
/*46
Definition gclib.vb:1340
Analog output.*UW output_analog_1
/*10-11
Definition gclib.vb:1319
Analog output.*UW output_analog_2
/*12-13
Definition gclib.vb:1320
Digital inputs.*UB input_byte_2
/*45
Definition gclib.vb:1339
Analog input.*UW input_analog_1
/*26-27
Definition gclib.vb:1327
Digital inputs.*UB input_byte_4
/*47
Definition gclib.vb:1341
Analog output.*UW output_analog_7
/*22-23
Definition gclib.vb:1325
byte of Header.*UB header_1
/*01
Definition gclib.vb:1312
byte of Header.*UB header_3
/*03
Definition gclib.vb:1314
Sample number.*UB error_code
/*06
Definition gclib.vb:1316
Digital outputs.*UB output_byte_2
/*42
Definition gclib.vb:1336
Encoder channel.Data only valid for parts with or SSI.*SL encoder_3
/*72-75
Definition gclib.vb:1348
Analog input.*UW input_analog_2
/*28-29
Definition gclib.vb:1328
Analog output.*UW output_analog_6
/*20-21
Definition gclib.vb:1324
Encoder channel.Data only valid for parts with or SSI.* byte_array()
Analog output.*UW output_analog_5
/*18-19
Definition gclib.vb:1323
ZC User defined variable(see ZC). */public SL zd_variable
/*56-59
Pulse counter(see PC). */public SL zc_variable
/*52-55
ZD User defined variable(see ZD). */public SL encoder_0
/*60-63
Digital inputs.Data only valid for parts with.* byte_array()
Analog input.*UW input_analog_4
/*32-33
Definition gclib.vb:1291
Analog output.*UW output_analog_4
/*16-17
Definition gclib.vb:1283
Analog input.*UW input_analog_5
/*34-35
Definition gclib.vb:1292
Analog input.*UW input_analog_3
/*30-31
Definition gclib.vb:1290
Analog output.*UW output_analog_3
/*14-15
Definition gclib.vb:1282
General status.*UW output_analog_0
/*08-09
Definition gclib.vb:1279
Analog input.*UW input_analog_6
/*36-37
Definition gclib.vb:1293
Digital inputs.Data only valid for parts with.*UW input_bank_3
/*66-67
Definition gclib.vb:1305
byte of Header.*UB header_2
/*02
Definition gclib.vb:1274
Digital inputs.*UW input_bank_1
/*46-47
Definition gclib.vb:1298
Digital outputs.*UW input_bank_0
/*44-45
Definition gclib.vb:1297
Analog input.*UW input_analog_7
/*38-39
Definition gclib.vb:1294
Analog output.*UW input_analog_0
/*24-25
Definition gclib.vb:1287
Error code.*UB general_status
/*07
Definition gclib.vb:1278
byte of Header.*UW sample_number
/*04-05
Definition gclib.vb:1276
Digital outputs.Data only valid for parts with.*UW input_bank_2
/*64-65
Definition gclib.vb:1304
Analog output.*UW output_analog_1
/*10-11
Definition gclib.vb:1280
Analog output.*UW output_analog_2
/*12-13
Definition gclib.vb:1281
Digital outputs.Data only valid for parts with.*UW output_back_3
/*62-63
Definition gclib.vb:1303
Analog input.*UW input_analog_1
/*26-27
Definition gclib.vb:1288
Analog output.*UW output_analog_7
/*22-23
Definition gclib.vb:1286
Analog input.*UW output_bank_0
/*40-41
Definition gclib.vb:1295
byte of Header.*UB header_1
/*01
Definition gclib.vb:1273
byte of Header.*UB header_3
/*03
Definition gclib.vb:1275
Sample number.*UB error_code
/*06
Definition gclib.vb:1277
Digital outputs.*UW output_bank_1
/*42-43
Definition gclib.vb:1296
Analog input.*UW input_analog_2
/*28-29
Definition gclib.vb:1289
Analog output.*UW output_analog_6
/*20-21
Definition gclib.vb:1285
Analog output.*UW output_analog_5
/*18-19
Definition gclib.vb:1284
ZC User defined variable(see ZC). */public SL zd_variable
/*56-59
Pulse counter(see PC) 8. */public SL zc_variable
/*52-55
ZD User defined variable(see ZD). */public UW output_bank_2
/*60-61
Analog input.*UW input_analog_4
/*32-33
Definition gclib.vb:1252
Analog output.*UW output_analog_4
/*16-17
Definition gclib.vb:1244
Analog input.*UW input_analog_5
/*34-35
Definition gclib.vb:1253
Encoder channel.Data only valid for parts with or SSI.*SL encoder_2
/*68-71
Definition gclib.vb:1265
Analog input.*UW input_analog_3
/*30-31
Definition gclib.vb:1251
Analog output.*UW output_analog_3
/*14-15
Definition gclib.vb:1243
General status.*UW output_analog_0
/*08-09
Definition gclib.vb:1240
Analog input.*UW input_analog_6
/*36-37
Definition gclib.vb:1254
byte of Header.*UB header_2
/*02
Definition gclib.vb:1235
Analog input.*UW input_analog_7
/*38-39
Definition gclib.vb:1255
Analog output.*UW input_analog_0
/*24-25
Definition gclib.vb:1248
Error code.*UB general_status
/*07
Definition gclib.vb:1239
Encoder channel.Data only valid for parts with or SSI.*SL encoder_1
/*64-67
Definition gclib.vb:1264
byte of Header.*UW sample_number
/*04-05
Definition gclib.vb:1237
Analog output.*UW output_analog_1
/*10-11
Definition gclib.vb:1241
Analog output.*UW output_analog_2
/*12-13
Definition gclib.vb:1242
Analog input.*UW input_analog_1
/*26-27
Definition gclib.vb:1249
Analog output.*UW output_analog_7
/*22-23
Definition gclib.vb:1247
Analog input.*UW output_bank_0
/*40-41
Definition gclib.vb:1256
byte of Header.*UB header_1
/*01
Definition gclib.vb:1234
byte of Header.*UB header_3
/*03
Definition gclib.vb:1236
Sample number.*UB error_code
/*06
Definition gclib.vb:1238
Encoder channel.Data only valid for parts with or SSI.*SL encoder_3
/*72-75
Definition gclib.vb:1266
Analog input.*UW input_analog_2
/*28-29
Definition gclib.vb:1250
Analog output.*UW output_analog_6
/*20-21
Definition gclib.vb:1246
Encoder channel.Data only valid for parts with or SSI.* byte_array()
Analog output.*UW output_analog_5
/*18-19
Definition gclib.vb:1245
ZC User defined variable(see ZC). */public SL zd_variable
/*56-59
Pulse counter(see PC). */public SL zc_variable
/*52-55
ZD User defined variable(see ZD). */public SL encoder_0
/*60-63
segment count of coordinated move for S plane.*UW s_plane_move_status
/*64-65
Definition gclib.vb:686
error code.*UB thread_status
/*51
Definition gclib.vb:681
C axis velocity.*SL axis_c_torque
/*178-181
Definition gclib.vb:727
D axis position error.*SL axis_d_aux_position
/*206-209
Definition gclib.vb:738
A axis position error.*SL axis_a_aux_position
/*98-101
Definition gclib.vb:699
E axis reference position.*SL axis_e_motor_position
/*234-237
Definition gclib.vb:749
H axis switches.*UB axis_h_stop_code
/*337
Definition gclib.vb:786
D axis velocity.*SL axis_d_torque
/*214-217
Definition gclib.vb:740
Reserved.*SL axis_e_variable
/*258-261
Definition gclib.vb:757
F axis reference position.*SL axis_f_motor_position
/*270-273
Definition gclib.vb:762
G axis status.*UB axis_g_switches
/*300
Definition gclib.vb:772
D axis reference position.*SL axis_d_motor_position
/*198-201
Definition gclib.vb:736
C Hall Input Status.*UB axis_c_reserved
/*185
Definition gclib.vb:730
distance traveled in coordinated move for S plane.*UW s_plane_buffer_available
/*70-71
Definition gclib.vb:688
F axis motor position.*SL axis_f_position_error
/*274-277
Definition gclib.vb:763
E axis status.*UB axis_e_switches
/*228
Definition gclib.vb:746
E User defined variable.*[] UW axis_f_status
/*262-263
Definition gclib.vb:758
H axis status.*UB axis_h_switches
/*336
Definition gclib.vb:785
Reserved.*SW reserved_2
/*28-29
Definition gclib.vb:664
Ethernet Handle F Status.*UB ethernet_status_g
/*48
Definition gclib.vb:678
Ethernet Handle A Status.*UB ethernet_status_b
/*43
Definition gclib.vb:673
Reserved.*SL axis_d_variable
/*222-225
Definition gclib.vb:744
B axis position error.*SL axis_b_aux_position
/*134-137
Definition gclib.vb:712
B axis analog input.*UB axis_b_halls
/*148
Definition gclib.vb:716
Reserved.*SW reserved_12
/*38-39
Definition gclib.vb:669
H Hall Input Status.*UB axis_h_reserved
/*365
Definition gclib.vb:795
B axis velocity.*SL axis_b_torque
/*142-145
Definition gclib.vb:714
Coordinated move status for T plane.*SL t_distance
/*76-79
Definition gclib.vb:691
H axis velocity.*SL axis_h_torque
/*358-361
Definition gclib.vb:792
Reserved.*SW reserved_8
/*34-35
Definition gclib.vb:667
segment count of coordinated move for T plane.*UW t_plane_move_status
/*74-75
Definition gclib.vb:690
H axis torque.*UW axis_h_analog_in
/*362-363
Definition gclib.vb:793
A axis reference position.*SL axis_a_motor_position
/*90-93
Definition gclib.vb:697
Reserved.*SW reserved_4
/*30-31
Definition gclib.vb:665
D User defined variable.*[] UW axis_e_status
/*226-227
Definition gclib.vb:745
byte of Header.*UB header_2
/*02
Definition gclib.vb:640
C axis auxiliary position.*SL axis_c_velocity
/*174-177
Definition gclib.vb:726
E axis velocity.*SL axis_e_torque
/*250-253
Definition gclib.vb:753
H axis position error.*SL axis_h_aux_position
/*350-353
Definition gclib.vb:790
C axis switches.*UB axis_c_stop_code
/*157
Definition gclib.vb:721
Reserved.*SW reserved_10
/*36-37
Definition gclib.vb:668
B User defined variable.*[] UW axis_c_status
/*154-155
Definition gclib.vb:719
D axis switches.*UB axis_d_stop_code
/*193
Definition gclib.vb:734
G axis stop code.*SL axis_g_reference_position
/*302-305
Definition gclib.vb:774
B Hall Input Status.*UB axis_b_reserved
/*149
Definition gclib.vb:717
H axis stop code.*SL axis_h_reference_position
/*338-341
Definition gclib.vb:787
G axis torque.*UW axis_g_analog_in
/*326-327
Definition gclib.vb:780
A axis status.*UB axis_a_switches
/*84
Definition gclib.vb:694
D axis stop code.*SL axis_d_reference_position
/*194-197
Definition gclib.vb:735
G axis velocity.*SL axis_g_torque
/*322-325
Definition gclib.vb:779
Reserved.*UB ethernet_status_a
/*42
Definition gclib.vb:672
Reserved.*UB ethercat_bank
/*40
Definition gclib.vb:670
G axis position error.*SL axis_g_aux_position
/*314-317
Definition gclib.vb:777
D axis auxiliary position.*SL axis_d_velocity
/*210-213
Definition gclib.vb:739
Buffer space Contour Mode.*UW s_plane_segment_count
/*62-63
Definition gclib.vb:685
D axis status.*UB axis_d_switches
/*192
Definition gclib.vb:733
B axis stop code.*SL axis_b_reference_position
/*122-125
Definition gclib.vb:709
E axis position error.*SL axis_e_aux_position
/*242-245
Definition gclib.vb:751
F axis switches.*UB axis_f_stop_code
/*265
Definition gclib.vb:760
Amplifier Status.*UL contour_segment_count
/*56-59
Definition gclib.vb:683
B axis status.*UB axis_b_switches
/*120
Definition gclib.vb:707
F axis analog input.*UB axis_f_halls
/*292
Definition gclib.vb:768
B axis auxiliary position.*SL axis_b_velocity
/*138-141
Definition gclib.vb:713
Reserved.*SW reserved_6
/*32-33
Definition gclib.vb:666
E axis stop code.*SL axis_e_reference_position
/*230-233
Definition gclib.vb:748
B axis switches.*UB axis_b_stop_code
/*121
Definition gclib.vb:708
distance traveled in coordinated move for T plane.*UW t_plane_buffer_available
/*80-81
Definition gclib.vb:692
C axis stop code.*SL axis_c_reference_position
/*158-161
Definition gclib.vb:722
Reserved.*SL axis_h_variable
/*366-369
Definition gclib.vb:796
E axis switches.*UB axis_e_stop_code
/*229
Definition gclib.vb:747
Ethernet Handle H Status.*UB error_code
/*50
Definition gclib.vb:680
A axis analog input.*UB axis_a_halls
/*112
Definition gclib.vb:703
Ethernet Handle D Status.*UB ethernet_status_e
/*46
Definition gclib.vb:676
F axis auxiliary position.*SL axis_f_velocity
/*282-285
Definition gclib.vb:765
E axis auxiliary position.*SL axis_e_velocity
/*246-249
Definition gclib.vb:752
Ethernet Handle C Status.*UB ethernet_status_d
/*45
Definition gclib.vb:675
A axis velocity.*SL axis_a_torque
/*106-109
Definition gclib.vb:701
byte of Header.*UW sample_number
/*04-05
Definition gclib.vb:642
A axis auxiliary position.*SL axis_a_velocity
/*102-105
Definition gclib.vb:700
F axis status.*UB axis_f_switches
/*264
Definition gclib.vb:759
E Hall Input Status.*UB axis_e_reserved
/*257
Definition gclib.vb:756
H axis motor position.*SL axis_h_position_error
/*346-349
Definition gclib.vb:789
F User defined variable.*[] UW axis_g_status
/*298-299
Definition gclib.vb:771
A axis motor position.*SL axis_a_position_error
/*94-97
Definition gclib.vb:698
G axis switches.*UB axis_g_stop_code
/*301
Definition gclib.vb:773
C axis status.*UB axis_c_switches
/*156
Definition gclib.vb:720
C User defined variable.*[] UW axis_d_status
/*190-191
Definition gclib.vb:732
E axis motor position.*SL axis_e_position_error
/*238-241
Definition gclib.vb:750
E axis torque.*UW axis_e_analog_in
/*254-255
Definition gclib.vb:754
H axis auxiliary position.*SL axis_h_velocity
/*354-357
Definition gclib.vb:791
G User defined variable.*[] UW axis_h_status
/*334-335
Definition gclib.vb:784
H User defined variable.*[] byte_array()
F axis velocity.*SL axis_f_torque
/*286-289
Definition gclib.vb:766
D axis torque.*UW axis_d_analog_in
/*218-219
Definition gclib.vb:741
B axis reference position.*SL axis_b_motor_position
/*126-129
Definition gclib.vb:710
Reserved.*SL axis_b_variable
/*150-153
Definition gclib.vb:718
E axis analog input.*UB axis_e_halls
/*256
Definition gclib.vb:755
Reserved.*SL axis_f_variable
/*294-297
Definition gclib.vb:770
G axis analog input.*UB axis_g_halls
/*328
Definition gclib.vb:781
B axis torque.*UW axis_b_analog_in
/*146-147
Definition gclib.vb:715
F axis torque.*UW axis_f_analog_in
/*290-291
Definition gclib.vb:767
A Hall Input Status.*UB axis_a_reserved
/*113
Definition gclib.vb:704
C axis position error.*SL axis_c_aux_position
/*170-173
Definition gclib.vb:725
Ethernet Handle G Status.*UB ethernet_status_h
/*49
Definition gclib.vb:679
F Hall Input Status.*UB axis_f_reserved
/*293
Definition gclib.vb:769
H axis analog input.*UB axis_h_halls
/*364
Definition gclib.vb:794
G axis motor position.*SL axis_g_position_error
/*310-313
Definition gclib.vb:776
C axis reference position.*SL axis_c_motor_position
/*162-165
Definition gclib.vb:723
H axis reference position.*SL axis_h_motor_position
/*342-345
Definition gclib.vb:788
C axis motor position.*SL axis_c_position_error
/*166-169
Definition gclib.vb:724
coordinated move status for S plane.*SL s_distance
/*66-69
Definition gclib.vb:687
byte of Header.*UB header_1
/*01
Definition gclib.vb:639
D axis motor position.*SL axis_d_position_error
/*202-205
Definition gclib.vb:737
F axis position error.*SL axis_f_aux_position
/*278-281
Definition gclib.vb:764
G axis reference position.*SL axis_g_motor_position
/*306-309
Definition gclib.vb:775
byte of Header.*UB header_3
/*03
Definition gclib.vb:641
Ethernet Handle B Status.*UB ethernet_status_c
/*44
Definition gclib.vb:674
A axis stop code.*SL axis_a_reference_position
/*86-89
Definition gclib.vb:696
A axis torque.*UW axis_a_analog_in
/*110-111
Definition gclib.vb:702
B axis motor position.*SL axis_b_position_error
/*130-133
Definition gclib.vb:711
A User defined variable.*[] UW axis_b_status
/*118-119
Definition gclib.vb:706
G axis auxiliary position.*SL axis_g_velocity
/*318-321
Definition gclib.vb:778
A axis switches.*UB axis_a_stop_code
/*85
Definition gclib.vb:695
thread status *UL amplifier_status
/*52-55
Definition gclib.vb:682
C axis torque.*UW axis_c_analog_in
/*182-183
Definition gclib.vb:728
Reserved.*SL axis_g_variable
/*330-333
Definition gclib.vb:783
Segment Count for Contour Mode.*UW contour_buffer_available
/*60-61
Definition gclib.vb:684
D axis analog input.*UB axis_d_halls
/*220
Definition gclib.vb:742
Reserved.*SL axis_a_variable
/*114-117
Definition gclib.vb:705
EtherCAT Bank Indicator.*UB reserved_14
/*41
Definition gclib.vb:671
G Hall Input Status.*UB axis_g_reserved
/*329
Definition gclib.vb:782
Buffer space S Plane.*UW t_plane_segment_count
/*72-73
Definition gclib.vb:689
C axis analog input.*UB axis_c_halls
/*184
Definition gclib.vb:729
Ethernet Handle E Status.*UB ethernet_status_f
/*47
Definition gclib.vb:677
D Hall Input Status.*UB axis_d_reserved
/*221
Definition gclib.vb:743
F axis stop code.*SL axis_f_reference_position
/*266-269
Definition gclib.vb:761
Buffer space T Plane.*UW axis_a_status
/*82-83
Definition gclib.vb:693
Reserved.*SL axis_c_variable
/*186-189
Definition gclib.vb:731