首页 理论教育 高速处理指令优化方案

高速处理指令优化方案

时间:2023-06-26 理论教育 版权反馈
【摘要】:高速处理指令见表6-12。从0步到该指令作为滤波10ms处理。③ 利用本指令通过8点晶体管输出获得64点输入,但读一次64点输入所许时间为20ms×8=160ms,不适应高速输入操作。图6-75 矩阵输入指令2.高速计数器指令1)高速计数器比较置位指令HSCS、DHSCS的编号为FNC53,它应用于高速计数器的置位,使计数器的当前值达到预置值时,计数器的输出触点立即动作。高速计数器是根据计数输入的OFF、ON以中断方式计数的。2)指令只有16位运算,占7个程序步。

高速处理指令优化方案

高速处理指令(FNC50~FNC59)见表6-12。

表6-12 高速处理指令

978-7-111-40557-3-Chapter06-87.jpg

1.和输入输出有关的指令

1)输入输出刷新指令REF、REF(P)的编号为FNC50。FX系列PLC采用集中输入输出的方式,如果需要最新的输入信息以及希望立即输出结果则必须使用该指令。

使用REF指令时应注意:

① 目标操作数为元件编号个位为0的X和Y,n应为8的整倍数。

② 指令只要进行16位运算,占5个程序步。

输入刷新指令如图6-72所示。

在多个输入中,只刷新X010~X017的8点。如果在该指令执行前约10ms(输入滤波应答滞后时间)置X010~X017为ON,则该指令执行时输入映像存储区X010~X017为ON。

输出刷新指令如图6-73所示。

978-7-111-40557-3-Chapter06-88.jpg

图6-72 输入刷新指令

978-7-111-40557-3-Chapter06-89.jpg

图6-73 输出刷新指令

在多个输出中,Y000~Y007、Y010~Y017、Y020~Y027的24点被刷新。Y000~Y027中的任何一点若为ON,则该指令执行时输出锁存存储区的该输出也为ON。

2)滤波调整指令REFF、REFF(P)的编号为FNC51。在FX系列PLC中X00~X017使用了数字滤波器,用REFF指令可调节其滤波时间,范围为0~60ms(实际上由于输入端有RL滤波,所以最小滤波时间为50μs)。

使用REFF指令时应注意:

① REFF为16位运算指令,占7个程序步。

② 当X000~X007用作高速计数输入时或使用FNC56速度检测指令以及中断输入时,输入滤波器的滤波时间自动设置为50ms,如图6-74所示。

X010为ON时,输入滤波器为1ms,刷新输入X000~X017的映像存储区。从0步到该指令作为滤波10ms处理。

从M8000触点后,到END或FEND指令输入滤波为20ms。

3)矩阵输入指令MTR、MTR(P)的编号为FNC52。利用MTR指令可以构成连续排列的8点输入与n点输出组成的8列n行的输入矩阵。

使用MTR指令时应注意:

① 源操作数[S.]是元件编号个位为0的X,目标操作数[D1.]是元件编号个位为0的Y,目标操作数[D2.]是元件编号个位为0的Y、M和S,n的取值范围是2~8。

② 考虑到输入滤波应答延迟为10ms,对于每一个输出按20ms顺序中断,立即执行。

③ 利用本指令通过8点晶体管输出获得64点输入,但读一次64点输入所许时间为20ms×8=160ms,不适应高速输入操作。

④ 该指令只有16位运算,占9个程序步,如图6-75所示。

978-7-111-40557-3-Chapter06-90.jpg

图6-74 滤波调整指令

图6-75中,n=3点的输出Y020、Y021、Y022依次反复ON。每次依次反复获得第1列、第2列、第3列的输入,存入M30~M37、M40~M47、M50~M57。

978-7-111-40557-3-Chapter06-91.jpg

图6-75 矩阵输入指令

2.高速计数器指令

1)高速计数器比较置位指令HSCS、DHSCS的编号为FNC53,它应用于高速计数器的置位,使计数器的当前值达到预置值时,计数器的输出触点立即动作。它采用了中断方式使置位和输出立即执行而与扫描周期无关。

