我是这样用停车场的概念来理解DB块的,也不知道对不对,请大家指教。
西门子S7-300PLC中,在用I、Q、M、C、T等这些地址编程的时候,PLC就为这些地址要存储数据划出一个固定的存储区域来存储这些地址上的数据,不管这个地址里面有没有数据,这些存储区域都固定分配给它,就好像停车场里面的专用停车位,不管这个专用停车位上有没有车停,这个位置是专门给这辆车的,别的车不能停在上面。而DB块占用的存储区域,就像公用的停车位,DB块里有数据,那么它就占用公用的存储区域,当DB块里没有数据的时候该存储区域将腾出来供其它数据使用,就像公用的停车场,一辆车开走了,车位空出来,其它的车子来了可以停进去。利用DB块来提高PLC的存储区域利用率。
DB块分全局数据块和背景数据块,像你说的和FB块对应的DB块就是背景数据块,可以在建立DB块的时候选择和相应的FB块对应,也可以在调用FB块的时候生成。