用户自定义库,同一个库在一个程序中调用两次为什么只分配一个库的库存储区,怎么让我调用几次分配几次库存储区,如图调用一次需要4个字节,调用两次怎么分配8个字节
图片说明:
钻石用户推荐最佳答案
你理解的库存储区不正确。
1、在生成自定义库的原项目中,子程序、中断程序可以被创建为指令库,自定义指令库时,凡用到 V 存储区地址处都使用“符号寻址”,为每个变量指定一个符号,符号表中 V 存储区的绝对寻址,并且定义符号表没有错误,则可以将该子程序生成自定义库。
在原项目中要生成指令库的相关程序中虽然使用符号定义的 V 区,但这个V区你要将它当成临时变量来对待,要先赋值再引用。
只有子程序的接口变量IN,INOUT,OUT类型,才是最终做为库指令使用时可以做为形式参数传递参数的。
2、
你在定义库文件的那个子程序只使用了两个变量,VOC分递增、VOC秒递增,而且都是字型的,则是4个字节,在分配库存储区是也只能分配 4 个字节;
这 4 个字节的库存储区虽然分配的是 V 区,但对于使用它的项目来说,它相档于库指令VOC 的临时变量,项目文件的任何地方都不得再使用分配给 VOC 库指令的这个 V 区,无论是按位、字节、字、双字不能与之有任何重叠。这个库存储区是它的私有空间。
3、所在你只要按上述分配好了,不管引用这个指令多少次,都不会有问题。
若有问题,那也时在自定义库时有问题。
4、参考资料
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/software/library/Creat_Library/User_defined_library.html
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc361284.html