高创驱动器PCOM比较输出
CDHD2,EC、AF类型驱动器支持两个PCOM(1\2)模块
1.软件安装
高创驱动器官网下载安装CDHD2伺服调试软件
官网;
2.通信
1.插好驱动器调试线,找到通讯串口
2.打开调试软件,选择通讯串口,连接
3.PCOM介绍
PCOM是高创驱动器支持的比较匹配数字输出控制,支持三种触发模式。功能相同,可用于配置脉冲或电平切换输出。
1. 周期配置:根据位置间的固定反馈计数数触发输出。
2. 表配置:根据预先定义的位置组触发输出,最多可配置31个点位。
3. 定时配置:在与 SYNC0 信号发生时间偏移时触发输出。控制器每个循环周期都更新时间 偏移。
4.参数介绍
这里只介绍PCOM1参数
1. pcomcntrl1:开启或者关闭PCOM比较输出。
0:关闭PCOM。
25:开启周期模式触发。
19:开启表模式触发。
2. pcomdir1:定义电动机在逆向、正向或任意方向运动过 程中是否触发输出。
0:逆向
1:正向
2:双向
3.pcomstart1:PCOM模块开始触发输出的位置。
4.pcomend1:PCOM模块停止触发输出的位置。
5.pcomn1:每次触发间隔。
6.pcomstatus1:PCOM模块的实际状态。
7.pcomwidth1:脉冲输出信号宽度。
8.pcomtable1:将触发输出的一组位置
9.pcomtable1:PCOM表中的位置数量。
10.outmode 7 27:将D7配置为PCOM1输出。
5.周期模式配置方式
1.配置顺序
1.设置回零模式,轴回零
2.关闭PCOM触发
3.设置PCOM起始位置
4.设置PCOM触发间隔
5.设置PCOM触发脉宽
6.开启PCOM触发(25)
2.脚本
outmode 7 27 ;将DO7配置为PCOM1输出
hometype 35 ;配置回零模式为以当前位置为零点
homecmd ;启动回零
unitslinpos 3 ;将直线电机配置为mm单位
pcomcntrl1 0 ;关闭PCOM1触发
pcomstart1 0 ;启动位置0
pcomend1 50 ;结束位置50
pcomn1 10 ;触发间隔10
pcomwidth 10000 ;触发脉宽1ms(单位:0.1us)
pcomdir1 2 ;双向触发
pcomcntrl1 25 ;启动PCOM1周期触发
6.表模式
1.配置顺序
1.设置回零模式,轴回零
2.关闭PCOM触发
3.设置PCOM表格位置
4.设置PCOM表格位置数量
5.设置触发脉宽
6.设置触发方向
7.开启PCOM触发(19)
2.脚本
outmode 7 27 ;将DO7配置为PCOM1输出
hometype 35 ;配置回零模式为以当前位置为零点
homecmd ;启动回零
unitsrotpos 2 ;设置旋转电机单位mm,直线电机令外命令
pcomcntrl1 0 ;关闭PCOM1触发
pcomtable1 1 20 ;设置触发表1位置20.0mm
pcomtable1 2 80 ;设置触发表2位置80.0mm
pcomtablelen1 2 ;表格点位数量为2
pcomwidth1 20000 ;触发脉宽2ms(单位:0.1us)
pcomdir1 0 ;触发方向:双向
pcomcntrl1 19 ;开启PCOM1触发
6.绘图
2023/09/28更新:经过本次项目,逐渐对该功能加深理解,补充后续
在ServoStudio 2软件中的调谐选项下有示波图和专家功能,任选其一,监控PCOM触发功能
在记录变量中输入OUT 7,这里我使用的是PCOM1,数字输出7引脚,所以监控OUT 7。
采样:写采样次数
时间间隔:时间间隔X31.25us是两次采样之间的间隔时间
点击当前栏中的红色按钮开始采集数据
1.运动记录并绘图:点击后会按设置的距离运动,并采集数据
2.记录并绘图:在上位机或PLC控制运动时,点击后会采集数据
3.连续记录并绘图:会在轴运动时持续采集数据
如果PCOM开启成功,大概图形会和下图一致
以下为脚本,可以断掉使能在设置的其实首位位置范围内左右推动,监控当时的PCOM触发数据:
recoff
record 16 2000 "pfb "out7
rectrig "V 10 64 1
#PLOT
7.Ethercat通讯
以汇川PLC为例,通过COE写入参数
1.添加库SM3_Drive_ETC,这个库应该默认在PLC安装好后就存在,如果没有默认安装,请点击添加库自行安装。找到SMC_ETC_ReadParameter_COE和SMC_ETC_WritePatameter_COE这两个FB。
2.实例化FB
3.调用FB
4.通过高创用户手册或总线手册,找到所需要写入变量的地址,这里以写入开始位置为例。
uiIndex:索引首地址,16#219B
usiSubIndex0:子索引地址,本数据无子索引,所以填0
usiDataLength:数据长度,这一个数值根据高创总线手册中的数据长度写入,例如高创总线手册中,开始位置的数据类型是INTEGER32,4字节数据。所以这里填4
dwValue:DWROD类型,无符号
Execute:使能写入
8.疑问
总结一下在这个项目用到PCOM功能时出现的问题
1.开始结束位置通过COE写的的负值都变成了0。
这个问题是由于数据类型转换导致的,从我们写入开始的REAL*1000.0,不能直接转换为DWORD,,我是先转换为DINT,然后再转换为DWORD,具体原因本人没有细查。
2.通过COE写入使能PCOM参数时,报警0x08000000,原因有很多,我这里主要犯的错误是写入的开始位置大于结束位置,这里要注意,写入开始位置必须要小于结束位置,否则PCOM触发即使使能,也没有触发信号。