高速计数器是根据计数输入的OFF、ON以中断方式计数的。计数器的当前值等于设定值时,计数器的输出触点立即工作。如图6-76中,当不使用FNC53指令时,向外部输出与顺控有关,受扫描周期的影响。

使用FNC53指令,能以中断方式处理外部输出,所以C255的当前值由99变为100或由101变为100时,Y010立即置位。

2)高速计速器比较复位指令HSCR、DHSCR的编号为FNC54。如图6-77所示,C255的当前值由199变为200或由201变为200时,不受扫描周期的影响,则用中断的方式使Y10立即复位。

978-7-111-40557-3-Chapter06-92.jpg

图6-76 高速计数器置位指令(www.xing528.com)

978-7-111-40557-3-Chapter06-93.jpg

图6-77 高速计数器比较复位指令

使用HSCS和HSCR指令时应注意:

① 源操作数[S1.]可取所有数据类型,[S2.]为C235~C255,目标操作数可取Y、M、S。

② 只有32位运算,占13个程序步。

3)高速计数器区间比较指令HSZ、(D)HSZ指令的编号为FNC55,如图6-78所示。

978-7-111-40557-3-Chapter06-94.jpg

图6-78 高速计数器区间比较指令

K1000>C251当前值时,Y000为ON。此外,C255当前值由999变为1000或由1999变为2000时,输出Y001或Y002立即为ON。这些输出不受扫描周期的影响。

使用高速计速器区间比较指令时应注意:

① 操作数[S1.]、[S2.]可取所有数据类型,[S.]为C235~C255,目标操作数[D.]可取Y、M、S。

② 指令为32位运算,占17个程序步。

3.速度检测指令

速度检测指令SPD的编号为FNC56,它的功能是用来检测给定时间内从编码器输入的脉冲个数,并计算出速度,如图6-79所示。

在图6-79中,X000置ON时,D1对X000的OFF到ON动作计数,100ms后将其结果存入D0。随之D1复位,再次对X000的动作计数。D2用于测定剩余时间。

978-7-111-40557-3-Chapter06-95.jpg

图6-79 速度检测指令

使用速度检测指令时应注意:

1)[S1.]为X000~X005,[S2.]可取所有的数据类型,[D.]可以是T、C、D、V、Z。

2)指令只有16位运算,占7个程序步。

4.脉冲输出指令

脉冲输出指令(D)PLSY的编号为FNC57,它用来产生指定数量的脉冲,如图6-80所示。

978-7-111-40557-3-Chapter06-96.jpg

图6-80 脉冲输出指令

[S1.]指定频率;[S2.]指定产生脉冲量;[D.]指定输出脉冲的Y编号。

使用脉冲输出指令时应注意:

1)[S1.]、[S2.]可取所有的数据类型,[D.]为Y001和Y002。

2)该指令可进行16和32位运算,分别占用7个和13个程序步。

3)本指令在程序中只能使用一次。

5.脉宽调制指令

脉宽调制指令PWM的编号为FNC58,它的功能是用来产生指定脉冲宽度和周期的脉冲串,如图6-81所示。

978-7-111-40557-3-Chapter06-97.jpg

图6-81 脉宽调制指令

图6-81中,使D10的内容从0~50变化时,Y000输出脉冲的占空比为0~100%(D10)的内容超过50时,就出现错误。X010置于OFF时,Y000为OFF。

使用脉宽调制指令时应注意:

1)操作数的类型与PLSY指令相同,该指令只有16位运算,占用7个程序步。

2)[S1.]应小于[S2.]。

6.可调速脉冲输出指令

可调速脉冲输出指令(D)PLSR指令的编号为FNC59。该指令可以对输出脉冲进行加速调整,也可进行减速调整。它的源操作数和目标操作数的类型和PLSY指令相同,只能用于晶体管PLC的Y000和Y001,可进行16位运算也可进行32位运算,分别占9个和17个程序步,该指令只能用一次,如图6-82所示。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