基于CAN总线的伺服电机通信控制
同时,伺服控制器还提供2路参数输入通道和2路参数输出通道。在CAN总线上,上位主机可通过2路参数输入通道,对伺服控制器内的各种参数进行设置修改,如伺服电机的加减速时间、齿轮箱变速比、级联系数等等;通过2路参数输出通道读取伺服控制器的各种参数,如伺服电机的当前温度、当前配置的加减速时间以及电机的实际电压电流等等,故只要是能在伺服控制器的参数代码表中找得到的参数,基本上都能够读取。
通过CAN总线接口与各个数据通道,伺服电机可将自己的相关数据信息发送到CAN总线上;同时亦可以接收来自总线的伺服电机所需的各种数据信息与控制命令。
5 CAN的通信协议
作为实时性要求比较高的工业控制底层网络,CAN协议只分为3层:物理层、数据链入层和应用层。CAN通信协议有4种不同的帧格式:数据帧、远程帧、错误帧和超载帧。
由于CAN通信协议给出的只是共性要求,在实际应用中需要将协议具体化,建立适用的协议规则。根据伺服电机伺服控制器的特点,并遵循CAN通信协议标准,制定了伺服控制器的通信协议规则。伺服控制器的每个信息帧分为2部分:帧头和数据域。帧头占2B,其前11位为标识符,然后是一位RTR位,最后是4位的数据长度位DLC(即所发数据的实际长度,以字节为单位)。数据域占用8B。11位的信息标识符反应了节点的优先级别,总线仲裁就是通过它来实现的,信息帧的标识符越小,信息帧就具有越高的优先权。除总线状态等特殊信息外,伺服控制器对所传输信息的标识符有一定的计算公式:
信息标识符=基准标识符+设定的控制器的节点地址
伺服控制器的节点地址可以在参数代码表中设定。而对信息的基准标识符,伺服控制器有统一的规定,如:同步触发信号的基准标识符为128,来自控制器CAN-OUT1通道的信息的基准标识符为384,而发送到控制器CAN-IN1通道的信息的基准标识符为512,通过参数通道1发送到控制器的信息基准标识符为1536,通过参数通道1接收的信息基准标识符则为1408。
对于8B的数据域,用户需要按照所要发送的具体信息来确定应遵循的使用原则。比如,要通过参数通道进行参数设定,第1个字节为命令码,第2、3字节为参数对应的索引号,第4个字节为参数对应的次索引,后4个字节是要设定的参数数据大小;而要发送信息到某伺服控制器的过程数据通道CAN-IN1,则直接是数据信息的发送,没有命令码,也没有索引号。
6 上位主机的软件设计
通过CAN总线进行通信与控制的伺服电机,在针对实际的应用要求配置好伺服控制器的内部控制信号流,以及基于CAN的接口功能模块和数据通道后,剩下需要解决的是上位主机的软件设计问题。
由于上位主机所接插的CAN通讯适配卡一般都提供CAN的驱动函数,所以在上位机软件的编制过程中,实现与CAN总线的通信部分可以直接调用相应的函数,如上位主机与CAN通信的主要任务:对CAN适配卡的初始化、CAN信息包的发送、CAN信息包的接收等,都有现成的函数可以使用,为用户使用CAN进行通信提供了方便。对CAN通讯适配卡的初始化主要是初始化适配卡的各个寄存器,设置中断向量、通信卡的波特率以及中断屏蔽字等必要的参数,为正常通信作准备。实现CAN信息包的发送,首先要确定信息包的11位信息标识符,填入帧头,并在数据域中填入需要发送的数据信息,通过发送函数发送给所有CAN节点或特定的CAN节点上。而对于使用接收函数所接收的CAN信息包,亦通过其11位信息标识符,判断其来源,对数据域的数据进行处理,取得有效的信息,进行显示或存储,并按照控制需要发送控制指令。其软件控制流程图,如图2所示。
7 结束语
伦茨伺服电机CAN接口的引入,提高了伺服电机的自动化水平,使伺服电机在工业控制网络中的通信与控制更为方便、灵活和可靠。
CAN总线在现代工业控制系统中越来越广泛的应用,为带CAN接口的伺服电机提供了广阔的应用前景。
参考文献
[1]邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996.
[2]Lenze.Operating Instruction(Global Drive Mannuls 9300).(end)
数字通信相关文章:数字通信原理
伺服电机相关文章:伺服电机工作原理
通信相关文章:通信原理
双绞线传输器相关文章:双绞线传输器原理
评论