自定义库文件与其他库文件不能同时使用

自定义了一个库文件,单独测试的时候是可以正常使用的。在测试程序的时候发现无法与Scale的模数转换一同使用,只要调用含有S_RTI或者S_ITR的子程序程序,自定义程序就无法正常工作。求教这是因为什么引起的?

问题补充:
根据给位的回答,我重新调整了一下库文件的编写,将脉冲触发作为输入引脚。现在有了新问题:1)把该程序做成库文件以后在子程序内运行依旧不正常,放在MAIN(OB1)内可以正常运行;2)不能重复调用,只使用一次的时候还可以正常运行,但有2次及以上次数的调用就不能正常运行。
求教这是因为什么,是不是就是L区地址多重赋值的结果?那该怎么避免?

图片说明:

自定义库文件与其他库文件不能同时使用    自定义库文件与其他库文件不能同时使用    自定义库文件与其他库文件不能同时使用    自定义库文件与其他库文件不能同时使用   

最佳答案

简单的一句话。同级的子程序都是使用相同的L地址。造成多重赋值。
你想想,程序多个地方都使用了vb0的话,vb0到底是什么值。
补充:
请着重理解一下上面给出的链接里面的第五点。这个非常重点。而且这个原理可以延伸到很多用途上。这类型的数据必须使用in/out参数。因为该参数要独享记忆。所以子程序外引脚也必须安排独享的地址。
你那些Count就是违反了这个问题点。把count都设定成in/out就没事了。至于逻辑问题,没看你错不错,你自己调试。

提问者对于答案的评价:
确实把数据类型改成INOUT就可以了。对于先赋值后使用这块闹不明白,感觉好绕,不知道怎么处理/(ㄒoㄒ)/~~

最佳答案作者回复:
也就是先带进来子程序,再运行子程序的功能。
有心搞子程序的话翻一翻我的精华帖。很多关系到子程序的。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日
下一篇 2021年7月4日

相关推荐

发表回复

登录后才能评论