Galil DMC-3425 Other Communication Options, User Defined Ethernet Variables, Handle Switching

Page 59

The DMC-3425 provides three levels of Modbus communication. The first level allows the user to create a raw packet and receive raw data. It uses the MBh command with a function code of –1. The format of the command is

MBh = -1,len,array[]

where len is the number of bytes

array[] is the array with the data

The second level incorporates the Modbus structure. This is necessary for sending configuration and special commands to an I/O device. The formats vary depending on the function code that is called. For more information refer to the Command Reference.

The third level of Modbus communication uses standard Galil commands. Once the slave has been configured, the commands that may be used are @IN[], @AN[], SB, CB, OB, and AO. For example, AO 2020,8.2 would tell I/O number 2020 to output 8.2 volts.

If a specific slave address is not necessary, the I/O number to be used can be calculated with the following:

I/O Number = (HandleNum*1000) +((Module-1)*4) + (BitNum-1)

Where HandleNum is the handle number from 1 (A) to 8 (H). Module is the position of the module in the rack from 1 to 16. BitNum is the I/O point in the module from 1 to 4.

If an explicit slave address is to be used, the equation becomes:

I/O Number = (SlaveAddress*10000) + (HandleNum*1000) +((Module-1)*4) + (Bitnum-1)

To view an example procedure for communicating with an OPTO-22 rack, refer to the appendix.

Other Communication Options

User Defined Ethernet Variables

It may be necessary within a distributed system to share information that is not contained as position, torque, velocity or other control data. The DMC-3425 provides 2 user defined variables that are passed as part of the QW record shared among the distributed system. In this way, it is not necessary for a single controller to write variable data directly to all the other controllers in the system.

ZA and ZB are two user defined variables which are passed with the QW record at each update. Data that is written to these variables is then seen by the master DMC-3425 in the system.

Handle Switching

By default, when initiating a communication session with a DMC-3425 controller, the first available handle is used. If no handles have been assigned to the controller, the A handle is chosen. The command HS allows the user to switch this connection to another handle, freeing up the initial handle or trading with another currently used handle. Or, once handles have been defined, the HS command may be used to switch handles to prioritize slave locations and I/O locations.

Handle Restore on Communication Failure

There are instances within an Ethernet system, whether UDP or TCP/IP, when a handle may become disconnected without closing properly. An example of this would be a simple cable failure, where the Ethernet cable of a certain slave becomes detached.

The command HR is used to enable a mode in which the master controller, upon seeing a failure on a handle, will attempt to restore that handle. This is helpful when a distributed system is already fully configured and a slave is lost. The #TCPERR routine can be used to flag the error, while the handle restore will attempt to reconnect to the slave until the problem is fixed. This makes it unnecessary to re-run the setup for the entire distributed system.

DMC-3425

Chapter 4 Communication51

