运动控制器编程手册参考 点击:726 | 回复:0



PLC军团长

    
  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2018-06-05 15:59:39
楼主

 

 

网络型运动控制器

 

 

 

 

 

 


 

 

 

 

 

目录

1 API函数数据结构... 1

1.1宏定义... 1

1.2 轴参数数据结构类型... 1

2 动态链接库函数... 3

2.1 初始化和参数设置函数... 3

2.1.1 打开运动控制卡函数... 3

2.1.2 关闭运动控制卡函数... 3

2. 1.3 轴参数设定函数... 3

2. 1.4 系统参数设定函数... 3

2. 1.5 分段加减速设定函数... 3

2. 1.6 分段加减速功能开关函数... 3

2. 1.7 轴运动S形加减速设定函数... 3

2. 1.8 设置轴命令位置函数... 3

2. 1.9轴码盘位置计数器清零函数... 3

2. 1.10轴码盘位置计数器清零函数... 4

2.1.11驱动器参数设置函数... 4

2.1.12 驱动器清除错误信息命令函数... 4

2.1.13. 获取网络状态函数... 4

2.2运动控制相关函数... 4

2.2.1 单轴回零函数... 4

2.2.2 单轴绝对运动函数... 4

2.2.3单轴相对运动函数... 4

2.2.4 单轴匀速运动函数... 4

2.2.5 直线联动绝对运动插补函数... 5

2.2.6直线联动相对运动插补函数... 5

2.2.7 3轴直线联动相对位置插补函数... 5

2.2.8 圆弧插补函数... 5

2.2.9 伺服开启函数... 5

2.2.10 伺服关闭函数... 5

2.2.11 轴运动停止函数... 5

2.2.12 轴运动到达检测函数... 5

2.2.13 检测轴回零成功标志函数... 5

2.3 开关量输入/输出控制函数... 6

2.3.1 运动控制卡开关量单路输出函数... 6

2.3.2运动控制卡开关量输入单路读取函数... 6

2.3.3运动控制卡开关量16位输出函数... 6

2.3.4运动控制卡开关量输入16位读取函数... 6

2.3.5 主轴转速读取函数... 6

2.3.6 位置捕捉值读取函数... 6

2.3.7 位置捕捉开启函数... 6

2.3.8 位置捕捉成功标志读取函数... 6

2.4 模拟量函数... 6

2.4.1 模拟量输出函数... 6

2.4.2 读取A/D输入函数... 7

2.5 轴状态读取函数... 7

2.5.1 轴开关量状态字读取函数... 7

2.5.2 命令位置读取函数... 7

2.5.3 反馈位置读取函数... 7

2.5.4 轴运动速度读取函数... 7

2.5..5驱动器错误信息读取函数... 7

3.7.6. 驱动器参数读取函数... 7

2.6 运动位置采集函数... 7

2.6.1 自动采集功能设定函数... 7

2.6.2 采集数据读取函... 8

2.7 软件限位函数... 8

2.7.1 软件限位函数... 8

2.8 轴功能设定函数... 8

2.8.1 轴主从控制功能设定函数... 8

2.9轴定位误差补偿功能函数... 8

2.9.1 轴定位误差补偿设定函数... 8

2.9.2 轴定位误差开启函数... 8

2.10 轴状态信息函数... 8

2.10.1 获取轴运动结束状态信息函数... 8

2.10.2 获取轴错误信息函数... 8

2.11其它功能函数... 9

2.11.1 获取运动控制卡软件版本信息函数(待定)... 9

2.11.2 获取运动控制卡硬件版本信息函数(待定)... 9

2.11.3 DSP芯片复位函数... 9

2.11.4 驱动器重启函数... 9

2.12 补充函数... 9

2.12.1 轴码盘位置计数器清零函数... 9

2.12.2 读取轴码盘位置计数值函数... 9

2.12.3 读取A/D输入值... 9

2.12.4 读取单端计数值函数... 9

2.12.5 单端计数值清零函数... 9

3 动态链接库函数使用说明... 10

3.1 开发 Windows系统下的运动控制系统... 10

3.2开发 Visual C++运动控制程序... 10

3.2.1概述... 10

3.2.2动态链接库函数调用方法... 11

3.2.2.1隐式调用... 11

3.2.2.2显式调用... 11

3.3 初始化和参数设置函数... 11

3.3.1. Nc_OpenDevice 函数... 11

3.3.2. Nc_CloseDevice 函数... 12

3.3.3. AxisParaSetup 函数... 13

3.3.4 SysParaSetup 函数... 13

3.3.5 Nc_SubAccDecSet 函数... 14

3.3.6 Nc_SubAccDecEnbale 函数... 14

3.3.7 Nc_SAccDecSet 函数... 15

3.3.8 Nc_AxisCmdPosSet 函数... 15

3.3.9 Nc_EncodeClr 函数... 16

3.3.10 Nc_Encode_Read 函数... 16

3.3.11 Nc_Set_DriverParamenter() 函数... 17

3.3.12. ClrErr 函数... 18

3.3.13. NC_NET_STATE 函数... 18

3.4 运动控制相关函数... 19

3.4.1 Nc_Home 函数... 19

3.4.2 Nc_Abs_Posi 函数... 19

3.4.3. Nc_Rel_Posi 函数... 20

3.4.4单轴匀速运动函数... 20

3.4.5 Nc_2AxisUnionPa 函数... 21

3.4.6 Nc_2AxisUnionPr 函数... 22

3.4.7 Nc_3AxisUnionPr 函数... 22

3.4.8 Nc_Arc 函数... 23

3.4.9 Nc_Servo_Lock 函数... 24

3.4.10 Nc_Servo_Free 函数... 24

3.4.11 Nc_Stop 函数... 25

3.4.12 Nc_Move_Check 函数... 25

3.4.13 Nc_Home_Check 函数... 26

3.5 输入/输出控制函数... 26

3.5.1 Nc_Io_BitOut 函数... 26

3.5.2 Nc_Io_BitIn 函数... 27

3.5.3 Nc_Io_WOut 函数... 27

3.5.4 Nc_Io_WIn 函数... 28

3.5.5 Nc_Spindle_SpdRead 函数... 28

3.4.6 Nc_Read_PosiCap 函数... 29

3.4.7 Nc_Read_PosCapEnable 函数... 29

3.4.8 NC_Read_PosSuccess 函数... 30

3.6模拟量函数... 30

3.6.1 Nc_Analog_Out 函数... 30

3.6.2 Nc_Read_ADVal 函数... 31

3.7轴状态读取函数... 31

3.7.1 NC_Read_WAxisIoStatus 函数... 31

3.7.2 NC_Read_CmdPos 函数... 32

3.7.3 NC_Read_FeedbackPos 函数... 33

3.7.4 Nc_GetAxisSpd 函数... 33

3.7.5 Nc_Read_ErrCodeVal() 函数... 34

3.7.6. Nc_Read_DriverParamenter() 函数... 34

3.8运动位置采集函数... 35

3.8.1 NC_AutoCollection_Set 函数... 35

3.8.2 NC_Read_ColData 函数... 36

3.9轴软件限位函数... 36

3.9.1 NC_Soft_Limit 函数... 36

3.10轴功能设定函数... 37

3.10.1 AxisModeSetup函数... 37

3.11定位误差补偿功能函数... 37

3.11.1  AxisPosErrComp 函数... 37

