The RMP Motion Controller APIs
HelloSequencer.sq
1global int32 globalSerialNumber; // global variables can be viewed in RapidSetup
2
3void main()
4{
5 HelloMotionController();
6}
7
8void HelloMotionController()
9{
10 int32 serialNumber = ControllerSerialNumberGet();
11 print("MotionController serial number is " + serialNumber);
12 globalSerialNumber = serialNumber; // write it to the global so we can view it int16 RapidSetup
13}
14
15void HelloAxis()
16{
17 uint32 axisNumber = 0;
18 double commandPosition = AxisCommandPositionGet(axisNumber);
19 print("Axis " + axisNumber + " CommandPosition is " + commandPosition);
20}
21
22void HelloIO()
23{
24 uint32 ioNumber = 0;
25 int32 digitalInNumber = 0;
26 bool inputState = IODigitalInGet(ioNumber, digitalInNumber);
27 print("IO node " + ioNumber + " Digital Input bit number " + digitalInNumber + " state is " + inputState);
28}
29
30void HelloNetworkNode()
31{
32 uint32 networkNodeNumber = 1;
33 string nodeName = NetworkNodeNameGet(networkNodeNumber);
34 print("Node " + networkNodeNumber + " is a " + nodeName );
35}
36
37void HelloMultiAxis()
38{
39 uint32 multiAxisNumber = 2;
40 int32 axisCount = MultiAxisAxisCountGet(multiAxisNumber);
41 print("MultiAxis " + multiAxisNumber + " Axis Count is " + axisCount);
42 MultiAxisAbort(multiAxisNumber);
43 MultiAxisClearFaults(multiAxisNumber);
44}
45
46void HelloEnum()
47{
48 enum operational = 260; // RSINetworkStateOPERATIONAL from rsiEnums.h
49 enum currentState = ControllerNetworkStateGet();
50
51 if(currentState == operational)
52 {
53 print("Network is OPERATIONAL");
54 }
55 else
56 {
57 print("Network is not operational");
58 }
59}
60
61void HelloArray()
62{
63 string arrayId = "anyUniqueStringHere";
64 uint64 arraySize = 3;
65 array_create(arrayId, arraySize);
66
67 array_set(arrayId, 0, 111.111);
68 array_set(arrayId, 1, 222.222);
69 array_set(arrayId, 2, 333.333);
70
71 for(uint64 i = 0; i < arraySize; ++i)
72 {
73 print(i + " = " + array_get(arrayId, i));
74 }
75 array_destroy(arrayId);
76}