编程实例 | 西门子S7-200 SMART 库存储区如何分配?
近有学员问我,他发现程序有用到库后有几率,程序一编译提示V存储器未分配给库。他不知道怎么解决这个问题,是什么原因的?
我看了一下和他说提示中已经有了引导,那我们可以跟着引导去做一做。
库存储器分配:
1.在左侧项目树中找到程序块
2.如果您在程序中用到了库的话,它就会产生个库,您可以在这里右键找到库存储器。
3.点击库存储器,进入库存储器管理。
我们就可以看到库存储器分配这个窗口,在这边您可以看到您使用的库像下面这个就是需要分配的,但很明显没有看到已有的分配地址。这时你可以点击建议地址。
它会自动分配一个空余的地址首先他会参考他所需要的范围,在这边有写到他需要402个字节的v区。在这一个程序中,vb0到vb401之间都没有被占用。它就会自动使用这个区域。如果这区域中有的话,它会从小到大的顺序。自动找到一个的完整的402个空的连续存储区域作为区域范围。
如果您不满意它的范围,例如在这里它是vb0,你不是不喜欢,您可以再点击一次,建议他会继续往下查找。就像下图中我再点击了一次他的自动调整到下一个的区域402开始,可以通过不停的点击建议地址实现不停往后查找区域空出前面的区域。
那能不能用更直接的方式去设定一个区域呢?其实我们PLC的v存储区域其实还是蛮大的,我完全可以直接分配一个区域给他。那我就可以按下图样操作,我将地址中手动填写vd2000。点击确认即可从vd2000开始分配402个字节。
有很多同学可能在中途会有疑惑输入之后,后面的通过不会修改。但不用担心,当按确认之后它会自动修改。同时需要注意一点,由于您是手动输入的,他不会检查你的范围。请您自己检查一下您的范围是否有其他地方占用,占用之后会导致存储区域存储异常导致库指令无法正常使用。
好的,在这里我们其实已经讲完了库存储器的分配的操作,你设置完成确认之后再去编译即可。
在这边再补充一个知识,有些同学可能在这个窗口中会找到其他的库指令,但那库指令是没有这个设置的。就像下面这个图片是一个模拟量库,他是没有建议地址的。因为我们可以看到它并不需要全局存储区域,所以不需要分配,在使用这些库指令的时候并不会提示您需要分配,所以刚刚那位同学说到的有时候不需要的原因,其实就有这一个的因素存在。