PLC上自带的高速脉冲输出功能是独立于用户程序的扫描过程之外的,<PLSY>指令的脉冲输出过程中不受程序扫描周期的制约,由专用的硬件电路来完成,只能指定几个专用的输出点来对外输出高速脉冲。(譬如,三菱FX系列低端产品指定Y00和Y01)
如果用<PLSY>指令指定之外的输出点做该指令的目标元件,则违背了编程语法的规约而将出现“错误”!现在楼主提出的<目标功能>是:用非<PLSY>指令指定的输出点做一个输出高速脉冲列的功能。那当然不能用<PLSY>指令!用其它指令做出来的输出高速脉冲列的程序自然是要受用户程序扫描周期制约的!
一个再简短的程序也会有零点几毫秒!因为任何一个程序,它的扫描周期都有一些起码的不可省略的成分。如:输入信息处理(批处理方式)、输出信息处理(批处理方式)、与外设(诸如编程工具、监视软件等)的通讯。除此之外才是看用户程序的扫描运算处理时间的多少。在很简短的程序里,扫描周期主要成分就是那些起码的不可省略的部分,用户程序的运算实际上只占很小一点比例。只有当用户程序较大时,用户程序的运算处理时间才占扫描周期的主要成分。
下面我设计了一个程序,可以检测用非<PLSY>指令实现高速脉冲输出功能时,脉冲列的脉冲频率。估计这个程序所检测到的脉冲频率大概在1200至1300 Hz 的范围。