A3200 MotionPAC PLC

Description

Design Features

  • PLC totally integrated with advanced motion
  • Standards based: IEC61131-3, PLCopen & .NET
  • 30% to 50% reduction in development time
  • Global Tag database – define Tags once and then use everywhere
  • Easy to use diagnostics and debugging tools
  • Automatically manages Tag and variable memory
  • I/O mapping tools
  • Offline simulation without any changes to program
  • All motion status and events are exposed in standard function block

motionPACcover90x120The A3200 MotionPAC is a software-based Programmable Logic Controller (PLC) that is completely integrated with the A3200 motion controller. The MotionPAC can be used independently for full machine control or in conjunction with AeroBasic™ programs. MotionPAC complies with IEC61131-3 and PLCopen. Users can program in Ladder Diagrams (LD), Function Block Diagrams (FBD) or Structured Text (ST).

The MotionPAC’s tight integration with the A3200 motion controller allows users to command asynchronous, coordinated, blended, geared or cammed motion directly from LD, FBD, ST or directly start, stop or share Tags with AeroBasic™ programs. Programmers can create shared variables and tags that are referenced by Name in all of the A3200 tools, Operator Interface, and existing AeroBasic™ programs as well as in .NET programs.

MotionPAC tools like user definable libraries (LD, FBD, ST or .NET), integrated axis manager for readout and manual control, global Tag database, automatic memory management and virtual execution of the PLC increase your programming efficiency and quality. Standard fieldbuses, drive I/O, and high-end data acquisition are integrated into the MotionPAC and can be shared among all applications by Name. The MotionPAC’s Integrated Automation will reduce programming and commissioning time by 30% to 50%.

The MotionPAC is ideal for machine control program development. The development environment includes an axis manager for axis readout and manual control during the development of LD, FBD or ST. This eliminates the need for separate readout and development applications. All of the usual hardware associations, task assignments and programs are organized in an easy-to-use tree structure. Toolboxes are provided for each language for drag and drop programming or just start typing on the palette and the Intellisense will assist in the programming. The programming palette is free-form meaning that function blocks and functions can be used on a ladder diagram rung as well, even motion function blocks, making programming easy.

Global Tags
Often integration of PLC and motion is difficult and time-consuming due to the lack of coordination between variables and Tags. MotionPAC’s Global Tag Database eliminates this. All variables or Tags in the MotionPAC can be shared by name with all of the other applications in the A3200 including the CNC Operator Interface, Digital Scope, Motion Composer, AeroBasic™ programs and even custom .NET programs. Not only are variables available by name, all of the memory management is done for the programmer automatically. Of course, the programmer is free to view the memory addresses or even assign addresses if desired, but it is not necessary.

What are the benefits of Global Tags?
• Often programming takes place in multiple languages – PLC and motion or even .NET. In MotionPAC the PLC programmer defines the Global Tags and they are available in all languages (even .NET or C) by name.

• Global Tags are available in the Operator Interface by name without any memory management required.

• When commissioning a machine, users can plot MotionPAC variables on the same plot as motion variables by name.

• MotionPAC variables can be used in G-code or AeroBasic™ programs by name.

Each of these features eliminates programming errors and minimizes debugging and commissioning time.

MotionPAC programmers can create their own libraries from Function Blocks, Functions, Ladder Diagrams, Structured Text or combinations of each. These libraries can be referenced and reused in every application. This programming style – code reuse of tested components – aids users in writing quality programs faster.

Motion Capabilities
Motion capabilities include asynchronous, coordinated and blended motion. Moves can be specified as relative or absolute in user units (either English or metric). Other motion commands include electronic gearing, camming, end point modification and more. Fully compliant CNC or G code also can be called from the PLC program. For more details on the motion capabilities integrated into MotionPAC, see Aerotech’s A3200 Motion Composer Suite software description.

