完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
用串口通信来控制伺服速度,先看说明书
P3-05 CMM 通讯功能 通讯地址:030AH 030BH 参数功能: RS-232 通讯选择标准 MODBUS 或是与 ASDA-Soft 通讯 RS-232 通讯格式 0:RS-232 标准 MODBUS 通讯 1:RS-232 可与 ASDA-Soft 通讯 修改为0 改变控制模式 P1-01通讯地址:0102H 0103H 控制模式设定 Mode PT S T Sz Tz 单一模式 00 ▲ 01 保留 02 ▲ 03 ▲ 04 ▲ 05 ▲ 混合模式 06 ▲ ▲ 07 ▲ ▲ 08 保留 09 保留 0A ▲▲ 单一模式: PT:位置控制模式(命令来源为外部脉冲输入/外部模拟电压(*预 计加入)两种来源,可通过 DI:PTAS 来选择) S:速度控制模式(命令来源为外部模拟电压 /内部缓存器两种来源, 可通过 DI:SPD0,SPD1 来选择) T:扭矩控制模式(命令来源为外部模拟电压 /内部缓存器两种来源, 可通过 DI:TCM0,TCM1 来选择) Sz:零速度/内部速度缓存器命令 Tz:零扭矩/内部扭矩缓存器命令 混合模式: 可通过外部的 DI (Digital Input)来切换模式,例如设为 PT/S 的混合 模式(控制模式设定:06),则可通过 DI:S-P(请参考表 7.1)来 进行模式的切换。 寄存器的值设置为02 速度模式,再看输入端子 输入输出端子软件设定 输入 DI1 P2-10 0214H 0215H DI2 P2-11 0216H 0217H DI3 P2-12 0218H 0219H DI4 P2-13 021AH 021BH DI5 P2-14 021CH 021DH DI6 P2-15 021EH 021FH DI7 P2-16 0220H 0221H DI8 P2-17 0222H 0223H //1-8连续 第9个 DI9 P2-36 0248H 0249H 输出 DO1 P2-18 0224H 0225H 。.. DO5 P2-22 022CH 022DH 只看输入 DI3 、DI4出厂值是116,117控制力矩 我们改成114、115控制速度 速度命令的来源分成两类,一为外部输入的模拟电压;另一为内部参数。选择的方式可根 据 CN1 的 DI 信号来决定 内部速度指令的三个寄存器 SP1 P1-09 0112H 0113H SP2 P1-10 0114H 0115H SP3 P1-11 0116H 0117H 单位: 0.1r/min 设定范围: -50000 ~ +50000 此时外部硬件设置DI3 、DI4的信号,可以选择三个寄存器的速度值 00 0 10 sp1 01 sp2 11 sp3 怎样内部接通DI3 、DI4? 看P3-06 P3-06 SDI 输入接点(DI)来源控制开关 通讯地址:030CH 030DH 参数功能: DI 来源控制开关 此参数每 1 位决定 1 个 DI 的信号输入来源: Bit0 ~ Bit8 对应至 DI1 ~ DI9。 位设定表示如下: 0:输入接点状态由外部硬件端子控制。 1:输入接点状态由系统参数 P4-07 控制。 数字输入接脚 DI 功能规划请参考: DI1 ~ DI9:P2-10 ~ P2-17 与 P2-36 P3-06 DI来源控制开关。外部硬件控制还是内部寄存器控制 再来看P4-07 P4-07■ ITST 数字输入接点多重功能 通讯地址:040EH 040FH 参数功能: DI 的输入信号可来自外部硬件端子(DI1 ~ DI9)或是软件 SDI1 ~ 9 (对应参数 P4-07 的 Bit 0 ~ 8),并由参数 P3-06 来选择。P3-06 对应的位为 1 表示来源为软件 SDI(P4-07),反之,则来自硬件DI 例如: 读取 P4-07 的数值为 0x0011 则代表:最终 DI1、DI5 为 ON 写入 P4-07 的数值为 0x0011 则代表:软件 SDI1、SDI5 为 ON; 数字输入接脚 DI (DI1~DI9) 功能规划请参考 P2-10~P2-17 和P2-36;说的是上面的列表 P4-07相当于软件输入的开关,改变这个寄存器的值,就相当于外部硬件端子接通或断开某个DI 能设置这些寄存器,我们可以不用外部硬件接线,串口通信直接控制伺服的速度了。 上马 #关闭强制使能 logger.info(master.execute(dvc_id, cst.WRITE_SINGLE_REGISTER, 0x023c, output_value=0)) logger.info(master.execute(dvc_id, cst.READ_HOLDING_REGISTERS, 0x023c, 0x0004)) #P1-01设置为2 logger.info(master.execute(dvc_id, cst.WRITE_SINGLE_REGISTER, 0x0102, output_value=2)) logger.info(master.execute(dvc_id, cst.READ_HOLDING_REGISTERS, 0x0102, 0x0004)) # DI3 P2-12 0218H 0219H # DI4 P2-13 021AH 021BH logger.info(master.execute(dvc_id, cst.WRITE_MULTIPLE_REGISTERS, 0x0218, output_value=[0x114, 0, 0x115, 0])) #logger.info(master.execute(dvc_id, cst.WRITE_SINGLE_REGISTER, 0x0218, output_value=2)) logger.info(master.execute(dvc_id, cst.READ_HOLDING_REGISTERS, 0x0218, 0x0004)) #3个32位的速度数据 logger.info(master.execute(dvc_id, cst.READ_HOLDING_REGISTERS, 0x0112, 0x0006)) # P3-06 SDI 输入接点(DI)来源控制开关 通讯地址:030CH 030DH # 1为内部软控 _r = (master.execute(dvc_id, cst.READ_HOLDING_REGISTERS, 0x030C, 0x0002)) print(_r) _va = _r[0] | 0x0C # 0000 1100 //第34位对应DI3 DI4 _va = _va | 0x01 # 0000 0001 //第1位对应DI1 Son 伺服使能 logger.info(master.execute(dvc_id, cst.WRITE_SINGLE_REGISTER, 0x030C, output_value=_va)) # DI 的输入信号可来自外部硬件端子(DI1 ~ DI9)或是软件 SDI1 ~ 9(对应参数 P4-07 的 Bit 0 ~ 8) _r = master.execute(dvc_id, cst.READ_HOLDING_REGISTERS, 0x040E, 0x0002) print(_r) _va = _r[0] | 0x0C # 0000 1100 //第34位对应DI3 DI4 _va = _va | 0x01 # 0000 0001 //第1位对应DI1 Son 伺服使能 logger.info(master.execute(dvc_id, cst.WRITE_SINGLE_REGISTER, 0x040E, output_value=_va)) logger.info(master.execute(dvc_id, cst.READ_HOLDING_REGISTERS, 0x040E, 0x0002)) time.sleep(3) logger.info(master.execute(dvc_id, cst.WRITE_SINGLE_REGISTER, 0x040E, output_value=0x00))#关闭使能,停止 |
|
|
|
只有小组成员才能发言,加入小组>>
2439 浏览 0 评论
9119 浏览 4 评论
36802 浏览 19 评论
5031 浏览 0 评论
24780 浏览 34 评论
1540浏览 2评论
1760浏览 1评论
2207浏览 1评论
1565浏览 0评论
536浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 22:17 , Processed in 1.319237 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号