GML commander run mode won't stay on

euipfacil

Member
Join Date
Mar 2004
Location
Kunshan China at the moment
Posts
53
I got the software with what I was told was the original program with a slight modification, I opened the program, stopped the program, went online (no problem) uploaded the program (using "all") and then attempted to download the program I had open. The download procedure didn't complete and gave an "abort download failure" so I decided I would just start the program back and come back later...it started, showed it ran through but still shows "prog stopped" in the right hand bottom corner. Now no matter what I do the program will not stay running. I have flex IO (one input, one output) that have no inputs or outputs lit. What am I doing wrong? Did a portion of the program load and corrupt the rest? Help my machine is now down!
LR
 
If the program does not contain print blocks to display what is going on in the terminal window (lower right) then you will have do look at the axis and system status variables to see what happened (lower left).

IIRC, you should be able to scroll up and down and look for things like "System Status", "Axis Status" (for each axis), "Axis Fault", etc.

Also, look at the LED indicators on the system module and axis modules. (1394?)

If the status variables are numeric, the help file and manuals will help you decode them.

If all the status indicators are okay, then you'll need to figure out what is going on with the program.

When you uploaded the program, you uploaded the compiled script. You cannot upload a GML diagram.

Also, when you downloaded, did you download the script or the GML program?

Paul
 
Last edited:
The led is green on the servo and the green led on the axis module is flashing. in the lower right hand corner it shows "no fault" but however when I hit the go button it looks as though no program exist show "running" then "finished" then turns right back off.
 
To figure out why the dowload aborted, we need to examine several possibilities.

Bear in mind it has been over three years since I touched GML and I am working purely from memory.

Also, I believe I understand that you were attempting to "Download GML diagram", not the script...the rest of this is based on that assumption...

PC OS compatibility. We were able to run successfully using windows 2000, so I would expect that it should work just fine using XP.

Serial port problems. Are you using a real serial port? Are there any other programs that could be interfering? Do you have any trouble conneting? Do you see the normal stuff in the terminal window when you connect?

System Module Firmware. Does the firmware in the controller match the firmware chosen in the GML diagram?

System and axis setups. Are all of the settings in the diagram for the system module and the axes correct?

Does the diagram validate? To find out, perrom an operation called translate to script. It will compile the GML diagram and create a txt file of the generated script.
 
Last edited:
Another way to find problems in the diagram is to use the "test diagram" function from the "diagram" pull down menu. It will run through the diagram and stop to highlight problems. You can do this either on or off-line.

While on-line, and after the program aborts, look in the lower left window and click on "General System Variables" That brings up a list in the lower middle window. Look for Global Fault and then Runtime fault. Use the help funtion to find out what the variable values mean.

When it aborts, what does it say in the lower right window? This may help you find the problem.

Assuming the diagram you have on your laptop is ok, and as an absolute last resort, you can initialize the controller (system module) then download the diagram again. It's been a while since I've done this. You can do it one of two ways.

Do you have the manuals? I did some searching on the AB web site and came up with these...

1394 manual
http://literature.rockwellautomation.com/idc/groups/literature/documents/um/1394-um000_-en-p.pdf

GML manuals
see page 807 of this one for initialization instructions...
http://literature.rockwellautomation.com/idc/groups/literature/documents/rm/gmlc-rm002_-en-p.pdf

http://literature.rockwellautomation.com/idc/groups/literature/documents/in/gmlc-in003_-en-p.pdf

http://literature.rockwellautomation.com/idc/groups/literature/documents/tg/gmlc-tg004_-en-p.pdf
 
euipfacil said:
The led is green on the servo and the green led on the axis module is flashing. in the lower right hand corner it shows "no fault" but however when I hit the go button it looks as though no program exist show "running" then "finished" then turns right back off.
Just a guess here. If I remember correctly, solid green on the system module and flashing green on the axis module means that everything is ok, but "feedback" for that axis is off. No this does not mean that the physical position feedback is gone, but rather, the servo controller can see the position of the motor but doesn't care. The axis is powered but "relaxed". The axis can be moved by an external force but the controller won't fight back to maintain position. If "feedback" was on, the servo would resist and try to maintain current position of the axis.

If you execute a command who's intent is to move the axis while feedback is off, you'll get a runtime fault and the program will end.

Then again, you're not getting far enough to execute commands.
 
