Galil DMC-3425 user manual Defining Arrays, Assignment of Array Entries

Page 140

_HMn

_LFn

_LRn

_UL

TIME

*Returns status of Home Switch (equals 0 or 1)

Returns status of Forward Limit switch input of axis ‘n’ (equals 0 or 1) Returns status of Reverse Limit switch input of axis ‘n’ (equals 0 or 1) *Returns the number of available variables

Free-Running Real Time Clock (off by 2.4% - Resets with power-on). NOTE: TIME does not use an underscore character (_) as other operands.

*These operands have corresponding commands while the operands _LF, _LR and TIME do not have any associated commands. All operands are listed in the Command Reference Manual.

Examples

V1=_LFA

Assign V1 the state of the Forward Limit Switch on the A-axis

V3=TIME

Assign V3 the current value of the time clock

V4=_HMD

Assign V4 the logical state of the Home input on the D-axis

Arrays

For storing and collecting numerical data, the DMC-3425 provides array space for 2000 elements. The arrays are one-dimensional and up to 14 different arrays may be defined. The array data is available to both threads on each controller. When operating with multiple controllers, arrays are only defined within the same controller.

Each array element has a numeric range of 4 bytes of integer (231) followed by two bytes of fraction (+/-2,147,483,647.9999).

Arrays can be used to capture real-time data, such as position, torque and analog input values. In the contouring mode, arrays are convenient for holding the points of a position trajectory in a record and playback application.

Defining Arrays

An array is defined with the command DM. The user must specify a name and the number of entries to be held in the array. An array name can contain up to eight characters, starting with an uppercase alphabetic character. The number of entries in the defined array is enclosed in [ ].

DM POSA[7]

Defines an array names POSA with seven entries

DM SPEED[100]

Defines an array named speed with 100 entries

DM POSA[0]

Frees array space

Assignment of Array Entries

Like variables, each array element can be assigned a value. Assigned values can be numbers or returned values from instructions, functions and keywords.

Array elements are addressed starting at count 0. For example the first element in the POSA array (defined with the DM command, DM POSA[7]) would be specified as POSA[0].

Values are assigned to array entries using the equal sign. Assignments are made one element at a time by specifying the element number with the associated array name.

NOTE: Arrays must be defined using the command, DM, before assigning entry values.

132 • Chapter 7 Application Programming

DMC-3425

