From RSI - Robotic Systems Integration - SynqNet Systems
RapidCode API - RapidCode API Documentation
Contents |
RapidCode
Introduction
RapidCodeis an API that allows developers to quickly create SynqNet machine control applications in C++, C#, VB.Net, or Steeplechase VLC. RapidCode provides a powerful, yet easy to use interface for SynqNet motion controllers, SynqNet drives and SynqNet I/O nodes purchased from RSI.
RapidCode Motion Driver for Steeplechase VLC extends RapidCode and SynqNet functionality to flowcharting and IEC 1131-1 programming environments.
RapidCode was created using the C++ programming language. The standard distribution of RapidCode includes a C++ header file, import library and DLL.
| RapidCode releases are available for the following compilers: |
|---|
| 1. Microsoft .NET 2.0 Assembly (C# and VB.NET) |
| 2. Microsoft Visual C++ 6.0 |
| 3. Microsoft Visual C++ 2003 (7.1) |
| 4. Microsoft Visual C++ 2005 (8.0) |
| 5. Borland C++ (Contact RSI) |
| 6. GCC for Linux (Contact RSI) |
Classes
MotionController represents the PCI motion controller board. This class provides an interface to general controller configuration, firmware upload/download, SynqNet network, and data recording.
The Axis class represents a single axis of motion control. This class provides an interface for commanding motion, reading trajectory paramters, configuring filter (control law) parameters, homing, limit switch configuration, motor configuration, position capture, electronic gearing and SqNode information.
The MultiAxis class provides an interface to a group or collection of axes. Use the MultiAxis class when coordinated, synchronized or path motion is required.
The IO class provides an interface to a SynqNet I/O Node. A SynqNet I/O node can have various combinations of digital or analog inputs and outputs.
The RsiError class is thrown as an execption by all RapidCode classes. It contains and error number, and a text message which describes the error. Throwing exceptions can be disabled on all RSI classes. If throwing exceptions is disabled, a log of RsiErrors can be accessed.
Important Links
- RapidCode API
- RapidCode Change Log
- MotionController Class API
- MultiAxis Class API
- IO Class API
- Sample Applications
FAQ
When using the PVT motion, is it possible to use a time value less than 0.001?
Yes. PVT time value can be set up to each controller sample. The default controller sample rate is 2000 Hz which is 1/2000 = 0.0005 seconds. You can increase the sample rate to more than 2000 Hz.
However remember that the sample rate is inversely proportional to axis count. You will have to decrease controller sample rate as you increase the number of axis on your network.
Is it possible to home without using a sensor? i.e. setting the current position to home?
Yes, it is possible to home without using a sensor. You can test using Homing Method 35 from RapidSetup (shown below) or pass CURRENT_POSITION enum in HomeMethodSet()
If you set the Home Offset to 0 and click on HOME then it simply sets the current position = 0. Note: You will not be able to test this homing method using phantom axis.
How to setup an axis as Phantom axis
// changing the motor type from default (SERVO) to PHANTOM.
axis.MotorTypeSet(RSIMotorType.RSIMotorTypePHANTOM);

