运动控制卡说明书Word文档格式.docx

上传人:b****2 文档编号:4135376 上传时间:2023-05-02 格式:DOCX 页数:36 大小:62.44KB
下载 相关 举报
运动控制卡说明书Word文档格式.docx_第1页
第1页 / 共36页
运动控制卡说明书Word文档格式.docx_第2页
第2页 / 共36页
运动控制卡说明书Word文档格式.docx_第3页
第3页 / 共36页
运动控制卡说明书Word文档格式.docx_第4页
第4页 / 共36页
运动控制卡说明书Word文档格式.docx_第5页
第5页 / 共36页
运动控制卡说明书Word文档格式.docx_第6页
第6页 / 共36页
运动控制卡说明书Word文档格式.docx_第7页
第7页 / 共36页
运动控制卡说明书Word文档格式.docx_第8页
第8页 / 共36页
运动控制卡说明书Word文档格式.docx_第9页
第9页 / 共36页
运动控制卡说明书Word文档格式.docx_第10页
第10页 / 共36页
运动控制卡说明书Word文档格式.docx_第11页
第11页 / 共36页
运动控制卡说明书Word文档格式.docx_第12页
第12页 / 共36页
运动控制卡说明书Word文档格式.docx_第13页
第13页 / 共36页
运动控制卡说明书Word文档格式.docx_第14页
第14页 / 共36页
运动控制卡说明书Word文档格式.docx_第15页
第15页 / 共36页
运动控制卡说明书Word文档格式.docx_第16页
第16页 / 共36页
运动控制卡说明书Word文档格式.docx_第17页
第17页 / 共36页
运动控制卡说明书Word文档格式.docx_第18页
第18页 / 共36页
运动控制卡说明书Word文档格式.docx_第19页
第19页 / 共36页
运动控制卡说明书Word文档格式.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

运动控制卡说明书Word文档格式.docx

《运动控制卡说明书Word文档格式.docx》由会员分享,可在线阅读,更多相关《运动控制卡说明书Word文档格式.docx(36页珍藏版)》请在冰点文库上搜索。

运动控制卡说明书Word文档格式.docx

✧标准PCI总线通讯方式

5.系统软件

✧用户接口函数库

✧WindowsXP设备驱动程序

✧用户示例程序

PCI_SERVO4

正是由于PCI_SERVO4的开放式结构,使之应用范围十分广泛,在由步进电机和数字式伺服电机组成的基于PC机的运动控制系统中,都可以使用PCI_SERVO4作为核心控制单元,例如:

●数控机床、加工中心、机器人等;

●X-Y-Z控制台;

●绘图仪、雕刻机、印刷机械;

●送料装置、云台;

●打标机、绕线机;

●医疗设备;

●包装机械、纺织机械;

等等。

1.4 PCI_SERVO4的运动控制功能

PCI_SERVO4控制卡的运动控制功能主要取决于运动函数库。

运动函数库为单轴及多轴的步进或伺服控制提供了许多运动函数:

单轴运动、多轴独立运动、多轴插补运动等等。

1.4.1单轴运动控制

1.4.2多轴独立运动控制

1.4.3多轴插补运动控制

1.4.4光码盘反馈和其它能力

第二章控制卡的安装

2.1硬件安装

PCI_SERVO4控制卡对PC机的硬件要求十分简单:

能安装Windows2000及以上操作系统,并带有PCI插槽的486以上机型即可,建议使用更高主频的Pentium及以上机型以获取更好的性能。

为了整个控制系统的可靠性,建议使用工控PC机。

PCI_SERVO4卡基于PCI总线,因此卡上无需进行跳线设置。

为了保证安全,插卡时应按照下列步骤操作:

1)关PC机,并切断电源;

2)打开PC机箱,选择未用的扩展槽,并插入PCI_SERVO4控制卡;

3)固定PCI_SERVO4控制卡,并盖好PC机;

4)连接PCI_SERVO4与电机驱动器等;

5)接上电源,并启动PC机。

2.2软件安装

2.2.1驱动程序安装和使用

插入运动控制卡,启动电脑,进入操作系统后,计算机提示找到新硬件,如果没有提示则打开设备管理器,右键选择“扫描硬件改动”,扫描后会提示找到新硬件,按要求加载安装信息文件和驱动程序,根据提信息,打开驱动文件所在的文件夹,找到所编制的安装文件Pci9052.inf,然后根据安装文件提供的驱动序信息,系统自动安装驱动程序Pci9052.sys。

