Skip to main content
Submitted by ErikT on Tue, 10/13/2009 - 10:23

I've recently discovered what I believe to be a couple bugs in GalilTools.

I have several machines using DMC-2240 Galil motion controllers running firmware "Rev 1.0sF6a". (I believe there is also a DMC-2260 with the same firmware that behaved in the same way).

I was attempting to download the array data from these motion controllers for backup purposes. (Note I'm grateful for the CSV file format you use now vs. the text files from the old SmartTerm). The controller contains several arrays:

CURRENT - 20 elements
INPUT - 3 elements
MASKED - 50 elements
OUTPUT - 3 elements
UNIOP - 2000 elements (used to communicate with the Exor Uniop series of HMIs)

At the time of download, the CURRENT array was (as far as I can tell) full of zeros - it is only used temporarily and the way the program runs clears it as it goes.

Telling GalilTools to download generated no error messages, and created a CSV file on my desktop with the name I requested. I then opened the CSV file in Excel, quickly made some edits to the UNIOP array, and attempted to upload it again. I then received the error message
[code]
2010 COMMAND ERROR. Galil::command("QD CURRENT[] 0,") got ? instead of : response. TC1 returned "84 Too many elements"
[/code]

This was very strange, so I did a deallocate all command and attempted to upload again, but the same error occurred. I then looked at the CSV file in more detail and noticed that the CURRENT column only had one element in it. GalilTools did not download all 20 empty zeros, it only put [b]one[/b] zero and then all subsequent lines in the CSV file simply have a comma, like so:

[code]
CURRENT,INPUT,MASKED,OUTPUT,UNIOP
0,1,1,0,1
,0,0,0,0
,129,0,0,129
,,0,,0
,,0,,0
,,0,,0
,,0,,0
,,0,,13815.3076
,,0,,12007
,,0,,12198.6694
,,0,,12227
,,0,,4400
,,0,,3918.8232
,,0,,4660
,,0,,2
,,0,,0
(trimmed to keep a reasonable length)
[/code]

I then went back into Excel and deleted the CURRENT column and attempted to transfer the arrays back to the motion controller with the new CSV file, and everything worked fine.

[code]
:
Downloaded arrays from C:\Documents and Settings\Erik\Desktop\machine 6 arrays MODIFIED2.csv
[/code]

This highlights two things:

1. GalilTools is not properly downloading arrays populated only with zeros - it is cropping them down to one element

2. GalilTools will not upload an array with only one element that is a zero - it gives a cryptic error message

I'm not sure why you'd want to create an array with only one element, but as far as I can tell the controller allows you to do this so I suppose GalilTools should be able to handle transferring them back to the controller properly.

[size:8pt]Incidentally, this leads me to a giant nitpick I have about the terminology 'upload' and 'download'. When I am using a computer, I 'download' files to it and 'upload' files away from it to other computers. This is how it works on web browsers, IM clients, network file management, USB flash drives, and so on.

It seems software that deals with connected "industrial" devices - like GalilTools - never really makes consistent use of these terms and nearly every time I use GalilTools I get the upload/download convention backwards. I'm aware that you'd confuse a lot of users if you changed it now, but it really should be 'upload to controller from PC' and 'download from controller to PC' because I'm using the PC, not the controller, and the data is flowing away (uploading) when I transfer a program to the controller, and so on.

What has helped me greatly in programs that have this backwards, as GalilTools does - and not all of the software I use [i]does[/i] have this backwards, making it worse - is having icons that point to the device and away from the device. If your download icon pointed at a black box with a 'G' in it, I'd be much less likely to get it wrong. The hints in the status bar at the bottom of the window help as well, but with all the stuff I need to juggle around on my laptop screen, they are frequently covered up.

That concludes my rant, haha, thanks for reading it.[/size]

Comments 3

Galil_AndyH on 10/13/2009 - 14:29

Erik,

I am not having any problems with the uploading and downloading of arrays as you have described. I can download and upload arrays of 1 to the maximum number of array elements available on the controller. The contents of the arrays has no effect, they can be 0 or non-zero.

Can you e-mail a .csv file that fails the download to support@galilmc.com so we can narrow down the exact issue?

As for the upload/download terminology. You are correct, we have kept the definitions static because at this point we would just cause more confusion by changing things. As you know the software "Downloads To" the controller and "Uploads From" the controller. Either way, your suggestion about the icon change is a good idea and will be considered for future revisions. Thank you for the feedback.

ErikT on 11/03/2009 - 08:07

[quote=AndyH]Erik,
Can you e-mail a .csv file that fails the download to support@galilmc.com so we can narrow down the exact issue?[/quote]

Andy,

I have emailed a file to the address above as requested. Unfortunately I goofed up and sent the email with the wrong attachment the first time (it has a file that will upload just fine) so please disregard the first message and look for the one whose subject begins with (FIXED).

Thanks!

Galil_AndyH on 11/03/2009 - 13:07

This problem was a result of a specific version of DMC-2200 firmware. There is no bug with the GalilTools software.