PLSY指令是适合1S 1N 2N 2NC等PLC的脉冲输出指令。
指令包含三个参数。
S1:脉冲频率。
S2:脉冲个数。
D:输出点。
当S2指定为0时。指令将不受脉冲个数限制,无限地发脉冲。直到指令前面的触点断开为止。
D8140(32位)就在后台记录已发的脉冲累计数。不论PLSY指令执行与否,只管累计出总数。
但可以随时使用DMOV等指令进行清零。
现在我在使用当中确定了一些功能。
我是用点动的形式控制伺服电机,并且还要记录当前伺服的绝对位置。单凭D8140记录,没有使用伺服的分频输出,也没有使用反馈形式的高速计数器(PLC自己输出点接到高计输入点)。
试运行中我对比D8140的值和伺服器中命令脉冲数的值。理论上PLC发多少个脉冲,伺服器就接收多少个脉冲。
我从10Hz到10kHz都试过,指定S2为非0数值。确认之间不会有干扰等影响。发送和接收正常。
当我把S2置0时试验。发现绝大多数情况D8140都比伺服显示少了1个脉冲。换句话说:PLC已经发了n个脉冲,伺服已经清楚收到了。但是PLC自己的D8140只计算到n-1个脉冲。
为何会少了一个脉冲。
楼上:可否这样认为D8140的刷新必须在PLSY指令条件为ON驱动执行后才进行?按WGQ的观点2N的PLSY指令条件OFF则脉冲立即停止,如果D8140又是以下沿为计数信号的话,傲客的观点就很正确,我没有实机测试,就你的实验也应该可以观察到高计和D8140吻合的现象吧?
http://www.gongkong.com/webpage/forum/200701/F-B854-97008DBD8228-6.shtml#replyea
以上是我要找的贴子,对这个问题有参考意义.
http://www.gongkong.com/webpage/forum/201007/2010070716574000009-1.shtml
就是这个贴中的观点,W研究得很多的