Download presentation
1
SPiiPlus Training Class
ACSPL+ Overview
2
What is ACSPL+? ACS Motion Control’s programming language, 2nd generation (+) High level real-time scripting language built for motion control But powerful enough for general computing! Large command set includes both simple procedures and powerful motion operations Supported in all SPiiPlus products
3
What Can ACSPL+ Do For You?
With ACSPL+ you can write a complicated motion algorithm in a few lines of code 2D raster scan Electronic camming Gantry control Robot kinematics High speed camera triggering High speed position capture
4
What Can ACSPL+ Do For You?
That’s not all - with ACSPL+ you can handle general automation and signal processing. PLC operations High speed data collection I/O debouncing Real-time program scheduling State machines Data processing
5
How Does ACSPL+ Compare to C/C++?
C/C++ is a powerful general purpose computing language With C/C++ you can do just about anything The problem: you have to either find the libraries or explicitly code everything! With ACSPL+ all the commands are at your fingertips! No libraries to include / link Simple compiling on the controller No Main function!
6
How Does ACSPL+ Compare to C/C++?
Example: Enable a motor and move it a distance of 5000 units. C / C++: #include "MotionLibrary.h" int main(int argc, char** argv) { EnableMotor(0); PointToPoint(0, 5000); return 0; } ACSPL+: ENABLE 0 PTP 0, 5000 STOP
7
How Does ACSPL+ Compare to Other Motion Control Languages?
ACSPL+ uses commands with basic English syntax Easy to understand by reading the code ACSPL+ is powerful scripting language Built-in features make logic control simple ACSPL+ provides many of the basic features that programmers expect Standard math order of operations and operators Standard logical operators
8
How Does ACSPL+ Compare to Other Motion Control Languages?
Example: Enable a motor and move it a distance of 5000 units. ACSPL+: ENABLE 0 PTP 0, 5000 STOP Galil Language: SHA PA 5000 BG EN Parker AcroBASIC: DRIVE ON X MOV X5000 END
9
How Does ACSPL+ Compare to IEC-61131-3 Languages?
IEC defines 5 global languages used by PLCs Global standard for PLCs Very useful for logic control Very difficult for multi-axis motion Uses PLCopen function blocks for motion ACSPL+ is powerful scripting language Meant for multi-axis motion Can interact with IEC languages via SPiiPlus soft PLC
10
How Do ACSPL+ Programs Run?
Sequential Language Programs start at designated line or label Executes one line of buffer code after another at controller cycle rate (CTIME) Can execute more than 1 command per line Can execute more than 1 line per controller cycle
11
How Do ACSPL+ Programs Run?
Starting by line number: START 0, 1 START 0, 4 START 0, 9 START 0, 14 Starting by label: START 0, START_POINT_1 START 0, START_POINT_2 START 0, JUMP_POINT
12
ACSPL+ General Features
Structured programming constructs (flow control statements) IF statements, WHILE loops, subroutine CALL Support for standard arithmetic operators * / Support for standard logical operators >, <, =, <> (not equal), ^ (logical not), ~ (inversion)
13
ACSPL+ General Features
14
ACSPL+ General Features
Multiple commands per program line Semicolon (;) separated Program comments Start with exclamation mark (!) Firmware and user-defined variables 32-bit integers 64-bit floating point Scalar, 1-D arrays, or 2-D arrays (zero indexing) Global or local in scope
15
ACSPL+ General Features
16
ACSPL+ General Features
Standard math library Trigonometric functions Exponential and logarithmic functions Power / square root Basic array processing Average, min, max functions Basic signal processing Dead-zone, edge detection, lag functions Interpolation (linear, spline)
17
ACSPL+ General Features
18
ACSPL+ General Features
Robust motion programming support Enable / Disable motors 3rd order (S-curve) motion generation User-defined motion parameter units On-the-fly motion parameter updates Software position limits Motion tracking PT and PVT path motion Error-mapping Forward and inverse kinematics
19
ACSPL+ General Features
20
ACSPL+ General Features
Up to 64 independent program buffers Separate storage for each buffer Separate memory space for local variable declaration Isolated environment for program editing / execution Separate thread for concurrent execution Independent autoroutine (interrupt) execution
21
ACSPL+ General Features
Program buffer synchronization Mutual exclusion via global variables WAIT and TILL commands Real-time program scheduling Guaranteed response time Guaranteed execution time
22
ACSPL+ General Features
23
ACSPL+ General Features
Built-in safety control Firmware defined fault handling routines Support for user-defined fault handling routines Simplified EtherCAT interface Map EtherCAT PDOs to ACSPL+ variables CoE read/write functions for Object Dictionary access
24
ACSPL+ General Features
Low level socket communications interface Support for Ethernet and serial communications Byte-level data manipulation ASCII command support High level host communication interface Client-server model (host is client) Support for asynchronous controller interrupts C and COM library for multiple language support (C, C++, .NET, LabView) Can do just about anything that can be done in ACSPL+
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.