阅读| 订阅
阅读| 订阅
控制系统

基于VB的伺服驱动器串口通信的实现(一)

星之球激光来源:工控网2012-11-15我要评论(0)

伺服驱动器是构成伺服系统的基本部件,广泛应用于各种电力传动自动控制系统中,如:数控 机床 、柔性制造系统、机器人驱动、火炮随动系统、雷达控制、舰船推进、车辆驱...

伺服驱动器是构成伺服系统的基本部件,广泛应用于各种电力传动自动控制系统中,如:数控机床、柔性制造系统、机器人驱动、火炮随动系统、雷达控制、舰船推进、车辆驱动、印刷设备、纺织设备、缝纫设备等。在应用伺服驱动器的过程中,实时读取和修改各个控制参数来达到实时控制,是对伺服系统的基本要求。

  本文即针对德国博世力士乐的伺服驱动器indradrive,采用灵活易用的vb6.0编程语言,通过indradrive本身所带的rs232串行通信接口,实现了上位pc机与伺服驱动器的串行通信,完成了对伺服驱动器内部各控制参数的实时控制。

indradrive的通信协议

  indradrive采用sis通信协议,它是一种二进制通信协议,含有完整的报文格式和返回校验格式。针对博世力士乐的各种产品(plc、伺服驱动器等),sis协议的通信格式是统一的。

  sis协议采用的数据格式为:1位起始位,8位数据,1位或2位停止位,无校验位;通信传输数据的波特率为115200bps。sis协议采用十六进制数据格式来表示各种指令代码及数据,其软件通信指令经过优化设计后,只有两条,一条为读指令,一条为写指令,两条指令使得上位机软件编写非常方便。

  sis协议的报文格式如附表所示。

  附表 sis协议的报文格式

  其中报头由8个字节组成,它们的意义如下:

  第一个字节stz:起始位,默认为0x02;

  第二个字节cs:用于校验数据,它的值是除此字节外,所有的数相加后的低8位值异或ff,再加1后的值;

  第三个字节datl:除去报头后所有数据的长度(字节的个数);

  第四个字节datlw:重复第三个字节的内容;

  第五个字节cntrl:决定错误返回类型,默认为0x00;

  第六个字节service:服务类型(读参数写0x80,写参数写0x8f);

  第七个字节adrs:驱动器地址;#p#分页标题#e#

  第八个字节adre:驱动器地址。

用户数据头包含5个字节,意义如下:

  第一个字节control byte:操作参数值,默认为0x3c;

  第二个字节device address(unit address):驱动器地址;

  第三个字节parameter type:参数类型,对于驱动器其值为0x00;

  第四、五字节parameter number:参数号,对于驱动器的s参数,直接写参数号的十六进制值;对于p参数,写“215+参数号”的十六进制值。

  用户数据的数据长度取决于操作参数的数据类型,如操作参数为int型,写2个字节;为dword型,写4个字节。写的时候注意低位字节在前,高位字节在后。

转载请注明出处。

免责声明

① 凡本网未注明其他出处的作品,版权均属于hth官方 ,未经本网授权不得转载、摘编或利用其它方式使用。获本网授权使用作品的,应在授权范围内使 用,并注明"来源:hth官方 ”。违反上述声明者,本网将追究其相关责任。
② 凡本网注明其他来源的作品及图片,均转载自其它媒体,转载目的在于传递更多信息,并不代表本媒赞同其观点和对其真实性负责,版权归原作者所有,如有侵权请联系我们删除。
③ 任何单位或个人认为本网内容可能涉嫌侵犯其合法权益,请及时向本网提出书面权利通知,并提供身份证明、权属证明、具体链接(URL)及详细侵权情况证明。本网在收到上述法律文件后,将会依法尽快移除相关涉嫌侵权的内容。

网友点评
0 相关评论
精彩导读
Baidu
map