一、功能说明
下面将描述nanoj库文件的函数说明
1.1 DigitalInputHigh(x);
参数:1,2,3,4,5或者6
返回:true/false
描述:如果input 1,2,3,4,5或者6被触发高电平,返回true
功能:返回60FD的bit16,17,18,19,20或者21
用法举例:
If(DigitalInputHigh(1)) input1被触发高电平
while(DigitalInputHigh(1)) input1高电平状态下一直循环执行某段程序
1.2 DigitalInputLow(x);
参数:1,2,3,4,5或者6
返回:true/false
描述:如果input 1,2,3,4,5或者6被触发低电平,返回true
功能:返回60FD的bit16,17,18,19,20或者21
用法举例:
If(DigitalInputLow(1)) input1被触发低电平
while(DigitalInputLow(1)) input1低电压状态下一直循环执行某段程序
1.3 TrigerControlbit(U08 controlbit);
参数:bit位触发对应的十进制数
返回:true/false
描述:如果bit位被触发,返回true
功能:判断2400:01某一位是否被置1
用法举例:
If(TrigerControlbit(1)) 判断bit1是否被触发
1.4 NontrigerControlbit(U08 controlbit);
参数:bit位对应的十进制数
返回:true/false
描述:如果bit位不被触发,返回true
功能:判断2400:01某一位是否被置0
用法举例:
If(NontrigerControlbit(1)) 判断bit1是否==0
1.5 AbsoluteMode();
参数:
返回:
描述:执行绝对位置模式,在执行该函数前,需要配置好速度和目标位置。
执行该函数后,需要紧跟一个do{ } while ( ( In.StatusWord &
0x400)!=0x400); do循环中加入各种用户逻辑。执行完while
( ( In.StatusWord & 0x400)!=0x400); 代表电机运行到位。
内部功能:模式6060设置1 控制字6040写入6,7,0xF,0x1F
1.6 RelativeMode();
参数:
返回:
描述:执行相对位置模式,在执行该函数前,需要配置好速度和目标位置。执行该函数后,需要紧跟一个do{ } while ( ( In.StatusWord & 0x400)!=0x400); do循环中加入各种用户逻辑。执行完while ( ( In.StatusWord & 0x400)!=0x400); 代表电机运行到位。
内部功能:模式6060设置1 控制字6040写入6,7,0x4F,0x5F
1.7 VelocityMade();
参数:
返回:
描述:执行速度模式,需要先配置好速度和方向。函数后需要紧跟while(true) { }, 循环中加入停止运行的条件。
内部功能:模式6060设置3 控制字6040写入6,7,0xF
1.8 HomingMade();
参数:
返回:
描述:执行找零模式,需要先配置找零模式,执行该函数后,需要紧跟do{ } while ( ( In.StatusWord & 0x1400)!=0x1400); do循环中加入各种停止或者跳出条件
内部功能:模式6060设置6 控制字6040写入6,7,0xF,0x1F
1.9 AutoSetup (int controlbits ,int urgentstop,int encoder,int stepbldc);
参数:controlbits与进入该模式的触发数据位保持一致,urgentstop急停bit位;编码器线束*4;stepbldc:0-步进1-直流无刷
返回:执行完毕后,检查2500:0x20如果等于6666代表找零成功
描述:自适应模式,自动检测编码器信号
1.10 SetDigitalOutput(U08 outputs);
参数:1、2、3
返回:
描述:Sets the digital output 1, 2 or 3
功能: Sets Bit 16, 17, 18 or 19 of 0x60FE:01
1.11 ClearDigitalOutput(U08 outputs);
参数:1、2、3
返回:
描述:关闭数字输出1, 2 or 3
功能: Clears Bit 16, 17, 18 or 19 of 0x60FE:01
1.12 Analogposition(int Target_Pos);
参数:Target_Pos最大位移量对应的脉冲数
返回:
描述:走模拟量定位
功能: 定位模式下,由模拟量决定目标定位
1.13 GetAnalogVelocity(int max_vel);
参数:max_vel最大模拟量值对应的最大速度
返回:
描述:走模拟量调速
功能: 速度或者定位模式下的模拟量调速
1.14 AbsoluteMove(int controlbits,int halt,int urgentstop,int leftlimit_port,int rightlimit_port);
参数:设置触发位,暂停位,急停位,左限位Input端口,右限位Input端口
返回:
描述:自动走绝对定位模式
备注:该模式适合于能够外部触发状态变化的应用场景,否则无法跳出函数中的循环
1.15 VelocityMove (int controlbits ,int halt , int urgentstop,int digitallimit_port );
参数:设置触发位,暂停位,急停位,限位Input端口
返回:
描述:自动速度模式
备注:该模式适合于能够外部触发状态变化的应用场景,否则无法跳出函数中的循环
1.16 RelativeMove(int controlbits,int halt,int urgentstop,int leftlimit_port,int rightlimit_port);
参数:设置触发位,暂停位,急停位,左限位Input端口,右限位Input端口
返回:
描述:自动相对定位模式
备注:该模式适合于能够外部触发状态变化的应用场景,否则无法跳出函数中的循环
1.17 HomingMove (int controlbits ,int urgentstop,int digitallimit_port);
参数:设置触发位,暂停位,急停位,限位Input端口
返回:
描述:自动找零模式
备注:该模式适合于能够外部触发状态变化的应用场景,否则无法跳出函数中的循环
二、范例说明
2.1 相对定位
利用控制位bit1做为启动位,bit11做为急停位 bit12做为暂停位