Image 140
Contents DMC-3425 By Galil Motion Control, IncPage Contents Connecting Hardware Programming Motion Application Programming 107 DAC ZOHJ5 Power 6 PIN Molex WarrantyOverview IntroductionStandard Servo Motors with +/- 10 Volt Command Signal Stepper Motor with Step and Direction SignalsOverview of Motor Types Brushless Servo Motor with Sinusoidal CommutationDMC-3425 Overview DMC-3425 Functional Elements Microcomputer SectionMotor Interface CommunicationGeneral I/O System ElementsMotor Amplifier DriverWatch Dog Timer EncoderGetting Started DMC-3425 Motion ControllerInstalling the DMC-3425 Controller Elements You NeedDetermine Overall Motor Configuration Configuring Jumpers on the DMC-3425Setting the Baud Rate on the DMC-3425 Selecting MO as default on the DMC-3425Stepper Motor Jumpers 9600 1200Axis Configuration Jumpers A1 A2 A4 A8Installing the Communications Software Using Galil Software for DOSUsing Galil Software for Windows Getting Started DMC-3425 Using Non-Galil Communication Software Sending Test Commands to the TerminalCommunicating through the Ethernet TPA CRAddress Set-up axis for sinusoidal commutation optional Make connections to amplifier and encoderGetting Started DMC-3425 Connect Standard Servo Motor Check the Polarity of the Feedback Loop MO CRInverting the Loop Polarity SH CRBG CR TT CRPower Supply Connect brushless motor for sinusoidal commutation If Hall Sensors are Available If Hall Sensors are Not Available Connect Step Motors BGA CRAmacr BC CRTune the Servo System TE CRAutomatic Configuration of Distributed Control Configure the Distributed Control SystemConfiguring Operation for Distributed Control Manual Slave IP configuration with HC command Manual Configuration of Distributed Control #SETUPMgconfiguration Failed Else Mgconfig Success Endif Instruction InterpretationCHE=F,G NA6CHC=D,E Design Examples Example 1 System Set-upExample 2 Profiled Move Example 3 Position InterrogationExample 8 Operation in the Buffer Mode Example 5 Velocity Control JoggingExample 6 Operation Under Torque Limit Example 7 InterrogationExample 11- Motion Programs with Trippoints Example 9 Motion ProgramsExample 10 Motion Programs with Loops Example 12 Control Variables Example 13 Control Variables and OffsetReturn to top of program Overview Using InputsLimit Switch Input Home Switch Input Abort InputAmplifier Interface Uncommitted Digital InputsTTL Inputs Analog InputsTTL Outputs This page Left Blank Intentionally RS-232 Configuration RS232 PortRS232 Port 1 Dataterm Baud Rate SelectionEthernet Configuration Communication ProtocolsAddressing Handshaking ModesEthernet Handles Global vs. Local OperationLocal Operation Accessing the I/O of the Slaves Operation of Distributed ControlHandling Communication Errors MulticastingDigital Outputs Digital InputsUnsolicited Message Handling IOC-7007 SupportModbus Support Function Code DefinitionHandle Switching Handle Restore on Communication FailureOther Communication Options User Defined Ethernet VariablesWaiting on Handle Responses Data RecordData Record Map DMC-3425 Communication Communication DMC-3425 Axis Switch Information 1 Byte Header Information Byte 0, 1 of HeaderBytes 2, 3 of Header General Status Information 1 ByteCoordinated Motion Status Information for plane 2 Byte QZ CommandAxis Status Information 2 Byte Using Third Party Software This page Left Blank Intentionally Command Syntax Ascii Important All DMC-3425 commands are sent in upper caseCommand Syntax Binary Coordinated Motion with more than 1 axisHeader Format Binary Command FormatByte Binary command table Datafields FormatExample LE, VEController Response to Data Interrogation Commands Summary of Interrogation CommandsInterrogating Current Commanded Values Interrogating the ControllerCommand Summary This page Left Blank Intentionally Programming Motion Mode of Motion Basic description Commands Global Independent Axis Positioning VP, CRCommand Summary Independent Axis Operand Summary Independent AxisExamples Absolute Position MovementInstructionInterpretation BG CJog in a and C axes Command Summary JoggingIndependent Jogging Joystick Jogging Linear Interpolation Mode Local ModeSpecifying Linear Segments Additional Commands Specifying Vector Speed for Each Segment#ALT LmabCommand Summary Linear Interpolation Operand Summary Linear InterpolationChanging Feedrate BGSExample Example Linear MoveLinear Interpolation Motion #LMOVEExample Multiple Moves #LOADVector Mode Linear and Circular Interpolation Local Mode Specifying Vector SegmentsAdditional commands Command Summary Coordinated Motion Sequence Compensating for Differences in Encoder ResolutionOperand Summary Coordinated Motion Sequence TrippointsVM AB Required PathElectronic Gearing Local Mode Command Summary Electronic GearingExample Gantry Mode Example Electronic GearingElectronic Cam Local Mode GA, CABGB GA,AProgramming Motion DMC-3425 DMC-3425 Programming Motion 3000 2250 1500 2000 4000 6000 Master EAA #LOOP#RUN EB1#LOOPJP#LOOP,V1=0 ST aContour Mode Local Mode Specifying Contour SegmentsDT0CD0 Instruction DescriptionCMA Command Summary Contour Mode Operand Summary Contour ModeGeneral Velocity Profiles Generating an Array An ExamplePOSC=V4 Contour Mode Example#POINTS Teach Record and Play-Back Record and Playback ExampleVirtual Axis Local Mode Mode of Motion Virtual Axis usage CommandsStepper Motor Operation Ecam Master ExampleSinusoidal Motion Example Specifying Stepper Motor OperationMonitoring Generated Pulses vs. Commanded Pulses Stepper Motor SmoothingUsing an Encoder with Stepper Motors Command Summary Stepper Motor OperationMotion Complete Trippoint Operand Summary Stepper Motor OperationUsing the CE Command Additional Commands for the Auxiliary EncoderDual Loop Auxiliary Encoder Backlash CompensationContinuous Dual Loop Sampled Dual Loop#DUALOOP DE0Using the IT and VT Commands Motion SmoothingJP#CORRECT #ENDHoming Trapezoidal velocity and smooth velocity profiles#HOME HM aAM a MG AT HomeHome Switch Command Summary Homing Operation High Speed Position Capture LatchOperand Summary Homing Operation Input FunctionAL B This page Left Blank Intentionally Application Programming Global vs. Local ProgrammingEdit Mode Commands Entering ProgramsReturn ED #BEGINUsing Labels in Programs Program FormatValid labels Invalid labelsCommenting Programs No Command and the Apostrophe ‘Special Labels REM Command Executing Programs MultitaskingDebugging Programs Trace Command Error Code CommandStop Code Command RAM Memory Interrogation CommandsBreakpoints and single stepping Eeprom Memory Interrogation OperandsProgram Flow Commands Event Triggers & TrippointsAS a B C D E F G H DMC-3425 Event TriggersExample- Multiple Move Sequence Example Start Motion on Input Example- Set Output after DistanceExample- Repetitive Position Trigger Example Multiple Move with Wait Example Set Output when At SpeedExample Change Speed along Vector Path Example- Define Output Waveform Using AT Command Format JP and JSConditional Jumps FormatExample using variables named V1, V2, V3 Logical operatorsConditional Statements Multiple Conditional StatementsExamples Using the if and Endif CommandsIf, Else, and Endif Using the Else Command Command Format IF, Else and EndifNesting if Conditional Statements Format DescriptionStack Manipulation Auto-Start and Auto Error RoutineSubroutines Automatic Subroutines for Monitoring Conditions Example Limit SwitchExample Position Error Example Input Interrupt Example Motion Complete TimeoutExample Command Error Example Command Error w/Multitasking Example Ethernet Communication Error Mathematical and Functional ExpressionsMathematical Operators Operator FunctionBit-Wise Operators ENTER,LENS6FLEN=@FRACLEN LEN1=FLEN&$00FFVariables FunctionsPOS PR PosaProgrammable Variables Assigning Values to VariablesAssigning Variable Values to Controller Parameters Displaying the value of variables at the terminalExample Using Variables for Joystick OperandsSpecial Operands InstructionAssignment of Array Entries ArraysDefining Arrays Automatic Data Capture into Arrays Using a Variable to Address Array ElementsUploading and Downloading Arrays to On Board Memory Command Summary Automatic Data Capture Data Types for RecordingOperand Summary Automatic Data Capture Example Recording into An ArrayOutputting Numbers and Strings Deallocating Array SpaceSending Messages Specifying the Port for MessagesMG STR S3 Using the MG Command to Configure TerminalsFormatting Messages Displaying Variables and Arrays Summary of Message FunctionsExample Printing a Variable and an Array element Function DescriptionLZ1 Local Formatting of Response of Interrogation CommandsLZ0 Formatting Variables and Array Elements Local Formatting of VariablesVF1 V1=ALPHAHardware I/O Converting to User UnitsDigital Outputs Example- Set Bit and Clear BitExample Using Inputs to control program flow Example Start Motion on SwitchDigital Inputs Example- Output PortExample Position Follower Point-to-Point Input Interrupt FunctionAnalog Inputs Example Position Follower Continuous Move Configuring the I/O of the DMC-3425Extended I/O of the DMC-3425 Controller Bit I/O Block Binary Representation Decimal Value for Accessing Extended I/OSaving the State of the Outputs in Non-Volatile Memory Wire Cutter Example ApplicationsInterfacing to Grayhill or OPTO-22 G4PB24 Argument Blocks Bits DescriptionX-Y Table Controller JP #ABGC AMC BGCAMC Speed Control by Joystick BGS AMSPosition Control by Joystick JG VEL JP #BThis page Left Blank Intentionally Hardware Protection Output Protection LinesSignal or Function State if Error Occurs Software ProtectionInput Protection Lines Programmable Position Limits#AJP #AEN Off-On-ErrorAutomatic Error Routine Limit Switch Routine Limit Switch ExampleInstallation Symptom Cause RemedySymptom Cause CommunicationStability OperationTheory of Operation Level Operation of Closed-Loop Systems Velocity and Position ProfilesSystem Modeling Functional Elements of a Motion Control SystemCurrent Drive Motor-AmplifierVoltage Drive Velocity Loop Elements of velocity loopsVoltage Source DAC Digital FilterSystem Analysis ZOHMotor Ms = P/I = Kt/Js2 = 500/s2 rad/A Amp Ka = 4 Amp/V System Design and Compensation Analytical MethodKd = 10/32768 = Encoder Kf = 4N/2π = DMC-3425 Theory of Operation PID, T Equivalent Filter FormKP, KD, KI, PL Electrical Specifications Performance SpecificationsPower Requirements Servo ControlConnectors for DMC-3425 J3 DMC-3425 General I/O 37- PIN D-typeAcmda Pwma Acmdy SignaJ3 DMC-3425-Stepper General I/O 37- PIN D-type PwmbSignb Pwma SignaPin-Out Description J1 RS232 Main port DB-9 Pin MaleDCD DTR GND DSR RTS CTS RTS CTS GNDICM-1460 Interconnect Module FeaturesSpecifications Reset ERROR/PULSEYAMPEN/SIGNY5 ACMDX/PULSEXOpto-Isolation Option for ICM-1460 Opto-isolated inputsOpto-isolated outputs Figure A-1Configuring the I/O of the DMC-3425 with DB-14064 CO nAccessing extended I/O Saving the State of the Outputs in Non-Volatile MemoryConnector Description J6 50-PIN IDC Pin Signal Block Bit @INn Bit No @OUTnBlock Bit @INn Bit No @OUTn IOM-1964 Opto-Isolation Module for Extended I/O Controllers DescriptionOverview Buffer chipsConfiguring Hardware Banks Figure A-4Input Circuit High Power Digital Outputs Figure A-6Output Command Result Standard Digital OutputsStandard Digital Outputs Electrical SpecificationsHigh Power Digital Outputs Relevant DMC Commands Screw Terminal ListingDMC-3425 Appendices PWROUT32 PWROUT31PWROUT30 PWROUT29Coordinated Motion Mathematical Analysis 1000 2000Velocity 100000 = 0.05 s 2000000 WHO should Attend List of Other PublicationsTraining Seminars Contacting Us Galil Motion ControlWarranty Index EepromHoming, 38 Eeprom Index DMC-3425

