`
`GM|1"
`
`Graphical Motion Control Language
`
`GML Programmefis Workshop
`User Manual
`
`Software Version 3.4
`
`for the Windows" Operating System
`
`°Pa*ge 1 of 59
`
`RAV. AMS
`
`Ex. 1021
`
`Page 1 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`COPYRIGHT
`
`© 1992, 1993 by .Al1en—Brad1ey Company. No part of
`this publication may be reproduced, transmitted, tran-
`scribed, stored in a retrieval system, or translated into
`any language in any form by any means without the ex-
`press written permission of Allen-Bradley.
`
`DISCLAIMER
`
`The information contained in this document is subject
`to change without notice and should not be construed as
`a commitment by Allen-Bradley Co- Allen-Bradley as-
`sumes no responsibility for any errors that may appear.
`
`TRADEMARKS
`
`IMC and GML are trademarks ofAl1en-Bradley C0.
`Microsoft and MS-DOS are registered trademarks, and
`Windows is a trademark of Microsoft Corporation.
`IBM is a registered trademark of International Busi-
`ness Machines Corporation.
`
`'
`
`Page 2 of 59
`
`Pn'ntadinUSA
`
`RA V. AMS
`
`1021
`
`Page 2 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`GML Programmer’s Workshop User Manual
`
`i
`
`Contents
`
`Introduction ....................................................................................... .. 1
`A Word to the Wise ........................................................................ .. 3
`
`PC Configuration ............................................................................ ._4
`
`Getting Started .................................................................................. .. 5
`Back—Up Your Disk ......................................................................... .. 5
`Install GML ..................................................................................... .. 5
`Run GlVlL ......................................................................................... ..6
`
`Learning GMI. .................................................................................... ..7
`The Diagram Window .................................................................... ..7
`Getting Help .................................................................................... ..8
`Setting GML Preferences ............................................................. .. 10
`Working with Blocks .................................................................... .. 13
`Adding Blocks ......................................................................... .. 13
`Connecting Blocks or Modules .............................................. ..14
`Moving Blocks ........................................................................ .. 15
`Disconnecting Blocks ............................................................. .. 15
`Moving Connection Lines ...................................................... .. 15
`Encapsulating Blocks into Modules ...................................... .. 16
`Cutting, Copying, and Pasting Blocks .................................. .. 17
`Using Change, Insert Between, and Swap ........................... .. 18
`Spacing and Aligning Blocks ................................................. .. 20
`Snap To Grid .......................................................................... .. 21
`Entering Block Parameters ......................................................... .. 21
`Expressions ............................................................................ .. 22
`Variables, Constants, and I/O ............................................... ..22
`Testing Diagrams ......................................................................... .. 23
`Saving Diagrams .......................................................................... _. 23
`Printing Diagrams ........................................................................ .. 24
`Navigating Complex Diagrams .................................................... .. 25
`Using the Windows Menu ..................................................... .. 25
`Searching a Diagram Using Find and Find Again ............... .. 26
`Converting a Diagram to a Script ................................................ .. 27
`Downloading a Diagram .............................................................. .. 28
`Quitting GML ............................................................................... ..28
`
`GML Tutorial .................................................................................... .. 29
`
`999-101
`
`_
`
`11 /1 7/93
`Page 3 of 59
`
`RA V_ AMS
`
`Ex. 1021
`
`_
`
`Page 3 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`ii
`
`GML Programmer’s Workshop
`
`Page 9 %fw519
`
`RA1€/{mg
`EX. 1021
`
`Page 4 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`User Manual
`
`Introduction
`
`1
`
`GML—the exclusive Graphical Motion Control Language from
`Allen—Bradley—is a revolutionary tool which reduces the learning
`curve of motion control programming and makes problem-solving eas-
`ier for non-programmers. GML Programmefs Workshop provides an
`integrated software development and debugging environment for us-
`ing GML to solve your motion control problem. Development of the
`GML diagram is carried out using the GML Programniefs Workshop
`software Within the Windowsn“ operating system environment on
`your PC.
`
`GML uses a natural, flowchart-oriented approach to motion con-
`trol programming. A diagram of the desired application solution is
`produced by placing function blocks representing the desired actions
`on the screen and connecting them in the proper order to achieve the
`desired sequence of operations. Motion and process details are en-
`tered later using a fill—in-the-form approach. After the diagram is
`completed, it is translated into a program or script in the native lan-
`guage of the motion controller. This application program—which
`gives the motion controller its personality for each different applica-
`tion—-is then downloaded to the motion controller. While the PC is re-
`
`quired for application program development, it is not needed for the
`final turn-key application.
`
`GML Programmer’s Workshop is available as a separate software
`package for each family of Allen-Bradley motion controllers. The
`available GML features depend on the motion controller family. A
`brief description of each of the available GML Progr-ammer’s
`Workshop packages follows.
`
`999-101
`
`11 / 7/ 93
`age 5 of 59
`
`RA V. AMS
`
`l3_X. 1_0;1
`
`Page 5 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`GML Programmer’s Workshop
`
`GML for IMC S Class (GML—D-S) is the GML
`Programmer’s Workshop package for all IMO S
`Class motion controllers. It includes a fully func-
`tional Online Manager for real—time communica-
`tion With the motion controller. Upload and
`download capabilities for GML diagrams as well
`as setup parameter, user variable, and cam table
`values are provided. GML diagrams can be traced
`and debugged graphically (blocks are highlighted
`as they are executed in the motion controller) al-
`lowing you to visually follow execution of the pro-
`gram. In addition, breakpoints may be easily in-
`serted and monitored While the program executes.
`The program may also be paused and resumed or
`executed step-by-step to verify proper operation.
`Individual GML icons may be executed direct1y—
`sending immediate commands to the motion con-
`tro1ler—for testing and troubleshooting applica-
`tion problems. Variable values may also be indi-
`vidually read at any time while the program is ex-
`ecuting for monitoring purposes.
`
`GML for the IMC-201 (GML—D—A) is the GML
`
`Programmer’s Workshop package for the IMC—201
`and the MAX/CONTROL. It includes an Online
`
`Manager for real—time communication with the
`motion controller. Download capability for GML
`diagrams as well as direct access to the motion
`control1er’s setup menus are provided. The pro-
`gram may be paused and resumed or executed
`step-by-step to verify proper operation. Individual
`GML icons may be executed directly—sending
`immediate commands to the motion controller—
`
`for testing and troubleshooting application prob-
`lems. Variable values may also be individually
`read at any time while the program is executing
`for monitoring purposes.
`
`2 G
`
`ML for
`[MC S Class
`
`GML for the
`IMC-201
`
`Page
`
`11/17/93
`RAV. AMS
`
`mmE><,.1Q21
`
`Page 6 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`User Manual
`
`3
`
`GML for the
`
`GML for the IMC Classics (GML-D—M) is the GML
`
`IMC Classics
`
`Program1ner’s Workshop package for the IMC 110,
`120, 120AR, 121, 123, and 123CR. It requires the
`appropriate ODS (Offline Development System)
`software for your motion controller to compile,
`download, and debug the MML program gener-
`ated from a GML diagram. No Online Manager is
`provided.
`
`A Word to the Wise...
`
`GML is designed to reduce the learning curve of motion control
`programming and make problem solving easier for non-programmers.
`Make no mistake, however, you still need a basic understanding of
`the problem you are trying to solve and how to use GML to solve it.
`Advanced planning is necessary—GML cannot divine the functions
`and operations you need to solve you particular application problem.
`Examples of how some problems can be solved are provided, but they
`do not offer a specific solution for every application.
`
`999-101
`
`_
`
`i___-
`
`11/17/93
`Page 7 of 59
`
`RA V_ AMS
`
`_ _ _ _ _ _7,Ex.l02l,
`
`Page 7 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`4
`
`GML Programmer’s Workshop
`
`PC Configuration
`
`To use GML, you need an MS-DOS compatible PC with the follow-
`ing configuration:
`
`' 386 class CPU (486 class recommended)
`
`0 2 Mbyte RAM (4+ Mbyte recommended)
`0 Microsoft® Windowsm 3.0 (3.1 recommended)
`0 MS-DOS 5.0 (6.0 recommended)
`- EGA Screen (VGA or Super VGA recommended)
`' Windows compatible mouse and driver
`* 3.5 inch High Density (1.44 Mbyte) floppy disk drive
`0 Two serial ports (COM1 and COM2)
`
`You should be familiar with the operation of l\/[icrosoft Windows
`and your motion controller before using GML Programmer’s
`Workshop. See your Microsoft Windows User’s Guide, MS-DOS Oper-
`ating System Guide, and the documentation supplied with the specific
`motion controller you are using.
`
`Page gggfl
`
`RA];/fA71/\/9[Ԥ
`Ex. 1021
`
`Page 8 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`User Manual
`
`Getting Started
`
`5
`
`To use GML, you must first install it on your hard drive, following
`the instructions in this section. After installing GML (and optionally
`connecting your motion controller to the PC), use the remainder of
`this manual to learn about GML. For a quick introduction to building
`a GML diagram, go to the Learning GML section. If you would like to
`create an example application step by step, do the GML Tutorial.
`
`Back-Up Your Disk
`
`We recommend that you make a back—up copy of the GML distri-
`bution disk. Use the MS-DOS DISKCOPY command (see the User
`Reference section of your MS—DOS Manual) to do this. After you have
`made a copy of the GML for Windows disk, put the original in a safe,
`dry place and use it only if the copy is damaged or destroyed.
`
`it is a violation of Federal Copyright
`WARNING:
`Law to copy your GML Programmer’s Workshop disk ex-
`cept for back—up purposes to guard against accidental
`loss or damage. No part of the software contained on
`your GML Programmers Workshop disk may be repro-
`duced, transmitted, or transferred without the prior writ-
`
`ten ermission of Aiien—Bradie Coman .
`
`Install Gl\/[L
`
`GML is supplied on a single 3.5 inch high density (1.4MB) floppy
`disk as a self-installing executable file. The GML installation program
`must be run from within Windows. To run the Install program,
`
`1.
`
`Insert the copy of the GML for Windows distribution diskette
`in the disk drive (for example drive A:).
`2. Run the SETUREXE program on this disk using the Win-
`dows File Manager application, or choose Run from the File
`menu in the Windows Program Manager application and en-
`ter A:SETUP.
`
`999:101
`
`11 17/9
`age of59
`
`RAV. AMS
`
`Ex.1021
`
`Page 9 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`6
`
`GML Programmer’s Workshop
`
`3. Follow the instructions on the installation program screens to
`complete the installation process.
`
`The installation process places all GML files in the specified GML
`directory path and creates a Windows Program item called GML. A
`Read Me file is included which includes the latest up-to-date informa-
`tion about GML. Use the GML Script Editor—or any other DOS or
`Windows text editor—to read this document.
`
`Run GML
`
`If you have not already done so, install GML on the hard drive in
`your computer as explained in Installing GML earlier in this section.
`Start GML by double-clicking on the GML icon, as shown below.
`
`£_—‘I‘-:15!!!
`3}
`
`Click OK to dismiss the start—up screen, and momentarily the
`GML diagram window will appear.
`
`The diagram window is used to create or edit a GML diagram
`which shows a motion control program as a sequential flow of events.
`Special
`icons called blocks represent actions and decisions.
`Connections link blocks in a specified order to show relationships and
`program flow. Double—clickJ'.ng on a block opens it and displays its pa-
`rameter definition dialog. The parameter definition dialogs allow you
`to View and set parameter values for the block.
`
`Page 1%9%iw5z9
`
`RAIVI./fA71/\7913’s
`Ex. 1021
`
`Page 10 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`User Manual
`
`Learning GML
`
`7
`
`This section explains how to use the features and tools in the
`GML Programmer’s Workshop to create, edit, translate, and down-
`load GML diagrams. This information is presented in roughly the or-
`der you are likely to need it, but feel free to jump around to find what
`you need.
`
`The Diagrain Window
`
`When you first run GML, your diagram window looks like this.
`
`Language or Controller Block palette
`
`I§_
`
`Menu bar
`Module pop-up menu
`
`
`GML
`flil
`
`
`GML-New Diagram
`El
`New Diafflm V
`
`|fi—
`IMC 3 Control Family
`
`
`
`NewDiagram
`
`
`
`New Diagram
`
`\/
`
`Diagram Name
`
`The diagram window includes a menu bar for defining and draw-
`ing diagrams, the standard Windows close box, grow boxes, and scroll
`bars.
`
`At the top of the diagram window is the Module pop-up menu and,
`to the left, the currently selected motion control family. Just below is
`
`999-101
`
`lllégg/e9"9l1 of 59
`
`RA V_ AMS
`EX. 102_1
`
`Page 11 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`8
`
`GML Programmefs Workshop
`
`the block palette containing frequently used blocks. If you are using a
`PC with a color monitor, notice that the blocks are color-coded accord-
`ing to related functions (motion blocks are green, etc.). Below the
`block palette is the empty diagram itself containing only the START
`and END blocks and the diagram name.
`
`Getting Help
`
`Choose GML Help from the Help menu to display the Help Topics.
`
`GML Help Topics
`
`Select help topic...
`
`Application Building
`Axis Usac
`Euildin a Diaram
`
`Constants
`Definitions
`
`Diagram Documentation
`Diagram Fundamentals
`Diagram Find
`Download Diagram
`Entering Elloek Parameters
`Expression Builder
`Module Info
`
`Online Manager
`Preferences
`
`Page 19 9o‘i°5’9
`
`EX. 1021
`
`Page 12 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`User Manual
`
`9
`
`Select the desired topic and click Help. Information on the se-
`lected topic is displayed, as shown below-
`
`
`
`
`
`Building a Diagram
`
`
`
`
`
`- A hlock may he added to a diagram by
`selecting from hlock lists found in the library I
`hrowser or the block pallette which is a
`subset of the hrowser. Connections are mad
`
`hy drawing lines from one hlock to another
`using the soldering iron tool .
`
`
`
`
`
`
`
`
`- Three tools aid in huilding a diagram: a
`pointer. a wire cutter, and a soldering iron.
`In general, the arrow selects and moves
`hlocl-rs. the soldering iron connects hlocks
`and the wire cutter removes connections.
`
`
`
`
`
`
`
`
`
`- One or more hlocks in a diagram may be
`defined as an object referred to as a module.
`A module is a block in a diagram that may
`
`he "blown u"to show more blocks. Each
`
`
`I]
`
`
`
`
`The Next and Previous buttons move forward or backward
`
`through the information. To get help on another topic, click Topics.
`To leave the help system, click Cancel.
`
`999401
`_
`
`Hl521l§l=.9‘l3 of 59
`
`RA V_ AMS
`_ _ _EX. 1021
`
`_
`
`Page 13 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`10
`
`GML ProgramJ:ner’s Workshop
`
`Setting GML Preferences
`
`GML allows you to turn certain features on and off, and to define
`how others are to function. These preferences may be set for a specific
`diagram, a specific session, or saved for future sessions. Choose
`Preferences from the File menu. The Preferences dialog box is dis-
`played, as shown below.
`
`GML - Preferences
`
`Control Family
`MC 5 Cnntml Fam"
`
`Help
`
`1'
`
`Diagram Drawing
`(5) Blocks ll'I Foreground
`Cl Connections in Foreground
`
`cancer
`
`D Novice Made
`Translation Options
`l El Generate comments
`El Color Display
`
`Colors
`
`|
`|
`
`Baud Rate
`
`9500
`
`COMM?
`
`‘'
`
`"
`
`Diagram Grid
`Snap to lfertical
`|:I snap to Hurizm-|ta|
`3eria| |nte|-face
`P“”
`
`Make sure the appropriate Control Family is selected from the
`Control Family pop-up menu, set any other preferences to your liking
`as explained below and then click OK or Save to close the Preferences
`dialog. OK stores your preferences as part of the current GML dia-
`gram only, while Save stores them in a separate GML Preferences file
`as well.
`
`The Preferences dialog also remembers the location and size of
`any open Diagram, Script Editor, or Online Manager window and
`uses these locations and sizes as the defaults for new windows. For
`
`example, if you want new diagrams to always be located on the top
`half of the screen and scripts to be located on the bottom half, locate
`the Diagram Window on the top half of the screen and a new Script
`
`Page 19 ‘96l“05Z9
`
`RA1\1z./IA71/\?Il'S
`_EX. 1021
`
`,
`
`___
`
`Page 14 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`
`
`Motion Controller...
`IMC—S/202. ..
`IMC—S/204...
`IMC-S/212. ..
`IMC-S/214. ..
`IMC-201
`MAX/CONTROL
`MAX4/CONTROL
`SA2
`IMC—110
`IlVIC—120
`IMC-120AR
`IlVIC—121
`IMC—123
`IMC-123CR
`
`
`and Select this
`Use This
`
`
`
`GML. ..
`
`Control Family
`IMC S Control
`IMC S Control
`IMC S Control
`IMC S Control
`MAX/IMC—201
`MAX/IMC-201
`MAX/IMC—201
`MAX/IMC-201
`IMC Classic
`IMC Classic
`IMC Classic
`IMC Classic
`IMC Classic
`IMC Classic
`
`User Manual
`
`11
`
`Window (choose New Script from the File menu) on the bottom half
`before choosing Preferences from the File menu.
`
`The available preferences are explained below.
`
`Control
`Family
`
`Select the motion controller family of which the
`motion controller you are using is a member. This
`setting determines the language used for translat-
`ing diagrams to programs, as shown below.
`
`Allen-Bradley GMC Motion Controller Families
`
`
`
`
`
`
`You must choose the appropriate motion controller
`family before creating a diagram. Some of the pro-
`gramming tools change according to the capabili-
`ties of the motion controller family. The specific
`motion controller within the family is chosen in
`the Hardware Options definition.
`
`999401
`
`1l’2l§é9F5 of 59
`
`RAV. AMS
`
`EX. 1021
`
`Page 15 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`12
`
`Diagram Grid
`
`Colors
`
`Translation
`
`Options
`
`Help
`
`Diagram
`Drawing
`
`Serial
`Interface
`
`GML Programmer’s Workshop
`
`The GML diagram is divided into an invisible
`grid. If either of the Snap to Grid options is se-
`lected, blocks placed in the diagram snap to the
`nearest corresponding grid location to help keep
`them aligned.
`
`On color monitors, GML displays blocks in color.
`Turn color off for black and White monitors.
`
`Vllhen a diagram is translated to a program, com-
`ments describing each action are automatically
`inserted if Generate Comments is selected.
`
`When Novice Mode is selected, the help text asso-
`ciated With each block is displayed automatically
`when the block is selected.
`
`This setting determines if blocks are drawn on top
`of connecting lines or vice versa. The normal set-
`ting is Blocks in Foreground which hides overlap-
`ping connecting lines behind blocks.
`
`Select the desired serial channel for motion con-
`troller communications. The default selection is
`COM2.
`
`Page 19 53%0519
`
`11/17/93
`RAV AMS
`1021
`
`Page 16 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`User Manual
`
`13
`
`Working with Blocks
`
`Blocks representing program functions are placed on the diagram
`between the
`
`and
`
`blocks. These blocks are always present in the diagram and cannot be
`deleted. Blocks are generally added left to right on the page. They are
`then interconnected to show the flow of program functions. Blocks can
`be moved around, and their connections can be changed to change
`program flow. Complex diagrams can be simplified by grouping
`(encapsulating) several blocks together.
`
`For easy comprehension and editing, try to have block connections
`flow from left to right or up to down. Limit the number of blocks in
`the Work space to 10 or less, and avoid forcing the use of scroll bars by
`making the diagram larger than your computer screen.
`
`Adding Blocks
`
`Blocks are added to the diagram from the block palette or from the
`library which contains all of the available blocks for the selected mo-
`tion controller. To add a block from the block palette, click on the de-
`sired block. It is highlighted and its title appears immediately below
`it. Place the block by clicking at the desired location in the diagram.
`
`If the desired block is not on the block palette, double—click any of
`the blocks there, or click on the library block at the far left of the
`block palette. Either method takes you to the library, but double-
`clicking a block palette block brings up the part of the library related
`to that block. The library shows all available blocks, including those
`on the block palette. Scroll to locate the desired block, click on it and
`then click the Select button to return to the diagram. Alternatively,
`you can double—click on a library block to both select it and return to
`the diagram. Place the block by clicking at the desired location.
`
`When the block is placed, the description below it is highlighted.
`Type in a new description if desired.
`
`999-101
`
`11 17/93
`age 17 of 59
`
`Page 17 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`14
`
`GML PrograInIner’s Workshop
`
`Connecting Blocks or Modules
`
`Most blocks and modu1es—inc1uding the START and END
`b1ocks—-—-have input and output nodes. The diagram must start at the
`START block with connections drawn from an output node of one
`block to the input node of another. The diagram usually ends at the
`END block.
`
`Output
`
`Nodes
`
`
`
`
`
`'3'
`
`1
`
`.._ |_|
`
`"
`
`Input
`Nodes
`
`Move the cursor to the desired output node. The cursor changes
`from a pointer to a soldering iron. Press the mouse button, drag to the
`desired input node and release. A line representing the connection is
`drawn, as shown below.
`
`r-__
`
`New Diagram
`
`Du Feed
`
`-
`
`New Diagram
`
`
`
`Page 19§96i°§9
`
`RA1%/1fi\9/ES
`EX. 1 02 1
`
`Page 18 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`User Manual
`
`Moving Blocks
`
`15
`
`B1ocks—including the START and END blocks—can be dragged
`anywhere on the diagram. Wherever they are moved, their connec-
`tions remain as before the move. The Diagram Drawing preference
`(choose Preferences from the File menu) can be set to show connecting
`lines on top of blocks to help keep track of connections or underneath
`to show blocks. See Setting GML Preferences earlier in this manual
`for more information.
`
`Disconnecting Blocks
`
`To cut a connection, move the pointer to a connecting line. The
`cursor changes to a Wire cutter. Click to cut the connection, as shown.
`
`
`
`New Diagram
`
`Do Feed
`
`Moving Connection Lines
`
`In some cases, when you have a connection that loops back to an
`earlier block in the diagram, you may want to move a vertical connec-
`tion to avoid other blocks. Place the pointer on the vertical con-
`nection. A double arrow replaces the pointer. Press the mouse button,
`drag the connection to the desired position and release.
`
`
`
`SAMPLE F.sru11_
`
`999-101
`
`11 /1 7/ 93
`Page 19 of 59
`
`RAV.AMS
`
`,, Ex 1021
`
`Page 19 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`16
`
`GML Programmer’s Workshop
`
`Encapsulating Blocks into Modules
`
`Several blocks that together comprise a larger function or related
`functions can be grouped together in one block called a module to hide
`detail and save space. To select the desired blocks, position the arrow
`tool above and to the left of them. Press and hold the mouse button
`
`down. Drag the arrow to a position below and to the right of the
`blocks and release the button. Choose Encapsulate from the Module
`menu to encapsulate the selected blocks in a module.
`
`When the module is created, the description below it is high-
`lighted. Type in a new description of the combined function repre-
`sented by the module. You can also document it more extensively by
`selecting it, choosing Documentation from the Module menu, and en-
`tering the desired information in the Documentation dialog.
`
`The individual blocks encapsulated in a module are always acces-
`sible. To see them, select the module and choose Show Details from
`the Module menu or double—click the module. The resulting view is
`exactly like the diagram window except that the name under the
`START and END blocks is that of the module, and only the blocks en-
`capsulated in the module appear.
`
`IMC 5 Control Family
`
`GML - New Diagram
`NEW Mfldllle
`V
`
`NEW Module
`
`MORE
`1-
`
`HOWE-N65
`
`.435]
`
`A module can be duplicated, copied, moved, connected, and encap-
`sulated with other blocks or modules just like other blocks in the dia-
`gram. Modules can be unencapsulated to return the blocks they con-
`tain to the main diagram. Select
`the module and choose
`Unencapsulate from the Module menu. To return to the main dia-
`
`Page 2°<3’%i”§9
`
`RAT{£33135
`EX. 1021
`
`Page 20 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`User Manual
`
`17
`
`gram window, select it from the Module pop—up menu at the top of the
`screen or choose Show Overview from the Module menu.
`
`Cutting, Copying, and Pasting Blocks
`
`GML provides a set of tools which use the clipboard for editing di-
`agrams. The clipboard is a temporary bufler for storing and retrieving
`data. The clipboard tools, located on the Edit menu, are used to copy
`blocks or modules from one module to another or between diagrams.
`
`Any selected block or group of blocks with associated parameters
`can be copied to the clipboard. Copying has no effect on the diagram
`itself, leaving the selected blocks exactly as they Were. When modules
`are copied, the information placed on the clipboard includes all of the
`blocks and other modules contained in the module.
`
`Cut operates exactly like Copy except that the selected blocks are
`deleted from the diagram after they are copied to the clipboard. Paste
`puts the contents of the clipboard back on the diagram in the current
`view. Clear deletes the selected blocks, but does not put them on the
`clipboard. You can undo all of these actions if you make a mistake
`(choose Undo from the Edit menu).
`
`
`
`999-101
`
`11 17/.93
`age 21 of 59
`
`RAV. AMS
`
`EX. 1021
`
`Page 21 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`18
`
`GML Programmer’s Workshop
`
`Using Change, Insert Between, and Swap
`
`GML provides tools which make it easy to edit blocks that are al-
`ready connected. These functions are also located on the Edit menu.
`
`Change allows you to change the type of a block without affecting
`its connections. Select a single block and then choose Change from the
`Edit menu. The library appears. Choose the desired block and click
`Select. The original block is replaced by the block selected from the li-
`brary.
`
`Insert Between re quires selection of two connected blocks. Select
`two blocks such as Initialize and Do Feed as shown opposite, and then
`choose Insert Between from the Edit menu. Select the desired block to
`
`insert (a pre—defined Initialize module in this case) from the library
`and click Select. The selected block is then placed between and con-
`nected to the originally selected blocks, as shown.
`
`The Swap function swaps the location and connections of two se-
`lected blocks. The blocks do not have to be connected. Select two
`
`blocks such as Initialize and Do Feed, as shown opposite, and then
`choose Swap Blocks from the Edit menu. The two blocks change
`places but the connections do not change, as shown.
`
`Page 292°9o'i”§9
`
`RA1$_“Xi\"}’f”s
`EX. 1 021
`
`Page 22 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`User Manual
`
`19
`
`
`
`SAr:iIPLEF.GML
`
`_
`
`................................ ..\
`Select two
`
`MODULE
`----------\.
`
`
`
`:- :
`
`SAMPLE F.:3r-:11.
`
`Insert Between
`
`
`
`
`
`F I
`
`SAMPLE F.GML
`
`Swap Blocks
`
`999401
`
`H 12133323 of 59
`
`RA V. AMS
`E_X 1021
`
`Page 23 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`20
`
`GML Programmefs Workshop
`
`Spacing and Aligning Blocks
`
`You can align selected blocks in a row and evenly space them hor-
`izontally to make your diagrams neat. To automatically space out the
`selected blocks evenly in a horizontal line, select the desired blocks
`
`
`
`Move Axis Output On
`
`Set Timer
`
`and then choose Space Blocks from the Edit menu. The blocks are
`evenly spaced, as shown below.
`
`
`
`More !-‘-;:{is
`
`Output On
`
`SetTimer
`
`To automatically align blocks in a row, select the desired blocks
`
`
`
`and choose Align Blocks from the Edit menu. The blocks are aligned
`to a common horizontal line, as shown below.
`
`etTimer
`
`* S
`
`Page 29 %iw5Z9
`
`RA1$1.“X1/\713s
`EX. 1021
`
`Page 24 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`User Manual
`
`Snap To Grid
`
`21
`
`The Snap to Grid option in the Preferences dialog defines how
`blocks are placed in the diagram. GML divides the diagram into invis-
`ible horizontal and vertical lines. The horizontal grid is set for 1/4 the
`size of a block and the vertical spacing is set for 1/2 the size of a block.
`You have the option of specifying that blocks be aligned to the nearest
`horizontal and/or vertical grid line When placed on the diagram. The
`Snap to Grid option sets the grid and defines the desired type of
`alignment. See Setting GML Preferences earlier in this manual for
`more information on grid snap.
`
`Below is an example of a diagram aligned with gTi¢l snap. Note
`that functions and operations can flow to an additional row (or rows)
`of blocks if required.
`
`iC0
`
`Mcsszun
`
`H
`
`GML- FEEDEFLGML
`FEElJER.GML v
`fifi»
`
`"
`
`.
`
`Entering Block Parameters
`
`Once a block has been added to a diagram, its parameters must
`be entered. Do this by double-clicking on the block and entering in-
`formation in the displayed dialog box using the check boxes, buttons,
`scrolling lists, data entry boxes, and pop—up menus provided. Click
`
`999'101
`
`Hi31a7g/g§5 of 59
`
`RA V AMS
`EX. 1021
`
`Page 25 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`22
`
`GML Programmefs Workshop
`
`Save to save them and return to the diagram window. Help is pro-
`vided in a scroll box at the bottom of the dialog. More detailed infor-
`mation on each block may be found in the programming manual for
`your motion controller.
`
`Expressions
`
`Although you can type a numeric parameter directly into a data
`entry box, you can also use the Expression Builder to build an expres-
`sion. Expressions are formulas of variables, constants and functions
`that can be used in place of a numeric parameter. The Expression
`Builder includes a calculator keypad, a list of special operators, and
`easy access to lists of all variables, constants, and functions that can
`be used in expressions. Choose Build Expression from the Edit menu,
`enter the desired expression, and click Save to copy it to the appro-
`priate data entry box.
`
`The items available as elements of an expression vary with the
`selected motion controller. See the programming manual for your mo-
`tion controller for details about these elements.
`
`Variables, Constants, and I/O
`
`User variables, constants, discrete inputs and outputs, etc. must
`each be defined before they can be used as block parameters. These
`items are typically defined as needed. Choose the appropriate item
`from the Definitions menu and enter the data required. Click Save to
`save the definition.
`
`Page 29()99ol0§9
`
`11/17/93
`RA V. AMS
`
`EX. 1021
`
`Page 26 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`User Manual
`
`23
`
`Testing Diagrams
`
`Choose Test Diagram from the Diagram menu to translate the
`current diagram into a script in the appropriate native language for
`the selected motion controller. The GML translator checks for errors
`
`or potential errors. If an error is found, the block and error are re-
`ported as shown below.
`
`No Parameters!
`
`Block: Delay
`
`
`
`Click OK in the error dialog and GML automatically zooms to the
`appropriate module in the diagram and highlights the offending
`block. If the error is With a parameter within a block, GML also au-
`tomatically opens the block.
`
`Note that a successful test only indicates that the diagram trans-
`lates to a valid program, not that the motion controller will operate
`your machine flawlessly. Remember, the motion controller only does
`what you tell it, which may not necessarily be What you want.
`
`Saving Diagrams
`
`Save your GlV.[L diagram by choosing Save from the File menu. If
`this is a new file, a dialog appears giving you the opportunity to enter
`an appropriate filename. Save As may also be chosen from the File
`menu to rename a file or save it to a different name or location.
`
`.999-101
`
`111§17/9age i7 of 59
`
`Page 27 of 59
`
`RA v. AMS
`Ex. 1021
`
`
`
`24
`
`GML Progra.mmer’s Workshop
`
`Printing Diagrams
`
`Both diagrams and scripts (programs) can be printed. However,
`the Windows Print Manager needs to be appropriately configured be-
`fore printing. Use the Page Setup dialog (which will be different de-
`pending