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

我的提问请看以下链接: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日 上午1:05

相关推荐

  • 如何任意设置采集脉冲时间

    组态王+s7-200 采集电磁流量计脉冲,如何任意设置采集时间? 问题补充:在组态王中设置一个采集时间,比如说2分钟,然后plc就会把2分钟的采集结果输出。 定…

    SIMATIC S7-200 2021年7月5日
  • 224XP与2台M430USS通讯的问题

    各位老师,我现在想做一个控制,用一个224XP通过USS协议控制2台M430变频器,要求能够通过变频器DI4的输入来决定变频器的起停及频率改变是由面板控制还是USS通讯控制,变频器…

    2017年11月12日
  • 200PLC和上位机 通过PPI通信,距离600米,如何解决

    如题,手中有1个200PLC,一条PPI通信电缆,和距离600开外的PC。现在想通过PPI通信,请问,中间肯定要增加RS485的中继器的,那么需要增加几个? 问题补充:增加一个中继…

    SIMATIC S7-200 2020年10月31日
  • PWM和PTO有啥区别

    我看过一些资料关于他们的介绍,可是原理不太懂,200可以进行选择PWM 和PTO,PTO可以设置周期和脉冲个数,PWM可以设置周期和脉冲宽度值(ON的时间),可是他们有啥…

    SIMATIC S7-200 2021年7月4日
  • 我电脑系统是WIN10的64bit,PC/PPI通讯无法使用

    PC/PPI电缆联机后,PC/PPI电缆无法安装,这根电缆其它机可以用,是西门子提供的电缆,不知怎么回事,请专家提供帮助。 钻石用户推荐最佳答案 你安装软件选择以兼容模式安装,wi…

    SIMATIC S7-200 2021年7月5日
  • 补丁怎么安装?

    补丁怎么安装? 问题补充:没有看到应用程序 图片说明:    最佳答案 直接双击安装即可 提问者对于答案的评价:谢谢

    2021年7月5日
  • 急.急.急!!!!

    s7-200如何创建项目?怎样模块扩展?编程时如何下手?从那开始? 最佳答案 http://www.ad.siemens.com.cn/service/e-training/mic…

    SIMATIC S7-200 2021年7月5日
  • S7-200以太网通讯距离

    用CP243-1和上位机通讯,网线大概50米,就通讯不上,不知道什么问题。距离短就可以,用的是超5类的线(正品的网线),直连接法 最佳答案 以太网在100米内应该没问题的。用网线检…

    SIMATIC S7-200 2017年11月4日
  • EM253应用中保留位理解

    应用EM253生成位控指令时, 书种提到 ”过程映像区(Q区)中保留8个输出位“ 怎么理解? 问题补充:如果命令字节是QB0 是否输出点Q0…

    SIMATIC S7-200 2021年7月4日
  • S7-200和PC均接入PROFIBUS-DP网络,如何让S7-200和delphi通讯

    现有条件就是PROFIBUS-DP网络,S7-200,上位机delphi,变频器接在S7-200上。各种方法能否说详细些,多谢了! 问题补充:我知道EM277的大概用法,但是具体到…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论