3.11.2 AxisPosErrCompEn函数... 38

3.12轴状态信息函数... 38

3.12.1 GetAxisEndStat 函数... 38

3.13其它功能函数... 39

3.13.1 NC_Get_SoftVersion 函数(待定)... 39

3.13.2 NC_Hardware_Version 函数(待定)... 39

3.13.3 ResetChip 函数... 40

3.13.3 NC_ReStartDrive函数... 40

3.14补充函数... 41

3.14.1 Nc_EncodeClr() 函数... 41

3.14.2  Nc_Encode_Read() 函数... 41

3.14.3  Read_ADVal() 函数... 42

3.14.4  NC_Read_SingleCount() 函数... 43

3.14.5  NC_SingleCount_CLS () 函数... 43

4 运动控制卡硬件接口说明... 44

4.1模拟板接口说明:... 44

4.2 IO板接口说明:... 46

 


1 API函数数据结构

1.1宏定义

typedef unsigned short int         Uint16;

typedef unsigned int             Uint32;

typedef short int                int16;

typedef int                     int32;

 

#define STATUS_USER_UNSUCCESS         0

#define STATUS_USER_SUCCESS            1

#define STATUS_DSPINITFAIL               2

#define STATUS_MCCARDCONNETFAIL      3

#define STATUS_OPENDEVICEFAIL          4

1.2 轴参数数据结构类型

typedef struct _STU_AXIS_PARAM

{

      float       PosSpd;               /* 定位速度       */

      float       PosAcc;               /* 定位加速度   */

      float       PosDec;               /* 定位减速度  */

      float   PosJerk;        /* 定位加加速度  */

      float       OrgSpd;                     /* 回零高速速度      */

      float       OrgAcc;                     /* 回零加速度   */

      float      OrgDec;                     /* 回零减速度   */

      float   OrgJerk;        /* 回零加加速度  */

      float       OrgSlow;             /* 回零低速速度      */

      float       JogSpd;               /* JOG速度 */

      float       JogAcc;               /* JOG加速度    */

      float       JogDec;               /* JOG减速度    */

      float   JogJerk;        /* JOG加加速度  */

      float       ArcSpd;               /* Arc速度  */

      float       ArcAcc;               /* Arc加速度     */

      float       ArcDec;               /* Arc减速度     */

      float   ArcJerk;        /* Arc加加速度  */

      float       CpSpd;                /* 联动速度       */

      float       CpAcc;                /* 联动加速度   */

      float       CpDec;                /* 联动减速度   */

      float   CpJerk;        /* 联动加加速度  */

      float       PulseUnit;           /* 脉冲当量       */

      Uint16   RatioNum;          /* 齿轮比分子   */

      Uint16   RatioDen;            /* 齿轮比分母   */

Uint16  SlaveID;       /*轴对应的ID*/

      Uint16   SlaveType;     /*类型:伺服轴(值为0)I/O(1)、手脉(2)

PWM(3)*/

      Uint16  PosCapNo;    /*保留位*/

    Uint16  EnCodePortNum;   /*码盘输入通道号0~6

数字0表示该轴无码盘输入

数字1~6表示该轴对应的码盘输入通道号*/

}STU_AXIS_PARAM, *PSTU_AXIS_PARAM;  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 动态链接库函数

2.1 初始化和参数设置函数

2.1.1 打开运动控制卡函数

STDCALL_UINT Nc_OpenDevice(HWND hWnd);

2.1.2 关闭运动控制卡函数

STDCALL_UINT Nc_CloseDevice(void);

2. 1.3 轴参数设定函数

STDCALL_UINT AxisParaSetup(Uint16 uiAxis, STU_AXIS_PARAM stuAxisPara);

2. 1.4 系统参数设定函数

STDCALL_UINT SysParaSetup(Uint32 ulSysAxis);

2. 1.5 分段加减速设定函数

STDCALL_UINT Nc_SubAccDecSet(Uint16 uiAxis, Uint16 uiDn, float fLen,

float fAcc, float fDec);

2. 1.6 分段加减速功能开关函数

STDCALL_UINT Nc_SubAccDecEnbale(Uint16 uiAxis, Uint16 uiEn);

2. 1.7 轴运动S形加减速设定函数

STDCALL_UINT Nc_SAccDecSet(Uint16 uiAxis, Uint16 uiEn);

2. 1.8 设置轴命令位置函数

STDCALL_UINT Nc_AxisCmdPosSet(Uint16 uiAxis, float fCmdPos);

2. 1.9轴码盘位置计数器清零函数

STDCALL_UINT Nc_EncodeClr(Uint16 uiAxis);

2. 1.10轴码盘位置计数器清零函数

STDCALL_UINT Nc_Encode_Read(Uint16 uiChNo,Uint32 *EnodeNum)

2.1.11驱动器参数设置函数

STDCALL_UINT     Nc_Set_DriverParamenter(UINT   uiDriv,UINT Driv_Write,Uint16 *uiParanum,Uint16 *uiClassNum,int32 *iParaValue,Uint32 *uiDrivStation,int16 *ErrMessage)

2.1.12 驱动器清除错误信息命令函数

STDCALL_UINT ClrErr(UINT uiAxis,UINT *uiAxisStation,int16 *ErrMessage)

2.1.13. 获取网络状态函数

函数:

STDCALL_UINT  NC_NET_STATE(Uint32 *uiCount) 

 

2.2运动控制相关函数

2.2.1 单轴回零函数

STDCALL_UINT Nc_Home(Uint16 uiAxis, float fSpd, float fSlowSpd, Uint16 uiHomeType, Uint16 uiHomeMode, float fOffset,Uint16 DelayTime);

2.2.2 单轴绝对运动函数

STDCALL_UINT Nc_Abs_Posi(Uint16 ulAxis, float fPos, float fSpd);

2.2.3单轴相对运动函数

STDCALL_UINT Nc_Rel_Posi(Uint16 ulAxis, float fLen, float fSpd);

2.2.4 单轴匀速运动函数

STDCALL_UINT Nc_Jog(Uint16 uiAxis, float fSpd, float fDir);

2.2.5 直线联动绝对运动插补函数

STDCALL_UINT  Nc_2AxisUnionPa(Uint16 uiAxis1, Uint16 uiAxis2,

float fStartPos1, float fEndPos1,

                                                         float fStartPos2, float fEndPos2, float fSpd);

2.2.6直线联动相对运动插补函数

STDCALL_UINT Nc_2AxisUnionPr(Uint16 uiAxis1, Uint16 uiAxis2, float fLen1, float fLen2, float fSpd);

2.2.7 3轴直线联动相对位置插补函数

STDCALL_UINT Nc_3AxisUnionPr(Uint16 uiAxis1, Uint16 uiAxis2, Uint16 uiAxis3,Uint16 Cp_Flag, float fLen1, float fLen2, float len3, float fSpd);

2.2.8 圆弧插补函数

STDCALL_UINT Nc_Arc(Uint16 uiAxis1, Uint16 uiAxis2, float fStartPos1,

float fStartPos2,float fEndPos1, float fEndPos2,

float fCentrePos1,float fCentrePos2,float  fSpd,

Uint16 uiDir);

2.2.9 伺服开启函数

STDCALL_UINT Nc_Servo_Free(Uint16 uiAxis);

2.2.10 伺服关闭函数

STDCALL_UINT Nc_Servo_Lock(Uint16 uiAxis);

