SPiiPlus C and C++ Library For Linux Based Systems Installation Guide
SPiiPlus C and C++ Library For Linux Based Systems Installation Guide
based Systems
Installation Guide
May 2024
Document Revision: 3.14.01
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
COPYRIGHT
Changes are periodically made to the information in this document. Changes are published as release notes and later
incorporated into revisions of this document.
No part of this document may be reproduced in any form without prior written permission from ACS Motion Control.
TRADEMARKS
EtherCAT® is registered trademark and patented technology, licensed by Beckhoff Automation GmbH, Germany.
Any other companies and product names mentioned herein may be the trademarks of their respective owners.
PATENTS
www.acsmotioncontrol.com
NOTICE
The information in this document is deemed to be correct at the time of publishing. ACS Motion Control reserves the right to
change specifications without notice. ACS Motion Control is not responsible for incidental, consequential, or special damages
of any kind in connection with using this document.
Version 3.14.01 2
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
Revision History
Date Revision Description
Version 3.14.01 3
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
Format Description
Blue Hyperlink
Flagged Text
Version 3.14.01 4
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
Related Documents
Documents listed in the following table provide additional information related to this document.
The most updated version of the documents can be downloaded by authorized users from
www.acsmotioncontrol.com/downloads.
Online versions for all ACS software manuals are available to authorized users at ACS Motion Control
Knowledge Center.
Document Description
Version 3.14.01 5
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
Table of Contents
1. Introduction 7
2. Supported Systems 8
3. Unsupported Communication Channels 9
4. Unsupported Functions 10
5. Architecture 11
6. Suppplied Components 12
7. Installation and Uninstallation 13
8. User Mode Driver 14
9. Working with SPiiPlus C/C++ Library for Linux-based Systems 16
9.1 Working Remotely From Windows - Visual Studio 16
9.1.1 Enabling SSH on Ubuntu 16
9.1.2 Adding a Remote System to Visual Studio 17
9.1.3 Creating a Linux Project 19
9.2 Working Directly From Linux with Eclipse 22
10. Transferring Text Files Between Windows and Linux 26
Version 3.14.01 6
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
1. Introduction
1. Introduction
This document describes how to install and use the SPiiPlus C/C++ Library for Linux-based Systems.
The unsupported functions (as compared to the SPiiPlus C/C++ Library for Windows-based systems)
are specified in section Section 4, Unsupported Functions. Beyond that, the syntax matches that
described in the SPiiPlus C Library Programmer’s Guide.
Version 3.14.01 7
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
2. Supported Systems
2. Supported Systems
The following systems were tested:
Operating System
Processor Kernel version
Name Version Architecture
RedHat
3.10.0-1160.el7.x86_
Enterprise 7.9 64-bit x64
64
Linux Server
3.10.0-
CentOS 7.9 64-bit X64
1160.95.1.el7.x86_64
lsb_release -a
Fedora:
To get the Kernel version, type the following command in a shell:
Debian:
uname -r
Fedora:
hostnamectl
Version 3.14.01 8
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
3. Unsupported Communication Channels
If the Simulator was started by a Windows PC, it is possible to connect to these channels
from a Linux computer by using the functions acsc_OpenCommEthernetTCP or acsc_
OpenCommEthernetUDP. The only operation which is not possible is starting Simulator
directly from a Linux computer.
Version 3.14.01 9
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
4. Unsupported Functions
4. Unsupported Functions
The following functions are not supported in the SPiiPlus C/C++ Library for Linux-based Systems:
Version 3.14.01 10
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
5. Architecture
5. Architecture
Component
Description
Name
The ACS service runs on ports 9998 and 9999. These ports must not be in use prior to
installation of the ACS Package.
To verify whether the ACS.service is running, type the following command in a shell:
For example:
Version 3.14.01 11
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
6. Suppplied Components
6. Suppplied Components
Path Component name Description
ACS Service
ACS.Service.out
executable
User Mode
ACS.UMD Driver
/usr/bin
executable
Emergency
ACS.EStop Stop
executable
DOTNET
/usr/bin/ACSMotionControl AvaloniaDemoProject
demo project
Dynamic-Link
libACSCL_x64.so
Library
/usr/lib/ACSMotionControl
Static-Link
libACSCL_x64.a
Library
ACS C Library
/usr/include/ACSMotionControl ACSC.h
header file
SPiiPlusCLibraryReferenceProgramme
r'sGuide.pdf
SPiiPlus.NET-Library-Programmers-
/usr/share/doc/ACSMotionContr Documentati
Guide.pdf
ol on files
SPiiPlus_C_and_Cpp_Library_for_
Linux-based_Systems_Installation_
Guide.pdf
Simple
/usr/share/samples/Measurem
MeasurementsDemo.out and sources measuremen
entsDemo
t application
Version 3.14.01 12
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
7. Installation and Uninstallation
sudo ./install.sh
sudo ./uninstall.sh
Version 3.14.01 13
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
8. User Mode Driver
Version 3.14.01 14
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
8. User Mode Driver
RedHat Enterprise Linux 7.9 – ACS.UMD in applications menu, under “Other” section:
ACS.UMD UI tabs:
Version 3.14.01 15
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
9. Working with SPiiPlus C/C++ Library for Linux-
Visual Studio connects a to a remote machine via the SSH protocol, so it is necessary to verify that
SSH is enabled in the remote machine. Enabling SSH might be different among different Linux
distributions.
As an example, this document covers this process on Ubuntu machines.
Once the installation is finished, the SSH service will start automatically. To verify that the SSH
service is running, type the following command:
Version 3.14.01 16
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
9. Working with SPiiPlus C/C++ Library for Linux-
The final step is to open the SSH port on Ubuntu firewall. In order to do so type:
Now it is possible to connect via SSH from any remote machine. To get your IP address, type:
ip a
Version 3.14.01 17
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
9. Working with SPiiPlus C/C++ Library for Linux-
The Options window will be opened. Select “Cross Platform” from the menu:
Version 3.14.01 18
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
9. Working with SPiiPlus C/C++ Library for Linux-
Once you click on CONNECT, the machine will be added to the list:
Version 3.14.01 19
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
9. Working with SPiiPlus C/C++ Library for Linux-
In “General” tab, make sure that “Remote build machine” field holds the address of your machine, as
well as “Remote Debug Machine” field in “Debugging” tab.
Now the project is linked to the Linux Machine, so Visual Studio can build and deploy.
In order to use the ACSC.h header file, navigate to the “General” tab under the “C/C++” section and
add the following path in the “Additional Include Directories” field:
/usr/include/ACSMotionControl/
Version 3.14.01 20
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
9. Working with SPiiPlus C/C++ Library for Linux-
To link with the ACSCL shared library (.so file), navigate to the “Input” tab in the “Linker” section and
add the following path, in the “Additional Dependencies” field:
/usr/lib/ACSMotionControl/libACSCL_x64.so
Likewise, to link with ACSCL static library (.a file), add the following path:
/usr/lib/ACSMotionControl/libACSCL_x64.a
Linking with the static library file (libACSCL_x64.a) requires linking also with “pthread”
library.
To do so, navigate to the "Command Line" tab in the "Linker section, and add "-pthread"
in the "Additional Options" field.
Version 3.14.01 21
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
9. Working with SPiiPlus C/C++ Library for Linux-
At this point, the project is ready to build and deploy, but IntelliSense will still report errors. These
errors appear because IntelliSense does not have access to the header file.
To grant access to these files, open the "Options" window again and navigate to “Remote Headers
IntelliSense Manager”. Select “Update” for your machine.
Version 3.14.01 22
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
9. Working with SPiiPlus C/C++ Library for Linux-
/usr/include/ACSMotionControl/
Version 3.14.01 23
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
9. Working with SPiiPlus C/C++ Library for Linux-
To link with the ACSCL shared library (.so file), navigate to the “Settings” tab under the “C/C++ Build”
section. Select “Miscellaneous” and add the following path in “Other objects” field:
/usr/lib/ACSMotionControl/libACSCL_x64.so
Similarly, to link with the ACSCL static library (.a file), add the following path:
/usr/lib/ACSMotionControl/libACSCL_x64.a
Linking with the static library file (libACSCL_x64.a) requires linking with “pthread” library
as well.
To do so, add “-pthread” in “Linker flags” field.
Version 3.14.01 24
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
9. Working with SPiiPlus C/C++ Library for Linux-
Version 3.14.01 25
SPiiPlus C and C++ Library for Linux-based Systems
Installation Guide
10. Transferring Text Files Between Windows and
Version 3.14.01 26
5 HaTnufa St.
Yokne'am Illit 2066717
Israel
Tel: (+972) (4) 654 6440 Fax: (+972) (4) 654 6443