Servosila-SC-25-Brushless-Motor-Controllers
Table Of Contents
SocketCAN API can be used to develop software that sends commands to Servosila controllers
or receives telemetry back from the controllers.
Many off-the-shelf software products such as LabView support SocketCAN API out of the box,
and come with an integrated CANopen stack. If the path taken is to develop the control software
from scratch, there are many samples of open source programs available on the Internet that
make use of Linux SocketCAN API.
Whenever a USB 2.0 interface (vs. a CAN bus interface) is used to connect Servosila controllers
to a Linux or a Windows 10/8 computer, the controllers appear as Virtual COM ports to both
operating systems. A semi-standard text protocol called SLCAN is then used to send commands
to the controllers through the virtual COM port as well as for receiving telemetry back.
In addition, most Linux distributions come with a special SLCANd daemon which makes
Servosila controllers attached via USB Virtual COM ports appear as CAN bus devices or as
USB2CAN dongles. This daemon makes it possible to use the same Linux SocketCAN API
whenever the Servosila controllers are connected to Linux via USB 2.0 or a CAN bus interface
(does not matter which one, the API is still SocketCAN API).
As Windows 10/8 systems do not have such a unified CAN bus API, the ways for a control
system’s software running on Windows to interact with Servosila controllers include:
• either through a virtual COM-port (USB 2.0) by writing to and reading from the port
using a standard text protocol called SLCAN which is based on exchange of text strings
formatted according to fairly simple open specification,
• or using a third-party USB2CAN adapter/dongle, and whatever programming API the
adapter/dongle provides for Windows.
In general, user software for a control computer/PLC can be developed in any language that
supports either Linux SocketCAN API or read/write operations for virtual COM ports on
Windows 10/8 or Linux. This includes C/C++, Qt, Java, Python, MATLAB, LabView, and many
other languages and packages.
Servoscope, a graphical software tool
The Servosila controllers come with a graphical software tool called Servoscope. The tool
provides means of configuring the controllers, displaying real-time telemetry coming via CAN or
USB, and sending commands down to the controllers.
8 www.servosila.com