调用step 7 - mciro/win32 v3.2 instruction library(指令库)需要分配库指令数据区(library memory)。库指令数据区是相应库的子程序和中断程序所要用到的变量存储空间。
如果在编程时不分配库指令数据区,编译时会产生许多相同的错误(错误18)。
操作步骤(以modbus rtu库指令为例):
在指令树的project(项目)中,以鼠标右键单击program block(程序块),在弹出的快捷菜单中选择library memory。如图1所示:
图1
在弹出的选项卡中设置库指令数据区,如图2所示:
图2. 缺省情况下是从vb0开始,但因为与modbus的保持寄存区冲突,所以手动改为vb2000。按“suggest address”按钮也可以自动分配。
可以使用suggest address(推荐地址)设置数据区,但要注意编程软件设置的数据区地址,只考虑到了其他一般寻址,而未考虑到诸如modbus数据保持寄存器区等的设置。应当确保不与其他任何已使用的数据区重叠、冲突。不应重复按suggest address按钮,否则也会造成混乱。
在step 7-micro/win32 v3.1中,有分配库指令数据区时有不同的操作方法,需要在symbol table(符号表)中设置一个首地址。我们强烈建议使用当时新的编程版本。