1、高速计数和高速定位一、中断处理程序一、中断处理程序n在PLC中,cpu在处理事情的时候被某件事情打断继而转到中断服务程序中去执行 如:我们正在写文字,结果来了个电话,这时候我们中断写文字,先接电话,接完电话后,继续我们的文字工作,这就是一个中断过程1、什么是中断2、中断的说明(1)中断事件不止一个,因此有中断事件号区分。(2)和普通子程序一样,中断程序可以有很多个。(3)中断完成后返回到主程序的执行中。二、中断信号分类及中断编写的步骤1、分类(1)外部输入中断(2)内部定时器中断(3)高速计数器中断2、中断编写的步骤(1)开放中断,使用EI指令(2)连接号中断指针和中断子程序(3)编写中断子程
2、序(4)中断子程序返回 E EI I F FE EN ND D S SE ET T Y Y0 01 10 0 I IR RE ET T E EN ND D I101M M8 80 00 00 0M M0 00 00 01 1(Y Y0 00 00 0 )(Y Y0 00 01 1 )(Y Y0 00 02 2)主程序中断程序中断指针3、程序案例:、程序案例:前面我们学习过定时器,知道定时器也是可以进行定时的,那定时中断和定时器有什么样的区别呢?这一般应用来关掉部分不适用中断的输入端子,以免因为中断而产生的误操作。和1相1计数差不多,区别在于1相1计数输入需要使用2个端子,一个用于增计数,一个用
3、于减计数。如:我们正在写文字,结果来了个电话,这时候我们中断写文字,先接电话,接完电话后,继续我们的文字工作,这就是一个中断过程分辨率为500P/R的旋转编码器,即旋转一圈就发出500个脉冲,初始化禁止X1-X5输入中断信号例如:当X0001输入端子有上升沿信号来时,产生中断,置位输出Y0,程序如下:1相1计数输入的高速计数器计数步骤:例如:我们只需要X000输入中断信号,其它中断输入端子的中断信号禁止表2:1相2计数输入和2相2计数输入和前面的单相计数不同,2相计数需要两相脉冲输入,即输入信号要有A、B相,两相同时协作进行计数,一般应用在有AB两相输出脉冲打的检测仪器上。如果对于一部分中断信
4、号我们不需要,我们可以使用相应的终端进制辅助继电器来禁止。编码器是将角度、长度信号转化为数字化信号的方式的传感器。二、中断信号分类及中断编写的步骤那这样的话实际的物理端子输出和程序里执行情况是要相差一个扫描周期左右的时间,但在我们实际应用的,有些情况下是要求输出端子立马要响应输出时怎么办?1、中断程序的调用使用的是中断指针,而子程序调用需要用CALL指令来调用。数字0-5分别对应X000-X0052、只要一产生中断信号,PLC就立即先去执行相应的中断子程序,而子程序的执行则需要PLC扫描至调用子程序指令后才会执行相应的子程序,因而看出,中断程序的实时响应速度要比子程序快。七、高速处理指令:DH
5、SCS,DHSCR,DHSZ.(2)和普通子程序一样,中断程序可以有很多个。三、外部中断n1、外部中断说明表 FX系列plc有6个外部输入中断端子,总共可以产生12个中断信号。中断端子号中断指针号禁止中断辅助继电器上升沿中断下降沿中断X000I001I000M8050X001I101I100M8051X002I201I200M8052X003I301I300M8053X004I401I400M8054X005I501I500M80552、中断指针号的意义:上升沿中断为:1下降沿中断为:0数字0-5分别对应X000-X005I 0 例如:当X0001输入端子有上升沿信号来时,产生中断,置位输出Y
6、0,程序如下:程序案例(如何使用外部中断)中断禁止辅助继电器,m8050-m8055主要是对应地控制X0-X5输入端子中断信号的通断。当中断禁止辅助继电器状态为1时,禁止想象的输入端子中断信号。例如,当m8050=1时,X0的中断信号失效 这一般应用来关掉部分不适用中断的输入端子,以免因为中断而产生的误操作。注意:EI指令时全局开中断,也就是说,一执行EI指令,所有的中断都会开放。如果对于一部分中断信号我们不需要,我们可以使用相应的终端进制辅助继电器来禁止。3、外部中断禁止辅助继电器初始化禁止X1-X5输入中断信号开放中断(全局)中断子程序主程序结束中断程序结束程序结束例如:我们只需要X000
7、输入中断信号,其它中断输入端子的中断信号禁止程序案例(中断禁止继电器的使用)n1、中断程序的调用使用的是中断指针,而子程序调用需要用CALL指令来调用。n2、只要一产生中断信号,PLC就立即先去执行相应的中断子程序,而子程序的执行则需要PLC扫描至调用子程序指令后才会执行相应的子程序,因而看出,中断程序的实时响应速度要比子程序快。n3、子程序返回用SRET,中断程序返回用IRET.4、中断与子程序的区别、中断与子程序的区别四、内部定时中断四、内部定时中断三菱FX系列PLC有3个定时中断,详细请看下:中断指针号中断周期(ms)禁止中断辅助继电器I6在指针的口口部分,输入10-99的整数,代表10
8、-99ms的时间,例如:I611代表的是每11ms调用一次该中断M8056I7M5057I8M80581、内部定时中断表、内部定时中断表2、定时中断指针号的意义:、定时中断指针号的意义:I定时中断时间,范围为:10-99ms有3个定时中断,分别为6、7、8n前面我们学习过定时器,知道定时器也是可以进行定时的,那定时中断和定时器有什么样的区别呢?n我们知道定时器是通过扫描的方式来执行时间的定时的,而PLC的扫描是需要时间的意思就是说,前面我们学习的定时器,在时间上并不是百分百的精准时间,而是要存在大约一个扫描周期的误差的!n那我们在对时间要求很严格的时候怎么办?那就需要使用定时中断来实现。n例如
9、,我们定义了一个I615的定时中断,那PLC从进入运行状态开始,每一个15ms的时间都会去执行中断子程序一次,和PLC的扫描时间无关。3、为何要使用内部定时中断、为何要使用内部定时中断:获取高精度定时时获取高精度定时时间间例:使用定时中断来实现精准的小灯亮灭实验,PLC一运行,Y0就亮80ms,灭80ms的速度,闪烁PLC一运行,Y0点亮每次执行一次时间中断,计一次数奇数次复位偶数次置位4、内部定时器中断的程序案例、内部定时器中断的程序案例5、输入输出刷新指令REF:达到高速的输入输出效果n输入输出刷新指令是什么用的的呢?n一盘PLC对输入输出端子的扫描刷新是批量扫描输出的,也就是说在程序的第
10、0步运算前,会批量把所有的输入端子的状态,扫描至映象寄存器里,在程序的END指令指令执行之后,再所有的输出映像寄存器通过锁存存储器输出n那这样的话实际的物理端子输出和程序里执行情况是要相差一个扫描周期左右的时间,但在我们实际应用的,有些情况下是要求输出端子立马要响应输出时怎么办?n指令格式:REF(D.)(N.)D:需要刷新输入或输出点起始位 N:需要刷新输出的位数,一般是8的倍数nREF Y0 K8(刷新输出口Y0-Y7)从上面的程序我们看到,外部X1端子上升沿中断产生后,调用中断子程序,执行置位Y0动作,然后返回。注意:程序里的置位仅仅只是对映像寄存器进行置1的动作,输出端子要输出,必须要
11、等到执行到END结束后再统一刷新输出。这样的话怎么办?这就需要用到REF刷新指令了。n一般中断调用里面的输出,最好都加上刷新指令,以提高中断的响应速度!n如果对实时相应要求很高,建议使用晶体管输出类型,因为继电器输出类型响应比较慢,需要10ms;而晶体管输出约为0.2ms以下,Y0和Y1更快,仅需要15-30ms。n在我们执行置位的同时,刷新输出端子,这样Y0立马就输出了。在PLC中,cpu在处理事情的时候被某件事情打断继而转到中断服务程序中去执行DHSCS(S1.如果所选用的高速计数器有S端子的话,开始计数时必须先接通启动端子。二、中断信号分类及中断编写的步骤在PLC中,cpu在处理事情的时
12、候被某件事情打断继而转到中断服务程序中去执行初始化禁止X1-X5输入中断信号如果对于一部分中断信号我们不需要,我们可以使用相应的终端进制辅助继电器来禁止。DHSCS:高速计数比较置位指令如果对于一部分中断信号我们不需要,我们可以使用相应的终端进制辅助继电器来禁止。表2:1相2计数输入和2相2计数输入例如,当m8050=1时,X0的中断信号失效(1)、1相1计数输入和前面的单相计数不同,2相计数需要两相脉冲输入,即输入信号要有A、B相,两相同时协作进行计数,一般应用在有AB两相输出脉冲打的检测仪器上。前面我们学习过定时器,知道定时器也是可以进行定时的,那定时中断和定时器有什么样的区别呢?5、输入
13、输出刷新指令REF:达到高速的输入输出效果例如:C246高速计数器,X0端子的脉冲为减少计数。在指针的口口部分,输入10-99的整数,代表10-99ms的时间,例如:I611代表的是每11ms调用一次该中断例如:当X0001输入端子有上升沿信号来时,产生中断,置位输出Y0,程序如下:例如,当m8050=1时,X0的中断信号失效表2:1相2计数输入和2相2计数输入电机每转动一圈,工作台前进或后退100mm,假设我们选择一个五、高速计数1、高速计数与普通计数器的区别n高速计数器比普通计算器更快!n对于速度变化太快的:如计数时间间隔短于一个扫描周期,我们只能用高速计数器来计数,因为它不受扫描周期的影
14、响。2、高速计数器表:(C235-C255)1相1计数输入C235C236C237C238C239C240C241C242C243C244C245X000U/DU/DU/DX001U/DRRX002U/DU/DU/DX003U/DRRX004U/DU/DX005U/DRX006SX007S(1)、)、1相相1计数输入计数输入n1相1计数输入的高速计数器为可疑通过1个计数的输入端子来实现计数。nU/D:可增可减计数,具体是增还是减计数由其对应的特殊继电器M8235-8245的状态来控制。当特殊继电器状态为0时,为增计数;当特殊继电器状态为1时,为减计数。nR:复位信号输入。当复位信号接通时,计数
15、器复位清零。nS:启动输入。如果所选用的高速计数器有S端子的话,开始计数时必须先接通启动端子。如:C244高速计数器要计数必须先接通X006端子后才能开始计数。1相相1计数输入的高速计数器计数步骤:计数输入的高速计数器计数步骤:n在程序里要接通计数器线圈n设定计数方向,默认为增计数(设定为增计数则该步可以忽略)n启动输入(所选的高速计数器必须有这项功能,否则该步可以忽略)n接收输入高速脉冲。程序如下图所示程序如下图所示n第一步:接通M0,C244高速计数器线圈接通n第二步:默认为增计数器,如果需要减减计数,让M8244=1n第三步:接通X006启动输入n第四步:高速脉冲输入信号接入X000,开
16、始计数(2)1相2计数输入n和1相1计数差不多,区别在于1相1计数输入需要使用2个端子,一个用于增计数,一个用于减计数。nU:增计数nD:减计数n例如:C246高速计数器,X0端子的脉冲为减少计数。1相2计数输入C246C247C248C249C250X000UUUX001DDDX002RRX003UUX004DDX005RRX006SX007S(1)、1相1计数输入例题:要求实现以下控制工艺U/D:可增可减计数,具体是增还是减计数由其对应的特殊继电器M8235-8245的状态来控制。DHSCS(S1.分辨率为500P/R的旋转编码器,即旋转一圈就发出500个脉冲,例如:当X0001输入端子有
17、上升沿信号来时,产生中断,置位输出Y0,程序如下:表2:1相2计数输入和2相2计数输入(如:K10000,D0等)前面我们学习过定时器,知道定时器也是可以进行定时的,那定时中断和定时器有什么样的区别呢?前面我们学习过定时器,知道定时器也是可以进行定时的,那定时中断和定时器有什么样的区别呢?1、中断程序的调用使用的是中断指针,而子程序调用需要用CALL指令来调用。1、中断程序的调用使用的是中断指针,而子程序调用需要用CALL指令来调用。2、只要一产生中断信号,PLC就立即先去执行相应的中断子程序,而子程序的执行则需要PLC扫描至调用子程序指令后才会执行相应的子程序,因而看出,中断程序的实时响应速
18、度要比子程序快。第三步:接通X006启动输入在我们执行置位的同时,刷新输出端子,这样Y0立马就输出了。设定计数方向,默认为增计数(设定为增计数则该步可以忽略)1相1计数输入的高速计数器计数步骤:(2)和普通子程序一样,中断程序可以有很多个。和1相1计数差不多,区别在于1相1计数输入需要使用2个端子,一个用于增计数,一个用于减计数。如下图所示,为增量式编码器的外观图(3)、2相2计数输入n和前面的单相计数不同,2相计数需要两相脉冲输入,即输入信号要有A、B相,两相同时协作进行计数,一般应用在有AB两相输出脉冲打的检测仪器上。n典型的应用有:编码器的高速计数定位上。2相2计数输入C251C252C
19、253C254C255X000AAAX001BBBX002RRX003AAX004BBX005RRX006SX007S表2:1相2计数输入和2相2计数输入六、高速计数器在编码器中的应用1、什么是编码器?编码器是将角度、长度信号转化为数字化信号的方式的传感器。其每转一圈就输出相应的脉冲,具体一圈输出多少个脉冲有具体的型号决定。n如下图所示,为增量式编码器的外观图2、例:使用编码器检测工作台的当前位置电机每转动一圈,工作台前进或后退100mm,假设我们选择一个分辨率为500P/R的旋转编码器,即旋转一圈就发出500个脉冲,我们选择用带复位功能C252高速计数器来进行计数。n编码器的硬件接线图:和1
20、相1计数差不多,区别在于1相1计数输入需要使用2个端子,一个用于增计数,一个用于减计数。D:需要进行置位的位状态(如:Y0)例题:要求实现以下控制工艺这样的话怎么办?这就需要用到REF刷新指令了。2、定时中断指针号的意义:例如,当m8050=1时,X0的中断信号失效(1)开放中断,使用EI指令如下图所示,为增量式编码器的外观图那这样的话实际的物理端子输出和程序里执行情况是要相差一个扫描周期左右的时间,但在我们实际应用的,有些情况下是要求输出端子立马要响应输出时怎么办?七、高速处理指令:DHSCS,DHSCR,DHSZ.当特殊继电器状态为0时,为增计数;在PLC中,cpu在处理事情的时候被某件事
21、情打断继而转到中断服务程序中去执行高速计数器比普通计算器更快!程序案例(如何使用外部中断)D:需要进行置位的位状态(如:Y0)例如,当m8050=1时,X0的中断信号失效注意:程序里的置位仅仅只是对映像寄存器进行置1的动作,输出端子要输出,必须要等到执行到END结束后再统一刷新输出。表2:1相2计数输入和2相2计数输入程序案例(如何使用外部中断)U/D:可增可减计数,具体是增还是减计数由其对应的特殊继电器M8235-8245的状态来控制。n程序如下图所示:n假设现在C252=5000,我们就知道电机从原点正转了10圈,从而知道工作台的当前位置=10*100mm=1mn在上面的程序中,如果我们用
22、触点直接输出的话,就会产生计数误差,也就是说Y0不是在C252=K10000的时候,瞬时接通的,会因为扫描周期的影响延迟一些时间。n为了能瞬时输出,我们只能用高速处理指令。七、高速处理指令:DHSCS,DHSCR,DHSZ.nDHSCS:高速计数比较置位指令 DHSCS(S1.)(S2.)(D.)S1:设定值。(如:K10000,D0等)S2:需要进行比较的高速计数器(如:C252D等)D:需要进行置位的位状态(如:Y0)功能:当S1=S2的瞬间(不受扫描周期的影响),置位D,立即输出执行n例:C251计数至2000时,立即输出Y0,程序如下nDHSCR:高速计数比较复位指令我们可以编写程序:
23、例题:要求实现以下控制工艺按下启动按钮,工件自动夹紧(Y0),夹紧后马达正转(Y1),在1m出打孔(Y3),在2m处攻丝(Y4),完毕后,返回(Y2)。马达每转1圈,工作台走100mm,编码器的分辨率为500p/r。解题过程:IO口分配表输入口功能输出口功能X000编码器A相Y000工件自动夹紧X001编码器B相Y001马达正转X002启动信号Y002马达反转X003原点信号Y003打孔Y004攻丝程序案例(中断禁止继电器的使用)前面我们学习过定时器,知道定时器也是可以进行定时的,那定时中断和定时器有什么样的区别呢?和前面的单相计数不同,2相计数需要两相脉冲输入,即输入信号要有A、B相,两相同
24、时协作进行计数,一般应用在有AB两相输出脉冲打的检测仪器上。这一般应用来关掉部分不适用中断的输入端子,以免因为中断而产生的误操作。表2:1相2计数输入和2相2计数输入初始化禁止X1-X5输入中断信号例如:当X0001输入端子有上升沿信号来时,产生中断,置位输出Y0,程序如下:第四步:高速脉冲输入信号接入X000,开始计数例如:当X0001输入端子有上升沿信号来时,产生中断,置位输出Y0,程序如下:5、输入输出刷新指令REF:达到高速的输入输出效果为了能瞬时输出,我们只能用高速处理指令。分辨率为500P/R的旋转编码器,即旋转一圈就发出500个脉冲,和前面的单相计数不同,2相计数需要两相脉冲输入
25、,即输入信号要有A、B相,两相同时协作进行计数,一般应用在有AB两相输出脉冲打的检测仪器上。2ms以下,Y0和Y1更快,仅需要15-30ms。如下图所示,为增量式编码器的外观图第三步:接通X006启动输入2、例:使用编码器检测工作台的当前位置2、定时中断指针号的意义:3、为何要使用内部定时中断:获取高精度定时时间我们知道定时器是通过扫描的方式来执行时间的定时的,而PLC的扫描是需要时间的意思就是说,前面我们学习的定时器,在时间上并不是百分百的精准时间,而是要存在大约一个扫描周期的误差的!1相1计数输入的高速计数器计数步骤:如果对于一部分中断信号我们不需要,我们可以使用相应的终端进制辅助继电器来
26、禁止。表2:1相2计数输入和2相2计数输入1、中断程序的调用使用的是中断指针,而子程序调用需要用CALL指令来调用。2ms以下,Y0和Y1更快,仅需要15-30ms。程序案例(如何使用外部中断)3、为何要使用内部定时中断:获取高精度定时时间注意:程序里的置位仅仅只是对映像寄存器进行置1的动作,输出端子要输出,必须要等到执行到END结束后再统一刷新输出。(2)和普通子程序一样,中断程序可以有很多个。前面我们学习过定时器,知道定时器也是可以进行定时的,那定时中断和定时器有什么样的区别呢?在PLC中,cpu在处理事情的时候被某件事情打断继而转到中断服务程序中去执行例如:当X0001输入端子有上升沿信号来时,产生中断,置位输出Y0,程序如下:U/D:可增可减计数,具体是增还是减计数由其对应的特殊继电器M8235-8245的状态来控制。和前面的单相计数不同,2相计数需要两相脉冲输入,即输入信号要有A、B相,两相同时协作进行计数,一般应用在有AB两相输出脉冲打的检测仪器上。例如:我们只需要X000输入中断信号,其它中断输入端子的中断信号禁止一般中断调用里面的输出,最好都加上刷新指令,以提高中断的响应速度!例题:要求实现以下控制工艺在PLC中,cpu在处理事情的时候被某件事情打断继而转到中断服务程序中去执行输入输出刷新指令是什么用的的呢?PLC一运行,Y0点亮如下图所示,为增量式编码器的外观图