驱动器接电机实现485通讯,只需要接485A 485B两根线,多个电机可以设置成不同地址串联过去。驱动器内部485都通过光耦隔离,解决了一台主机连接多台从机容易被干扰和损坏的问题。 驱动器可以通过modbus(RTU模式)来控制驱动器。主机可以通过modbus的读写寄存器功能来设置驱动器参数和控制运行。驱动器支持的功能码为0x3(读寄存器)、0x6(写寄存器)、0x78(写目标位置)、0x7a(修改设备地址)。 寄存器列表如下: 驱动器有配套的上位机控制软件,可以通过软件设置更改驱动器参数。 modbus方式位置控制过程通过拨码开关SW1打OFF再上电即为位置模式。 先上电可以通过我们提供上位机软件设置如下参数: 1. Modbus使能 发送 1(只有modbus使能为1才能改其他参数,且外部脉冲信号无效。) 2. 电机加速度 发送 5000 (根据实际需要设置加速度,不设置即使用默认参数20000) 3. 目标转速 发送 1500 (根据实际运行需要设置运行的速度,不设置即使用默认参数2800) 4. 电子齿轮分子 发送 0 (电子齿轮分子保存为0后,下次上电mdobus使能默认是1) 5. 参数保存标志 发送 1 (发此参数后,前面设置的参数保存到内部) 6. 重新上电,看参数是否已经正确保存。以上设置只需要用提供的上位机设置即可 参数设置完以后,就可以通过PLC或者单片机,或者自己设计的上位机软件发位置命令。发位置命令只需要过0x10命令发送需要走的位置就行。 1. 发增量位置(增量位置的含义是,发送的数据即为电机需要向前或者向后走的位置) 例如需要向前走一圈(假设电机编码器为1000线编码器,一圈脉冲数即为4000) 2. 发****位置(****位置的含义是,刚刚上电或者****位置清0或者自动找原点后的时候定义位置为0,****位置就是走到新发的位置,如第一次发4000为走一圈,第二次发已经走到了4000的位置,再发相同命令电机不走) 例如需要电机走到2圈位置(假设电机编码器为1000线编码器,2圈脉冲数即为8000) 例如需要电机走回原点(当电子齿轮分子为0的时候,发送0为清除当前位置,所以走回原点发送1,此时一个脉冲并不会影响精度) 注:控制电机只需要先发送需要的位置(尽量用****位置指令,因为可以重复发多次,依然是走到相同位置),然后可以通过读取****位置对比是否走到设置位置,来判断是否执行下一条指令(注意判断的时候需要允许+-2的误差)。或者可以通过接PF信号,走到位后,驱动器会给出一个光耦输出的开关量信号。 Modbus通信格式 modbus主机读取数据及从机应答格式 (功能码03) 串口接收到的数据都是无符号数,如果寄存器是有符号数,发送的则是二进制补码的格式 modbus主机写数据及从机应答格式 (功能码06) modbus主机写脉冲数 (功能码0x10) modbus主机写增量脉冲数 (特殊功能码0x78) modbus主机写****位置 (特殊功能码0x7b) Modbus同步控制多台电机 同步控制多台伺服电机,最多100台。通讯格式如下: 设备地址:默认是0,这样发给所有地址电机都能收到。 功能码:0x10 兼容标准功能码,支持尽量多的标准设备 寄存器地址:默认0x16,此地址为****位置的地址。 寄存器个数:如果控制1台电机个位0x4,如果2台0x8,以此类推。 数据长度:可以发任意数。 数据内容:每个电机会根据自己地址不同来截取自己对应的数据,如果是1号地址的电机,就是前面8个字节,内容如上表所示。 1轴位置:地址1电机的****位置。 1轴速度:地址1电机的目标速度。 1轴加速度:地址1电机的加速度。
|