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

自定义了一个库文件,单独测试的时候是可以正常使用的。在测试程序的时候发现无法与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日 下午10:38
下一篇 2021年7月4日 下午10:38

相关推荐

  • AM03 输入数值跳动巨大

    一个电压信号,输出在0-4.5v,%ignore_a_1%03 选用+/-5v 在一个稳定的电压输入后,通过PLC监控,在输入电压不变的前提下,AIW16(传感…

    2020年10月30日
  • 200smart解码指令DECO的问题

    如下图所示,DECO这个指令的参数我需要更大的数据,我需要双字的。我写入VD后就报错了。怎么办。 图片说明:    钻石用户推荐最佳答案 DECO 解…

    2020年10月30日
  • SMART调用子程序内部定时器计时过快问题

    SMART通过SCR顺控指令调用子程序,只有一个位置有调用,交叉检测没有重复使用的地方,定时器速度过快,设置时间30秒,实际15秒左右就走完 问题补充:顺控动作时正在当前这一步时定…

    2021年7月4日
  • 200smart自由口发送接收问题

    我现在有个问题,我设置定时发送XMT ,发送完成产生中断 ,中断里面做RCV接受指令。 现在遇到一个问题,如果接收不到信号,则定时发送就失去了作用。请…

    2017年5月28日
  • 200smart监测220v电流

    请问大神,我想用smart实时监控一个220v,20A左右的电流,用什么模块或方法比较好,感谢。 最佳答案 电流变送器+200Smart模拟量输入模块使用电流变送器将AC&nbsp…

    SIMATIC S7-200 SMART 2020年10月31日
  • 寄存器地址问题

    200smart%ignore_a_1%地址高低字节和台达的D寄存器地址是不是相反的啊? 最佳答案 是的,台达双字D0 包含字D0和D1,数据从D0向D1增长,也没有字节…

    2020年10月30日
  • 关于AM03的一些技术咨询?

    1、我自己做了一个图,关于输入是电流还是电压时的有效位的表示,正确还是错误?如果正确,为什么电流和电压时不一样?2、怎么计算电流或电压变化多大,AIW才会有数值的变化? 问题补充:…

    2019年6月10日
  • 关于此网站升级的问题

    是不是,满足任何一种都能升级啊?比如问答只回答可以吗?为啥我回答19个一直不增加啊? 问题补充:我说的是 认证用户特权 图片说明:    最佳答案 等…

    2020年10月30日
  • watchdog时间

    请教大家一下smart200PLC的看门狗时间可以修改吗?我在程序里面做了一个for循环的delay函数测试程序,造成看门狗超时,请问可以修改看门狗时间吗? 钻石用户推荐最佳答案 …

    2021年7月4日
  • 记录设备运行时间,

    用ADD_I 加整数后为什么只加到2就就不上去以SM0.4为一分钟脉冲,用ADD_DI就可能一直加。 最佳答案 怎么可能 你交叉引用一下看看地址是不是有什么条件…

    SIMATIC S7-200 SMART 2020年10月30日

发表回复

登录后才能评论