13.DS1319使用SDC方式控制步进电机

<< 点击显示目录 >>

主页  轴控开发使用手册 > 轴控应用 >

13.DS1319使用SDC方式控制步进电机

1. 版本信息

编写人

邱志远

审核人


应用归属

(运动控制)

软件信息

AS3.0

硬件信息

X20DS1319

其他

Acp10sdc库

版本信息

修改内容

修改人

V1.00

创建

 

 

2. 应用简介

DS1319是一个多功能数字信号处理器模块,本应用中用于生成线性运动信号。

 

3. 内容

在SG4系统里我们可以使用Acp10sdc库来控制通过SDC(smart device controller)定义的轴,可以用来驱动不同的电机,本文的控制对象是Hayden的步进电机驱动器+步进电机。

3.1 添加必要的库

想要控制SDC定义的轴,需要Acp10sdc,Acp10man,Acp10par,NcGlobal.其中后3项在添加Acp10sdc库之后会自动添加。

clip0074

3.2 添加SDC接口

在Configuration View里面打开Acp10cfg.ncc,然后点击工具栏中的Insert->Interface,添加SDC接口:

clip0075

3.3 定义SDC轴对象

首先在Configuration View里面添加一个NC Mapping Table,类型为ACP10:Mapping Table。在这张表里定义想要控制的轴对象,模块地址里面选中SDC的地址,需要注意的是这里的STx的x代表着节点号,但这个节点号和X2X总线上面模块的节点号没有关系。如果Additional Data中什么也不添,那么系统会默认这个轴对象为模拟的,并且只能在仿真模式下进行操作(ParID 110)。如果添加附加信息,可以将SDC PV与 一个 ACP10 axis对应上,gDSAxis_HW会在后文进行定义。

clip0076

3.4 创建必要的变量

clip0077

在这里定义的轴是没有外部编码器以及没有trigger信号的,是为了接下来控制步进电机做的准备。然后需要对这些变量进行必要的初始化赋值和循环控制,范例如下:

clip0078

clip0079

对于不同的对象和控制方法,所需要的数据类型大小不同,也可能需要关掉某些功能,这时就需要对应下表修改初始化赋值的程序。

clip0080

3.5 时间参数设置

上一步创建的必要变量和控制程序需要运行在NC Manager任务周期,这个可以在Acp10cfg.ncc里面进行设置,需要保持一致。

clip0081

由于采用Acp10sdc库来控制电机的时候通常都是采用的X20模块。所以需要注意的是任务周期(如Cyclic #1)的时间需要与X2X的周期时间相对应。X2X周期时间可以在下图位置进行配置:

clip0082

在系统时钟的设定上,需要保证acp10man所在的任务周期循环时间必须是时钟周期的整数倍,在下图位置进行配置:

clip0083

接下来需要对Cyclic #1的周期时间进行设置,来对应上文的配置,需要注意的是Tolerance必须设置为0.

clip0084

3.6 配置轴需要的参数表

在NC Mapping Table中定义轴对象的时候,定义了NC INIT parameter object和ACOPOS parameter table,需要进行相应的配置。

NC INIT parameter object中,本文控制的对象不存在正负限位以及trigger信号,所以需要将他们设置为ncACTIV_HI

clip0085

ACOPOS parameter table中选择Add Group添加步进电机的必要参数:

clip0086

clip0087

 

至此,使用SDC控制轴的准备工作全部做完,接下来可以进行仿真或者和实际硬件的连接。

4. 应用举例

DS1319用于控制步进电机的时候可以工作在两种模式:方向/频率模式或者AB模式。对应的接线如下:

clip0088

Hayden的步进电机控制器使用的是方向/频率模式,所以打开DS1319的I/O Configuration进行配置,叹号处表示进行了修改。

clip0089

clip0090

保存配置文件后,I/O Mapping里会出现对应的变量,将他们与之前定义的全局变量进行关联,需要注意的是,任务周期需要设置为Cyclic #1

clip0091

在Test模式下,步进电机工作正常。