After installing DMCWin into the default directory, the DMCCOM.H header file is located in C:\Program Files\Galil\DMCWIN\INCLUDE. C++ programs that use the class library need the files DMCWIN.H and DMCWIN.CPP, which contain the class definitions and implementations respectively. These can be found in the C:\ProgramFiles\Galil\DMCWIN\CPP directory.

To link the application with the DLL’s, the DMC32.lib file must be included in the project and is located at C:\Program Files\Galil\DMCWIN\LIB

Example: A simple console application that sends commands to the controller

To initiate communication, declare a variable of type HANDLEDMC (a long integer) and pass the address of that variable in the DMCOpen() function. If the DMCOpen() function is successful, the variable will contain the handle to the Galil controller, which is required for all subsequent function calls. The following simple example program written as a Visual C console application tells the controller to move the X axis 1000 encoder counts. Remember to add DMC32.LIB to your project prior to compiling.

#include <windows.h> #include <dmccom.h> long lRetCode; HANDLEDMC hDmc; HWND hWnd;

int main(void)

{

//Connect to controller number 1 lRetCode= DMCOpen(1, hWnd, &hDmc); if (rc == DMCNOERROR)

{

char szBuffer[64];

//Move the X axis 1000 counts

lRetCode = DMCCommand(hDmc, "PR1000;BGX;", szBuffer, sizeof(szBuffer));

//Disconnect from controller number 1 as the last action lRetCode = DMCClose(hDmc);

}

return 0;

}

Galil Communications API with Visual Basic

Declare Functions

To use the Galil communications API functions, add the module file included in the C:\ProgramFiles\Galil\DMCWIN\VB directory named DMCCOM40.BAS. This module declares the routines making them available for the VB project. To add this file, select ‘Add Module’ from the ‘Project’ menu in VB5/6.

Sending Commands in VB

Most commands are sent to the controller with the DMCCommand() function. This function allows any Galil command to be sent from VB to the controller. The DMCCommand() function will return the response from the controller as a string. Before sending any commands the DMCCOpen() function must be called. This function establishes communication with the controller and is called only once.

This example code illustrates the use of DMCOpen() and DMCCommand(). A connection is made to controller #1 in the Galil registry upon launching the application. Then, the controller is sent the command ‘TPX’ whenever a command button is pressed. The response is then placed in a text box. When the application is closed, the controller is disconnected.

DMC-1700/1800

Chapter 4 - Software Tools and Communications • 63

Page 71
Image 71
Galil DMC-1700, DMC-1800 user manual Declare Functions, Sending Commands in VB

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.