没有执行中断

使用S7-200带一个EM253控制伺服电机定长切割,切割信号使用高数计数器加中断读取编码器,读取值等于设定的计算值时切割,到了接近开关时停止,为什么切了几棵之后就不切了,读取数据后发现高速计数器已经超了设定值,没有执行中断,这是什么原因?以前我也是这样用的就没什么问题。

最佳答案

1、在中断程序中只能调用一层子程序,中断程序中的子程序不能嵌套,否则会出错 
中断程序应短小而简单,执行时对其他处理不要延时过长,即越短越好 。
2、断服务程序看起来没有执行?
可以在中断程序中加一个测试程序段,如使用SM0.0(常为“1”)将一个输出点置位(使用Set指令),观察是否进入中断服务程序。
中断程序不执行,多数原因是初始化(连接中断事件和中断程序)的问题,或者没有“开中断”。
应该使用SM0.1(或沿触发)执行一次初始化,然后开中断。
3、与中断服务程序有关的计算任务,为何会偶尔得出不正确的结果?
出现这种现象的原因多是在主(子)程序和中断程序之间传递数据的机制不当。
中断程序可能在任何时刻执行,如果此时主程序(或子程序)正在对中断程序使用的数据进行操作,其中间结果可能带入中断程序,造成计算结果的变化;同样地,在中断程序中产生数据也对主(子)程序中的计算有类似影响。
解决办法是保证可能产生中间结果的数据不直接参与计算:
、使用STL指令计算单个中断程序使用的数据 
、在梯形图(LAD)编程时,用MOV(传送)指令准备最后的数据(单个数据) 
、准备成批的数据时,先禁止中断,完成后再允许中断 
、简单的数据准备或者结果计算可直接放在中断程序中进行

提问者对于答案的评价:
谢谢,我用这几种方法试试,可能真是这样,答案不错!

专家置评

已阅,最佳答案正确。
高速计数器是不走程序扫描周期的,那么程序中最好用大于等于来实现比较。且在中断程序中只能调用一层子程序,中断程序中的子程序不能嵌套,否则会出错。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc293835.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午1:16
下一篇 2020年10月31日 下午1:16

相关推荐

  • 基于S7-200的两轴驱动程序

    着急做个项目,求朋友没有给个思路和方法。 最佳答案 PLC输出两路脉冲输出,可以控制两台伺服电机。伺服驱动器设置为位置控制,脉冲输入模式。 提问者对于答案的评价:3QU 专家置评 …

    SIMATIC S7-200 2018年12月5日
  • 扩展选型

    做200的PLC 现在DI为128点DO为64点轩226CPU也凑不够点数 要求连接SMART1000触摸屏哪位老师指点指点 最佳答案 226CPU可以满足需要…

    SIMATIC S7-200 2018年12月7日
  • 接收及传送故障录波信号

    用一台PLC(CPU224)接收故障录波器的波形图再由plc传输给工控机,需要什么硬件,程序思路怎么做 最佳答案 录波器是在线传输还是离线传输?在线传输速度PLC基本无法达到还原真…

    SIMATIC S7-200 2021年7月5日
  • 模拟量输出用MODBUS什么命令发出控制

    我用CPU226加载一个EM232控制模拟量输出使用modbus协议控制,使用哪个命令,控制地址是多少(modbus地址)控制电压电流数值怎么表示 最佳答案 用MOVE指令。址址是…

    SIMATIC S7-200 2017年7月30日
  • PID自整定

    S7-200  PLC是否有PID自整定的功能?参考书上有关于PID的例子,但是都是要求有经验值的输入,例如:微分时间,积分时间等。  &n…

    SIMATIC S7-200 2021年7月5日
  • 计数器的计数率怎么解释?

    比如计数器HSC0,控制他的是SMB37,看了资料,里面说SM37.2用于控制计数器的计数率,0为4X计数率,1为1X计数率。那这个计数率到底是什么意思?是不是这样理解?来一个脉冲…

    2019年6月11日
  • td400的Enter键对应地址

    td400的Enter键对应地址在哪里 最佳答案 【其配置起始于 VB2000】  S_F4 V2059.7 ———-…

    SIMATIC S7-200 2021年7月4日
  • plc226与PC通讯问题

    我想请教下高手我用RS232已经让PLC与PC通讯上了,但出现个问题,不能RUN,提示PLC位于错误的模式或RUN/STOP开关不在TERM终端位置,怎么回事啊?PLC226在ST…

    SIMATIC S7-200 2021年7月5日
  • “&VB200"与“VB200"的区别

    请问“&VB200"与“VB200"的区别?&符号的意义是什么 最佳答案 你好!   这是s7200plc间接寻址的表示方法:&n…

    SIMATIC S7-200 2020年10月31日
  • 关于200PLC输出脉冲的问题

    请问大家一个问题,200PLC型号221的CPU输出脉冲频率样本上是20KHZ,在用MAP SERV的时候movevelocity功能块的时候,Velocity写入200…

    SIMATIC S7-200 2020年10月31日