变量操作相关
全局数值变量可以用来在主程序、被调用的子程序以及后台程序之间传递信息,用以做逻辑判断使用。数值型变量储存的是数值,包含了布尔型变量、整数型变量、实数型变量三种。
整数型变量
调用函数NRC_SetIntVar(int num, int value)
来设置 INT 变量的值,参数 num 是 INT 变量的编号,取值范围:0 < num <= 100,value 是要设置的目标值。
调用函数NRC_ReadIntVar(int num)
以读取 INT 变量的值。参数 num 是 INT 变量的编号,取值范围:0 < num <= 100。
实数型变量
调用函数NRC_SetDoubleVar(int num, double value)
设置 DOUBLE 变量的值,参数 num 是 DOUBLE 变量的编号,取值范围:0 < num <= 100,value 要设置的目标值。
调用函数NRC_ReadDoubleVar(int num)
以读取 DOUBLE 变量的值,参数 num 是 DOUBLE 变量的编号,取值范围:0 < num <= 100。
布尔型变量
设置三者的值分别通过调用NRC_SetBoolVar(int num, bool value)
设置 BOOL 变量的值,参数 num 是 BOOL 变量的编号,取值范围:0 < num <= 100, value 是要设置的目标值。
调用函数bool NRC_ReadBoolVar(int num)
以读取 BOOL 变量的值,参数 num 是 BOOL 变量的编号,取值范围:0 < num <= 100,
变量操作相关的 C++demo 程序
#include <iostream>
#include "nrcAPI.h"
#include<stdio.h>
using namespace std;
void msgHook()
{
NRC_Messsage tmp;//定义一个消息结构体对象
NRC_GetMesssage(1, tmp);//将消息队列中最早的消息赋值给对象tmp
printf("msgHook localTime=%d:%d::%d, 0x%x,0x%x,text=%s,size=%d\n",tmp.localTime.minute, tmp.localTime.second, tmp.localTime.milliseconds, tmp.kind, tmp.type, tmp.text.c_str(),NRC_GetMesssageSize());
NRC_Delayms(200);
}
int main ()
{
SystemStartup();//系统启动,详见3.3节
SetServoMap();//设置伺服映射关系,见3.5节
SettingofRobotRelatedParameters();//机器人相关参数设置,详见3.6节
//////以上调用函数可见附录一/////
NRC_SetServoReadyStatus(1);//设置伺服允许,详见3.8节
NRC_SetInterpolationMethod(1);//设置为S形插补方式,详见3.12节
NRC_SetOperationMode(NRC_RUN_);//设置操作模式为运行模式,详见3.11节
NRC_SetAutoRunSpeedPer(80);//设置自动速度为80,详见3.11节
NRC_Delayms(1000);//延时1000ms
NRC_SetIntVar(1, 6);//设置int型变量6,编号1
NRC_SetIntVar(2, 7);//设置int型变量7,编号2
NRC_SetDoubleVar(1, 6.6);//设置double型变量6.6,编号1
NRC_SetBoolVar(1, 0);//设置Bool型变量0,编号1
NRC_SetBoolVar(2, 1);//设置bool型变量1,编号1,
cout << "log : " << "GI001=" << NRC_ReadIntVar(1) << " GI002=" << NRC_ReadIntVar(2) << " GD001=" << NRC_ReadDoubleVar(1)<< " GA001=" << NRC_ReadBoolVar(1)<<endl;
while(1)
{
NRC_Delayms(2*1000);
cout << "bool=" << NRC_ReadBoolVar(2) << endl;
cout << "int=" << NRC_ReadIntVar(1) << endl;
cout << "double=" << NRC_ReadDoubleVar(1) << endl;
if (NRC_ReadIntVar(1) == 50)
{
cout << "111111111" << endl;
NRC_SetBoolVar(5, true);
NRC_SetIntVar(5, 66);
NRC_SetDoubleVar(5, 66.66);
cout <<"设置成功"<<endl;
}
if (NRC_ReadIntVar(1) == 6)
{
cout << "222222222222" << endl;
NRC_SetBoolVar(5, false);
NRC_SetIntVar(5, -88);
NRC_SetDoubleVar(5, -88.88);
cout <<"设置成功"<<endl;
}
}
}