上位机与伺服驱动器通过串口进行连接,具体实现方式为上位机与伺服驱动器通过USB线连接,在上位机上安装USB转串口的程序,实现二者之间的串口连接。图2为上位机与伺服驱动器连接通信的示意图。
调试工具通过串口与伺服进行通信,驱动层需要创建串口对象,c#中的Serial Port类为串口的实现提供了良好的支持,可以方便的创建串口,初始化串口,对串口的各属性,如波特率、奇偶校验位、停止位等进行设置。图3为串LI属性设置界面,用户可以根据需求,对串口号、波特率、数据位、停止位、校验位进行设置,从而生成不同的串口对象。
通信协议按照工业标准MODBUS协议标准。进行设计。通信帧包括起始字节、数据长度、指令码、数据内容、校验码、结束字节等字段,具备较好的扩展性,通信帧的各字节含义如表l所示。上位机发送的命令帧以及数据帧采用协议规定的统一格式发送,起止字节均是一个字节AAH,帧中的第二个字节表示通信地址,占用一字节,紧接着的一个字节表示整个帧的长度。不同类型的指令由指令码标示,占用一字节,紧接着的n个字节表示不同指令码的数据部分,具体内容以及n的大小由各类型指令的不同内容决定,不同类型的指令格式以及指令对应的应答帧格式也需事先约定好。本节所实现的协议采用16位的CRC冗余校验方法,校验范围包括除起止字节以及结束码以外的所有帧字节,最后是结束码。
3 调试工具的设计
调试工具主要包括类库和对象库管理、参数管理、调试、文件管理四部分。本软件采用C#语言进行开发,图4为调试工具的主界面。
3.1 类库及对象库的设计
根据可重构伺服驱动器的特点,要求调试软件能够建立类库,其中类具有类版本号、输入引脚数、输出引脚数、一类参数个数、二类参数个数、三类参数个数等属性,用户可以输入这些属性值来创建类。可针对每个类生成不同对象号的对象。可重构伺服驱动器平台以组件的思想进行设计,可以创建多个组件对象,对象之间利用参数进行互连,从而实现整个系统的可重构。每个对象都对应一个唯一ID号,范围为l~255,分为系统对象和通用对象两类。在调试软件中,对象库中对象的创建具有两种方式。一种是,通过类来实例生成,输人对象的对象号,即可通过类生成该对象,该对象就具备了此类的版本号、输人输出引脚数、各类参数个数等属性值。另一种方式是通过向伺服驱动器发送查询命令,对1—255这255个对象号依次进行查询,判断伺服驱动器中是否具有该对象号的对象,从而获取伺服中的各对象,实现对象库的更新,也保证了对象库中的对象与伺服中对象的一致性。