小丸工具箱官方网站
介绍小丸工具箱无法写入了博世力士乐的伺服驱动器IndraDrive的SIS协议小丸工具箱无法写入,在分析其通信原理的基础上,利用面向对象的编程语言VB 6.0的MSComm通信控件,实现了实时配置驱动器参数的目的,并给出了具体配置参数实例及注意事项。针对轨道交通站台屏蔽门系统,介绍了其整体实现方法。
介绍了博世力士乐的伺服驱动器IndraDrive的SIS协议,在分析其通信原理的基础上,利用面向对象的编程语言VB 6.0的MSComm通信控件,实现了实时配置驱动器参数的目的,并给出了具体配置参数实例及注意事项。针对轨道交通站台屏蔽门系统,介绍了其整体实现方法。
伺服驱动器是构成伺服系统的基本部件,广泛应用于各种电力传动自动控制系统中,如小丸工具箱无法写入:数控机床、柔性制造系统、机器人驱动、火炮随动系统、雷达控制、舰船推进、车辆驱动、印刷设备、纺织设备、缝纫设备等。在应用伺服驱动器的过程中,实时读取和修改各个控制参数来达到实时控制,是对伺服系统的基本要求。
本文即针对德国博世力士乐的伺服驱动器IndraDrive,采用灵活易用的VB 6.0编程语言,通过IndraDrive本身所带的RS232串行通信接口,实现了上位PC机与伺服驱动器的串行通信,完成了对伺服驱动器内部各控制参数的实时控制。
IndraDrive采用SIS通信协议,它是一种二进制通信协议,含有完整的报文格式和返回校验格式。针对博世力士乐的各种产品(PLC、伺服驱动器等),SIS协议的通信格式是统一的。SIS协议采用的数据格式为:1位起始位,8位数据,1位或2位停止位,无校验位;通信传输数据的波特率为115200 bps。SIS协议采用十六进制数据格式来表示各种指令代码及数据,其软件通信指令经过优化设计后,只有两条,一条为读指令,一条为写指令,两条指令使得上位机软件编写非常方便。
SIS协议的报文格式如表1所示。
表1 SIS协议的报文格式
VB实现PC机与IndraDrive的串行通信
PC机与IndraDrive的通信常采用主从问答方式,PC机始终具有初始传送优先权,所有的通信均由PC机来启动。每次通信都是由PC机通过发送(读/写参数)命令启动通信,IndraDrive在接到PC机发送的命令后,首先检查命令中的起始标志,然后检查命令中的驱动器地址是否与自己的驱动器地址相符,如果不一致,说明计算机是与其它的驱动器进行通信,从而忽略该命令;如果一致,就响应该命令,并将执行结果回送到PC机,一次通信过程结束[1]。
展开全文
在VB的控件工具箱中提供了一个使用非常方便的串行通信控件MSComm,它全面地提供了使用串行通信上层开发的所有细则,串行通信的实现既可以采用中断方式,又可以采用查询方式[2]。MSComm控件提供了实现串行端口中断功能的OnComm事件,该事件是唯一的,可以截取串口的任何消息,当有串口事件或错误发生时,VB程序就会自动转入OnComm事件处理程序中。
根据SIS通信协议的规定,VB程序中主要是针对MSComm控件的操作,主要有MSComm控件的初始化和OnComm事件的处理。在初始化中主要是设置串口号、串口设置等,OnComm事件的处理主要是对事件的捕获,以及发送与接收参数的处理等。
读写命令实例及注意事项
有了上面的基础,我们就可以根据SIS协议的数据格式来实时读写IndraDrive的内部参数,如读取位置反馈值参数S-0-0051的值,首先将参数号51转化为十六进制数33,即在用户数据头的第四、五两个字节分别写入33 00(注意:高字节在后,低字节在前);其它字节可以相继得出,因是读参数值,所以不需写用户数据;从而发送内容应为:
02 02 05 05 00 80 01 01 3C 01 00 33 00
如果通信正常,则会接收到类似的字节内容:
02 20 07 07 10 80 01 01 00 3C 01 4E AC 07 00
其中后4个字节即为位置反馈值(注意:高字节在后,低字节在前),十六进制表示应为7AC4E,将其转化为十进制为502862,实际的位置值应为50.2862(位置值的分辨率为0.0001)。
在写参数时,和读参数的不同的地方就是用到用户数据,也就是将欲写入的值写到用户数据的位置。如将100.0000写入最大行程值参数S-0-0278,首先将参数号278转化为十六进制数116,即在用户数据头的第四、五两个字节分别写入16 11;再将1000000(注意不是100.0000)转化为十六进制为F4240,即在用户数据的四个字节依次写入40 42 0F 00;其它字节可以相继得出;发送内容应为:
02 76 09 09 00 8F 01 01 3C 01 00 16 01 40 42 0F 00
如通信正常,则会接收到:
02 1A 03 03 10 8F 01 01 00 3C 01
表示改写参数成功。
值得注意的是,除了在数据格式上遵从SIS协议之外,操作过程中还应注意以下几点:
(1)通信波特率应为115200 bps。
(2)写参数时,应先使IndraDrive处于PM(参数模式)。通过置位参数S-0-0420(激活参数模式)的bit1、bit0,就可以将IndraDrive切换到PM;而在改写参数S-0-0420时,不需在PM;在将S-0-0420的bit1和bit0置位后,不要忘了再将其复位,这样便进入PM,便可以随意改写参数了。在配置完参数后,应该跳出PM,进入OM(操作模式),通过参数S-0-0422(跳出参数模式)来完成,配置过程与S-0-0420类似。
(3)读参数时无论IndraDrive处于PM和OM均可读取,没有限制。
(4)读参数时,接收到内容的第11个字节以后的内容为用户数据;而写参数时,接收到的内容中没有用户数据部分,只要通信正常,均会收到相同内容02 1A 03 03 10 8F 01 01 00 3C 01。
(5)如果正在上位机用IndraWorks调试IndraDrive,则读写参数时,应使IndraWorks离线,否则会提示串口被占用。
在轨道交通站台屏蔽门系统中的应用
屏蔽门系统是用来将地铁站台和区间隧道隔开的玻璃装置,这样增加了安全性和舒适感,也节约了大量的能量,特别是对于那些由于高温需要对地铁系统冷却的地区。
屏蔽门系统中每樘门有一个DCU(门控单元),它根据接收到的指令控制电机的运行,使得在火车到达后屏蔽门便自动打开,而在出发前屏蔽门自动关闭。如果这些门中有一扇发生了故障,这就会大大影响乘客的安全,也影响整个地铁系统的运行。因此通过PSC(中央接口盘)实时控制、监控DCU的各种参数尤为重要。
在屏蔽门系统试验中,我们采用串行通信方式来连接PSC和DCU。PSC用普通的PC机代替,DCU主要由博世力士乐的IndraDrive系列伺服驱动器组成,将二者用驱动器调试通讯线相连。首先利用VB6.0的控件工具箱中提供的串行通信控件MSComm来构建一个上位机调试界面,为下一步读写驱动器参数做好准备。
DCU运行参数有两种:一种是驱动器本身的参数,比如驱动器的速度反馈值参数S-0-0040、位置反馈值参数S-0-0051等,这些是驱动器参数;另一种是屏蔽门运行控制类参数,如开门时间、关门时间、解锁等待时间、开门力、关门力等,这些是用户自定义参数。因此,读写参数也分两种情况。在驱动器工程环境IndraWorks中,对于驱动器参数,只需根据SIS协议,发出读写命令直接读取即可。而对于用户自定义参数,首先将需要读写的参数映射到IndraDrive的P参数(特殊参数)的PLC输出寄存器,如P-0-1410,该寄存器字长2Byte,十六进制;也可以根据参数的字长映射到PLC的全局寄存器。后面的读取过程与驱动器参数类似。具体细节见第4节。
然而,在实际的屏蔽门系统中,由于站台距离较长,使用串口通信是不可能的。如某站台共有80樘滑动门,上下行各40樘。这种情况下,就需要对通讯接口进行转换,可以在PSC和DCU之间加接转换板,DCU之间采用CAN总线,转换板完成CAN总线到RS232的转换,再与PSC相接。转换板的功能:一是通过CAN总线收集总线上各DCU(分两组,上下行各一组)的运行状态,二是通过串行通讯口向PSC发送所收集到的DCU状态,用于PSC显示。这种通讯模式已经应用在某地铁站台屏蔽门系统中,实现了PSC对滑动门各种参数的监控与控制。运行良好,成本低廉。
结论
本文在调试博世力士乐IndraDrive伺服驱动器实验的基础上,提出了PC机与伺服驱动器的串口通信方法,已成功应用于轨道交通站台屏蔽门系统中,灵活方便,达到了实时修改驱动器参数的要求。稍作修改即可应用于安全门系统以及自动门系统的上位机监控,具有较好的实际价值和可扩展性。
正版现货 共2本 图解步进电机和伺服电机的应用与维修+变频器与步进伺服驱动技术完全精通教程 电工 步进伺服电动机结构原理图书籍 ¥65.5 购买