1 / 24

SPiiPlus Training Class

SPiiPlus Training Class. ACSPL+ Overview. What is ACSPL+?. ACS Motion Control’s programming language, 2 nd generation (+) High level real-time scripting language built for motion control But powerful enough for general computing!

jenna
Download Presentation

SPiiPlus Training Class

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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(intargc, char** argv) { EnableMotor(0); PointToPoint(0, 5000); return 0; } ACSPL+: ENABLE0 PTP0, 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. Parker AcroBASIC: DRIVE ON X MOV X5000 END Galil Language: SHA PA 5000 BG EN ACSPL+: ENABLE0 PTP0, 5000 STOP

  9. How Does ACSPL+ Compare toIEC-61131-3 Languages? • IEC-61131-3 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-61131 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+

More Related