🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 单板PLC高速脉冲输出使用说明 支持最多4路的高速脉冲输出 建议最高64K输出频率,需测试看系统占用率,系统资源占用过大,会有问题。 如果程序比较简单,也可以提高输出频率,极限是多少,要测试一下。 在有高速脉冲指令驱动端口时,Yn端口为脉冲输出模式,改变Yn线圈状态不影响实际输出。 支持三条高速脉冲输出指令: 1. PLSY/DPLSY:直接频率脉冲输出指令,用于直接按某个频率进行输出 2. PLSR/DPLSR:多段带加减速脉冲输出指令,用于驱动步进或伺服电机 3. PLSA/DPLSA:脉冲输出配置指令,用于改变当前的输出状态,当前未处于输出状态无效 特殊寄存器和特殊线圈占用: ![](https://img.kancloud.cn/41/a0/41a071cc4efceb50780fd72b2ed2f506_685x155.png) 当前段输出量:显示本段已输出的脉冲量,在下段开始时清零。 当前输出状态:指示脉冲输出口的工作状态,在输出时为1,输出完成或未输出时为0 ### 指令使用说明 **PLSY**:直接频率脉冲输出指令,指令有三个参数。 ![](https://img.kancloud.cn/73/04/73047c398cdf1211e1e8a2444f76a2be_674x207.png) ① 本指令支持双字模式,即DPLSY指令,参数都是双字。 ② 本指令支持对同一端口进行多次驱动, 1) 输出状态以最后一次驱动为准。 2) 只要有一条驱动指令断开,立即停止输出。 **PLSR/DPLSR**:直接频率脉冲输出指令,指令有四个参数。 ![](https://img.kancloud.cn/06/e0/06e00f61b0c5bfb09977663194e7184a_677x260.png) 示例程序如下,本例为6段加减速脉冲输出,完成后延时5秒,再次启动6段输出: ![](https://img.kancloud.cn/c8/52/c852b1ec61c591acbf3dd03ed032c549_553x514.png) 1. 参数地址是以Dn为起始地址的一段区域。(16位指令形式):D100设定第1段脉冲的最高频率、D101设定第1段脉冲的个数,D102设定第2段脉冲的最高频率、D103设定第2段脉冲的个数,…… 以Dn设定第(n+2)/2段脉冲的最高频率、当脉冲频率设定为0表示分段结束,一共设定了(n+2)/2-1段脉冲;段数不受限制。 2.上例对32位指令DPLSR,D100(双字)设定第1段脉冲的最高频率、D102(双字)设定第1段脉冲的个数,D104(双字)设定第2段脉冲的最高频率、D106(双字)设定第2段脉冲的个数……以Dn设定第(n+4)/4段脉冲的最高频率、当脉冲频率设定为0表示分段结束,一共设定了(n+4)/4-1段脉冲;段数不受限制。 3.加减速时间是指从开始到第一段最高频率的加速时间,同时也定义了所有段的频率与时间的斜率,从而后面的加减速都按照这个斜率来加速/减速。 4. 脉冲只可在Y0或Y1或Y2或Y3输出。 5.频率范围: 0~32767Hz(16位指令)、0~200KHz(32位指令)。 6.脉冲个数范围:K0~K32,767(16位指令)、K0~K2,147,483,647(32位指令)。 7.加减速时间范围:0~65535 ms。 注意:当为n段脉冲时,第1段、第2段、第3段……第n段每段的脉冲频率和脉冲数的地址必须是依次连续的,且第n+1段的脉冲频率地址必须为0,用来判断脉冲段是否结束;加减速时间的地址不能够紧跟在第n段后面。 ![](https://img.kancloud.cn/39/96/399681661be8eb7b2c042752f4ea2495_1764x857.png) 如上图所示: 1. 每段的频率值为稳定后平的那一段 2. 每段的脉冲数为加减速段加上稳定段的总和 3. 结束段输出脉冲包含了从上一个频率转换到当前段频率的加减速过程,还包含了从本段频率降到0停止的脉冲,此段含有两个加减速过程。 4. 多段脉冲输出,要处理好加减速过程的脉冲数配置: (1) 如果本段的加减速过程已要占用了全部的输出脉冲数,则本段就没有稳定状态,全部为加减速。 (2) 如果连续两段的脉冲数都不足以实现加减速过程,则这两段的匀速状态都不会出现,感觉就像是一个在加减速过程中,跳过了两两段。 (3) 如果到最后一段的脉冲数,不足以支持到减速为零,会出生发送脉冲过程中忽然停止,单段使用不存在此问题。 **PLSA/DPLSA**:脉冲输出配置指令,用于改变当前的输出状态,当前未处于输出状态无效。 ![](https://img.kancloud.cn/9c/6d/9c6df3600416afc24310ebc60dca26cc_676x211.png) ① 本指令的主要作用是在条件未知时,启动脉冲输出,当条件达成时,改变输出状态,实现指定功能。 ② 可以实时改变正在运行中的脉冲输出状态,达到动态调整。 ③ PLSY和PLSR指令驱动后,处于脉冲输出状态时,才能执行本指令 ④ 本指令执行后,会直接替代当前正在执行的段,重新进行脉冲数计量。 ⑤ PLSY执行直接改变频率,PLSR执行时带加减速功能。 ## 注:高速脉冲输出只能放在Y0-Y3上,所以程序驱动时只能配置为Y0-Y3。