安装后重新启动系统,所安装的驱动程序便可以正常的工作了。

驱动的使用方法可以参考示例程序。

2.2.2运动函数库安装和使用

可以参考4.1.2章的DLL的显示链接和示例程序。

2.3PCI_SERVO4接口

PCI_SERVO4控制卡采用100芯SISC接口,外接线可采用屏蔽线缆,以提高控制卡的抗干扰能力。

其中开关量信号(原点、减速、限位以及I/O信号等)采用5DCV光电隔离;

脉冲量信号(脉冲、方向、编码器反馈等)采用5DCV高速光电隔离。

2.3.1信号接口定义

PCI_SERVO4卡SISC100的接口定义为:

编号

名称

定义

ZH

51

EX5VX

X轴+5V外部电源正

50

~52

GNDX

X轴+5V外部电源地

49

53

SDIRX

X轴方向输出

48

XALRM

X轴报警输入

54

SDATAX

X轴脉冲输出

47

XLMTP

X轴正向限位输入

55

XENABLE

X轴使能输出

46

XLMTM

X轴负向限位输入

56

XINPOS

X轴到位信号输入

45

XORGIN

回原点

57

XSTATE

X轴的准备状态

44

XENCA

X轴编码器A/脉冲+入

58

NC

43

XENCB

X轴编码器B/脉冲-入

59

EX5VY

Y轴+5V外部电源正

42

60

GNDY

Y轴+5V外部电源地

41

61

SDIRY

Y轴方向输出

40

YALARM

Y轴报警输入

62

SDATAY

Y轴脉冲输出

39

YLMTP

Y轴正向限位输入

63

YENABLE

Y轴使能输出

38

YLMTM

Y轴负向限位输入

64

YINPOS

Y轴到位信号输入

37

YORGIN

65

YSTATE

36

YENCA

Y轴编码器A/脉冲+入

66

35

YENCB

Y轴编码器B/脉冲-入

67

OS1

通用输出(与OS2构成开关型输出)

34

OS2

通用输出(与OS1构成开关型输出))

68

OS3

通用输出(与OS4)

33

OS4

通用输出(与OS3)

69

OS5

通用输出(与OS6)

32

OS6

通用输出(与OS5)

70

OS7

通用输出(与OS8)

31

OS8

通用输出(与OS7)

71

OS9

通用输出(与OS10)

30

OS10

通用输出(与OS9)

72

OS11

通用输出(与OS12)

29

OS12

通用输出(与OS11)

73

OS13

通用输出(与OS14)

28

OS14

通用输出(与OS13)

74

OS15

通用输出(与OS16)

27

OS16

通用输出(与OS15)

75

26

76

IOINP2

通用输入2+

25

IOINP1

通用输入1+

77

IOINN2

通用输入2-

24

IOINN1

通用输入1-

78

IOINP4

通用输入4+

23

IOINP3

通用输入3+

79

IOINN4

通用输入4-

22

IOINN3

通用输入3-

80

IOINP6

通用输入6+

21

IOINP5

通用输入5+

81

IOINN6

通用输入6-

20

IOINN5

通用输入5-

82

IOINP8

通用输入8+

19

IOINP7

通用输入7+

83

IOINN8

通用输入8-

18

IOINN7

通用输入7-

84

17

85

EX5VZ

Z轴+5V外部电源正

16

86

GNDZ

Z轴+5V外部电源地

15

87

SDIRZ

Z轴方向输出

14

ZALARM

Z轴报警输入

88

SDATAZ

Z轴脉冲输出

13

ZLMTP

Z轴正向限位输入

89

ZENABLE

Z轴使能输出

12

ZLMTM

Z轴负向限位输入

90

ZINPOS

Z轴到位信号输入

11

ZORGIN

91

ZSTATE

10

ZENCA

Z轴编码器A/脉冲+入

92

9

ZENCB

Z轴编码器B/脉冲-入

93

EX5VU

U轴+5V外部电源正

8

94

GNDU

U轴+5V外部电源地

7

95

SDIRU

U轴方向输出

6

UALRM

U轴报警输入

96

SDATAU

U轴脉冲输出

5

ULMTM

U轴正向限位输入

97

UENABLE

U轴使能输出

4

UORGIN

U轴负向限位输入

98

