首页 理论教育 高效的高速处理指令

高效的高速处理指令

时间:2023-07-02 理论教育 版权反馈
【摘要】:高速处理指令如表4-10所示。高速计速器区间比较指令HSZHSZ指令的编号为FNC55。指定脉冲输出完成后,指令执行完成标志M8029置1。图4-48 速度检测指令的使用使用脉冲输出指令时应注意:1)[S1.]、[S2.]可取所有的数据类型,[D.]为Y1和Y2。该指令只有16位操作,需7个程序步。

高效的高速处理指令

高速处理指令(FNC50~FNC59)如表4-10所示。

表4-10 高速处理指令

978-7-111-38047-4-Chapter04-53.jpg

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

(1)输入/输出刷新指令REF

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

示例及使用:如图4-44所示,当X0接通时,X10~X17共8点输入将被刷新;当X1接通时,则Y0~Y7、Y10~Y17共16点输出将被刷新。

使用REF指令时应注意:

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

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

(2)滤波调整指令REFF

REFF(P)指令的编号为FNC51。在FX系列PLC中X0~X17使用了数字滤波器,用REFF指令可调节其滤波时间,范围为0~60ms(实际上由于输入端有RL滤波,所以最小滤波时间为50μs)。如图4-45所示,当X0接通时,执行REFF指令,滤波时间常数被设定为1ms。

978-7-111-38047-4-Chapter04-54.jpg

图4-44 输入/输出刷新指令的使用

978-7-111-38047-4-Chapter04-55.jpg

图4-45 滤波调整指令说明

使用REFF指令时应注意:

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

2)当X0~X7用作高速计数输入时或使用FNC56速度检测指令以及中断输入时,输入滤波器的滤波时间自动设置为50ms。

(3)矩阵输入指令MTR

MTR指令的编号为FNC52。利用MTR可以构成连续排列的8点输入与n点输出组成的8列n行的输入矩阵。如图4-46所示,由[S]指定的输入X0~X7共8点与n点输出Y0、Y1、Y2(n=3)组成一个输入矩阵。PLC在执行MTR指令时,当Y0为ON时,读入的第一行的输入数据存入M30~M37中;Y1为ON时读入的第二行的输入状态存入M40~M47。其余类推,反复执行。

978-7-111-38047-4-Chapter04-56.jpg

图4-46 矩阵输入指令的使用

使用MTR指令时应注意:

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

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

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

4)该指令只有16位运算,占9个程序步。

2.高速计数器指令

(1)高速计数器置位指令HSCS

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

示例及使用:如图4-47所示,[S1.]为设定值(100),当高速计数器C255的当前值由99变100或由101变为100时,Y0都将立即置1。

(2)高速计速器比较复位指令HSCR

(D)HSCR指令的编号为FNC54。如图4-47所示,C254的当前值由199变为200或由201变为200时,则用中断的方式使Y10立即复位。

978-7-111-38047-4-Chapter04-57.jpg

图4-47 高速计数器指令的使用

使用HSCS和HSCR时应注意:

1)源操作数[S1.]可取所有数据类型,[S2.]为C235~C255,目标操作数可取Y、M和S。(www.xing528.com)

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

(3)高速计速器区间比较指令HSZ

(D)HSZ指令的编号为FNC55。如图4-47所示,目标操作数为Y20、Y21和Y22。如果C251的当前值小于K1000,Y20为ON;K1000≤C251的当前值≤K1200时,Y21为ON;C251的当前值大于K1200时,Y22为ON。

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

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

2)指令为32位操作,占17个程序步。

3.速度检测指令

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

示例及使用:如图4-48所示,[D.]占三个目标元件。当X12为ON时,用D1对X0的输入上升沿计数,100ms后计数结果送入D0,D1复位,D1重新开始对X0计数。D2在计数结束后计算剩余时间。

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

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

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

4.脉冲输出指令

脉冲输出指令(D)PLSY的编号为FNC57。其功能是产生指定数量的脉冲。

示例及使用:如图4-49所示,其中[S1.]用来指定脉冲频率(2~20000Hz),[S2.]指定脉冲的个数(16位指令的范围为1~32767,32位指令则为1~2147483647)。如果指定脉冲数为0,则持续产生脉冲。[D.]指定脉冲输出元件号(Y0或Y1)。脉冲以中断方式输出,占空比为50%。指定脉冲输出完成后,指令执行完成标志M8029置1。X10由ON变为OFF时,M8029复位,停止输出脉冲。若X10再次变为ON,则脉冲从头开始输出。

978-7-111-38047-4-Chapter04-58.jpg

图4-48 速度检测指令的使用

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

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

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

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

5.脉宽调制指令

脉宽调制指令PWM的编号为FNC58。它的功能是产生指定脉冲宽度和周期的脉冲串。

示例及使用:如图4-50所示,[S1.]用来指定脉冲的宽度,[S2.]用来指定脉冲的周期,[D.]用来指定输出脉冲的元件号(Y0或Y1),输出的ON/OFF状态由中断方式控制。

978-7-111-38047-4-Chapter04-59.jpg

图4-49 脉冲输出指令的使用

978-7-111-38047-4-Chapter04-60.jpg

图4-50 脉宽调制指令的使用

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

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

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

6.可调速脉冲输出指令

可调速脉冲输出指令(D)PLSR的编号为FNC59,示例及使用如图4-51所示。该指令可以对输出脉冲进行加速,也可进行减速调整,是用于加速减速功能定尺寸用的脉冲输出指令。针对指定的最高频率,进行定加速,在达到所指定的脉冲输出数后,进行定减速。源操作数和目标操作数的类型和PLSY指令相同,只能用于晶体管PLC的Y0和Y1,可进行16位操作也可进行32位操作,分别占9个和17个程序步。该指令只能用一次。

使用循环指令时注意点:

978-7-111-38047-4-Chapter04-61.jpg

图4-51 可调速脉冲输出指令的使用

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

我要反馈