当我们在项目中调用MODBUS库时,首先需要分配库存储区。那这个库存储区是怎么来的,是不是所有的可调用的库都要分配库存储区。
由于官方提供的库都已经加密,无法打开库功能块查看代码。
那可以自己编写一个子程序功能块,然后生成为库文件,供其它项目调用。
编写子程序TADD,实现三个整数的求和功能。
子程序变量表包括:三个输入变量IN1、IN2、IN3,一个输出变量OUT_ID,一个中间变量(为临时变量TDI)
然后把此子程序导出为库。
新建一个项目,调用刚才生成的库功能块TADD
然后打开库存储分配对话框,发现并不需要给此库分配存储区。
接下来,修改刚才编写的求三整数和子程序。
先在符号表建立一个全局变量GDI,分配地址VD0
然后把程序中使用的临时变量TDI改成全局变量GDI,保存后,再重新生成库文件。
在项目中调用重新生成的库,然后打开库存储分配对话框,发现需要给此库分配4字节的存储区。
经过上面的操作可以了解,当生成库的子程序使用了全局变量时,在调用此库时就需要给库分配相应大小的V存储区,如果没有使用就不需要分配。