SUBROUTINE

DESCRIPTION

 

 

#LIMSWI

Limit switch on any axis goes low

 

 

#ININT

Input specified by II goes low

 

 

#POSERR

Position error exceeds limit specified by ER

 

 

#MCTIME

Motion Complete timeout occurred. Timeout period set by TW command

 

 

#CMDERR

Bad command given

 

 

#AUTO

Automatically executes on power up

 

 

#AUTOERR

Automatically executes when a checksum is encountered during #AUTO

 

start-up. Check error condition with _RS.

 

bit 0 for variable checksum error

 

bit 1 for parameter checksum error

 

bit 2 for program checksum error

 

bit 3 for master reset error (there should be no program )

 

 

#AMPERR

Error reported from Galil AMP-19xxx

 

 

 

 

For example, the #POSERR subroutine will automatically be executed when any axis exceeds its position error limit. The commands in the #POSERR subroutine could decode which axis is in error and take the appropriate action. In another example, the #ININT label could be used to designate an input interrupt subroutine. When the specified input occurs, the program will be executed automatically.

NOTE: An application program must be running for automatic monitoring to function.

Example - Limit Switch:

This program prints a message upon the occurrence of a limit switch. Note, for the #LIMSWI routine to function, the DMC-1700/1800 must be executing an applications program from memory. This can be a very simple program that does nothing but loop on a statement, such as #LOOP;JP #LOOP;EN. Motion commands, such as JG 5000 can still be sent from the PC even while the “dummy” applications program is being executed.

:ED

Edit Mode

000 #LOOP

Dummy Program

001 JP #LOOP;EN

Jump to Loop

002 #LIMSWI

Limit Switch Label

003 MG “LIMIT OCCURRED”

Print Message

004 RE

Return to main program

<control> Q

Quit Edit Mode

:XQ #LOOP

Execute Dummy Program

:JG 5000

Jog

:BGX

Begin Motion

Now, when a forward limit switch occurs on the X axis, the #LIMSWI subroutine will be executed.

Notes regarding the #LIMSWI Routine:

1)The RE command is used to return from the #LIMSWI subroutine.

2)The #LIMSWI subroutine will be re-executed if the limit switch remains active. The #LIMSWI routine is only executed when the motor is being commanded to move.

Example - Position Error

:ED

Edit Mode

000 #LOOP

Dummy Program

150 • Chapter 7 Application Programming

DMC-1700/1800

Page 158
Image 158
Galil DMC-1800, DMC-1700 user manual Example Limit Switch, Example Position Error

DMC-1800, DMC-1700 specifications

The Galil DMC-1700 and DMC-1800 are advanced motion controllers widely recognized for their high performance and versatility in the automation and robotics industries. These controllers are designed to meet the demands of complex motion control applications, providing users with enhanced features and innovative technologies that optimize motion precision and efficiency.

One of the main features of the Galil DMC-1700 is its ability to handle up to 8 axes of motion control. This capability makes it suitable for a range of applications, from simple point-to-point movements to intricate trajectories in multi-axis systems. In contrast, the DMC-1800 extends this functionality, supporting up to 64 axes, making it ideal for large-scale automation environments.

Both models leverage Galil's powerful programming interface, which simplifies the development of motion control applications. The DMC-1700 and DMC-1800 controllers utilize a high-level programming language that supports advanced motion commands, including linear interpolation, circular interpolation, and complex motion profiles. This feature allows users to implement sophisticated motion sequences seamlessly.

In terms of connectivity, the Galil DMC series offers multiple communication options, including Ethernet, RS-232, and CAN bus, ensuring compatibility with various hardware and enabling easy integration into existing systems. The controllers also come equipped with digital and analog I/O ports, providing flexibility for sensor feedback and actuator control.

The advanced technology incorporated into both the DMC-1700 and DMC-1800 includes on-board PID control, which ensures precise motion control through closed-loop feedback. This results in improved stability and accuracy, particularly in high-speed applications. Additionally, the controllers offer extensive diagnostics and monitoring capabilities, allowing for real-time performance analysis and troubleshooting.

Another notable characteristic of these motion controllers is their compact design, which offers space-saving advantages while maintaining high processing power. Their robust construction and ability to operate in challenging environments make them suitable for a wide range of industrial applications, from CNC machining to assembly lines.

In conclusion, the Galil DMC-1700 and DMC-1800 motion controllers stand out due to their high-performance capabilities, advanced programming features, and flexibility in connectivity. With their ability to handle complex motion control tasks efficiently, these controllers are invaluable tools for engineers and manufacturers looking to enhance their automation processes. By integrating Galil's innovative motion control technology, industries can achieve greater precision, speed, and reliability in their operational workflows.