
Motion Control
Common Motion API
Introduction
Architecture and Features of Common Motion API
Advantech’s New Generation Motion Control Software
System integrators often encounter difficulties when an engineer may not be familiar with the different syntaxes during the integration of various motion control cards. And what
bother them the most is that when the system has to be upgraded, the problems often occur with rewriting the program as well as increasing the development time. To reduce these
difficulties, Advantech has introduced a unified interface - Common Motion API- which provides a single syntax and interface, regardless of the types of motion control card the
integrator chooses to use. The design can proceed under a single syntax interface to save development time and speed up the time to market. The ACM (Advantech Common Motion)
architecture defines a single interface which consists of three types of operation objects, including Device, Axis and Group and each object has its own Property, Method and State.
Features of Common Motion API
Provides complete debugging tool utility
- Hardware wiring testing
- Software functional testing
- Condition & status monitoring
Provides the dedicated APIs for different applications
Simplifies API calls process
Improves the integration
Supports scalable hardware
- Supports the existing hardware and future hardware development, such
as PCI-1245/45E/45L/65/85/85E series
Through the above advantages and the lower learning threshold, integrators
can significantly reduce development time and follow-up maintenance work!
5 Compositions in Common Motion API
1. Easy-understanding Naming Rule
Property
FT_XXX: Feature Property
CFG_XXX: Configuration Property
PAR_XXX: Parameter Property
2. Object-oriented Interface
3 Categories of Property
Feature Property
Configuration Property
Parameter Property
3. Clear Motion Control Unit
Single-axis: Axis Object
Multi-axis: Group Object
DI/O, AI/O: Device Object
Method
Acm_DevXXX(): Use ‘Device’ as a control unit
Acm_AxXXX(): Use ‘Axis’ as a control unit
Acm_GpXXX(): Use ‘Group’ as a control unit
3 Categories of Method
Use ‘Device’ as a control unit
Use ‘Axis’ as a control unit
Use ‘Group’ as a control unit
4. Simple Integer Type
U/I/F stands for different types of integers and the following
numbers stand for bits.
New Type
Windows
Data Type
Description
U8 UCHAR 8-bit unsigned integer
U16 USHORT 16-bit unsigned integer
U32 ULONG 32-bit unsigned integer
U64 ULONGLONG 64-bit unsigned integer
I8 CHAR 8-bit signed integer
I16 SHORT 16-bit signed integer
I32 INT 32-bit signed integer
I64 LONGLONG 64-bit signed integer
F32 FLAOT 32-bit Floating point variable
F64 DOUBLE 64-bit Floating point variable
Example: U32 Acm_AxMoveRel (U32 AxisHandle, PF64
Distance)
Event
EVT_DevXXX
EVT_AxXXX
EVT_GpXXX
3 Categories of Event
EVT_DevXXX
EVT_AxXXX
EVT_GpXXX
5. Detailed Error Classification
No Error Code Classification Description
1 0 Success Set up successfully
2
0x01000001
~0x01000fff
Warning
The parameter is
incorrect but do not
affect performance
3 0x80000xxx Function Error
Cannot execute
because the
parameter is
incorrect
4 0x80001xxx
Communication
Error
Cannot execute
because of
communication
errors
5 0x80002xxx Motion Error
Cannot execute
because of motion
errors
6 0x80003xxx DAQ Error
Cannot execute
because of data
acquisition errors
Acm_DevOpen()
Acm_AxOpen()
Acm_GpAddAxis()
Acm_DevClose()
Acm_AxClose()
Acm_GpRemAxis()
Device Disable
Device Object
Axis Object
Group Object
2-12
Comentários a estes Manuais