Galil DMC-3425 user manual Modbus Support, Function Code Definition

Page 58

(1 – 8) and SlotNum is the slot number of the IOM output module to be written to (0 – 6). m is the decimal representation of the data written to the 4 (0 – 15) or 8 (0 – 255) output points of the IOM module.

Please refer to the IOC-7007 manual for complete information on how to configure, read and write information to the IOC-7007 Ethernet I/O module.

Modbus Support

The Modbus protocol supports communication between masters and slaves. The masters may be multiple PC's that send commands to the controller. The slaves are typically peripheral I/O devices that receive commands from the controller.

When the Galil controller acts as the master, the IH command is used to assign handles and connect to its slaves. The IP address may be entered as a 4 byte number separated with commas (industry standard uses periods) or as a signed 32 bit number. A port number may also be specified, and should be set to 502, which is the Modbus defined port number. The protocol (TCP/IP or UDP/IP) to use must also be designated at this time. Otherwise, the controller will not connect to the slave. (Ex. IHB=151,25,255,9<502>2 - This will open handle #2 and connect to the IP address 151.25.255.9, port 502, using TCP/IP)

An additional protocol layer is available for speaking to I/O devices. Modbus is an RS-485 protocol that packages information in binary packets that are sent as part of a TCP/IP packet. In this protocol, each slave has a 1 byte slave address. The DMC-3425 can use a specific slave address or default to the handle number.

The Modbus protocol has a set of commands called function codes. The DMC-3425 supports the 10 major function codes:

Function Code

Definition

 

 

01

Read Coil Status (Read Bits)

02

Read Input Status (Read Bits)

03

Read Holding Registers (Read Words)

04

Read Input Registers (Read Words)

05

Force Single Coil (Write One Bit)

06

Preset Single Register (Write One Word)

07

Read Exception Status (Read Error Code)

15

Force Multiple Coils (Write Multiple Bits)

16

Preset Multiple Registers (Write Words)

17

Report Slave ID

50 • Chapter 4 Communication

DMC-3425

Image 58
Contents DMC-3425 By Galil Motion Control, IncPage Contents Connecting Hardware Programming Motion Application Programming 107 DAC ZOHJ5 Power 6 PIN Molex WarrantyOverview IntroductionOverview of Motor Types Standard Servo Motors with +/- 10 Volt Command SignalStepper Motor with Step and Direction Signals Brushless Servo Motor with Sinusoidal CommutationDMC-3425 Overview Motor Interface DMC-3425 Functional ElementsMicrocomputer Section CommunicationMotor General I/OSystem Elements 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-3425Stepper Motor Jumpers Setting the Baud Rate on the DMC-3425Selecting MO as default on the DMC-3425 9600 1200Axis Configuration Jumpers A1 A2 A4 A8Installing the Communications Software Using Galil Software for DOSUsing Galil Software for Windows Getting Started DMC-3425 Communicating through the Ethernet Using Non-Galil Communication SoftwareSending Test Commands to the Terminal 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 CRBG CR Inverting the Loop PolaritySH CR TT CRPower Supply Connect brushless motor for sinusoidal commutation If Hall Sensors are Available If Hall Sensors are Not Available Amacr Connect Step MotorsBGA CR BC CRTune the Servo System TE CRConfiguring Operation for Distributed Control Configure the Distributed Control SystemAutomatic Configuration of Distributed Control Manual Slave IP configuration with HC command Mgconfiguration Failed Else Mgconfig Success Endif Manual Configuration of Distributed Control#SETUP Instruction InterpretationCHC=D,E NA6CHE=F,G Example 2 Profiled Move Design ExamplesExample 1 System Set-up Example 3 Position InterrogationExample 6 Operation Under Torque Limit Example 8 Operation in the Buffer ModeExample 5 Velocity Control Jogging Example 7 InterrogationExample 10 Motion Programs with Loops Example 9 Motion ProgramsExample 11- Motion Programs with Trippoints Example 12 Control Variables Example 13 Control Variables and OffsetReturn to top of program Limit Switch Input Using InputsOverview Home Switch Input Abort InputAmplifier Interface Uncommitted Digital InputsTTL Inputs Analog InputsTTL Outputs This page Left Blank Intentionally RS232 Port 1 Dataterm RS-232 ConfigurationRS232 Port Baud Rate SelectionAddressing Ethernet ConfigurationCommunication Protocols Handshaking ModesEthernet Handles Global vs. Local OperationLocal Operation Accessing the I/O of the Slaves Operation of Distributed ControlDigital Outputs Handling Communication ErrorsMulticasting Digital InputsUnsolicited Message Handling IOC-7007 SupportModbus Support Function Code DefinitionOther Communication Options Handle SwitchingHandle Restore on Communication Failure User Defined Ethernet VariablesData Record Map Data RecordWaiting on Handle Responses DMC-3425 Communication Communication DMC-3425 Bytes 2, 3 of Header Axis Switch Information 1 ByteHeader Information Byte 0, 1 of Header General Status Information 1 ByteAxis Status Information 2 Byte QZ CommandCoordinated Motion Status Information for plane 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 axisByte Binary Command FormatHeader Format Example Binary command tableDatafields Format LE, VEController Response to Data Interrogating Current Commanded Values Interrogation CommandsSummary of Interrogation Commands Interrogating the ControllerCommand Summary This page Left Blank Intentionally Programming Motion Mode of Motion Basic description Commands Global Independent Axis Positioning VP, CRExamples Command Summary Independent AxisOperand Summary Independent Axis Absolute Position MovementInstructionInterpretation BG CIndependent Jogging Command Summary JoggingJog in a and C axes Specifying Linear Segments Linear Interpolation Mode Local ModeJoystick Jogging #ALT Additional CommandsSpecifying Vector Speed for Each Segment LmabChanging Feedrate Command Summary Linear InterpolationOperand Summary Linear Interpolation BGSLinear Interpolation Motion ExampleExample Linear Move #LMOVEExample Multiple Moves #LOADVector Mode Linear and Circular Interpolation Local Mode Specifying Vector SegmentsAdditional commands Operand Summary Coordinated Motion Sequence Command Summary Coordinated Motion SequenceCompensating for Differences in Encoder Resolution TrippointsVM AB Required PathExample Gantry Mode Electronic Gearing Local ModeCommand Summary Electronic Gearing Example Electronic GearingBGB Electronic Cam Local ModeGA, CA GA,AProgramming Motion DMC-3425 DMC-3425 Programming Motion 3000 2250 1500 2000 4000 6000 Master #RUN EAA#LOOP EB1#LOOPJP#LOOP,V1=0 ST aContour Mode Local Mode Specifying Contour SegmentsCMA Instruction DescriptionDT0CD0 General Velocity Profiles Command Summary Contour ModeOperand Summary Contour Mode Generating an Array An Example#POINTS Contour Mode ExamplePOSC=V4 Teach Record and Play-Back Record and Playback ExampleVirtual Axis Local Mode Mode of Motion Virtual Axis usage CommandsSinusoidal Motion Example Stepper Motor OperationEcam Master Example Specifying Stepper Motor OperationMonitoring Generated Pulses vs. Commanded Pulses Stepper Motor SmoothingMotion Complete Trippoint Using an Encoder with Stepper MotorsCommand Summary Stepper Motor Operation Operand Summary Stepper Motor OperationDual Loop Auxiliary Encoder Using the CE CommandAdditional Commands for the Auxiliary Encoder Backlash Compensation#DUALOOP Continuous Dual LoopSampled Dual Loop DE0JP#CORRECT Using the IT and VT CommandsMotion Smoothing #ENDHoming Trapezoidal velocity and smooth velocity profilesAM a #HOMEHM a MG AT HomeHome Switch Operand Summary Homing Operation Command Summary Homing OperationHigh Speed Position Capture Latch Input FunctionAL B This page Left Blank Intentionally Application Programming Global vs. Local ProgrammingReturn Edit Mode CommandsEntering Programs ED #BEGINValid labels Using Labels in ProgramsProgram Format Invalid labelsSpecial Labels No Command and the Apostrophe ‘Commenting Programs REM Command Executing Programs MultitaskingDebugging Programs Stop Code Command Trace CommandError Code Command RAM Memory Interrogation CommandsBreakpoints and single stepping Eeprom Memory Interrogation OperandsProgram Flow Commands Event Triggers & TrippointsExample- Multiple Move Sequence DMC-3425 Event TriggersAS a B C D E F G H Example- Repetitive Position Trigger Example- Set Output after DistanceExample Start Motion on Input Example Change Speed along Vector Path Example Set Output when At SpeedExample Multiple Move with Wait Conditional Jumps Example- Define Output Waveform Using ATCommand Format JP and JS FormatConditional Statements Example using variables named V1, V2, V3Logical operators Multiple Conditional StatementsIf, Else, and Endif Using the if and Endif CommandsExamples Nesting if Conditional Statements Using the Else CommandCommand Format IF, Else and Endif Format DescriptionSubroutines Auto-Start and Auto Error RoutineStack Manipulation Example Position Error Example Limit SwitchAutomatic Subroutines for Monitoring Conditions Example Command Error Example Motion Complete TimeoutExample Input Interrupt Example Command Error w/Multitasking Mathematical Operators Example Ethernet Communication ErrorMathematical and Functional Expressions Operator FunctionFLEN=@FRACLEN Bit-Wise OperatorsENTER,LENS6 LEN1=FLEN&$00FFPOS VariablesFunctions PR PosaAssigning Variable Values to Controller Parameters Programmable VariablesAssigning Values to Variables Displaying the value of variables at the terminalSpecial Operands Example Using Variables for JoystickOperands InstructionDefining Arrays ArraysAssignment of Array Entries Uploading and Downloading Arrays to On Board Memory Using a Variable to Address Array ElementsAutomatic Data Capture into Arrays Operand Summary Automatic Data Capture Command Summary Automatic Data CaptureData Types for Recording Example Recording into An ArraySending Messages Outputting Numbers and StringsDeallocating Array Space Specifying the Port for MessagesFormatting Messages Using the MG Command to Configure TerminalsMG STR S3 Example Printing a Variable and an Array element Displaying Variables and ArraysSummary of Message Functions Function DescriptionLZ0 Local Formatting of Response of Interrogation CommandsLZ1 VF1 Formatting Variables and Array ElementsLocal Formatting of Variables V1=ALPHADigital Outputs Hardware I/OConverting to User Units Example- Set Bit and Clear BitDigital Inputs Example Using Inputs to control program flowExample Start Motion on Switch Example- Output PortAnalog Inputs Input Interrupt FunctionExample Position Follower Point-to-Point Extended I/O of the DMC-3425 Controller Configuring the I/O of the DMC-3425Example Position Follower Continuous Move Saving the State of the Outputs in Non-Volatile Memory Accessing Extended I/OBit I/O Block Binary Representation Decimal Value for Interfacing to Grayhill or OPTO-22 G4PB24 Wire CutterExample Applications Argument Blocks Bits DescriptionX-Y Table Controller JP #AAMC BGCBGC AMC Speed Control by Joystick BGS AMSPosition Control by Joystick JG VEL JP #BThis page Left Blank Intentionally Hardware Protection Output Protection LinesInput Protection Lines Signal or Function State if Error OccursSoftware Protection Programmable Position LimitsAutomatic Error Routine Off-On-Error#AJP #AEN Limit Switch Routine Limit Switch ExampleInstallation Symptom Cause RemedyStability Symptom CauseCommunication OperationTheory of Operation Level Operation of Closed-Loop Systems Velocity and Position ProfilesSystem Modeling Functional Elements of a Motion Control SystemVoltage Drive Motor-AmplifierCurrent 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 KP, KD, KI, PL Equivalent Filter FormPID, T Power Requirements Electrical SpecificationsPerformance Specifications Servo ControlAcmda Pwma Connectors for DMC-3425J3 DMC-3425 General I/O 37- PIN D-type Acmdy SignaSignb Pwma J3 DMC-3425-Stepper General I/O 37- PIN D-typePwmb SignaDCD DTR GND DSR RTS CTS Pin-Out DescriptionJ1 RS232 Main port DB-9 Pin Male RTS CTS GNDSpecifications FeaturesICM-1460 Interconnect Module AMPEN/SIGNY5 ResetERROR/PULSEY 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 OutputsHigh Power Digital Outputs Electrical SpecificationsStandard Digital Outputs Relevant DMC Commands Screw Terminal ListingDMC-3425 Appendices PWROUT30 PWROUT32PWROUT31 PWROUT29Coordinated Motion Mathematical Analysis 1000 2000Velocity 100000 = 0.05 s 2000000 Training Seminars List of Other PublicationsWHO should Attend 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.