The complete motion state vector and status data is made available as a function block. Programmers can monitor all aspects of the motion directly in their LD, FBD or ST and take action based on motion events without additional programming overhead.

.NET and PLCs
While MotionPAC is completely IEC61131-3 compliant, it also can be programmed entirely with .NET. Programmers can write custom .NET programs that run in real-time. The programs can be packaged as function block libraries and included in any program as a function block or structured text. The Global Tags created in MotionPAC are available by Name to both the PLC and the .NET programmer. Now PLC programmers and .NET programmers can collaborate in the same environment and use the programming language of their choice.

Protecting Intellectual Property
When protecting intellectual property, the .NET library is ideal. All the functional interface information is available to other programmers or a customer for easy use and maintenance in a PLC language, but the algorithms and methods used are hidden in the compiled real-time .NET code.

Simulation Environment
Programmers can completely simulate the program execution on the PC without changing any of the code. Virtual hardware can be associated with the system so that the programs can be executed in a virtual environment. This coupled with the MotionPAC’s debugging tools such as breakpoints, Step Into, Step Over, Step Out functions, forcing I/O, as well as watch windows for tags and variables assist in full featured program debugging and system commissioning in less time.

Fieldbuses
Fieldbus I/O such as Modbus TCP or EtherCAT Tags are also shared globally among all applications and programming languages. While the address of the I/O must be assigned to a physical input, the memory management between applications and programming languages is done automatically for the programmer. The I/O assignment is made easier by the I/O Mapping Tool that displays all of the I/O in the system and the programmer drags and drops I/O points to the Global Tags for association.

Standard features like Cold, Warm, Hot Start and Hot Swapping Programs on next scan are available. MotionPAC can be online and monitoring the program execution with all variables, Tags and state information shown in real-time directly on the program. User Administration is provided to allow full access to the machine or restrict specific functions to certain users. Context sensitive Help is integrated into MotionPAC along with message windows for any errors, faults or system messages.

MotionPAC has 16 tasks available for program execution. Multiple programs can be attached to each task, again aiding in modular programming. Each task has a priority (18 levels), scan time and watchdog timer that can be assigned to provide programmers with exceptional flexibility.

File Management
Programmers can perform file management directly from a FB or ST program. Now system and machine status and production information can be automatically stored for later retrieval and assessment.

MotionPAC programs can be exported to XML documents for consumption by other PLCopen compliant editors. PLCopen XML documents can also be imported from other PLCopen compliant editors.

Multi-Lingual Support
The MotionPAC development environment is multi-lingual. The menus and programming tools are available in English and German, with other languages forthcoming.


MOTION COMMANDS
Motion Function Blocks
• MoveAbsolute
• MoveRelative
• MoveSuperimposed
• MoveVelocity
• Home
• Stop
• PositionProfile
• MoveContinuous
• Halt
• CamIn
• CamOut
• GearIn
• GearOut
• Phasing
• GearInPos
• CamTableSelect
• Blended Motion Uses AeroBasicTM Program

Administrative Function Blocks
• Power
• ReadStatus
• ReadAxisError
• ReadParameter
• ReadBoolParameter
• WriteParameter
• WriteBoolParameter
• ReadActualPosition
• Reset
• PassiveHome
• AbortTrigger
• ReadDigitalInput
• ReadDigitalOutput
• WriteDigitalOutput
• GroupReadConfiguration
• GroupEnable
• GroupDisable
• GroupReadActualPosition
• GroupReadActualVelocity
• GroupReadActualAcceleration
• GroupReset
• PathSelect
• SetPosition
• SetOverride
• ReadActualVelocity
• ReadActualTorque
• DigitalCamSwitch

IEC61131-3 Ladder Diagram
• VALUE
• TRUE
• FALSE
• COMMENT
• CONNECTOR
• JUMP
• LABEL
• RETURN
• CONTACT
• COIL
• LEFT POWERRAIL
• RIGHT POWERRAIL

