什么叫做带参数的子程序?

我的提问请看以下链接:http://www.gongkong.com/Forum/ForumTopic.aspx?Id=2009042219011500001
 大家有关于这方面的资料发我邮箱里,谢谢了。邮箱:lzhosky@qq.com

最佳答案

比如有十二个压力传感器,或更多的传感器,量程是0到1MPa ,变送输出的标准模拟信号是4到20MA,那么怎么计算实际压力值?像下面一样将计算过程写12遍?
 网络1: 
 LD     SM0.0
 MOVD   0, AC0
 MOVW   AIW0, AC0
 -I     +6400, AC0
 DTR    AC0, AC0
 MOVR   AC0, VD0
 /R     25600.0, VD0      //VD0就是第一个压力传感器的实际压力值   
 网络2:
 LD     SM0.0
 MOVD   0, AC0
 MOVW   AIW2, AC0
 -I     +6400, AC0
 DTR    AC0, AC0
 MOVR   AC0, VD4
 /R     25600.0, VD4      //VD4就是第二个压力传感器的实际压力值   
 网络3:
 LD     SM0.0
 MOVD   0, AC0
 MOVW   AIW4, AC0
 -I     +6400, AC0
 DTR    AC0, AC0
 MOVR   AC0, VD8
 /R     25600.0, VD8     //VD8就是第三个压力传感器的实际压力值 

 等等

 其实不用这样,他们的特点是计算过程相同,但数值不同,所以就不需要将计算过程写12遍,只要写一遍就可以了,将AIW值传入到子程序,然后从子程序输出一个结果就可以了。
 ORGANIZATION_BLOCK 主程序:OB1
 TITLE=程序注释
 BEGIN
 Network 1 // 网络标题
 // 网络注释
 LD     SM0.0
 CALL   SBR0, AIW0, VD0
 CALL   SBR0, AIW2, VD4
 CALL   SBR0, AIW4, VD8
 CALL   SBR0, AIW6, VD12
 CALL   SBR0, AIW8, VD16
 CALL   SBR0, AIW10, VD20
 CALL   SBR0, AIW12, VD24
 CALL   SBR0, AIW14, VD28
 CALL   SBR0, AIW16, VD32
 CALL   SBR0, AIW18, VD36
 CALL   SBR0, AIW20, VD40
 CALL   SBR0, AIW22, VD44

 END_ORGANIZATION_BLOCK
 SUBROUTINE_BLOCK SBR_0:SBR0
 TITLE=子程序注释
 VAR_INPUT
 输入:INT;
 END_VAR
 VAR_OUTPUT
 输出:REAL;
 END_VAR
 BEGIN
 Network 1 // 网络标题
 // 网络注释
 LD     SM0.0
 MOVD   0, AC0
 MOVW   LW0, AC0
 -I     +6400, AC0
 DTR    AC0, AC0
 MOVR   AC0, LD2
 /R     25600.0, LD2

 将以上程序复制到记事本里,然后将后缀改为.awl,将编程软件打开,文件–导入即可查看该程序。

 
 

提问者对于答案的评价:
谢谢怀工的指教

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

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

相关推荐

  • 怎么样实现断电记忆功能

    比如,我现在需要机器运行36小时后停机,途中运行了30个小时突然断电,电到以后能继续运行剩下的六小时,怎么样才能达到这样的功能呢 专家建议 娟子您好!可以使用有记忆的接通延时定时器…

    SIMATIC S7-200 2020年10月31日
  • 触摸屏通讯线型号

    西门子SMART V3的通讯线型号是什么 问题补充:我问的是与PLC的通讯线,MPI电缆的型号,之前是6ES7-901-0BF00-0AA0,现在触摸屏换成SAMRT&n…

    SIMATIC S7-200 2021年7月5日
  • uss与200通讯问题

    我用uss与200通讯6ra70 ,ctrl模块能工作,可一接通读模块,就报7故障,说通讯端口未设定,可ctrl都工作了,怎麽会端口未设呢,还有初始化程序的Actice怎…

    SIMATIC S7-200 2021年7月5日
  • S7200的EM253问想咨询一下,

    刚接触到S7200的EM253定位模块,看了一些资料,现有一些疑问想咨询一下,   资料上讲 EM253模块有配置表,和轨迹表,从VDn+0…

    SIMATIC S7-200 2021年7月4日
  • 西门子200PLC问题

    我想用西门子200PLC控制恒压供水,现在有两台水泵,要求一次只用一台泵,在每天凌晨3点倒泵,请问各位有这样的例子没 最佳答案 用带电池的屏,用200读屏的时间,然后在程序里做判断…

    SIMATIC S7-200 2017年12月2日
  • SQL Server 2005附加数据库问题siemens step7 s7 combobox问题

    SQL Server 2005附加数据的时候报错,如图,我在网上查的可能有2种原因,一是用windows身份登录,我用的就是windows身份登录的,所以这个不…

    SIMATIC S7-200 2021年7月5日
  • 子程序中需要延时

    子程序中需要延时,但是该子程序在一个扫描周期中又要被重复调用,该怎么处理? 问题补充:其实是这样的,我用一台PLC去控制6台一样的设备,这6台设备各有3种动作模式。我不想写六次只是…

    SIMATIC S7-200 2020年11月5日
  • s7-200烧毁原因

    s7-200系列CPU226,TD400C,EM235同事烧毁,PLC只是送电,没有运行,在工频运行其他设备时,听见有放炮声,电路没有短路,之后便无法与PLC通信,TD400C,也…

    SIMATIC S7-200 2020年11月1日
  • EM 253 位控模块

    谁会用EM 253 位控模块要怎么用,有没有说明书或是例子。 最佳答案 应用文档 EM253快速入门 http://www.ad.sieme…

    SIMATIC S7-200 2020年10月31日
  • 编码器,S7-200,变频器

    用步进电机太贵,我想用编码器给200PLC信号,由PLC控制变频器,到达一定长度停止。这样做行不行啊?各位老师能提供一些相关的程序吗?WXQ661@SOHU.COM 最佳答案 可以…

    SIMATIC S7-200 2020年11月1日

发表回复

登录后才能评论