UINPOS

U轴到位信号输入

3

99

USTATE

2

UENCA

U轴编码器A/脉冲+入

100

1

UENCB

U轴编码器B/脉冲-入

注:

NC为空连接

红色标记的nINPOS(XYZU)硬件连接有错,它和nState共用了一条线

2.3.2接线方法

接线方法可以参看电路图。

第三章运动控制系统的开发

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

利用PCI_SERVO4的动态链接库(DLL),开发者可以很快开发出Windows平台下的运动控制系统。

PCI_SERVO4动态链接库是标准的Windows32位动态链接库,选用的开发工具应支持Windows标准的32位DLL调用。

以下介绍如何利用两种常用的开发工具MicrosoftVisualBasic和MicrosoftVisualC++开发基于Windows平台的运动控制程序

3.1.1开发VisualBasic控制程序

1.概述

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

3.演示示例程序的使用

3.1.2用VisualC++开发控制程序

1.开发环境

用户可以使用VC6.0或更高版本,来进行Windows平台下运动控制系统开发。

在VC中调用动态链接库DLL中函数有两种方法:

1)隐式调用

隐式调用需要如下文件:

Ø

DLL函数声明头文件PCI_SERVO4.h;

编译连接时用的导入库文件PCI_SERVO4.lib;

动态链接库文件PCI_SERVO4.dll;

设备驱动程序PCI_SERVO4.sys;

对于以上的调用方法可以参考MFC中关于对DLL调用的那一章

2)显式调用

显式调用只需要如下文件:

设备驱动程序PCI_SERVO4.sys。

显式链接是应用程序在执行过程中随时可以加载DLL文件,也可以随时卸载DLL文件,这是隐式链接所无法做到的,所以显式链接具有更好的灵活性。

它需要调用WindowsAPI函数加载和释放动态链接库。

方法如下:

✓调用WindowsAPI函数LoadLibrary动态加载DLL;

✓调用WindowsAPI函数GetProcAddress取得将要调用的DLL中函数的指针;

✓用函数指针调用DLL中函数完成相应功能;

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

如下是通过显式链接调用pci_servo4.dll中的Pmove1函数的例子:

……

typedefint(*Pmove1_d)(intch,longldata);

……

HINSTANCEhDLL;

Pmove1_dPmove1;

……

hDLL=LoadLibrary("

pci_servo4.dll"

);

//加载动态链接库pci_servo4.dll文件;

Pmove1=(Pmove1_d)GetProcAddress(hDLL,"

Pmove1"

//获得pci_servo4.dll中函数Pmove1的指针

Pmove1(chx,1000);

//执行Pmove1函数

……

FreeLibrary(hDLL);

//卸载pci_servo4.dll文件

在例子中使用类型定义关键字typedef,定义指向和pci_servo4.dll中相同的函数原型指针,然后通过LoadLibray将pci_servo4.dll加载到当前的应用程序中并返回当前pci_servo4.dll文件的句柄,然后通过GetProcAddress函数获取导入到应用程序中的函数指针,函数调用完毕后,使用FreeLibrary卸载pci_servo4.dll文件。

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

参看演示程序。

3.2运动函数库中函数的说明

3.2.1初始化函数、轴设置函数与其设置量获得函数

1)boolinit(void)

目的:

打开板卡获得句柄

语法:

boolinit();

调用例子:

init();

返回值:

如果成功返回0,否则返回1;

注释:

打开板卡获得句柄,如果没有插卡或没有正确安装驱动,提示“设备打不开!

2)voidreset()/*复位板卡*/

复位板卡

voidreset();

reset();

3)intInit_Board()/*初始化板卡*/

Init_Board函数主要初始化控制卡的各个寄存器、各轴的脉冲输出模式(脉冲/方向或者双脉冲,脉冲逻辑)、常速度(2000pps)、梯形速度(初速2000pps,高速8000pps,加减速12500ppss)等等。

该函数在程序中只能调用一次。

intInit_Board();

Init_Board();

如果调用成功,函数返回0,失败返回1。

如果不调用Init_Board函数初始化,控制卡将不能正常工作。

若需改变脉冲输出模式、速度等初始化数据,可调用其它函数来修改。

4)voidset_r(intch,intudata)/*设置倍率*/

设置各轴的倍率,因为寄存器的位长所致,速度,加速度等的值在一个范围,比如速度v范围(0-8000pps),如果想范围达到(0-80000),则倍率应至少设为10.