2.2.11 轴运动停止函数

STDCALL_UINT Nc_Stop(Uint16 uiAxis);

2.2.12 轴运动到达检测函数

STDCALL_UINT Nc_Move_Check(UINT AxisNo, Uint16 *EndSts);

2.2.13 检测轴回零成功标志函数

STDCALL_UINT Nc_Home_Check(UINT AxisNo, Uint16 *EndSts);

2.3 开关量输入/输出控制函数

2.3.1 运动控制卡开关量单路输出函数

STDCALL_UINT Nc_Io_BitOut(UINT OutBitNo, BOOLEAN bOutBitSts);

2.3.2运动控制卡开关量输入单路读取函数

STDCALL_UINT Nc_Io_BitIn(UINT InPotNo, UINT InBitNo,

BOOLEAN *bInBitSts);

2.3.3运动控制卡开关量16位输出函数

STDCALL_UINT Nc_Io_WOut(UINT OutPortNo, Uint16 uiOutStatus);

2.3.4运动控制卡开关量输入16位读取函数

STDCALL_UINT Nc_Io_WIn(UINT InPortNo, Uint16 *uiInStatus);

2.3.5 主轴转速读取函数

STDCALL_UINT Nc_Spindle_SpdRead(Uint16 uiAxis, Uint32 *uiSpindleSpd);

2.3.6 位置捕捉值读取函数

STDCALL_UINT Nc_Read_PosiCap(Uint16 uiAxis, int32 *iPosCapVal);

2.3.7 位置捕捉开启函数

STDCALL_UINT Nc_Read_PosCapEnable(Uint16 uiAxis);

2.3.8 位置捕捉成功标志读取函数

STDCALL_UINT NC_Read_PosSuccess(Uint16 uiAxis, Uint16 *uiFlg);

2.4 模拟量函数

2.4.1 模拟量输出函数

STDCALL_UINT Nc_Analog_Out(Uint16 uiChNo, Uint32 ulValue);

2.4.2 读取A/D输入函数

STDCALL_UINT Nc_Read_ADVal(Uint16 uiChn, int16 *iADVal)

 

2.5 轴状态读取函数

2.5.1 轴开关量状态字读取函数

STDCALL_UINT NC_Read_WAxisIoStatus(UINT AxisNum, Uint16 *uiStatus);

2.5.2 命令位置读取函数

STDCALL_UINT NC_Read_CmdPos(UINT AxisNo, float *fCmdPos);

2.5.3 反馈位置读取函数

STDCALL_UINT NC_Read_FeedbackPos(UINT AxisNo, float *fNowPos);

2.5.4 轴运动速度读取函数

STDCALL_UINT Nc_GetAxisSpd(UINT AxisNum, float *fNowSpd);

2.5..5驱动器错误信息读取函数

STDCALL_UINT     Nc_Read_ErrCodeVal(UINT  uiAxis,UINT uiAlarmMainCode,UINT *uiAlarmSubCode,UINT *uiWarningCode,UINT *uiAxisStation,int16 *ErrMessage)

3.7.6. 驱动器参数读取函数

STDCALL_UINT Nc_Read_DriverParamenter(UINT uiDriv,UINT A4A5_SET,Uint16 *uiParanum,Uint16 *uiClassNum,int32 *iParaValue,Uint32 *uiDrivStation,int16 *ErrMessage);

2.6 运动位置采集函数

2.6.1 自动采集功能设定函数

STDCALL_UINT NC_AutoCollection_Set(Uint16 uiAxis, Uint16 uiTime,

Uint16 uiNum);

2.6.2 采集数据读取函

STDCALL_UINT NC_Read_ColData(Uint16 uiAxis, int *iReadZone);

2.7 软件限位函数

2.7.1 软件限位函数

STDCALL_UINT NC_Soft_Limit(UINT AxisNo, float fPLimt, float fNLimt);

2.8 轴功能设定函数

2.8.1 轴主从控制功能设定函数

STDCALL_UINT AxisModeSetup(UINT MainAxisNo, UINT SlaveAxisNo,

UINT uiStyle);

2.9轴定位误差补偿功能函数

2.9.1 轴定位误差补偿设定函数

STDCALL_UINT AxisPosErrComp(Uint16 uiAxis, int16 uiDelta, int16 *uiComp);

2.9.2 轴定位误差开启函数

STDCALL_UINT AxisPosErrCompEn(Uint16 uiAxis, BOOLEAN bFlag);

2.10 轴状态信息函数

2.10.1 获取轴运动结束状态信息函数

STDCALL_UINT GetAxisEndStat(UINT AxisNo, Uint16 *EndSts);

2.10.2 获取轴错误信息函数

STDCALL_UINT GetAxisErr(UINT AxisNum, Uint16 *ErrSts);

2.11其它功能函数

2.11.1 获取运动控制卡软件版本信息函数(待定)

    STDCALL_UINT NC_Get_SoftVersion();

2.11.2 获取运动控制卡硬件版本信息函数(待定)

    STDCALL_UINT NC_Hardware_Version();

2.11.3 DSP芯片复位函数

STDCALL_UINT ResetChip();

2.11.4 驱动器重启函数

STDCALL_UINT NC_ReStartDrive();

 

2.12 补充函数

2.12.1 轴码盘位置计数器清零函数

STDCALL_UINT Nc_EncodeClr(Uint16 uiAxis);

2.12.2 读取轴码盘位置计数值函数

STDCALL_UINT Nc_Encode_Read(Uint16 uiAxis,Uint32 *EnodeNum);

2.12.3 读取A/D输入值

STDCALL_UINT Nc_Read_ADVal(Uint16 uiChn, int16 *iADVal);

2.12.4 读取单端计数值函数

STDCALL_UINT NC_Read_SingleCount(Uint16 uiChNo,Uint32 *uiCount);

2.12.5 单端计数值清零函数

STDCALL_UINT NC_SingleCount_CLS(Uint16 uiChNo);

 

 

 

 

 

 

 

 

 

 

 

3 动态链接库函数使用说明

3.1 开发 Windows系统下的运动控制系统

利用网络型多轴运动控制器的动态链接库(Dynamic Links Library,简称DLL),开发者可以很快开发出 Windows平台下的运动控制系统。 网络型多轴运动控制器动态链接库是标准的 Windows 32 位动态链接库,选用的开发工具应支持 Windows 标准的 32 位 DLL 调用。

在 Windows 系统下使用网络型多轴运动控制器,首先要安装其驱动程序,网络型多轴运动控制器的驱动程序存放在产品配套光盘的 Windows\Driver 文件夹下。运动控制器指令函数动态链接库存放在产品配套光盘的 Windows\VcDll文件夹下。网络型多轴运动控制器动态链接库文件名为 MotionControlDll.dll和MotionControlDll.lib,在 Windows 系统下,用户可以使用任何能够支持动态链接库的开发工具来开发应用程序,例如 Visual C++、Visual Basic 和 Delphi 等开发工具中使用运动控制器的动态链接库。下面主要简述在Visual C++开发工具中使用运动控制器的动态链接库的情况。

3.2开发 Visual C++运动控制程序

3.2.1概述

用户可以使用 Visual C++6.0 或更高版本开发工具,在 Windows 平台下运动控制系统的开发。在Windows系统下开发运动控制系统,在开发的控制系统中访问DLL,实际上就是利用系统中的导入DLL函数与动态链接库文件中的导出函数进行衔接,在Visual C++开发工具有两种调用动态链接库的方法,使用的文件略有不同。

