PLC 概念 3
3.1.5 丢失密码后恢复
如果用户丢失受密码保护的 CPU 的密码,则可使用空传送卡删除受密码保护的程序。 空 传送卡将擦除 CPU 内部的装载存储器。 随后可以将新的用户程序从 STEP 7 Basic 下载 到 CPU 中。
有关创建和使用空传送卡的信息,请参见传送卡 (页 69)部分。
警告
如果将传送卡插入正在运行的 CPU 中,CPU 将进入 STOP 模式。控制设备在不安全情 况下运行时可能会出现故障,从而导致受控设备的意外操作。这种意外运行可能会导致 死亡、严重的人员伤害和/或设备损坏。
将 CPU 设置为 RUN 模式之前,必须先取出传送卡。
3.2 数据存储、存储区和寻址
CPU 提供了以下几个选项,用于在执行用户程序期间存储数据:
● 全局储存器: CPU 提供了各种专用存储区,其中包括输入 (I)、输出 (Q) 和位存储器 (M)。 所有代码块可以无限制地访问该储存器
● 数据块 (DB): 可在用户程序中加入 DB 以存储代码块的数据。 从相关代码块开始执 行一直到结束,存储的数据始终存在。 “全局”DB 存储所有代码块均可使用的数据,
而背景 DB 存储特定 FB 的数据并且由 FB 的参数进行构造。
● 临时存储器: 只要调用代码块,CPU 的操作系统就会分配要在执行块期间使用的临 时或本地存储器 (L)。 代码块执行完成后,CPU 将重新分配本地存储器,以用于执行 其它代码块。
每个存储单元都有唯一的地址。 用户程序利用这些地址访问存储单元中的信息。
存储区 说明 强制 保持性
访问 CPU 存储区中的数据
STEP 7 Basic 简化了符号编程。 通常,既可在 PLC 变量(数据块)中创建变量,也可 在 OB、FC 或 FB 顶部的接口中创建变量。 这些变量包括名称、数据类型、偏移量和注 释。 另外,可以在数据块中指定初始值。 在编程时,通过在指令参数中输入变量名称,
可以使用这些变量。 也可以选择在指令参数中输入绝对操作数(存储器、存储区、大小 和偏移量)。 以下各部分的实例介绍了如何输入绝对操作数。 程序编辑器会自动在绝对 操作数前面插入 % 字符。 可以在程序编辑器中将视图切换到以下几种视图之一: 符号、
符号和绝对,或绝对。
I(过程映像输入): CPU 仅在每个扫描周期的循环 OB 执行之前对外围(物理)输入点 进行采样,并将这些值写入到输入过程映像。 可以按位、字节、字或双字访问输入过程 映像。 允许对过程映像输入进行读写访问,但过程映像输入通常为只读。
位 I[字节地址].[位地址] I0.1
字节、字或双字 I[大小][起始字节地址] IB4、IW5 或 ID12
通过在地址后面添加“: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 访问不会影响存储在输入过程映像中的相应值。
位 I[字节地址].[位地址]:P I0.1:P
字节、字或双字 I[大小][起始字节地址]:P IB4:P、IW5:P 或 ID12:P
Q(过程映像输出): CPU 将存储在输出过程映像中的值复制到物理输出点。 可以按 位、字节、字或双字访问输出过程映像。 过程映像输出允许读访问和写访问。
位 Q[字节地址].[位地址] Q1.1
字节、字或双字 Q[大小][起始字节地址] QB5、QW10、QD40
通过在地址后面添加“: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 访问既影响物理输出,也影响存储在输出过程映像中的相应值。
位 Q[字节地址].[位地址]:P Q1.1:P
字节、字或双字 Q[大小][起始字节地址]:P QB5:P、QW10:P 或 QD40:P
M(位存储区): 针对控制继电器及数据的位存储区(M 存储器)用于存储操作的中间 状态或其它控制信息。 可以按位、字节、字或双字访问位存储区。 M 存储器允许读访问 和写访问。
位 M[字节地址].[位地址] M26.7
字节、字或双字 M[大小][起始字节地址] MB20、MW30、MD50
临时(临时存储器): CPU 根据需要分配临时存储器。 CPU 在代码块启动(对于 OB)
临时存储器与 M 存储器类似,但有一个主要的区别: M 存储器在“全局”范围内有效,而 临时存储器在“局部”范围内有效:
● M 存储器: 任何 OB、FC 或 FB 都可以访问 M 存储器中的数据,也就是说这些数据 可以全局性地用于用户程序中的所有元素。
● 临时存储器: 只有创建或声明了临时存储单元的 OB、FC 或 FB 才可以访问临时存储 器中的数据。 临时存储单元是局部有效的,并且不会被其它代码块共享,即使在代码 块调用其它代码块时也是如此。 例如: 当 OB 调用 FC 时,FC 无法访问对其进行调 用的 OB 的临时存储器。
CPU 为三个 OB 优先级组中的每一个都提供了临时(本地)存储器:
● 16 KB 用于启动和程序循环(包括相关的 FB 和 FC)
● 4 KB 用于标准中断事件(包括 FB 和 FC)
● 4 KB 用于错误中断事件(包括 FB 和 FC)
只能通过符号寻址的方式访问临时存储器。
DB(数据块): DB 存储器用于存储各种类型的数据,其中包括操作的中间状态或 FB 的其它控制信息参数,以及许多指令(如定时器和计数器)所需的数据结构。 可以指定 数据块为读/写访问还是只读访问。 可以按位、字节、字或双字访问数据块存储器。 读/写 数据块允许读访问和写访问。 只读数据块只允许读访问。
位 DB[数据块编号].DBX[字节地
址].[位地址]
DB1.DBX2.3
字节、字或双字 DB[数据块编号].DB [大小][起 始字节地址]
DB1.DBB4、
DB10.DBW2、
DB20.DBD8
对 CPU 和 I/O 模块中的 I/O 进行寻址
向组态画面添加 CPU 和 I/O 模块时,系统会自 动分配 I 地址和 Q 地址。
通过在组态画面中选择地址域并键入新编号,可 以更改默认寻址设置。 数字输入和输出按完整 的 8 位字节方式进行分配,无论模块是否使用 所有的点。 模拟输入和输出按每组 2 点(4 个 字节)的方式进行分配。 在此实例中,可以将 DI16 的地址改为 2..3 来替代 8..9。工具可以协 助您更改大小错误或与其它地址相冲突的地址范 围。
图中显示的实例是配有两个 SM 的 CPU 1214C。
3.3 数据类型
数据类型用于指定数据元素的大小以及如何解释数据。 每个指令参数至少支持一种数据 类型,而有些参数支持多种数据类型。 将光标停在指令的参数域上方,便可看到给定参 数所支持的数据类型。
形参指的是指令上标记该指令要使用的数据位置的标识符(例如,ADD 指令的 IN1 输 入)。 实参指的是包含指令要使用的数据的存储单元或常量(例如,%MD400
"Number_of_Widgets")。 用户指定的实参的数据类型必须与指令指定的形参所支持的数 据类型之一匹配。
指定实参时,必须指定变量(符号)或者绝对存储器地址。 变量将符号名(变量名)与 数据类型、存储区、存储器偏移量和注释关联在一起,并且可以在 PLC 变量编辑器或块
(OB、FC、FB 或 DB)的接口编辑器中进行创建。 如果输入一个没有关联变量的绝对 地址,使用的地址大小必须与所支持的数据类型相匹配,而默认变量将在输入时创建。
还可以为许多输入参数输入常数值。 下表列出了受支持的基本数据类型,同时还包括常
数据类型 大小 DWord 32 16#00000000 到 16#FFFFFFFF 16#02468ACE Char 8 16#00 到 16#FF 'A', 't', '@'
Time 32 T#-24d_20h_31m_23s_648ms 到
T#24d_20h_31m_23s_647ms 存储形式:-2,147,483,648 ms 到 +2,147,483,647 ms
BCD32 32 -9999999 到 9999999 1234567, -1234567
实数格式
“MyString[10]”表示为 MyString 指定的最大大小为 10 字节。 如果不包含最大大小说明符 括号,则假定最大大小为 254 字节。
● lo - 数组的起始(最低)下标
最小: DTL#1970-01-01-00:00:00.0
最大: DTL#2554-12-31-23:59:59.999 999 999
DTL#2008-12-16-20:30:20.250
DTL 的每一部分均包含不同的数据类型和值范围。 指定值的数据类型必须与相应部分的 数据类型相一致。
Byte 组件 数据类型 值范围
0 1
年 UINT 1970 到 2554
2 月 USINT 1 到 12
3 日 USINT 1 到 31
4 星期几 USINT 1(星期日)到 7(星期六)
工作日不包括在值条目内。
5 小时 USINT 0 到 23
6 分 USINT 0 到 59
7 秒 USINT 0 到 59
8 9 10 11
纳秒 UDINT 0 到 999 999 999
3.4 使用存储卡
注意
CPU 仅支持预格式化的 SIMATIC 存储卡 (页 372)。 如果使用 Windows 格式化程序对 SIMATIC 存储卡重新进行格式化,CPU 将无法使用该重新格式化的存储卡。
在将程序复制到格式化的存储卡之前,请删除存储卡中以前保存的所有程序。
将存储卡用作传送卡或程序卡。 复制到存储卡中的任何程序均包括所有代码块和数据 块、所有工艺对象和设备配置。 程序不包含强制值。
● 使用传送卡将程序复制到 CPU 的内部装载存储器,而无需使用 STEP 7 Basic。 插入 传送卡后,CPU 首先擦除内部装载存储器中的用户程序和所有强制值,然后将程序从 传送卡复制到内部装载存储器。 传送过程完成后,必须取出传送卡。
● 使用传送卡将程序复制到 CPU 的内部装载存储器,而无需使用 STEP 7 Basic。 插入 传送卡后,CPU 首先擦除内部装载存储器中的用户程序和所有强制值,然后将程序从 传送卡复制到内部装载存储器。 传送过程完成后,必须取出传送卡。