IEC61131-3 Functions Blocks
• CTD
• CTU
• CTUD
• F_TRIG
• R_TRIG
• RS
• SR
• TOF
• TOF_R
• TON
• TON_R
• TP
• TP_R

Functions for String and Variable Management
• ABS
• ACOS
• ADD
• ADD_T_T
• AND
• ASIN
• ATAN
• B_BCD_TO_DINT
• B_BCD_TO_INT
• B_BCD_TO_LINT
• B_BCD_TO_SINT
• BCD_TO_DINT
• BOOL_TO_BYTE
• BOOL_TO_DINT
• BOOL_TO_DWORD
• BOOL_TO_INT
• BOOL_TO_LINT
• BOOL_TO_LREAL
• BOOL_TO_LWORD
• BOOL_TO_REAL
• BOOL_TO_SINT
• BOOL_TO_UDINT
• BOOL_TO_UINT
• BOOL_TO_ULINT
• BOOL_TO_USINT
• BOOL_TO_WORD
• BYTE_TO_BOOL
• BYTE _TO_BYTE
• BYTE _TO_DINT
• BYTE _TO_DWORD
• BYTE _TO_INT
• BYTE _TO_LINT
• BYTE _TO_LREAL
• BYTE _TO_LWORD
• BYTE _TO_REAL
• BYTE _TO_SINT
• BYTE_TO_STRING
• BYTE _TO_UDINT
• BYTE _TO_UINT
• BYTE _TO_ULINT
• BYTE _TO_USINT
• BYTE _TO_WORD
• CONCAT
• COS
• B_BDC_TO_DINT
• B_BDC_TO_INT
• B_BDC_TO_LINT
• B_BDC_TO_SINT
• DELETE
• DINT_TO_BOOL
• DINT _TO_BYTE
• DINT _TO_DWORD
• DINT _TO_INT
• DINT _TO_LINT
• DINT _TO_LREAL
• DINT _TO_LWORD
• DINT _TO_REAL
• DINT _TO_SINT
• DINT _TO_STRING
• DINT _TO_UDINT
• DINT _TO_UINT
• DINT _TO_ULINT
• DINT _TO_USINT
• DINT _TO_WORD
• DIV
• DIV_T_AI
• DIV_T_AN
• DIV_T_R
• DIVTIME
• DWORD_TO_BOOL
• DWORD _TO_BYTE
• DWORD _TO_DINT
• DWORD _TO_INT
• DWORD _TO_LINT
• DWORD _TO_LREAL
• DWORD _TO_LWORD
• DWORD _TO_REAL
• DWORD _TO_SINT
• DWORD _TO_STRING
• DWORD _TO_UDINT
• DWORD _TO_UINT
• DWORD _TO_ULINT
• DWORD _TO_USINT
• DWORD _TO_WORD
• EQ
• EQ_STRING
• EXP
• EXPT
• FIND
• GE
• GE_STRING
• GT
• GT_STRING
• INSERT
• INT_TO_BOOL
• INT _TO_BYTE
• INT _TO_DINT
• INT _TO_DWORD
• INT _TO_INT
• INT _TO_LINT
• INT _TO_LREAL
• INT _TO_LWORD
• INT _TO_REAL
• INT _TO_SINT
• INT _TO_STRING
• INT _TO_UDINT
• INT _TO_UINT
• INT _TO_ULINT
• INT _TO_USINT
• INT _TO_WORD
• L_BDC_TO_DINT
• L_BDC_TO_INT
• L_BDC_TO_LINT
• L_BDC_TO_SINT
• LE
• LE_TRING
• LEFT
• LEN
• LIMIT
• LIMIT_DINT
• LIMIT_INT
• LIMIT_LINT
• LIMIT_LREAL
• LIMIT_SINT
• LIMIT_STRING
• LINT_TO_B_BCD
• LINT_TO_BOOL
• LINT _TO_BYTE
• LINT _TO_DINT
• LINT _TO_DWORD
• LINT _TO_INT
• LINT _TO_LREAL
• LINT _TO_LWORD
• LINT _TO_REAL
• LINT _TO_SINT
• LINT _TO_STRING
• LINT _TO_UDINT
• LINT _TO_UINT
• LINT _TO_ULINT
• LINT _TO_USINT
• LINT _TO_WORD
• LN
• LOG
• LREAL_TO_BOOL
• LREAL _TO_BYTE
• LREAL _TO_DINT
• LREAL _TO_DWORD
• LREAL _TO_INT
• LREAL _TO_LINT
• LREAL _TO_LWORD
• LREAL _TO_REAL
• LREAL _TO_SINT
• LREAL _TO_STRING
• LREAL _TO_UDINT
• LREAL _TO_UINT
• LREAL _TO_ULINT
• LREAL _TO_USINT
• LREAL _TO_WORD
• LT
• LT_STRING
• LWORD_TO_BOOL
• LWORD _TO_BYTE
• LWORD _TO_DINT
• LWORD _TO_DWORD
• LWORD _TO_INT
• LWORD _TO_LINT
• LWORD _TO_LREAL
• LWORD _TO_REAL
• LWORD _TO_STRING
• LWORD _TO_SINT
• LWORD _TO_UDINT
• LWORD _TO_UINT
• LWORD _TO_ULINT
• LWORD _TO_USINT
• LWORD _TO_WORD
• MAX
• MAX_DINT
• MAX_INT
• MAX_LINT
• MAX_LREAL
• MAX_REAL
• MAX_SINT
• MAX_STRING
• MID
• MIN
• MIN_DINT
• MIN_INT
• MIN_LINT
• MIN_LREAL
• MIN_REAL
• MIN_SINT
• MIN_STRING
• MOD
• MOVE
• MUL
• MUL_T_AI
• MUL_T_AN
• MUL_T_R
• MULTIME
• NE
• NE_STRING
• NEG
• NOT
• OR
• REAL_TO_BOOL
• REAL _TO_BYTE
• REAL _TO_DINT
• REAL _TO_DWORD
• REAL _TO_INT
• REAL _TO_LINT
• REAL _TO_LREAL
• REAL _TO_LWORD
• REAL _TO_STRING
• REAL _TO_SINT
• REAL _TO_UDINT
• REAL _TO_UINT
• REAL _TO_ULINT
• REAL _TO_USINT
• REAL _TO_WORD
• REPLACE
• RIGHT
• ROL
• ROL_BYTE
• ROL_DWORD
• ROL_LWORD
• ROL_WORD
• ROR
• ROR_BYTE
• ROR_DWORD
• ROR_LWORD
• ROR_WORD
• SEL
• SEL_TO_BOOL
• SEL _TO_BYTE
• SEL _TO_DINT
• SEL _TO_DWORD
• SEL _TO_INT
• SEL _TO_LINT
• SEL _TO_LREAL
• SEL _TO_LWORD
• SEL _TO_REAL
• SEL _TO_STRING
• SEL _TO_SINT
• SEL _TO_UDINT
• SEL _TO_UINT
• SEL _TO_ULINT
• SEL _TO_USINT
• SEL _TO_WORD
• SHL
• SHL_BYTE
• SHL_DWORD
• SHL_LWORD
• SHL_WORD
• SHR
• SHR_BYTE
• SHR_DWORD
• SHR_LWORD
• SHR_WORD
• SIN
• SINT_TO_BOOL
• SINT _TO_BYTE
• SINT _TO_DINT
• SINT _TO_DWORD
• SINT _TO_INT
• SINT _TO_LINT
• SINT _TO_LREAL
• SINT _TO_LWORD
• SINT _TO_REAL
• SINT _TO_STRING
• SINT _TO_SINT
• SINT _TO_UDINT
• SINT _TO_UINT
• SINT _TO_ULINT
• SINT _TO_USINT
• SINT _TO_WORD
• SQRT
• STRING_TO_BOOL
• STRING _TO_BYTE
• STRING _TO_DINT
• STRING _TO_DWORD
• STRING _TO_INT
• STRING _TO_LINT
• STRING _TO_LREAL
• STRING _TO_LWORD
• STRING _TO_REAL
• STRING _TO_SINT
• STRING _TO_UDINT
• STRING _TO_UINT
• STRING _TO_ULINT
• STRING _TO_USINT
• STRING _TO_WORD
• SUB
• SUB_T_T
• TAN
• TIME_TO_DINT
• TIME_TO_STRING
• TRUNC
• TRUNC_DINT
• TRUNC _INT
• TRUNC _LINT
• TRUNC _SINT
• UDINT_TO_BOOL
• UDINT _TO_BYTE
• UDINT _TO_DINT
• UDINT _TO_DWORD
• UDINT _TO_INT
• UDINT _TO_LINT
• UDINT _TO_LREAL
• UDINT _TO_LWORD
• UDINT _TO_REAL
• UDINT _TO_SINT
• UDINT _TO_STRING
• UDINT _TO_UINT
• UDINT _TO_ULINT
• UDINT _TO_USINT
• UDINT _TO_WORD
• UINT_TO_BOOL
• UINT _TO_BYTE
• UINT _TO_DINT
• UINT _TO_DWORD
• UINT _TO_INT
• UINT _TO_LINT
• UINT _TO_LREAL
• UINT _TO_LWORD
• UINT _TO_REAL
• UINT _TO_SINT
• UINT _TO_STRING
• UINT _TO_UDINT
• UINT _TO_ULINT
• UINT _TO_USINT
• UINT _TO_WORD
• ULINT_TO_BOOL
• ULINT _TO_BYTE
• ULINT _TO_DINT
• ULINT _TO_DWORD
• ULINT _TO_INT
• ULINT _TO_LINT
• ULINT _TO_LREAL
• ULINT _TO_LWORD
• ULINT _TO_REAL
• ULINT _TO_SINT
• ULINT _TO_STRING
• ULINT _TO_UDINT
• ULINT _TO_UINT
• ULINT _TO_USINT
• ULINT _TO_WORD
• USINT_TO_BOOL
• USINT _TO_BYTE
• USINT _TO_DINT
• USINT _TO_DWORD
• USINT _TO_INT
• USINT _TO_LINT
• USINT _TO_LREAL
• USINT _TO_LWORD
• USINT _TO_REAL
• USINT _TO_SINT
• USINT _TO_STRING
• USINT _TO_UDINT
• USINT _TO_UINT
• USINT _TO_ULINT
• USINT _TO_WORD
• W_BCD_TO_DINT
• W_BCD_TO _INT
• W_BCD_TO _LINT
• W_BCD_TO _SINT
• WORD_TO_BOOL
• WORD _TO_BYTE
• WORD _TO_DINT
• WORD _TO_DWORD
• WORD _TO_INT
• WORD _TO_LINT
• WORD _TO_LREAL
• WORD _TO_LWORD
• WORD _TO_REAL
• WORD _TO_SINT
• WORD _TO_STRING
• WORD _TO_UDINT
• WORD _TO_UINT
• WORD _TO_ULINT
• WORD _TO_USINT
• XOR