DMC-3425 specifications

The Galil DMC-3425 is a sophisticated motion controller known for its versatility and high performance in various industrial applications. Designed primarily for multi-axis control, it is well-suited for robotics, CNC machinery, and automated manufacturing systems.

One of the standout features of the DMC-3425 is its ability to control up to 32 axes simultaneously, providing unparalleled flexibility for complex motion tasks. This capability is enhanced by its advanced motion algorithms that ensure smooth and precise movements, essential for high-quality manufacturing and assembly processes. The controller supports a variety of motor types, including servo, stepper, and brushless motors, making it compatible with a wide range of existing equipment.

In terms of connectivity, the DMC-3425 offers an extensive selection of communication options. It supports Ethernet, RS-232, and RS-485 interfaces, allowing for seamless integration with various industrial networks, including EtherCAT and CANopen. This connectivity is vital for real-time data exchange and remote monitoring, enhancing overall system efficiency.

The controller is powered by Galil's innovative software architecture, which includes the DMC programming language. This user-friendly language enables engineers to create complex motion profiles easily, with support for trajectory generation, coordinate transformations, and PID control. The DMC-3425 also features built-in commands for motion profiling, including linear and circular interpolation, allowing for sophisticated path planning.

Moreover, the DMC-3425 comes equipped with an integrated programming environment that facilitates rapid application development. Users can simulate motion profiles before implementation, reducing downtime and minimizing errors. This environment is designed for quick learning, making it accessible even for those new to motion control.

Additionally, the Galil DMC-3425 features a robust safety architecture. It includes over-temperature detection, emergency stop inputs, and configurable limits for position and speed, ensuring safe operation in various environments.

Overall, the Galil DMC-3425 is a powerful and flexible motion controller that combines advanced technologies with user-friendly design. Its ability to handle multiple axes, extensive connectivity options, and comprehensive programming environment make it a top choice for manufacturers seeking to enhance automation and improve productivity in their operations.