在工业自动化领域,西门子的STEP7编程软件是广泛使用的PLC(可编程逻辑控制器)编程工具。将深入探讨STEP7中的地址概念,帮助读者理解和掌握这一关键知识点。

一、基本地址概念

STEP7中,我们与PLC进行通信时需要使用地址来指定数据的存储位置。地址就像数据的门牌号,告诉CPU数据存储在哪里。基本地址分为输入地址(Inputs)和输出地址(Outputs),以及内部变量地址(Internal Variables)。输入地址通常用于接收来自传感器或外部设备的信号,输出地址则控制执行器的动作,内部变量用于程序内部的数据处理。

二、S7-300/400的地址体系

S7-300S7-400系列PLC采用模块化设计,每个模块有自己的地址空间。输入/输出模块的地址通常以I/O模块的槽号为基础,加上具体的通道号。例如,I0.0表示第一个输入模块的第一个通道,Q1.7表示第二个输出模块的第七个通道。

三、位地址和字节地址

STEP7中,数据以(Bit)、字节(Byte)、(Word)和双字(Double Word)的形式存在。位地址用于控制单个开关状态,如I0.0。字节地址如B3,包含8个位,从B3.0到B3.7。字地址如W5,由两个字节组成,而双字地址D10由四个字节组成。

四、DB块(Data Block)和变量地址

DB块STEP7中存储用户自定义数据结构的地方,可以用来定义复杂的变量。例如,可以创建一个DB块来存储温度、压力等工艺参数。在DB块内的变量地址格式为DB10.DBX2.3,其中DB10是DB块的编号,DBX表示字节地址,2是字节位置,3是位位置。

五、LDB(Local Data Block)和PDB(Process Data Block)

LDB块是用于存储局部变量的,它只在特定的OB(组织块)或FB(功能块)运行时有效。PDB则是过程数据块,用于映射输入/输出数据到实际的I/O模块。

六、符号地址和绝对地址

在编程时,我们可以使用符号地址(如TEMP)代替绝对地址(如DB10.DBX5.2),使代码更易读。符号地址需要在项目中定义,而绝对地址是PLC硬件实际的存储位置。

七、寻址方式

STEP7中,有直接寻址间接寻址两种方式。直接寻址直接引用数据的地址,如W5。间接寻址则通过一个变量(如MW10)来存储地址,然后通过该变量来访问数据,如[MW10]。

八、数组和其他类型地址

STEP7中,可以使用数组存储多个相同类型的数据。数组的地址通常是基于起始地址加上索引值来寻址。