Ordering Information

Ordering Example

A3200-IA -MACHINE -4 AXES -DYNAMIC CONTROLS TOOLBOX -MOTIONPAC -MAINTENANCE

Ordering Options

SoftwareLicenseNumber of AxesController OptionsMotion Composer OptionsMaintenance
A3200-IA -MACHINE

-2 AXES
-4 AXES
-6 AXES
-8 AXES
-10 AXES
-12 AXES
-14 AXES
-16 AXES
-32 AXES

-FIVE AXIS CONTOURING
-GALVO VTC AND GRC
-DYNAMIC CONTROLS TOOLBOX
-ENHANCED THROUGHPUT MODULE

-MOTION DESIGNER
-CNC OPERATOR
INTERFACE
-LABVIEW
-MOTIONPAC

-MAINTENANCE-y-mm

MotionPAC Software

OptionDescription
A3200-IA A3200: Full installation of Automation 3200 Controller and selected software components on a new system. Full part number includes options listed below. Pricing is summation of selected products. Maintenance (software update) included in price for one year from date of purchase. A3200 is intended for deployment on desktop or industrial PCs running Windows XP (32 bit) or Windows 7 (32/64 bit) operating systems. Please refer to A3200 recommended PC configuration.
  MOTION COMPOSER STANDARD: Includes the Integrated Development Environment, Parameter Editor, Tuning Scope, System Diagnostics, and System Maintenance. Includes the following software options:

