s7-200子程序使用问题??

1、在s7-200中通过条件调用子程序,当子程序中的输出有效(如输出一个Q0.0),但是调用条件无效时(OFF),子程序中的Q0.0还是保持ON,就算子程序中的输出语气无效(驱动位OFF)时也不会自动复位,有什么办法当调用子程序条件OFF时,子程序中所以的输出全部复位呢?不然还要在OB1中进行复位判断那不是很麻烦?我见好多程序都是用SM0.0调用子程序,那这样就不是设计子程序的初衷(需要时才调用)。哪个高手解答一下!
 2、子程序中使用局部变量的问题:
    2-1、是不是每个子程序都有自己的64个LW?
 2-2、如果不是那参与运算的都要用全屏变量INOUT,那不是很麻烦?
 2-3、我曾在子程序中用不同的LW来中中间变量使用,但是这样也不是子程序设计的初衷呀(模板使用),每次新建一个子程序要修改里面的局部变量。以前我就是使用TEMP局部变量造成数据混乱,现在我的子程序中全部是用全局变量。
 或许是我接触的不够都,但是我觉得200的子程序真的不是很好用,希望各位高手提供一些比较高级的方法。谢谢。

问题补充:
单用文字说明是很难说清楚,用例子说明最好。
  1、关于第一个问题三菱手册说得比较详细,而西门子的说的比较简单,子程序动作位调出子程序时不自动复位是有道理的,我现是要怎样用比较简单的方法复位他们。
  2、关于子程序调用的问题我就比较迷惑了,我是对多台电机进行运行时间累计时发现的这个问题,如果想SG9说的那样同时调用一个子程序都不行,由于编幅有限不能写出程序,我只有给每个电机都做一个累计子程序(结构都一样)。
  3、我个人感觉子程序用做开关量动作还可以,做数据运算时容易跟其他的子程序干扰,如果不注意临时变量的类型的话。
  以上仅为我的一些见解,希望大家能提供更详细的解答,最好能用例子说明。最后谢谢大家的热心帮助!!
 文字说明说不清楚,我已做两个调试小程序发到各位的邮箱中,望能指点一二!

最佳答案

1.对于你的一个问题,我想是程序中使用了set位了,如果用=输出,将不会出现你所说的情况
     很多情况用ld sm0.0来调用子程序,要分2种情况来看,一个流程被分为若干个小的动作,而每一个小的动作,都用一个子程序来写,那么这个子程序就是流程中的一部分,需要用ld sm0.0来调用,如果是一个具有相同功能的子程序,那么它的调用是需要条件和参数
  2.S7-200 为每一个独立块(主程序、子程序等)提供一个64字节的局部变量,前60字节用户是可以使用的,如果是独立块的调用结束,那么它内部的64字节的局部变量将被释放
  对于你所提的2-2 ,参与处理不一定是要全局变量,用局部也可以
  在子程序中使用局部变量当中间变量是可以的,
  如:在子程序中交换vw100和vw102 的数值
  ld sm0.0
  movw vw100,lw0
  movw vw102,vw100
  movw lw0,vw102
  完全是利用局部变量作为中间变量来处理,具体的应用还要你在实战中多多体会

 
 补充:

 对于你上次的子程序问题,我已经做了修改,你在测试一下

提问者对于答案的评价:
非常感谢!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午10:31
下一篇 2021年7月5日

相关推荐

  • 变频器干扰温控仪表

    我做个一个温度控制的加热器。采用温控仪表做的,在家里面试验没有问题,但是到了现场调试后发现,仪表数值乱跳。后来发现附近有变频器,当开变频器后就受干扰。变频是现场的不是我们提供的。怎…

    SIMATIC S7-200 2021年7月5日
  • 一个开关控制三个灯

    用一个开关控制三个灯 哪位师傅能否给我详细解释下这几个网络的含义 谢谢 问题补充:要求开关闭合时灯亮,开关断开时灯灭。如果在3s内每闭合一次开关,亮的灯数1个-…

    2017年6月3日
  • s7-200以太网通信问题

    1、两台s7-200cpu各配置一个以太网模块,上位机也是以太网信号,我需要这两台200的cpu能够进行以太网通信的同时,还要其中一台同时与上位机进行数据交换,可以吗?2、一个s7…

    2020年10月31日
  • 怎样用S7-200编写四台水泵循环启动的程序

    怎样用S7-200编写四台水泵循环启动的程序 问题补充:能不能详细点.四台水泵根据水压大小及上升速度分别启动,水压到达时留一台变频甚至全部切除。而且当用水恒定时在用的泵可能长时间运…

    SIMATIC S7-200 2021年7月5日
  • 关于EM253中LDOFF函数及RP_OFFSET参数的疑问

    首先定义一下:下文中,RP是电气原点,“零点”是机械原点。以我看S7-200系统手册的理解,假设初始RP_OFFSET参数为0(即无偏移量),零点位置是RP正向偏移150个脉冲。那…

    SIMATIC S7-200 2017年6月27日
  • 用s7-200 PID做一个实验用反应釜电加热控制。很有难度的!

    用s7-200 PID做一个实验用反应釜电加热控制,要求加热时间可根据被加热液体的量做时间的设定,比如说有一升水,加热到100度,我可以自己设定加热的时间,我可以设定成1…

    2018年12月5日
  • 编程电缆的选用

    我想请您帮我查一下,6ES7901-3DB30-0XA0支持WIN7系统吗?有人说在WIN7的操作系统下运行,这根原装线性能并不好。 最佳答案 6ES7901-3DB30-OXAO…

    SIMATIC S7-200 2017年6月10日
  • 触摸屏、以太网与PLC通讯

    CPU224通过以太网模块CP243-1与触摸屏1000IE通讯不上,怎么搞?可以用以太网下载程序了,应该算是配置好了吧?但是连到触摸屏通讯不上,应该再查哪里呢?初学者,请老师教教…

    2021年7月5日
  • 自由口编程时的端口问题

    在程序里将S7-200的port0口组态为modbus从站后,通过PPI电缆连接至USB转串口电缆(MOXA的牌子,这个电缆转成232口接PPI电缆可以正常编程PLC),虚拟串口号…

    SIMATIC S7-200 2020年11月1日
  • udc2500

    霍尼韦尔udc2500与s7-200plc通讯 最佳答案 霍尼韦尔udc2500可通过RS422/485 modbus RTU或以太网TCP/IP通讯,如果是s…

    SIMATIC S7-200 2017年11月1日

发表回复

登录后才能评论