- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【S-】子程序形参和实参的调用
【S7-200】子程序形参和实参的调用
一个完整的程序要实现多个功能,我们可以只用一个主程序来实现,还可以分多个子程序单独来实现再由主程序分别调用;如果只用一个主程序就会显得很纷乱,而且调试修改效率低,而使用子程序可以一目了然,快速的确定问题所在。所以首选使用子程序来编程。?? ? 在实际的项目中有很多类似的功能,像这样的就可以使用子程序,而不用多次复制相同的语句,而选择调用相同的子程序。?? ? 在编写子程序时,子程序中可以使用全局变量(实际参数),而功能块中用到的都是局部变量L(形式参数),两者的另一个区别是:在调用子程序时不用给子程序任何的输入,只要一个使能调用就可以。而在调用功能块时就要给功能块输入一些参数,一般编好的功能块是有输入输出的,至于功能块中使用了那些变量我们不用去考虑,还有一个优点就是功能块内的变量是自动分配的,在变量中想添加一变量时可以直接插入而不用管它占用了那些变量地址。所以要想实现某个功能就可以调用功能模块,我们只需要给几个参数,然后就直接取输出就可以了,很方便快捷,这样下来我们的程序就是由一个一个的功能块完成了,直观。就在子程序的下图内创建我们需要的局部变量:?
?
?
? ?子程序变量名称中的“#”表示局部变量,是编程软件自动添加的。输人局部变量时不用输入“#”号。不能使用跳转语句跳人或跳出子程序。
? 在主程序中调用子程序的功能块:?
??
只要在子程序中写一遍程序,在主程序内可以多次调用并填写实际数据,这样就可以减少工作量。? ? 在主程序中调用使用全局变量的子程序?:
??
上边提到过,因为使用的是全局变量,就不需要再输入参数,这个子程序就是直接调用的关系。
下面说一下功能块中遇到的一些问题:
我们都知道这样的程序:
?
? ??如果I0.0闭合,Q0.0输出确实0;I0.0断开,Q0.0输出是1.在功能块中也有这样的特点,就是功能块的输出变量如果不能执行就会最后输出为零,无论之前是否输出变量赋值。所以我们在编程时要注意,功能块是否执行的判断语句不要放到功能块的内部开头部分,而要放到功能块的外部,变为是否调用功能块而不是调用后再判断是否执行。
文档评论(0)