没有执行中断

使用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日
下一篇 2020年10月31日

相关推荐

  • 定时器+S7-200+功能块

    如何编写200的定时器,在所写的功能块里调用。由于每各站控制的功能一样,只是时间有差别,想写个功能块,查看没有时间类型定义,想问一下如何写一个定时器? 最佳答案 SUBROUTIN…

    SIMATIC S7-200 2017年6月27日
  • S7-200 Smart PLC和S7-200 PLC能不能通讯

    S7-200 Smart PLC和S7-200 PLC能不能通讯,怎么样通讯方便 最佳答案 1、S7-200 与 S7-200&n…

    SIMATIC S7-200 2021年7月5日
  • CPU224XPCN与pt100

    cpu224xpcn带有两路模拟量输入,我以前使用的是224加em231,我的传感器是PT100加一个4~20ma转换器,将4~20ma信号给em231,现在我想用CPU224XP…

    SIMATIC S7-200 2020年11月1日
  • S7-200与施耐德ATS48软启动 MODBUS通讯

    高手们帮帮忙!我要用PLC采集ATS48软启动的输出电流,请问输出的电流地址对应modbus地址是多少? 最佳答案 4062 提问者对于答案的评价:高手您邮箱多少? 最佳答案作者回…

    SIMATIC S7-200 2020年10月31日
  • micro/win上载程序后自动关闭

    如题,自动退出后不保存程序,xp,sp3系统 microwinsp9下上载后软件自动退出,没有提示,重新打开后不用点通信还可以连接。win7系统microwinsp9下上…

    SIMATIC S7-200 2017年12月7日
  • pt100 铂金属温度探头

    我用EM231来接PT100,温度大概范围在-10到40度之间,在触摸屏上显示,温度最好相差不到0.5度。请问程序怎么写比较好啊! 如果有的话发给我啊! QQ4…

    SIMATIC S7-200 2021年7月5日
  • 热电阻测温

    用热电阻测温硬件接线时,能否把热电阻与Em231的接线端直接联起来?中间还需变送装置吗?谢谢。 最佳答案 西门子的EM231有三种类型: 1.EM231模拟量4&nbsp…

    SIMATIC S7-200 2021年7月5日
  • EM235的接线

    要用EM235控制西门子的风阀执行器,是三线制的,遇到了这个问题:EM235的模拟电压输出端子是M0和V0,如果使用M和V0行不行? 问题补充:执行器的电源和模拟量输入电压是共地的…

    SIMATIC S7-200 2021年7月5日
  • S7-200模块,EM235的信号问题

    我用EM235采集一个AI点,再输出一个AO点。DIP的拨码开关那里,由于我要采集和输出的信号都是0-5V的,因此,我将拨码开关拨到ON,OFF,OFF,OFF,OFF,ON,但是…

    2021年7月5日
  • 西门子安装

    西门子S7-200装好后,打开会出现"0x00d8491e"指令引用"0x00000000"内存,该内存不能为"read”,我都弄…

    SIMATIC S7-200 2018年12月6日