OK I now have it back on line. I was sent a corrupt program that I tried to load which faulted the servo (or had missing information). I was sent a new program which I loaded that also had some bugs. After hours of trouble...I finally got it back clicking. Only one other problem exist...The axis0 "build table" has 3999 steps, originally it was set to 1999 (2000 increments), when the program is running if the encoder reaches 1999 it will reset itself right? OK, I went back and added from 2000 to 4000 (3999 increments)...when I made this change it wouldn't download and gave an error saying the maximum runtime limit had been exceeded or something like that more or less said the program size was above the maximum limit...memory exceeded. I reduced this number until it would download (3000). Now my cutter will cut to 3 meters instead of 2 meters. Has anyone ever had this problem before? what can I do to enable 4000 to be enetered?
 
euipfacil said:
...The axis0 "build table" has 3999 steps, originally it was set to 1999 (2000 increments), when the program is running if the encoder reaches 1999 it will reset itself right?

Gosh, it has been so long, I am stuggling to remember the correct terms.

I never heard the term 'build table' before.

How is axis 0 set up (linear or rotary)? If the moves are programmed in engineering units (inches, feet, meters, mm), then the k-constant is probably wrong.

Go to axis 0 configuration and look at the k-constant.

euipfacil said:
OK, I went back and added from 2000 to 4000 (3999 increments)...when I made this change it wouldn't download and gave an error saying the maximum runtime limit had been exceeded or something like that more or less said the program size was above the maximum limit...memory exceeded. I reduced this number until it would download (3000). Now my cutter will cut to 3 meters instead of 2 meters. Has anyone ever had this problem before? what can I do to enable 4000 to be enetered?

Are you changing the number of items in a cam table? I would have to know more about the system to be able to understand what is meant by your last paragraph.

Paul
 
ID 26224Question TrendX Error: Unable to bit blit Cannot draw.
trnsp.gif
Answer Problem:
The following error message appears in the Activity Bar while using RSTrendX ActiveX Controls.

TrendX Error: Unable to bit blit Cannot draw.

Cause:
Under most circumstances, TrendX is drawn to an off-screen bitmap and then the off screen bitmap is BitBlt()'d into place. This is done as a speed optimization, but if the BitBlt() fails, the cryptic error message about the BitBlt() failing is displayed.

Solution:
1). One option is to disable any screen savers which are currently being used while using RSTrendX. (this is the perferred solution)

2). The other option to suppress the error message would be to set the TrendX window style to transparent. When the window style is transparent, the drawing code can not use the off-screen bitmap for rendering and the BitBlt() call is not performed. The disadvantage with the transparent window style is that the drawing of TrendX is slower which can affect performance.

Additional Information:
Bit blit (bitblt, blitting etc.) is a computer graphics operation in which two bitmap patterns are combined into one. The name derives from the BitBLT machine instruction for the Xerox Alto computer, standing for "Bit Block Transfer". The pronunciation of BLT as "blit" dates back to block-transfer instructions on earlier computers. The development of fast methods for various bit blit operations was key in the evolution of computer displays from using character graphics, to using bitmap graphics for everything. Blitting is similar to sprite drawing, in that both systems reproduce a pattern, typically a square area, at different locations on the screen. Sprites have the advantage of being stored in separate memory, and therefore don't disturbe the main display. This allows them to be moved about the display, representing the "background", with no effect on it.

Blitting moves the same types of patterns about the screen, but does so by writing into the same memory as the rest of the display. This means every time the pattern is placed on the screen the display "under" it is overwritten, or "damaged". It is up to the software to clean this damage up by blitting twice, once to remove the damage, and then again to place the bit in its new location. As one might imagine, this makes blitting somewhat slower than sprite manipulation. However, blitting has one very big advantage, there's no physical limit to the number of patterns you can blit. Thus you can use blitting to display anything on the screen, including simulated sprites, whereas sprites are limited in number.

When first introduced the computers CPU typically had difficulty moving the bitmaps around in memory fast enough to be able to use blitting as the primary method of text display. For some time in the 1980's many home computers included either a co-processor or a special-purpose chip known as a blitter for this task. The CPU would send the bit blit operations to the blitter, which would then carry out the operation much faster than the CPU could. Modern graphics accelerators can be regarded as descendants of the early "blitters".
Problem: The following error message appears in Activity Bar while using RSTrendX ActiveX Controls. TrendX Error: Unable to bit blit Cannot draw.
Cause: Under most circumstances, TrendX is drawn to an off screen bitmap and then the off screen bitmap is BitBlt()d into place. This is done as a speed optimization, but if the BitBlt fails, the cryptic error message about the BitBlt failing is displayed.
Verify:
Cure: 1). One option is to disable any screen savers which are currently being used when using RSTrendX. (this is the perferred solution)