3.2.2动态链接库函数调用方法

3.2.2.1隐式调用

使用隐式链接DLL开发控制系统程序时,需要将DLL的引入库(.LIB)文件与开发的控制系统程序进行静态链接。隐式调用步骤如下:

(1)安装网络型多轴运动控制器驱动程序及函数库;

(2)启动 Visual C++,新建一个工程;

(3)将安装好的动态链接库“MotionControlDll.dll” 、 “MotionControlDll.lib”和函数声明文件“MotionControlDll.h”复制到工程文件中;

(4)选择“Project”菜单下的“Settings”菜单项;

(5)切换到“Link”标签页,在“Object/library modules”栏中输入“MotionControlDll.lib”文件名;

(6)在应用程序中加入函数库头文件的声明文件“MotionControlDll.h” ;

(7)在应用程序中调用API动态链接库函数。

3.2.2.2显式调用

显式调用方法需要调用 Windows API函数加载和释放动态链接库。方法如下:

(1)调用 Windows API函数 LoadLibrary()动态加载 DLL;

(2)调用 Windows API 函数 GetProcAddress()取得将要调用的 DLL 中

函数的指针;

(3)用函数指针调用 DLL 中函数完成相应功能;

(4)在程序结束时或不再使用 DLL 中函数时,调用 Windows API函数 FreeLibrary()释放动态链接库。

以上在两种方法均为 VC 中调用动态链接库函数的标准方法, 若要获得更具体的调用方法和帮助,请参考微软 Visual Stutio 开发文档 MSDN 或相关 VC++ 参考书籍中相应部分内容。

3.3 初始化和参数设置函数

3.3.1. Nc_OpenDevice 函数

函数:

   STDCALL_UINT Nc_OpenDevice(HWND hWnd)

功能描述:

    应用程序通过该函数与连接运动动控制卡

输入参数:

    HWND             hWnd           接收消息的窗口句柄

输出参数:

   

返回值:

    STDCALL_UINT      UINT          返回值

返回值说明:

    STATUS_USER_UNSUCCESS           产生其他错误

    STATUS_USER_SUCCESS              打开板卡成功

    STATUS_DSPINITFAIL                 DSP初始化失败

STATUS_MCCARDCONNETFAIL        连接运动控制卡失败

STATUS_OPENDEVICEFAIL            PCI驱动连接板卡失败

编程说明:

    hWnd变量是应用程序的窗口句柄,其他API函数必须在该函数调用后才能使用。

3.3.2. Nc_CloseDevice 函数

函数:

    STDCALL_UINT Nc_CloseDevice(void)

功能描述:

    关闭运动控制卡,释放内存,建议在界面程序退出时调用该函数。

输入变量

   

输出变量

   

返回值:

    STDCALL_UINT      UINT         返回值

返回值说明:

STATUS_USER_SUCCESS

编程说明:

    应用程序退出前,必须调用该函数。

3.3.3. AxisParaSetup 函数

函数:

   STDCALL_UINT AxisParaSetup(Uint16 uiAxis, STU_AXIS_PARAM stuAxisPara)

功能描述:  

    通过该函数设置每根轴的基本参数,包括:定位速度、定位加速度;回零速度、回零加速度;通信节点ID号和通道号等参数。

输入变量

Uint16 uiAxis                         轴号(1表示1轴,以此类推,最大不得超过16个)

    STU_AXIS_PARAM   stuAxisPara      轴基本参数(定位速度、定位加速度;回零速度、回零加速度、通信节点ID号和通道号等参数)

输出变量

   

返回值:

    STDCALL_UINT      UINT             返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS             调用函数失败

编程说明:

在使用当前轴之前,必须调用该函数进行该轴参数设定,轴设定总数必须与SysParaSetup 函数设定的轴数相等。

在该函数调用之前必须调用SysParaSetup函数。

3.3.4 SysParaSetup 函数

函数:

   STDCALL_UINT  SysParaSetup(Uint32 ulSysAxis)

功能描述:

    通过该函数设置运动控制卡的通用参数,包括系统加工轴数

输入变量

    Uint32 ulSysAxis      通用参数(系统实际加工轴数1-16,最大不得超过16个)

输出变量

   

返回值:

    STDCALL_       UINT        UINT           返回值

返回值说明:

STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS             调用函数失败

编程说明:

       当调用Nc_OpenDevice成功打开板卡后,一般先调用该函数进行系统设置,再进行其他操作。

3.3.5 Nc_SubAccDecSet 函数

函数:

  STDCALL_UINT  Nc_SubAccDecSet(Uint16 uiAxis, Uint16 uiDn, float fLen, float fAcc, float fDec)

功能描述:

    分段加减速设置函数。

输入变量

    Uint16 uiAxis;      轴号(1表示一轴,以此类推,最大不得超过16个)   

