200smart 模拟量问题

我自己写了个模拟量输入程序,如图,子程序输出接口参数LD14变量类型 是 OUT 还是IN_OUT?设为OUT,第二次调用模拟量子程序时第一次的值会不会依旧存在,临时存储空间得不到释放?各位大神解惑一下

问题补充:
刚图片忘传了,我嵌套调用的模拟量子程序,不同的子程序调用,OUT管脚连接的实参是不同的全局变量,模拟量输出也和这类似,就怕同时调用几个OUT的输出会相互影响

图片说明:

200smart 模拟量问题    200smart 模拟量问题   

最佳答案

1、
子程序输出接口参数,采用 OUT 类型,调用时,子程序的这个管脚连接实参一般是一个全局变量,比如 VD100、VD104,不同的调用连接不同的实参,互不影响。
TEMP 变量只在子程序内部起作用,在调用时分配临时存储空间,其值未可知,所以TEMP类型的变量在子程序中必须把握先赋值,后引用的原则。子程序用完后就释放了。
https://support.industry.siemens.com/cs/document/7116338
S7-200 SMART中断,子程序常见问题
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/009.html
2、
西门子有专门的模拟量转换库指令,可以用的。
新增加的自定义指令库都将统一地添加到STEP 7-Micro/WIN SMART库文件夹中,存储地址统一了。STEP 7-Micro/WIN SMART库文件夹一般存储路径为C:\Users\Public\Documents\Siemens\STEP 7-MicroWIN SMART\Lib
S7-200 SMART模拟量,含接线、系统块、转换
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/028.html
补充:
前面你没有附图。
像你图中那样,LD14 定义成 OUT类型,遵守上面说的原则,则多次调用没有问题。

提问者对于答案的评价:
谢谢

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日
下一篇 2020年10月30日

相关推荐