License

OptionDescription
-MACHINE Provides the ability to write, compile, execute, debug programs in AeroBasic™ or G-code; full access to .NET 2.0 and C Library; access full diagnostics, fault, and status information; access and set I/O, registers, and variables; collect, analyze, and save data; view files from machine for analysis and record keeping; connect PC to machine directly with FireWire® card; connect PC to machine remotely through Ethernet TCP/IP; upgrades can be installed (firmware or controller) using Loader; 2 axes of software motion engine; simulate trajectory on PC; installs RTX on the PC; includes A3200-MC Standard

Axes

OptionDescription
-2 AXES Software only motion, robotics, and I/O controller; provides 2 axes coordinated motion and 4.5 m FireWire® cable
-4 AXES Software only motion, robotics, and I/O controller; provides 4 axes coordinated motion and 4.5 m FireWire® cable
-6 AXES Software only motion, robotics, and I/O controller; provides 6 axes coordinated motion and 4.5 m FireWire® cable
-8 AXES Software only motion, robotics, and I/O controller; provides 8 axes coordinated motion and 4.5 m FireWire® cable
-10 AXES Software only motion, robotics, and I/O controller; provides 10 axes coordinated motion and 4.5 m FireWire® cable
-12 AXES Software only motion, robotics, and I/O controller; provides 12 axes coordinated motion and 4.5 m FireWire® cable
-14 AXES Software only motion, robotics, and I/O controller; provides 14 axes coordinated motion and 4.5 m FireWire® cable
-16 AXES Software only motion, robotics, and I/O controller; provides 16 axes coordinated motion and 4.5 m FireWire® cable
-32 AXES Software only motion, robotics, and I/O controller; provides 32 axes coordinated motion and 4.5 m FireWire® cable
    Note: Old part number – Nmotion SMC-nn

Controller Options

OptionDescription
-FIVE AXIS CONTOURING More than 4 axes of coordinated motion with a single motion command
    Note: Old part number – CNC-5
-GALVO-VCT AND GRC Galvo programming interface for vector-type marking applications; requires ScanLabs RTC-4 Galvo control card
    Note: Old part number – Nmark VCT or Nmark GRC
-DYNAMIC CONTROLS TOOLBOX Includes Harmonic Cancellation and Gain Scaling
-ENHANCED THROUGHPUT MODULE Includes setup and monitoring screens of the ETM module; included in the price of the hardware modules sold separately

Motion Composer (MC) Options

OptionDescription
-MOTION DESIGNER The Motion Designer is an add-on software component to the Digital Scope that provides the ability to create, import, run, and evaluate motion profiles (trajectories)
    Note: Old part number – A3200-MD
-CNC OPERATOR INTERFACE Man-machine interface CNC software for Windows XP/Vista; includes user manuals, technical manuals, and cable drawings for all related equipment
    Note: Old part number – Nview MMI
-LABVIEW Includes LabVIEW® 8.2 VI samples
-MOTIONPAC Integrated PLC and advanced motion controller