STEP 7简化了符号编程。用户为数据地址创建符号名称或“变量”,作为与存储器地址和I/O点相关的PLC变量或在代码块中使用的局部变量。要在用户程序中使用这些变量,只需输入指令参数的变量名称,系统的存储区如表8-14所示。
表8-14 系统存储区
为了更好地理解CPU的存储区结构及其寻址方式,以下段落将对PLC变量所引用的“绝对”寻址进行说明。CPU提供了以下几个选项,用于在执行用户程序期间存储数据:
(1)全局储存器:CPU提供了各种专用存储区,其中包括输入(I)、输出(Q)和位存储器(M)。所有代码块可以无限制地访问该储存器。
(2)PLC变量表:在STEP 7 PLC变量表中,可以输入特定存储单元的符号名称。
这些变量在STEP 7程序中为全局变量,并允许用户使用应用程序中有具体含义的名称进行命名。
(3)数据块(DB):可在用户程序中加入DB以存储代码块的数据。从相关代码块开始执行一直到结束,存储的数据始终存在。“全局”DB存储所有代码块均可使用的数据,而背景DB存储特定FB的数据并且由FB的参数进行构造。
(4)临时存储器:只要调用代码块,CPU的操作系统就会分配要在执行块期间使用的临时或本地存储器(L)。代码块执行完成后,CPU将重新分配本地存储器,以用于执行其他代码块。
每个存储单元都有唯一的地址。用户程序利用这些地址访问存储单元中的信息。对输入(I)或输出(Q)存储区(如I0.3或Q1.7)的引用会访问过程映像。要立即访问物理输入或输出,请在引用后面添加“:P”(例如:I0.3:P、Q1.7:P或"Stop:P")。
绝对地址由以下元素组成:
• 存储区标识符(如I、Q或M)。
• 要访问的数据的大小(“B”表示Byte,“W”表示Word,“D”表示DWord)。
• 数据的起始地址(如字节3或字3)。
访问布尔值地址中的位时,仅需输入数据的存储区、字节位置和位位置(如I0.0、Q0.1或M3.4),不要输入大小的助记符号。
图8-22 位寻址图
本示例中,存储区和字节地址(M代表位存储区,3代表Byte3)通过后面的句点(“.”)与位地址(位4)分隔。
1.过程映像输入/输出
CPU仅在每个扫描周期的循环OB执行之前对外围(物理)输入点进行采样,并将这些值写入输入过程映像。可以按位、字节、字或双字访问输入过程映像。允许对过程映像输入进行读写访问,但过程映像输入通常为只读。
通过在地址后面添加“:P”,可以立即读取CPU、SB、SM或分布式模块的数字量和模拟量输入。使用I_:P访问与使用I访问的区别是:前者直接从被访问点而非输入过程映像获得数据。这种I_:P访问称为“立即读”访问,因为数据是直接从源而非副本获取的,这里的副本是指在上次更新输入过程映像时建立的副本。因为物理输入点直接从与其连接的现场设备接收值,所以不允许对这些点进行写访问。即与可读或可写的I访问不同的是:I_:P访问为只读访问。I_:P访问也仅限于单个CPU、SB或SM所支持的输入大小(向上取整到最接近的字节)。例如,如果2 DI/2 DQ SB的输入被组态为从I4.0 开始,则可按I4.0:P和I4.1:P形式或者按IB4:P形式访问输入点。此时不会拒绝I4.2:P到I4.7:P的访问形式,但这种访问没有任何意义,因为这些点未使用;不允许IW4:P和ID4:P的访问形式,因为它们超出了与该SB相关的字节偏移量。使用I_:P访问不会影响存储在输入过程映像中的相应值。
CPU将存储在输出过程映像中的值复制到物理输出点。可以按位、字节、字或双字访问输出过程映像。过程映像输出允许读访问和写访问。(www.xing528.com)
通过在地址后面添加“:P”,可以立即写入CPU、SB、SM或分布式模块的物理数字量和模拟量输出。使用Q_:P访问与使用Q访问的区别是:前者除了将数据写入输出过程映像外还直接将数据写入被访问点(写入两个位置)。这种Q_:P访问有时称为“立即写”访问,因为数据是被直接发送到目标点;而目标点不必等待输出过程映像的下一次更新。因为物理输出点直接控制与其连接的现场设备,所以不允许对这些点进行读访问。即与可读或可写的Q访问不同的是:Q_:P访问为只写访问。Q_:P访问也仅限于单个CPU、SB或SM所支持的输出大小(向上取整到最接近的字节)。例如,如果2 DI/2 DQ SB的输出被组态为从Q4.0开始,则可按Q4.0:P和Q4.1:P形式或者按QB4:P形式访问输出点。此时不会拒绝Q4.2:P到Q4.7:P的访问形式,但这种访问没有任何意义,因为这些点未使用;不允许QW4:P和QD4:P的访问形式,因为它们超出了与该SB相关的字节偏移量。
使用Q_:P访问既影响物理输出,也影响存储在输出过程映像中的相应值。
2.位存储器区
针对控制继电器及数据的位存储区(M存储器)用于存储操作的中间状态或其他控制信息。可以按位、字节、字或双字访问位存储区。M存储器允许读访问和写访问。
3.数据块
数据块(Data Block)简称DB,用来存储代码块使用的各种类型的数据,包括中间操作状态或FB的其他控制信息参数,以及某些指令(如定时器、计数器指令)需要的数据结构。
数据块可以按位(如DB1.DBX3.5)、字节(如DBB)、字(如DBW)、双字(如DBD)来访问。在访问数据块中的数据时,应指明数据块的名称,如DB1.DBW20。
如果启用了块属性“优化的块访问”,不能用绝对地址访问数据块和代码块的接口区中的临时局部数据。
4.临时存储器
CPU根据需要分配临时存储器。启动代码块(对于OB)或调用代码块(对于FC或FB)时,CPU将为代码块分配临时存储器并将存储单元初始化为0。
临时存储器与M存储器类似,但有一个主要的区别:M存储器在“全局”范围内有效,而临时存储器在“局部”范围内有效。
M存储器:任何OB、FC或FB都可以访问M存储器中的数据,也就是说这些数据可以全局性地用于用户程序中的所有元素。
临时存储器:CPU限定只有创建或声明了临时存储单元的OB、FC或FB才可以访问临时存储器中的数据。临时存储单元是局部有效的,并且其他代码块不会共享临时存储器,即使在代码块调用其他代码块时也是如此。例如:当OB调用FC时,FC无法访问对其进行调用的OB的临时存储器。
习 题
1.CPU 1214C最多可以扩展多少个信号模块?多少个通信模块?信号模块、通信模块都安装在CPU的哪一侧?
2.S7-1200的硬件主要由哪些部件组成?
3.信号模块是哪些模块的总称?
4.S7-1200有哪些数据类型?
5.S7-1200可以使用哪些编程语言?
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。