Uint16 uiDn;          段号(1表示第一段,以此类推,最多8段)

    float fLen;           运动长度(脉冲数)

   float fAcc;           加速度(脉冲数/S2

        float fDec;          减速度(脉冲数/S2

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.3.6 Nc_SubAccDecEnbale 函数

函数:

    STDCALL_UINT  Nc_SubAccDecEnbal(Uint16 uiAxis, Uint16 uiEn)

功能描述:

    分段加减速使能函数。

输入变量

 Uint16 uiAxis       轴号(1表示一轴,以此类推,最大不得超过16个)

Uint16 uiEn        确定是否开启分段设置功能(如果为1,表示开启,为

0表示关闭。)

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.3.7 Nc_SAccDecSet 函数

函数:

    STDCALL_UINT  Nc_SAccDecSet(Uint16 uiAxis, Uint16 uiEn)

功能描述:

    设置轴运动加减速为S曲线加减速函数

输入变量

Uint16 uiAxis      轴号(1表示一轴,以此类推,最大不得超过16个)

Uint16 uiEn        开启S形加减速控制方法设置功能(如果为1,表示开启,为0表示关闭)

输出变量

   

返回值:

       STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

     STATUS_USER_UNSUCCESS             调用函数失败

3.3.8 Nc_AxisCmdPosSet 函数

函数:

  STDCALL_UINT  Nc_AxisCmdPosSet(Uint16 uiAxis, float fCmdPos)

功能描述:

    设置轴命令位置函数

输入变量

   Uint16 uiAxis        轴号(1表示一轴,以此类推,最大不得超过16个)

   float fCmdPos        命令值(脉冲数)

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS             调用函数失败

3.3.9 Nc_EncodeClr 函数

函数:

    STDCALL_UINT Nc_EncodeClr(Uint16 uiAxis)

功能描述:

    轴码盘位置计数器清零函数

输入变量:

    Uint16 uiAxis   轴号(1表示一轴,以此类推,最大不得超过16个)

输出变量:

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS             调用函数失败

3.3.10 Nc_Encode_Read 函数

函数:

    STDCALL_UINT Nc_Encode_Read(Uint16 uiChNo,Uint32 *EnodeNum)

功能描述:

    读取轴码盘位置计数值函数

输入变量:

   Uint16 uiChNo        码盘输入通道号(用数字1~6表示1~6通道)

输出变量:

   Uint32 *EnodeNum    读取的码盘位置计数值(脉冲数)存放的地址的指针变量

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                 调用函数成功

   STATUS_USER_UNSUCCESS              调用函数失败

3.3.11 Nc_Set_DriverParamenter() 函数

函数:

STDCALL_UINT Nc_Set_DriverParamenter(UINT uiDriv,UINT bDriveSet,UINT bWritePattern,Uint16 *uiParanum,Uint16 *uiClassNum,int32 *iParaValue,Uint32 *uiDrivStation,int16 *ErrMessage);

功能描述:

   驱动器参数设置,。

输入变量

         UINT uiDriv                                                                           驱动器号

UINT bDriveSet,                                                 驱动器类型(1A50A4)

UINT bWritePattern        参数写入方式(1,写入EEPROM0写入驱动器)

Uint16 *uiParanum,                                                                                参数号

Uint16 *uiClassNum                                                                              类别号

int32 *iParaValue                                                                                    参数值

输出变量

    Uint32 *uiDrivStation                        驱动器参数设置完成状态(0表示完成)

 int16 *ErrMessage                                                                  信息(1表示成功)

返回值:

    STDCALL_UINT      UINT           返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS              调用函数失败

3.3.12. ClrErr 函数

函数:

    STDCALL_UINT ClrErr(UINT uiAxis,UINT *uiAxisStation,int16 *ErrMessage)

功能描述:

   驱动器清除错误信息命令。

输入变量:

  UINT uiAxis             轴号(1表示一轴,以此类推,最大不得超过16个)

输出变量:

   UINT *uiAxisStation                    清除错误信息状态(1表示完成清除)

int16 *ErrMessage                               错误信息(0表示清除成功;其余数字代表具体的错误信息)

返回值:

   STDCALL_UINT      int           返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS              调用函数失败

3.3.13. NC_NET_STATE 函数

函数:

STDCALL_UINT NC_NET_STATE(Uint32 *uiCount)

功能描述:

获取网络状态

输入变量:

         

输出变量:

      Uint32 *uiCount           网络状态, 返回1网络正常,5网络异常

   返回值:

   STDCALL_UINT      int           返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

 

    STATUS_USER_UNSUCCESS              调用函数失败

3.4 运动控制相关函数

3.4.1 Nc_Home 函数

函数:

STDCALL_UINT Nc_Home(Uint16 uiAxis, float fSpd, float fSlowSpd, Uint16 uiHomeType, Uint16 uiHomeMode, float fOffset,Uint16 DelayTime);

功能描述:

    轴码盘位置计数器初始值函数

输入变量

    Uint16 uiAxis          轴号(1表示一轴,以此类推,最大不得超过16个)

    float  fSpd            回零的最大速度(脉冲频率(每秒脉冲数))

    float  fSlowSpd       最后寻找码盘或光栅零信号时的最大速度(脉冲频

率(每秒脉冲数))

    Uint16 uiHomeType    回零方式(0:先到正限位回零,1:先到负限位回

零)

Uint16 uiHomeMode;   回零模式 0:零点传感器,1:正限位,2:负限位,3:零点传感器+码盘零点(推荐使用)

4:码盘回零,5:机械挡块

float fOffset           回零完成后的偏移量(脉冲数)

Uint16 DelayTime           延迟时间

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.4.2 Nc_Abs_Posi 函数

函数:

   STDCALL_UINT  Nc_Abs_Posi((Uint16 ulAxis, float fPos, float fSpd)

功能描述:

    单轴绝对定位运动函数

输入变量

    Uint16 ulAxis       轴号(1表示一轴,以此类推,最大不得超过16

    float fPos          绝对位置(脉冲数)

    float fSpd          运动速度(脉冲频率(每秒脉冲数))

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS             调用函数失败

3.4.3. Nc_Rel_Posi 函数

函数:

    STDCALL_UINT  Nc_Rel_Posi(Uint16 ulAxis, float fLen, float fSpd)

功能描述:

    单轴相对定位运动函数

输入变量

   Uint16 ulAxis      轴号(1表示一轴,以此类推,最大不得超过16

   float fLen         相对位置(脉冲数)

   float fSpd         运动速度(脉冲频率(每秒脉冲数))

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS             调用函数失败

 

3.4.4单轴匀速运动函数

函数:

    STDCALL_UINT  Nc_Jog(Uint16 uiAxis, float fSpd, float fDir)

功能描述:

    单轴匀速运动(JOG)函数

输入变量

    Uint16 uiAxis        轴号(1表示一轴,以此类推,最大不得超过16

    float  fSpd         运行速度(脉冲频率(每毫秒脉冲数)),速度可变

float  fDir;         表明运动方向(0表示正方向,1表示负方向)

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.4.5 Nc_2AxisUnionPa 函数

函数:

    STDCALL_UINT  Nc_2AxisUnionPa(Uint16 uiAxis1, Uint16 uiAxis2, float fStartPos1, float fEndPos1,float fStartPos2, float fEndPos2, float fSpd)

功能描述:

    2轴直线联动绝对位置插补函数

输入变量

   Uint16 uiAxis1      参加联动运动的第一根轴的轴号

   Uint16 uiAxis2      参加联动运动的第二根轴的轴号

   float fStartPos1            参加联动运动的第一轴的起始位置(脉冲数)

   float fEndPos1      参加联动运动的第一轴的目标位置(脉冲数)

   float fStartPos2      参加联动运动的第二轴的起始位置(脉冲数)    

float fEndPos2      参加联动运动的第二轴的目标位置(脉冲数)

float fSpd;         运动速度(脉冲频率(每秒脉冲数))

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.4.6 Nc_2AxisUnionPr 函数

函数:

  STDCALL_UINT  Nc_2AxisUnionPr(Uint16 uiAxis1, Uint16 uiAxis2,

float fLen1, float fLen2, float fSpd)

功能描述:

    2轴直线联动相对位置插补函数

输入变量

     Uint16 uiAxis1;     参加联动运动的第一根轴的轴号

   Uint16 uiAxis2;     参加联动运动的第二根轴的轴号

    float fLen1;          参加联动运动的第一根轴的相对运动距离(脉冲数)

    float fLen2;          参加联动运动的第二根轴的相对运动距离(脉冲数)

       float fSpd;          运动速度(脉冲频率(每秒脉冲数))

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS             调用函数失败

 

3.4.7 Nc_3AxisUnionPr 函数

函数:

Nc_3AxisUnionPr(Uint16 uiAxis1, Uint16 uiAxis2, Uint16 uiAxis3, Uint16 Cp_Flag, float fLen1, float fLen2, float len3, float fSpd)

功能描述:

3轴直线联动相对位置插补函数

输入变量:

Uint16 axis1;  第一根轴的轴号

Uint16 axis2;  第二根轴的轴号

Uint16 axis3;  第三根轴的轴号

Uint16 Cp_Flag;联动类型标志2/3轴联动

float len1;   第一轴的位移增量,脉冲数

float len2;   第二轴的位移增量,脉冲数

float len3;   第三轴的位移增量,脉冲数

float  spd;  最大速度

输出变量:

返回值:

STDCALL_UINT      UINT      返回值

返回值说明:

STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS              调用函数失败

3.4.8 Nc_Arc 函数

函数:

STDCALL_UINT  Nc_Arc(Uint16 uiAxis1, Uint16 uiAxis2, float fStartPos1, float fStartPos2,float fEndPos1, float fEndPos2, float fCentrePos1,float fCentrePos2,float  fSpd, Uint16 uiDir)

功能描述:

    圆弧插补函数

输入变量

    Uint16 uiAxis1     参加圆弧插补的第一根轴的轴号

    Uint16 uiAxis2     参加圆弧插补的第二根轴的轴号

    float fStartPos1     参加圆弧插补的第一根轴的起点坐标(脉冲数)

    float fStartPos2     参加圆弧插补的第二根轴的起点坐标(脉冲数)

    float fEndPos1       参加圆弧插补的第一根轴的终点坐标(脉冲数)

    float fEndPos2       参加圆弧插补的第二根轴的终点坐标(脉冲数)

    float fCentrePos1   参加圆弧插补的第一根轴的圆心坐标(脉冲数)

    float fCentrePos2   参加圆弧插补的第二根轴的圆心坐标(脉冲数)

        float  fSpd              速度(脉冲频率(每秒脉冲数))

    Uint16 uiDir           圆弧方向(0表示正向,1表示负向)

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.4.9 Nc_Servo_Lock 函数

函数:

   STDCALL_UINT  Nc_Servo_lock(Uint16 uiAxis)

功能描述:

    伺服关闭函数

输入变量

    Uint16 uiAxis       轴号(1表示1轴,以此类推,最大不得超过16

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.4.10 Nc_Servo_Free 函数

函数:

  STDCALL_UINT  Nc_Servo_Free(Uint16 uiAxis)

功能描述:

    伺服开启函数

输入变量

Uint16 uiAxis     轴号(1表示1轴,以此类推,最大不得超过16

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS             调用函数失败

编程说明:

       当需要轴运动时,必须先调用此函数,否则伺服电机无法运转。

3.4.11 Nc_Stop 函数

函数:

  STDCALL_UINT  Nc_Stop(Uint16 uiAxis)

功能描述:

    轴运动停止函数

输入变量

Uint16 uiAxis     轴号(1表示1轴,以此类推,最大不得超过16

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.4.12 Nc_Move_Check 函数

函数:

  STDCALL_UINT  Nc_Move_Check(UINT AxisNo, Uint16 *EndSts)

功能描述:

    运动到达检测函数

输入变量

    UINT AxisNo     轴号(1表示一轴,以此类推,最大不得超过16

输出变量

    Uint16 *EndSts    运动结束状态信息存放的地址

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS             调用函数失败

编程说明:

EndSts结束状态信息取值包括:

0x0000            /* 空闲状态   */

0x0001         /* 动作正常终了*/                

0x0002         /* 动作异常终了*/  

0x0004         /* 动作正在进行*/

3.4.13 Nc_Home_Check 函数

函数:

   STDCALL_UINT  Nc_Home_Check(UINT AxisNo, Uint16 *EndSts)

功能描述:

    回零到达检测函数

输入变量

    UINT AxisNo    轴号(1表示一轴,以此类推,最大不得超过16

输出变量

    Uint16 *EndSts   回零运动的结束状态信息存放的地址

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS             调用函数失败

编程说明:

EndSts结束状态信息取值包括:

0x0000         /* 空闲状态   */

0x0001          /* 动作正常终了*/                

0x0002          /* 动作异常终了*/  

0x0004          /* 动作正在进行*/

3.5 输入/输出控制函数

3.5.1 Nc_Io_BitOut 函数

函数:

 STDCALL_UINT Nc_Io_BitOut(UINT OutBitNo, BOOLEAN  bOutBitSts)

功能描述:

    运动控制卡开关量单路输出函数

输入变量

UINT OutBitNo            位号(共有32位,分别用数字0~31表示)

BOOLEAN  bOutBitSts     输出信息

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS             调用函数失败

3.5.2 Nc_Io_BitIn 函数

函数:

STDCALL_UINT Nc_Io_BitIn(UINT InPotNo, UINT InBitNo, BOOLEAN *bInBitSts)

功能描述:

    运动控制卡开关量单路读取函数

输入变量

    UINT InPotNo      端口号(有三端口,00端口、11端口、22端口)

    UINT InBitNo      位号(对应48个位,该参数只需设置数字0~15即可)

输出变量

    BOOLEAN *bInBitSts  读取值存放的地址

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS             调用函数失败

编程说明:

该函数InPotNo赋值端口0 InBitNo赋值0~15,其对应0~15位;

InPotNo赋值端口1 InBitNo赋值0~15,其对应16~31

InPotNo赋值端口2 InBitNo赋值0~15,其对应32~47

   bInBitSts返回值:

           bInBitSts的值对应InBitNo 的状态,0代表无状态,1代表有状态

3.5.3 Nc_Io_WOut 函数

函数:

   STDCALL_UINT  Nc_Io_WOut(UINT OutPortNo, Uint16 uiOutStatus)

功能描述:

    运动控制卡开关量16位输出函数

输入变量

UINT OutPortNo        端口号(有两端口,00端口,对应0~15

11端口,对应16~31位)

Uint16 uiOutStatus     状态值

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.5.4 Nc_Io_WIn 函数

函数:

   STDCALL_UINT  Nc_Io_WIn(UINT InPortNo, Uint16 *uiInStatus)

功能描述:

    运动控制卡开关量16位读取函数

输入变量

    UINT InPortNo         端口号(有三端口,00端口,对应0~15

11端口,对应16~31

22端口,对应32~47位)

输出变量

    Uint16 * uiInStatus      开关量状态存放的地址

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS             调用函数失败

编程说明:

       输出变量uiInStatus的值对应每个端口的16位状态,每一位状态中0代表无状态,1代表有状态。

3.5.5 Nc_Spindle_SpdRead 函数

函数:

  STDCALL_UINT  Nc_Spindle_SpdRead(Uint16 uiAxis, Uint32 *uiSpindleSpd)

功能描述:

    主轴转速读取函数

输入变量

    Uint16 uiAxis           主轴通道号(共有6个通道,用数字1~6来分别表示1~6个通道)

输出变量

    Uint32 *uiSpindleSpd     主轴速度存放的地址(该地址存放的是每毫秒脉冲数,需要转换才可得到主轴速度。)

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.4.6 Nc_Read_PosiCap 函数

函数:

  STDCALL_UINT  Nc_Read_PosiCap (Uint16 uiAxis, int32 *iPosCapVal)

功能描述:

    位置捕捉读取函数

输入变量:

    Uint16 uiAxis         轴号(1表示一轴,以此类推,最大不得超过16

输出变量:

    int32 *iPosCapVal     捕捉的值存放的地址(捕捉的值为脉冲数)

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.4.7 Nc_Read_PosCapEnable 函数

函数:

  STDCALL_UINT  Nc_Read_PosCapEnable(Uint16 uiAxis)

功能描述:

    轴位置捕捉开启函数

输入变量

    Uint16 uiAxis          轴号(1表示一轴,以此类推,最大不得超过16

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.4.8 NC_Read_PosSuccess 函数

函数:

   STDCALL_UINT NC_Read_PosSuccess (Uint16 uiAxis, Uint16 *uiFlg)

功能描述:

    读取轴位置捕捉成功标志函数

输入变量

    Uint16 uiAxis     轴号(1表示一轴,以此类推,最大不得超过16

输出变量

    Uint16 *uiFlg     捕捉到的标志存放地址(捕捉到的标志值为010对应失败,1代表成功)

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.6模拟量函数

3.6.1 Nc_Analog_Out 函数

函数:

   STDCALL_UINT Nc_Analog_Out(Uint16 uiChNo, Uint32 ulValue)

功能描述:

    模拟量输出函数

输入变量

Uint16 uiChNo     模拟量输出通道号(共有6个通道,用数字1~6来分别表示1~6个通道)

Uint32 ulValue     输出值(输入数字100~200即可,100对应0伏电压

200对应10伏电压

101~199代表0~10伏之间电压值)

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS              调用函数失败

3.6.2 Nc_Read_ADVal 函数

函数:

    Nc_Read_ADVal(Uint16 uiChn, int16 *iADVal)

功能描述:

   读取A/D输入值。

输入变量

    Uint16 uiChn    A/D通道号(用数字1~6表示1~6通道)

输出变量

    int16 *iADVal   读取的A/D值存放的地址

返回值:

    STDCALL_UINT      UINT           返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS              调用函数失败

编程说明:

A/D表示电压值,数字-32767~+32767代表-10V~+10V

3.7轴状态读取函数

3.7.1 NC_Read_WAxisIoStatus 函数

函数:

   STDCALL_UINT NC_Read_WAxisIoStatus(UINT AxisNum, Uint16 *uiStatus)

功能描述:

    轴开关状态字函数(16位),包括回零、限位开关、伺服开关、报警和运动中等状态

输入变量:

    UINT AxisNum        轴号(1表示一轴,以此类推,最大不得超过16

输出变量:

    Uint16 *uiStatus       状态信息存放的地址

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS             调用函数失败

编程说明:

       状态信息用6位二进制数表示,即:

0位代表回零运动状态(0:未执行回零运动,1:正在回零)

1位代表是否到达正限位(0:未到达正限位,1:到达正限位)

2位代表是否到达负限位状态(0:未到达负限位,1:到达负限位)

3位代表伺服开关状态(0:伺服关,1:伺服开)

4位代表警告状态(0:没有警告,1:有警告)

5位代表运动状态(0:未运动,1:运动中)

3.7.2 NC_Read_CmdPos 函数

函数:

   STDCALL_UINT  NC_Read_CmdPos(UINT AxisNo, float *fCmdPos)

功能描述:

    命令位置读取函数

输入变量

   UINT AxisNo          轴号(1表示一轴,以此类推,最大不得超过16

输出变量

float * fCmdPos         命令位置(脉冲数)存放的地址

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.7.3 NC_Read_FeedbackPos 函数

函数:

  STDCALL_UINT  NC_Read_FeedbackPos(UINT AxisNo, float *fNowPos)

功能描述:

    反馈位置(实际位置)读取函数

输入变量

    UINT AxisNo         轴号(1表示一轴,以此类推,最大不得超过16)输出变量

    float  *fNowPos        反馈位置(脉冲数)存放的地址

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.7.4 Nc_GetAxisSpd 函数

函数:

   STDCALL_UINT  Nc_GetAxisSpd(UINT AxisNum, float *fNowSpd)

功能描述:

    读取轴当前运动速度

输入变量

    UINT AxisNum      轴号(1表示一轴,以此类推,最大不得超过16

输出变量

    float *fNowSpd      当前运动速度(脉冲数)存放的地址

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS             调用函数失败

3.7.5 Nc_Read_ErrCodeVal() 函数

函数:

   Nc_Read_ErrCodeVal(UINT uiAxis,UINT *uiAlarmMainCode,UINT  *uiAlarmSubCode,UINT *uiWarningCode,UINT *uiAxisStation,int16 *ErrMessage)

功能描述:

 读取轴的错误信息,包括主轴报警,从轴报警,Warning信息,读取的状态,错误信息。

输入变量

   Uint16 uiAxis      轴号(1表示一轴,以此类推,最大不得超过16个)

输出变量

int16 *uiAlarmMainCode16位数组)         读取的主轴报警信息

int16 *uiAlarmSubCode16位数组)            读取的从轴报警信息

int16 *uiWarningCode16位数组)              读取的Warning信息

UINT *uiAxisStation(指针)        读取状态(0表示成功,1表示有错误)

int16 *ErrMessage16位数组)    错误信息(0表示没有错误;其余数字代表具体的错误信息)

 

 

返回值:

STDCALL_UINT      UINT           返回值

返回值说明:

STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS              调用函数失败

3.7.6. Nc_Read_DriverParamenter() 函数

 函数:

STDCALL_UINT Nc_Read_DriverParamenter(UINT uiDriv,UINT A4A5_SET,Uint16 *uiParanum,Uint16 *uiClassNum,int32 *iParaValue,Uint32 *uiDrivStation,int16 *ErrMessage);

功能描述:

驱动器参数读取

输入变量

 UINT uiDriv,                                                                                       驱动器号

UINT A4A5_SET,                                       驱动器类型 0表示A41表示A5

Uint16 *uiParanum,                                                                              参数号

Uint16 *uiClassNum,                                                                             类别号

输出变量

int32 *iParaValue                                                                                         参数值

Uint32 *uiDrivStation                                        驱动器参数状态,0表示完成

int16 *ErrMessage                        信息,0表示成功读取,其他为错误信息

返回值:

STDCALL_UINT      UINT           返回值

返回值说明:

STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS              调用函数失败

3.8运动位置采集函数

3.8.1 NC_AutoCollection_Set 函数

函数:

   STDCALL_UINT NC_AutoCollection_Set(Uint16 uiAxis, Uint16 uiTime, Uint16 uiNum)

功能描述:

    自动采集功能设定函数

输入变量:

    Uint16 uiAxis      轴号(1表示一轴,以此类推,最大不得超过16

    Uint16 uiTime      时间间隔(ms)(即隔多长时间采一次)  

    Uint16 uiNum      采集次数

输出变量:

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.8.2 NC_Read_ColData 函数

函数:

   STDCALL_UINT  NC_Read_ColData(Uint16 uiAxis, int *iReadZone)

功能描述:

    采集数据读取函数

输入变量

    Uint16 uiAxis,            轴号(1表示一轴,以此类推,最大不得超过16

输出变量

int *iReadZone            采集的数据(脉冲数)存放的首地址

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS             调用函数失败

编程说明:

       在调用该函数时,必须先调用NC_AutoCollection_Set函数。

3.9轴软件限位函数

3.9.1 NC_Soft_Limit 函数

函数:

  STDCALL_UINT  NC_Soft_Limit(UINT AxisNo, float fPLimt, float fNLimt)

功能描述:

    轴软件限位函数

输入变量

    UINT AxisNo      轴号(1表示一轴,以此类推,最大不得超过16

    float fPLimt       正限位(脉冲数)

    float fNLimt       负限位(脉冲数)

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.10轴功能设定函数

3.10.1 AxisModeSetup函数

函数:

   STDCALL_UINT AxisModeSetup(UINT MainAxisNo, UINT SlaveAxisNo, UINT uiStyle)

功能描述:

    通过该函数设置轴特殊工作模式,包括轴叠加功能、轴主从控制功能。

输入变量

   UINT MainAxisNo        主轴号 

   UINT SlaveAxisNo        从轴号

   UINT uiStyle             设置类型:

                                   0x10:设置主从控制模式

                                   0x11:取消主从控制模式

输出变量

   

返回值:

    STDCALL_UINT        UINT                  返回值

返回值说明:

    STATUS_USER_SUCCESS                 调用函数成功

    STATUS_USER_UNSUCCESS              调用函数失败

3.11定位误差补偿功能函数

3.11.1  AxisPosErrComp 函数

函数:

  STDCALL_UINT  AxisPosErrComp (Uint16 uiAxis, int16 uiDelta, int16 *uiComp)

功能描述:

    定位误差补偿数据设定函数。

输入变量:

    Uint16 uiAxis         轴号(1表示一轴,以此类推,最大不得超过16

    int16 uiDelta          位置间隔(脉冲数)

    int16 *uiComp        补偿值存放地址(补偿值为脉冲数)

输出变量:

   

返回值:

    STDCALL_UINT        UINT                  返回值

返回值说明:

    STATUS_USER_SUCCESS                 调用函数成功

    STATUS_USER_UNSUCCESS              调用函数失败

3.11.2 AxisPosErrCompEn函数

函数:

  STDCALL_UINT  AxisPosErrCompEn (Uint16 uiAxis, BOOLEAN bFlag)

功能描述:

    定位误差补偿功能开启设定函数。

输入变量:

    Uint16 uiAxis;           轴号(1表示一轴,以此类推,最大不得超过16

    BOOLEAN bFlag;        开启标志(true为开启,false为关闭)

输出变量:

   

返回值:

    STDCALL_UINT        UINT                  返回值

返回值说明:

    STATUS_USER_SUCCESS                 调用函数成功

    STATUS_USER_UNSUCCESS              调用函数失败

3.12轴状态信息函数

3.12.1 GetAxisEndStat 函数

函数:

  STDCALL_UINT  GetAxisEndStat(UINT AxisNo, Uint16 *EndSts)

功能描述:

    获取轴运动结束状态信息。

输入变量

    UINT AxisNo        轴号(1表示一轴,以此类推,最大不得超过16

输出变量

    Uint16 *EndSts       结束状态信息存放地址

返回值:

    STDCALL_UINT      UINT           返回值

返回值说明:

    STATUS_USER_SUCCESS                 调用函数成功

STATUS_USER_UNSUCCESS              调用函数失败

编程说明:

EndSts结束状态信息取值包括:

0x0000         /* 空闲状态   */

0x0001          /* 动作正常终了*/                

0x0002          /* 动作异常终了*/  

0x0004          /* 动作正在进行*/  

3.13其它功能函数

3.13.1 NC_Get_SoftVersion 函数(待定)

函数:

   STDCALL_UINT NC_Get_SoftVersion()

功能描述:

    获取运动控制卡软件版本信息函数

输入变量

   

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS             调用函数失败

3.13.2 NC_Hardware_Version 函数(待定)

函数:

   STDCALL_UINT NC_Hardware_Version()

功能描述:

    获取运动控制卡硬件版本信息函数

输入变量

   

输出变量

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS              调用函数失败

3.13.3 ResetChip 函数

函数:

   STDCALL_UINT ResetChip()

功能描述:

    通过该函数DSP复位。

输入变量

   

输出变量

   

返回值:

    STDCALL_UINT      UINT           返回值

返回值说明:

    STATUS_USER_SUCCESS                 调用函数成功

STATUS_USER_UNSUCCESS              调用函数失败

 

3.13.3 NC_ReStartDrive函数

函数:

STDCALL_UINT NC_ReStartDrive(UINT uiDrive,UINT *uiStation, int16 *iCondMessage)

功能描述:

    通过该函数实现驱动器重启,并显示驱动器状态。

输入变量

    UINT uiDrive                                                                                        驱动器号

输出变量

UINT *uiStation                                                    0表示重启驱动器完成,

int16 *iCondMessage                            0表示驱动器重启成功,其他数字为错误信息

返回值:

    STDCALL_UINT      int           返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS              调用函数失败

 

3.14补充函数

3.14.1 Nc_EncodeClr() 函数

函数:

    STDCALL_UINT Nc_EncodeClr(Uint16 uiAxis)

功能描述:

    轴码盘位置计数器清零函数

输入变量:

    Uint16 uiAxis   轴号

输出变量:

   

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS              调用函数失败

编程说明:

使用该函数前必须保证:

1)        AxisParaSetup函数中已设定轴对应的码盘号;

2)        将轴所对应的驱动器上的码盘信息输送到模拟板上的对应通道;

3)        模拟板上的对应通道必须与1)中所设码盘号一致。

3.14.2  Nc_Encode_Read() 函数

函数:

    STDCALL_UINT Nc_Encode_Read(Uint16 uiAxis,Uint32 *EnodeNum)

功能描述:

   读取轴码盘位置计数值函数

输入变量:

    Uint16 uiAxis       轴号

输出变量:

    Uint32 *EnodeNum    码盘计数值(脉冲数)

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS              调用函数失败

编程说明:

使用该函数前必须保证:

1)        AxisParaSetup函数中已设定轴对应的码盘号;

2)        将轴所对应的驱动器上的码盘信息输送到模拟板上的对应通道。

3)        模拟板上的对应通道必须与1)中所设码盘号一致。

3.14.3  Read_ADVal() 函数

函数:

    Read_ADVal(Uint16 uiChn, int16 *iADVal)

功能描述:

   读取A/D输入值。

输入变量

    Uint16 uiChn     AD通道号(1~6

输出变量

    int16 *iADVal    读取的AD(-32767 ~ 32767代表-10V ~ 10V)

返回值:

    STDCALL_UINT      UINT           返回值

返回值说明:

    STATUS_USER_SUCCESS                 调用函数成功

STATUS_USER_UNSUCCESS              调用函数失败

3.14.4  NC_Read_SingleCount() 函数

函数:

    NC_Read_SingleCount(Uint16 uiChNo, Uint32 *uiCount)

功能描述:

    读取单端计数值函数

输入变量

    Uint16 uiChNo         通道号(1-6)

输出变量

    Uint32 *uiCount        计数值

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

STATUS_USER_UNSUCCESS              调用函数失败

3.14.5  NC_SingleCount_CLS () 函数

函数:

    NC_SingleCount_CLS(Uint16 uiChNo)

功能描述:

    单端计数值清零函数

输入变量

Uint16 uiChNo     通道号(1-6)

输出变量:

      

返回值:

    STDCALL_UINT      UINT      返回值

返回值说明:

    STATUS_USER_SUCCESS                调用函数成功

    STATUS_USER_UNSUCCESS              调用函数失败

 

 

 

 

 

 

 

 

 

 

 

4 运动控制卡硬件接口说明

4.1模拟板接口说明:

1、码盘输入(DB9J4~J9)(注:六路引脚定义一致)

通道号

电路板标号

1

J4

2

J5

3

J6

4

J7

5

J8

6

J9

引脚说明

引脚号

功能说明

1

+5V

2

A-

3

B-

4

Z-

5

GND

6

A+

7

B+

8

Z+

9

GND

 

2、单端计数(DB15J2)(注:不检测的通道接地)

通道号

引脚号

1

10

2

3

3

4

4

5

5

11

6

12

2

3、高速捕捉(DB15I_01):(注:不检测的通道接24V

通道号

引脚号

1

14

2

6

3

12

4

4

5

10

6

2

1

4、ADDB15Analog_IN1):(注:不检测的通道接地)

通道号

引脚号

1

8

2

7

3

6

4

5

5

4

6

3

9

5、PWM输出(J1):

由外轮廓向内看,从左至右依次是:地、654、地、321

 

4.2 IO板接口说明:

以电路板的标记为准,低电平有效

 

1分不嫌少!


楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师