恭喜,你发布的帖子
发布于 2018-10-08 16:59:34
17楼
NETWORK 5 //速度检测为0自动重新开启保护记录
LDR= HC0减记忆:VD746, 0.0
EU
A 自动运行:V400.7
AN 定速:V400.5
MOVB PTO0_Status:SMB66, SMB67记录:VB734
MOVW PTO0_Profile_Offset:SMW168, SMB168记录:VW732
MOVW PTO0_Profile_Offset:SMW168, VW736
R PLS0_Enable:SM67.7, 1
PLS 0
MOVW +1999, PTO0_Profile_Offset:SMW168
MOVB 16#E0, PLS0_Ctrl:SMB67
PLS 0
INCW 次数记录:VW730
NETWORK 6 //检测脉冲空闲停机保护记录
LD PLS0_Idle:SM66.7
EU
A 自动运行:V400.7
AN 定速:V400.5
MOVB PTO0_Status:SMB66, VB754
MOVW PTO0_Profile_Offset:SMW168, VW752
MOVW PTO0_Profile_Offset:SMW168, VW756
R PLS0_Enable:SM67.7, 1
PLS 0
MOVW +1999, PTO0_Profile_Offset:SMW168
MOVB 16#E0, PLS0_Ctrl:SMB67
PLS 0
INCW VW750
问题依旧。
现在,我通过高速编码器检测反馈速度,当检测到开机情况下速度为0时重新启动脉冲发出。
同时也检测脉冲空闲位,当运行状态下,停机马上重新开始发脉冲,勉强可以用。
还是没搞明白为什么脉冲有时会停。当停机时溢出位SM66.6也是0
估计你用空闲位来启动下一段PLS接近最优用法了,官方说明好像要延迟上一个有效脉冲最大周期时间Tmax,也有推荐一个定时中断法,但你的Tmax应该约等于0.18ms(定时中断貌似不好用,能用什么呢难道要在原点的I/O中断中开启自身收发固定周期的高速计数输入中断来点数自己发送的脉冲个数中断来捕捉这0.18ms再发PLS,没在SMART上试过貌似走不通),但是总感觉这0.18ms很容易就被几条指令(比如原点的普通上升沿指令还有移动指令等)消耗掉的(难道SMART快到真的要仔细关注这0.18ms)。不知上述理解是否有误。
请填写推广理由:
分享
只看
楼主