Image 59
Contents By Galil Motion Control, Inc DMC-3425Page Contents Connecting Hardware Programming Motion Application Programming 107 ZOH DACWarranty J5 Power 6 PIN MolexIntroduction OverviewBrushless Servo Motor with Sinusoidal Commutation Standard Servo Motors with +/- 10 Volt Command SignalStepper Motor with Step and Direction Signals Overview of Motor TypesDMC-3425 Overview Communication DMC-3425 Functional ElementsMicrocomputer Section Motor InterfaceAmplifier Driver General I/OSystem Elements MotorEncoder Watch Dog TimerDMC-3425 Motion Controller Getting StartedElements You Need Installing the DMC-3425 ControllerConfiguring Jumpers on the DMC-3425 Determine Overall Motor Configuration9600 1200 Setting the Baud Rate on the DMC-3425Selecting MO as default on the DMC-3425 Stepper Motor JumpersA1 A2 A4 A8 Axis Configuration JumpersUsing Galil Software for DOS Installing the Communications SoftwareUsing Galil Software for Windows Getting Started DMC-3425 TPA CR Using Non-Galil Communication SoftwareSending Test Commands to the Terminal Communicating through the EthernetAddress Make connections to amplifier and encoder Set-up axis for sinusoidal commutation optionalGetting Started DMC-3425 Connect Standard Servo Motor MO CR Check the Polarity of the Feedback LoopTT CR Inverting the Loop PolaritySH CR BG CRPower Supply Connect brushless motor for sinusoidal commutation If Hall Sensors are Available If Hall Sensors are Not Available BC CR Connect Step MotorsBGA CR AmacrTE CR Tune the Servo SystemAutomatic Configuration of Distributed Control Configure the Distributed Control SystemConfiguring Operation for Distributed Control Manual Slave IP configuration with HC command Instruction Interpretation Manual Configuration of Distributed Control#SETUP Mgconfiguration Failed Else Mgconfig Success EndifCHE=F,G NA6CHC=D,E Example 3 Position Interrogation Design ExamplesExample 1 System Set-up Example 2 Profiled MoveExample 7 Interrogation Example 8 Operation in the Buffer ModeExample 5 Velocity Control Jogging Example 6 Operation Under Torque LimitExample 11- Motion Programs with Trippoints Example 9 Motion ProgramsExample 10 Motion Programs with Loops Example 13 Control Variables and Offset Example 12 Control VariablesReturn to top of program Overview Using InputsLimit Switch Input Abort Input Home Switch InputUncommitted Digital Inputs Amplifier InterfaceAnalog Inputs TTL InputsTTL Outputs This page Left Blank Intentionally Baud Rate Selection RS-232 ConfigurationRS232 Port RS232 Port 1 DatatermHandshaking Modes Ethernet ConfigurationCommunication Protocols AddressingGlobal vs. Local Operation Ethernet HandlesLocal Operation Operation of Distributed Control Accessing the I/O of the SlavesDigital Inputs Handling Communication ErrorsMulticasting Digital OutputsIOC-7007 Support Unsolicited Message HandlingFunction Code Definition Modbus SupportUser Defined Ethernet Variables Handle SwitchingHandle Restore on Communication Failure Other Communication OptionsWaiting on Handle Responses Data RecordData Record Map DMC-3425 Communication Communication DMC-3425 General Status Information 1 Byte Axis Switch Information 1 ByteHeader Information Byte 0, 1 of Header Bytes 2, 3 of HeaderCoordinated Motion Status Information for plane 2 Byte QZ CommandAxis Status Information 2 Byte Using Third Party Software This page Left Blank Intentionally Important All DMC-3425 commands are sent in upper case Command Syntax AsciiCoordinated Motion with more than 1 axis Command Syntax BinaryHeader Format Binary Command FormatByte LE, VE Binary command tableDatafields Format ExampleController Response to Data Interrogating the Controller Interrogation CommandsSummary of Interrogation Commands Interrogating Current Commanded ValuesCommand Summary This page Left Blank Intentionally Programming Motion Mode of Motion Basic description Commands Global VP, CR Independent Axis PositioningAbsolute Position Movement Command Summary Independent AxisOperand Summary Independent Axis ExamplesBG C InstructionInterpretationJog in a and C axes Command Summary JoggingIndependent Jogging Joystick Jogging Linear Interpolation Mode Local ModeSpecifying Linear Segments Lmab Additional CommandsSpecifying Vector Speed for Each Segment #ALTBGS Command Summary Linear InterpolationOperand Summary Linear Interpolation Changing Feedrate#LMOVE ExampleExample Linear Move Linear Interpolation Motion#LOAD Example Multiple MovesSpecifying Vector Segments Vector Mode Linear and Circular Interpolation Local ModeAdditional commands Trippoints Command Summary Coordinated Motion SequenceCompensating for Differences in Encoder Resolution Operand Summary Coordinated Motion SequenceRequired Path VM ABExample Electronic Gearing Electronic Gearing Local ModeCommand Summary Electronic Gearing Example Gantry ModeGA,A Electronic Cam Local ModeGA, CA BGBProgramming Motion DMC-3425 DMC-3425 Programming Motion 3000 2250 1500 2000 4000 6000 Master EB1 EAA#LOOP #RUNST a #LOOPJP#LOOP,V1=0Specifying Contour Segments Contour Mode Local ModeDT0CD0 Instruction DescriptionCMA Generating an Array An Example Command Summary Contour ModeOperand Summary Contour Mode General Velocity ProfilesPOSC=V4 Contour Mode Example#POINTS Record and Playback Example Teach Record and Play-BackMode of Motion Virtual Axis usage Commands Virtual Axis Local ModeSpecifying Stepper Motor Operation Stepper Motor OperationEcam Master Example Sinusoidal Motion ExampleStepper Motor Smoothing Monitoring Generated Pulses vs. Commanded PulsesOperand Summary Stepper Motor Operation Using an Encoder with Stepper MotorsCommand Summary Stepper Motor Operation Motion Complete TrippointBacklash Compensation Using the CE CommandAdditional Commands for the Auxiliary Encoder Dual Loop Auxiliary EncoderDE0 Continuous Dual LoopSampled Dual Loop #DUALOOP#END Using the IT and VT CommandsMotion Smoothing JP#CORRECTTrapezoidal velocity and smooth velocity profiles HomingMG AT Home #HOMEHM a AM aHome Switch Input Function Command Summary Homing OperationHigh Speed Position Capture Latch Operand Summary Homing OperationAL B This page Left Blank Intentionally Global vs. Local Programming Application ProgrammingED #BEGIN Edit Mode CommandsEntering Programs ReturnInvalid labels Using Labels in ProgramsProgram Format Valid labelsCommenting Programs No Command and the Apostrophe ‘Special Labels Executing Programs Multitasking REM CommandDebugging Programs RAM Memory Interrogation Commands Trace CommandError Code Command Stop Code CommandEeprom Memory Interrogation Operands Breakpoints and single steppingEvent Triggers & Trippoints Program Flow CommandsAS 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 Format Example- Define Output Waveform Using ATCommand Format JP and JS Conditional JumpsMultiple Conditional Statements Example using variables named V1, V2, V3Logical operators Conditional StatementsExamples Using the if and Endif CommandsIf, Else, and Endif Format Description Using the Else CommandCommand Format IF, Else and Endif Nesting if Conditional StatementsStack 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 Operator Function Example Ethernet Communication ErrorMathematical and Functional Expressions Mathematical OperatorsLEN1=FLEN&$00FF Bit-Wise OperatorsENTER,LENS6 FLEN=@FRACLENPR Posa VariablesFunctions POSDisplaying the value of variables at the terminal Programmable VariablesAssigning Values to Variables Assigning Variable Values to Controller ParametersInstruction Example Using Variables for JoystickOperands Special OperandsAssignment of Array Entries ArraysDefining Arrays Automatic Data Capture into Arrays Using a Variable to Address Array ElementsUploading and Downloading Arrays to On Board Memory Example Recording into An Array Command Summary Automatic Data CaptureData Types for Recording Operand Summary Automatic Data CaptureSpecifying the Port for Messages Outputting Numbers and StringsDeallocating Array Space Sending MessagesMG STR S3 Using the MG Command to Configure TerminalsFormatting Messages Function Description Displaying Variables and ArraysSummary of Message Functions Example Printing a Variable and an Array elementLZ1 Local Formatting of Response of Interrogation CommandsLZ0 V1=ALPHA Formatting Variables and Array ElementsLocal Formatting of Variables VF1Example- Set Bit and Clear Bit Hardware I/OConverting to User Units Digital OutputsExample- Output Port Example Using Inputs to control program flowExample Start Motion on Switch Digital InputsExample 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 Argument Blocks Bits Description Wire CutterExample Applications Interfacing to Grayhill or OPTO-22 G4PB24JP #A X-Y Table ControllerBGC AMC BGCAMC BGS AMS Speed Control by JoystickJG VEL JP #B Position Control by JoystickThis page Left Blank Intentionally Output Protection Lines Hardware ProtectionProgrammable Position Limits Signal or Function State if Error OccursSoftware Protection Input Protection Lines#AJP #AEN Off-On-ErrorAutomatic Error Routine Limit Switch Example Limit Switch RoutineSymptom Cause Remedy InstallationOperation Symptom CauseCommunication StabilityTheory of Operation Level Velocity and Position Profiles Operation of Closed-Loop SystemsFunctional Elements of a Motion Control System System ModelingCurrent Drive Motor-AmplifierVoltage Drive Elements of velocity loops Velocity LoopVoltage Source Digital Filter DACZOH System AnalysisMotor Ms = P/I = Kt/Js2 = 500/s2 rad/A Amp Ka = 4 Amp/V Analytical Method System Design and CompensationKd = 10/32768 = Encoder Kf = 4N/2π = DMC-3425 Theory of Operation PID, T Equivalent Filter FormKP, KD, KI, PL Servo Control Electrical SpecificationsPerformance Specifications Power RequirementsAcmdy Signa Connectors for DMC-3425J3 DMC-3425 General I/O 37- PIN D-type Acmda PwmaSigna J3 DMC-3425-Stepper General I/O 37- PIN D-typePwmb Signb PwmaRTS CTS GND Pin-Out DescriptionJ1 RS232 Main port DB-9 Pin Male DCD DTR GND DSR RTS CTSICM-1460 Interconnect Module FeaturesSpecifications ACMDX/PULSEX ResetERROR/PULSEY AMPEN/SIGNY5Opto-isolated inputs Opto-Isolation Option for ICM-1460Figure A-1 Opto-isolated outputsCO n Configuring the I/O of the DMC-3425 with DB-14064Saving the State of the Outputs in Non-Volatile Memory Accessing extended I/OJ6 50-PIN IDC Pin Signal Block Bit @INn Bit No @OUTn Connector DescriptionBlock Bit @INn Bit No @OUTn Description IOM-1964 Opto-Isolation Module for Extended I/O ControllersBuffer chips OverviewFigure A-4 Configuring Hardware BanksInput Circuit Figure A-6 High Power Digital OutputsStandard Digital Outputs Output Command ResultStandard Digital Outputs Electrical SpecificationsHigh Power Digital Outputs Screw Terminal Listing Relevant DMC CommandsDMC-3425 Appendices PWROUT29 PWROUT32PWROUT31 PWROUT301000 2000 Coordinated Motion Mathematical AnalysisVelocity 100000 = 0.05 s 2000000 WHO should Attend List of Other PublicationsTraining Seminars Galil Motion Control Contacting UsWarranty Eeprom IndexHoming, 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.