voidset_r(intch,intudata)/;

set_r(chx,10);

/*将x轴的倍率设定为10.(chx=1);

描述:

初始化后倍率为1.如果想改变某个轴的倍率,调用它就可以了.如果ch=0xf,则是一起设置四个轴的倍率。

无.

5)intget_r(intch)/*获得某个轴的倍率*/

获得某个轴的倍率.

intr=get_r(chx);

//chx=1

6)voidset_lp(intch,unsignedlongldata)附1

设置逻辑寄存器的值。

set_lp(chx,0);

//chx=1,设置当前逻辑位置为0

设置逻辑寄存器的值,即逻辑上某个轴所在的位置,如果ch=0xf则为同时设置四个轴,ldata的范围是(-2,147,483,648~+2,147,483,647)

在运行中每输出一个脉冲,逻辑寄存器就加1,这里设置逻辑寄存器实际上就是设置逻辑寄存器的基数。

7)longget_lp(intch)

获得逻辑寄存器的值

longlp=get_lp(chx)//chx=1

获得逻辑寄存器的值,即逻辑上某个轴所在的位置

逻辑上某个轴所在位置的值

8)voidset_ep(intch,unsignedlongldata)附1

设置实际位置寄存器。

set_ep(chx,0)//chx=1,设置当前实际位置为0

设置实际位置寄存器,既某个轴所在的位置,如果chx=0xf则为同时设为四个轴,ldata的范围是(-2,147,483,648~+2,147,483,647)

在运行中,运动卡接收到编码器一个脉冲,实际寄存器(EP)就加1,这里设置实际位置寄存器实际上就是设置寄存器的基数。

运行中可以选择逻辑寄存器(LP)或者实际位置寄存器(EP)与限位寄存器(COMP+/COMP-)比较来限定位置。

9)longget_ep(intch)

获得实际寄存器的值

longep=get_ep(chx)//chx=1

获得实际寄存器的值。

实际寄存器的值

10)voidset_cp(intch,unsignedlongldata)附1

设置正向比较寄存器COMP+的值.

(chx,1000)//chx=1,设定正相限位为1000,正相输出1000个脉冲后停止

设置正向比较寄存器COMP+的值,作为正方向的软件限位,在运行中也可以改写COMP+的值

执行函数set_SLMT来使能软件限位,调用函数set_CMPEP或set_CMPLP来确定与COMP+比较的是实际位置还是逻辑位置。

Ldata范围(-2,147,483,648--2,147,483,647)。

执行clr_SLMT取消软件限位,本函数失效。

11)longget_cp(intch)

读取正向比较寄存器的限位值

longcp=get_cp(chx)//chx=1

ch为轴号,取值为1,2,3,4。

正向比较寄存器的值

12)voidset_cm(intch,unsignedlongldata)附[1]

设置负向比较寄存器COMP-的值

set_cm(chx,-1000);

//chx=1;

设置负向比较寄存器COMP-的值,作为负方向的软件限位,在运行中也可以改写COMP-的值

执行函数set_SLMT来使能软件限位,调用函数set_CMPEP或set_CMPLP来确定与COMP-比较的是实际位置还是逻辑位置。

13)longget_cm(intch)

读取负向比较寄存器的限位值

longcm=get_cm(chx);

//

负向比较寄存器的限位值

14)voidset_sv(intch,longldata)

设置初始速度或者是定速驱动中的速度SV

set_sv(chx,1000);

//chx=1,sv=1000

ch为轴号,取值为1,2,3,4,0xf。

如果ch=0xf,则同时设定四个轴,ldata:

参数值

在倍率为1(set_r(chx,1))的时候,ldata的范围是0-8000.ldata的范围是倍率为1的范围乘以倍率,如:

倍率为5的时候,ldata的范围为0-40000(5*8000).

15)unsignedlongget_sv(intch)

获得所设置初始速度

unsignedlonguldata=get_sv(chx);

//chx=1

获得某个轴的初始速度.

某个轴的所设置的初始速度

它是某个轴的所设置的初始速度值,并非是正在运行时的速度,察看运行时的速度是函数get_v

16)voidset_a(intch,longldata)

设置加速度参数A

set_a(chx,8000)//chx=1,ldata=8000

如果ch=0xf,则同时设定四个轴,ldata:

倍率为5的时候

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2