2). The other option to suppress the error message would be to set the TrendX window style to transparent. When the window style is transparent, the drawing code can not use the off screen bitmap for rendering and the BitBlt() call is not performed. The disadvantage with the transparent window style is that the drawing of TrendX is slower which can affect performance.
Prevention: Disable Screen Saver
Catalog Number:
DocFullNum: E57938295
Revision:N/A
Fixed in Revision:
Package:
Modual:
DISCLAIMER
This knowledge base web site is intended to provide general technical information on a particular subject or subjects and is not an exhaustive treatment of such subjects. Accordingly, the information in this web site is not intended to constitute application, design, software or other professional engineering advice or services. Before making any decision or taking any action, which might affect your equipment, you should consult a qualified professional advisor.

ROCKWELL AUTOMATION DOES NOT WARRANT THE COMPLETENESS, TIMELINESS OR ACCURACY OF ANY OF THE DATA CONTAINED IN THIS WEB SITE AND MAY MAKE CHANGES THERETO AT ANY TIME IN ITS SOLE DISCRETION WITHOUT NOTICE. FURTHER, ALL INFORMATION CONVEYED HEREBY IS PROVIDED TO USERS "AS IS." IN NO EVENT SHALL ROCKWELL BE LIABLE FOR ANY DAMAGES OF ANY KIND INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS PROFIT OR DAMAGE, EVEN IF ROCKWELL AUTOMATION HAVE BEEN ADVISED ON THE POSSIBILITY OF SUCH DAMAGES.

ROCKWELL AUTOMATION DISCLAIMS ALL WARRANTIES WHETHER EXPRESSED OR IMPLIED IN RESPECT OF THE INFORMATION (INCLUDING SOFTWARE) PROVIDED HEREBY, INCLUDING THE IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, AND NON-INFRINGEMENT. Note that certain jurisdictions do not countenance the exclusion of implied warranties; thus, this disclaimer may not apply to you.




[font=Helvetica,Arial,Geneva]Copyright © 2006-2008 Rockwell Automation. All rights reserved.[/font]
 
Okie...how did you manage a double post from another thread! That takes talent!

Back to the original subject. What kind of machine is this? I use cam tables in our 1394 to run a flying cut saw but only use about 200 points in the cam table, so I can't help with the huge build table question.

If you can't figure out a way to expand the table size, then I would suggest looking at the motion profile that it creates. If there are linear sections where the slave to master realtionship is constant (like gearing) then you can remove points from within that straight section. Simply leave a few points at the beginning and end of the straight section and the system will connect the points.

I did this with mine after finding some odd jerky motion along the cut section where slave to master is constant. I removed almost all the points in the middle. Leaving only the acceleration, deceleration and bits of the beginning and end of the cut motion. The saw's motion got much smoother. This also reduced the number of cam points by about 50%.

Who sent you the new program? You need to ask them how they were able to use it if it's crashing your system. Has it ever been tested?
 
wildswing said:
Okie...how did you manage a double post from another thread! That takes talent!

I thought I deleted it here. It was one of those "step away for a beer" moments and when I came back, the reply window was open and I was thinking about bit blitting, thinking that was where I was in the forum...I quickly caught it after posting and hit the "delete message", but it obviously did not go through.
 
It is a flying cut machine with a linear motion. The master and slave relationship is what I have been working with. so you are saying that I can omit the numbers between 2000 and about 3998 and only add in the last few like 3997, 3998, 3999, 4000 at the end of the table and the program will fill the rest? The company that build the machine sent me the program but they only designed it to cut a 2 meter length as time went along we needed to increase the length possibility to approximately 3 or 4 meters. Now I have it to where it will cut about 3 meters by incrementing the master slave table higher (3000). Just don't understand why it will not accept 4000...well it will accept just not download.
 

Similar Topics

1394 Assistance Needed I have qty 8 1394 units in various states of repair that I need to repair and test. 1394C-SJT05-T 1394C-SJT05-T-RL...
Replies
0
Views
2,096
We have a machine with an Allen-Bradley 1394-SJT10-C multi-axis motion controller with two axis modules, both 1394-AM75. One of the axis module's...
Replies
20
Views
10,192
GML Commander, OKIEPC, I am trying to contact you, your inbox email is full, please contact me asap. I am in OKC, OK., I can use your experience...
Replies
2
Views
1,740
I have a 1394c-SJT05-C-RL Servo controller. The unit powers up. I cannot communicate using GML Commander. The light is blinking red on/off. Any...
Replies
1
Views
1,919
Where can I obtain a copy for use with 4100-234-R IMC ?
Replies
0
Views
1,958
Back
Top Bottom