关于200调用子程序的若干问题

1.在子程序中使用局部变量,同时调用多次的时候,为什么监控子程序中只是显示第一次调用的值。
2.在程序中多次使用子程序,并且同时调用子程序时,能不能使用特殊辅助继电器,例如SM0.5等。用SM0.5主要能计时。我知道计数器与时间继电器是不是能同时多次调用的,但不知道SM0.5等特殊辅助继电器能不能用。要是不能用该怎么解决。

最佳答案

1、转帖典型问题:使用子程序时,为何动作只能执行一次,或者某些状态不能结束?
如果发生动作不能重复执行,或者状态不能结束(像锁死了一样),而这些功能都与子程序有关时,请检查是否有条件调用子程序。调用子程序的条件在上述动作执行后,或者进入某个状态后不再有效,无法再次“激活”,而脱离上述状态或复位的指令正好在子程序内,必然造成上述的现象。
2、转帖典型问题:定时器在子程序中的表现?
在条件调用子程序的主程序中,当停止子程序调用时,如果定时器已经激活正在计时,停止调用这个子程序会造成定时器的失控。不管此时定时器前面的激活条件如何变化,定时器(1ms、10ms 时基的)会一直走到最大值,定时器输出也会在达到设定值时接通;(100ms 时基的定时器会在上述情况下停止计时,但在逻辑上处于失控状态)。
 如果用 SM0.0 调用子程序;或者在控制逻辑的时序上做到能够保证定时功能完整执行,定时器会正常运行。使用条件调用含有定时器的子程序时,一定要注意时序逻辑,以免造成程序运行错误。
3、子程序注意事项:
、子程序在调用时会保持当前的逻辑运算结果,但是不保存累加器(ACx)的内容 
、子程序在执行到末尾时自动返回,不必加返回指令;在子程序中间也可以使用条件返回指令 
、子程序不能使用跳转语句跳入、跳出 
、子程序返回时,回到调用子程序的指令后面,继续执行上一级程序 
、S7-200 CPU最多可以调用64个子程序(CPU226为128个) 
、子程序可以嵌套调用,即子程序中再调用子程序,一共可以嵌套8层 
、在中断服务程序中不能欠套调用子程序,被中断服务程序调用的子程序中不能再出现子程序调用 
、子程序可以带参数调用,在子程序的局部变量表中设置参数的类型;一共可以带16个参数(形式参数)

提问者对于答案的评价:
3Q

专家置评

请参考阿鸣的回答!
补充一点:子程序使用局部变量,主程序中多次调用子程序时,子程序不能调用定时器。

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

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

相关推荐

  • 如何编写程序,记录温度变化的时间曲线

    使用S7-200和触摸屏,我能完成实时温度的显示,但完成不了 要记录1小时的温度变化曲线? 最佳答案 问题的关键是1小时中需要记录多少个数据?plc数据存储区是一个有限的…

    SIMATIC S7-200 2021年7月5日
  • 200与300之间的277编程问题

    LD     SM0.0ITD    AIW0, AC0DTR &nb…

    SIMATIC S7-200 2020年11月1日
  • S7-200实时时钟的误差

    S7-200设置实时时钟后发现误差较大,每月有10秒左右,如何能减少误差? 最佳答案 200的时钟精度不高,典型值是2分钟/月(25°C),最大误差7分钟/月(0 -&n…

    SIMATIC S7-200 2021年7月4日
  • s7-200最新的选型样本 纸质样本

    怎么可以获得s7-200最新的选型的纸质样本,项目中客户要的。供货商都说没有。 最佳答案 现在西门子为了节约成本,已经不提供纸质样本了。只能给客户电子版或者自己打印装订出来给客户了…

    SIMATIC S7-200 2017年8月15日
  • 博途V14程序集不正确

    我的博途V14没有仿真组件 装完之后打开软件经常提示 “以下程序集签名不正确”然后下面是以siemens simatic开头的几行英文让我检查安装&n…

    SIMATIC S7-200 2021年7月5日
  • 西门子与组态王通信问题

    采用西门子226CPU,接EM231扩展模块,与组态王联合使用。实现温度信号的采集与显示。在STEP7-WIN编写了一段数据发送程序,实现将扩展模块AI寄存器的模拟量数据发送到V存…

    SIMATIC S7-200 2021年7月5日
  • 取十进制数中的两位

    S7-200中,比如我想将123456789中的数67单独取出来,怎么编程呢, 最佳答案 其实楼主的要求是取十进制数据的百位和千位数字而已。1. 取百位时,只需将当前数据…

    SIMATIC S7-200 2020年10月31日
  • s7-200 plc的ppi口支持modbus通信吗?

    s7-200 plc的ppi口支持modbus-RTU的通信协议吗,s7-200内部的地址如何与modbus-RTU中的地址相对应? 最佳答案 支持的。如果将prot0或…

    SIMATIC S7-200 2017年8月16日
  • S7-200 数据块数据更改

    描述:我们知道,用数据块定义的变量是写入EEPROM中永久保存的。比如:VW100   100问题:能否通过 HMI 将&nbsp…

    SIMATIC S7-200 2018年3月6日
  • 1200与samrt 200通过以太网连接

    项目网络构架:叉车(是移动的,类似行车只有一根电源线)包含1个交换机,它连接有1个1215和1个摩莎无线通讯AWK-3131A。地面有5个设备,每个设备有1个SAMRT …

    SIMATIC S7-200 2021年7月5日