您好,杭州萧优自动化科技有限公司网站欢迎您!
6ES7288-2DE08-0AA0西门子
SIMATIC S7-200 SMART, 数字输入 SM DI08, 8 DI,24V DC,灌电流/拉电流
或者双击表名称。
系统符号表
还可在项目中使用系统符号表中的符号。预定义的系统符号表提供了对常用 PLC 特殊存
储器 (页 979)地址的访问。
编程概念
5.5 符号表
S7-200 SMART
122 系统手册, V2.5, 01/2020, A5E03822234-AI
如果项目的系统符号表丢失,请按以下步骤插入:
1. 在项目树中右键单击“符号表”(Symbol Table)
2. 从快捷菜单中选择“插入 > 系统符号表”(Insert > System Symbol Table) 命令。
在符号表中分配 符号
要将符号分配给地址或常数值,请按以下步骤操作:
1. 打开符号表。
2. 在“符号”(Symbol) 列中键入符号名(例如,Input1)。符号名可包含的大字符数为
23 个单字节字符。
说明
在为符号地址或常数值之前,该符号一直显示为未定义符号(绿色波浪下划
线)。在完成“地址”(Address) 列分配后,STEP 7-Micro/WIN SMART 将移除绿色波浪
下划线。
如果已选择同时显示项目操作数的符号视图对视图,则程序编辑器中较长的符号
名将以波浪号 (~) 截断。您可将鼠标光标放在被截断的名称上,以查看在工具提示中
显示的全名。
3. 在“地址”(Address) 列中键入地址或常数值(例如,VB0 或 123)。请注意,在为符号
分配字符串常量时,需要用双引号将该字符串常量括起来。
4. 也可以键入长为 79 个字符的注释。
可根据需要在符号表编辑器中调整列宽。
说明
可创建多个符号表;但是,在进行全局符号分配时,不可多次使用同一符号名。
相反,可在变量表中重复使用符号名。语法规则和错误指示
STEP 7-Micro/WIN SMART 通过彩色和波浪下划线来指示错误或不完整的符号分配:
红色文本表示语法无效。
符号不能以数字开头。
VBB0 为无效地址。
Begin 为预留的字,是无效的符号名。
红色波浪下划线表示用法无效。
Pump1 和 SymConstant 是重复的符号名。
I0.0 是重复的地址。
绿色波浪下划线表示未定义符号。
Pump1 没有地址。
定义符号时应遵守以下语法规则:
● 符号名可包含字母数字字符、下划线以及从 ASCII 128 到 ASCII 255 的扩充字符。第
一个字符不能为数字。
● 使用双引号将给符号名的 ASCII 常量字符串括起来。
● 使用单引号将字节、字或双字存储器中的 ASCII 字符常量括起来。
● 不要使用关键字作为符号名。
● 符号名的大长度为 23 个字符。
说明
在更正错误的符号名或地址后,按下 TAB 键、ENTER 键或箭头键来完成已编辑的更
正。
间接寻址
在程序编辑器中引用符号时,可以像直接地址一样对符号名使用间接记号(& 和 *)。有
关间接寻址的详细信息,请参见直接和间接寻址的相关主题。
编程概念
5.5 符号表
S7-200 SMART
124 系统手册, V2.5, 01/2020, A5E03822234-AI
查看重叠 符号和未使用的符号
STEP 7-Micro/WIN SMART 以 图标指示重叠符号,以 图标指示未使用的符号。在
下面的符号表中,符号 S1 和 S2 重复使用 VB0 存储器地址。另外,符号 S1 未在项目中
使用。
插入附加行
使用以下方法之一可在符号表中插入附加行:
● 右键单击符号表中的单元格,从上下文菜单中选择“插入 > 行”(Insert > Row)。
STEP 7-Micro/WIN SMART 将新行插入到当前位置上方。
● 在“编辑”(Edit) 菜单功能区的“插入”(Insert) 区域中,选择“行”(Row)。
STEP 7-Micro/WIN SMART 将新行插入到符号表中光标所在位置上方。
● 要在符号表底部插入新行,可将光标放在后一行的任意一个单元格中,然后按“下箭
头”键。
对符号表排序
可以基于“符号”(Symbol) 或“地址”(Address) 列按字母升序或降序对符号表进行排序。在
“地址”(Address) 列中,数字常量排在字符串常量之上,字符串常量又在地址之上。
要对列进行排序,可单击“符号”(Symbol) 或“地址”(Address) 列标题来按相应的值进行排
序。要颠倒排序顺序,可再次单击该列。STEP 7-Micro/WIN SMART 在排序的列旁边显
示一个向上或向下箭头,用于指示排序选择。
说明
可从“文件”(File) 菜单功能区的“打印”(Print) 区域打印符号表。
可通过显示符号信息表来按网络查看符号。
编程概念
5.6 变量表
S7-200 SMART
系统手册, V2.5, 01/2020, A5E03822234-AI 125
5.6 变量表
通过变量表,可定义对特定 POU 局部有效的变量。在以下情况下使用局部变量:
● 您要创建不引用地址或全局符号的可移值子例程。
● 您要使用临时变量(声明为 TEMP 的局部变量)进行计算,以便释放 PLC 存储器。
● 您要为子例程定义输入和输出。
如果以上描述对您的具体情况不适用,则无需使用局部变量;可在符号表 (页 121)中定义
符号值,从而将其全部设置为全局变量。
了解局部变量
您可以使用程序编辑器的变量表来分配对个别子例程或中断例程的变量。
局部变量可用作传递至子例程的参数,并可用于增加子例程的移植性或重新使用子例程。
程序中的每个 POU (页 109) 都有自身的变量表,并占 L 存储器的 64 个字节(如果在
LAD 或 FBD 中编程,则占 60 个字节)。借助局部变量表,可对特定范围内的变量进行
定义:局部变量仅在创建时所处的 POU 内部有效。相反,在每个 POU 中均有效的全局
符号只能在符号表中定义。当您为全局符号和局部变量使用相同的符号名时(例如
INPUT1),在定义局部变量的OU 中局部定义优先,在其他 POU 中使用全局定义。
在局部变量表中进行分配时,声明类型(TEMP、IN、IN_OUT 或 OUT)和数据类
型,但不要存储器地址;程序编辑器自动在 L 存储器中为所有局部变量分配存储器位
置。
变量表符号地址分配将符号名称与存储相关数据值的 L 存储器地址进行关联。局部变量表
不支持对符号名称直接赋值的符号常数(这在符号/全局变量表中是允许的)。
说明
PLC 不会将本地数据值初始化为零。您必须在程序逻辑中初始化所用局部变量。
局部变量的声明类型
可进行的局部变量分配类型取决于在其中进行分配的 POU。主程序 (OB1)、中断例程和
子例程可使用临时 (TEMP) 变量。只有在执行块时,临时变量才可用,块执行完成后,临
时变量可被覆盖。
编程概念
5.6 变量表
S7-200 SMART
126 系统手册, V2.5, 01/2020, A5E03822234-AI
数据值可以作为参数与子例程间进行传递,具体如下所述:
● 如果要将数据值传递至子例程,则在子例程变量表中创建一个变量,并将其声明类型
为 IN。
● 如果要将子例程中建立的数据值传回至调用例程,则在子例程的变量表中创建一个变
量,并将其声明类型指 OUT。
● 如果要将初始数据值传递至子例程,则执行一项可修改数据值的操作,并将修改后的
结果传回至调用例程,然后在子例程变量表中创建一个变量,并将其声明类型为
IN_OUT。
声明类型 说明
IN 调用 POU 提供的输入参数。
OUT 返回到调用 POU 的输出参数。
IN_OUT 参数,其值由调用 POU 提供、由子例程修改,然后返回到调用
POU。
TEMP 临时保存在局部数据堆栈中的临时变量。一旦 POU 完全执行,临时变
量值不再可用。在两次 POU 执行之间,临时变量不保持其值。
局部变量的数据类型检查
将局部变量作为子例程参数传递时,在该子例程局部变量表中的数据类型必须与调用
POU 中值的数据类型相匹配。
示例
您从 OB1 调用 SBR0,将称为 INPUT1 的全局符号用作子例程的输入参数。
在 SBR0 的局部变量表中,您已经将一个称为 FIRST 的局部变量定义为输入参数。
当 OB1 调用 SBR0 时,INPUT1 的值被传递至 FIRST。
INPUT1 和 FIRST 的数据类型必须匹配。
如果 INPUT1 是实数,FIRST 也是实数,则数据类型匹配。如果 INPUT1 是实数,但
FIRST 是整数,则数据类型不匹配,只有纠正了这一错误,程序才能编译。
编程概念
5.6 变量表
S7-200 SMART
系统手册, V2.5, 01/2020, A5E03822234-AI 127
查看变量表
要查看在程序编辑器中选择的 POU 的变量表,在“视图”(View) 菜单的“窗口”(Windows)
区域中,从“组件”(Component) 下拉列表中选择“变量表”(Variable table)。
说明
可将变量表放在快速访问工具栏 (页 109)上以便于访问。
在变量表中赋值
说明
在程序中使用局部变量 之前,先在变量表中赋值。在程序中使用符号名时,程序编辑器首
先检查相应 POU 的局部变量表,然后检查符号表。如果符号名在这两处均未定义,程序
编辑器则将之视为未定义的全局符号;此类符号用绿色波浪下划线加以指示。程序编辑器
不会自动重新读取变量表并对您的程序逻辑做出更正。如果以后对该符号名称的数据类型
分配进行定义(在局部变量表中),必须在符号名称前手动插入一个井号 (#),例如:
#UndefinedLocalVar(在程序逻辑中)因此,在使用之前声明变量可将编程工作量降至
低。
每个子例程调用的输入/输出参数的大限制是 16。如果尝试下载一个超出此项限制的程
序,STEP 7-Micro/WIN SMART 返回错误。
编程概念
5.6 变量表
S7-200 SMART
128 系统手册, V2.5, 01/2020, A5E03822234-AI
要在变量表中赋值,按以下步骤操作。
1. 确保正确的 POU 在程序编辑器窗口中显示(如有必要,通过单击所需 POU 的选项
卡)。(由于每个 POU 都有自己的变量表,所以需要确保对正确的 POU 赋值。)
2. 如果变量表尚不可见,则将其显示出来,方法是在“视图”(View) 菜单的“窗
口”(Windows) 区域内,从“组件”(Component) 下拉列表中选择“变量表”(Variable
Table)。
3. 选择变量类型与要定义的变量类型相符的行,然后在“符号”(Symbol) 字段输入变量名
称。如果在 OB1 或中断例程中赋值,变量表只含 TEMP 变量。如果在子例程中赋
值,变量表包含 IN、IN_OUT、OUT 和 TEMP 变量。在变量表中不要在名称前加上星
号。井号只用在程序代码中的局部变量前。
说明
局部变量名称允许包含字母数字字符和下划线的数量多为 23 个,也允许包含扩展字
符(ASCII 128 至 ASCII 255)。个字符仅限使用字母和扩充字符。不允许使用关
键字作为符号名,也不允许使用以数字开头的名称,或者包含非字母数字或扩展字符
集中的字符的名称。
局部变量名称下载到 CPU 存储器并存储在其中。使用较长的变量名称可能会降低可用
于存储程序的存储器。
4. 在“数据类型”(Data Type) 字段中单击鼠标指针,并使用列表框为局部变量选择适当的
数据类型。
说明
将局部变量为子例程参数时,必须确保分配给局部变量的数据类型不与子例程调
用中正在使用的操作数发生冲突。
5. 也可提供注释,描述局部变量。
为“符号”(Symbol) 和“数据类型”(Data Type) 字段提供值后,程序编辑器自动将 L 存储器
地址分配给局部变量。
输入附加变量
变量表显示固定数目的局部变量行。要在表中添加更多行数,需在变量类型表中选择要添
加的行,然后单击变量表窗口中的“插入”(Insert) 按钮 。系统将自动在所选行的上方生
成新行,其变量类型与所选变量类型相同。
还可右键单击现有行,然后从上下文菜单中选择“ “ 插入 > 行 ”(Insert > Row) 或“ “ 插入 > 下一
行 行 ”(Insert > Row Below) 来添加行。
编程概念
5.6 变量表
S7-200 SMART
系统手册, V2.5, 01/2020, A5E03822234-AI 129
删除变量
要删除局部变量,需在变量表中选中此变量,然后单击“删除”(Delete) 按钮 。也可删除
一行,方法是右键单击该行,然后从上下文菜单中选择“ “ 删除 > 行 ”(Delete > Row)。
变量表示例
下例显示 SBR_0 的典型变量表,以及通过另一程序块对 SBR_0 的调用。
参见
编程软件 (页 29)
编程概念
5.7 PLC 错误响应
S7-200 SMART
130 系统手册, V2.5, 01/2020, A5E03822234-AI
5.7 PLC 错误响应
单击“PLC”菜单功能区“信息”(Information) 部分中的“PLC”按钮,查看当前状态。
“PLC 信息”(PLC Information) 对话框显示以下内容:
“PLC 信息”(PLC Information) 对话框提供以下树形条目,用于状态检查:
● 系统 (System):
– 连接的 CPU:连接的 CPU 名称,例如 CPU ST 60。
– 已组态的 PROFINET 设备:已组态的 PROFINET 设备名称,例如设备 1。
● 事件日志 (Event Log)
● PROFINET 警告 (PROFINET Alarm)
● 扫描速率 (Scan Rates)
编程概念
5.7 PLC 错误响应
S7-200 SMART
系统手册, V2.5, 01/2020, A5E03822234-AI 131
说明
“刷新”(Refresh) 按钮用于更新 PLC 信息。无论在何处单击“刷新”(Refresh) 按钮,都会更
新所有 PLC 信息。
“固件更新”(Firmware Update) 按钮用于更新固件。
请注意以下信息:
● PLC 为编程的错误反应提供 SM 位。请参见 SM 位 (页 979)的列表。
● GET_ERROR(获取非致命错误代码)程序指令将返回 PLC 当前的非致命错误代码
并清除 PLC 中锁存的非致命错误信息。有关详细信息,请参见 GET_ERROR 指令
(页 370)。
5.7.1 系统信息
5.7.1.1 系统
编程概念
5.7 PLC 错误响应
S7-200 SMART
132 系统手册, V2.5, 01/2020, A5E03822234-AI
“系统”(System) 对话框显示以下信息:
● 状态 (Status):系统状态
– 操作模式:PLC 操作模式(RUN 或 STOP)
– 系统状态:系统状态(正常或故障)
– 强制状态:变量是否为强制
● 已连接的扩展模块 (Connected Extend Modules):扩展模块和 CPU 信号板的状态
● 已组态的 PROFINET 设备 (Configured PROFINET Devices):PROFINET 设备的状
态
状态如下:
– 未连接 (Not connected):控制器无法连接设备。
– 正常 (OK)
– 诊断 (Diagnosis):报告警告。
5.7.1.2 CPU
CPU 对话框如下:
编程概念
5.7 PLC 错误响应
S7-200 SMART
系统手册, V2.5, 01/2020, A5E03822234-AI 133
CPU 对话框显示以下信息:
● 连接的 CPU:CPU 的型号
该对话框列出以下 CPU 信息:
– 订货号 (Order Number)
– 硬件版本 (Hardware Revision)
– 序列号 (Serial number)
– 固件版本 (Firmware version)
● 错误:错误信息。要确定具体错误,请参阅错误代码 (页 975)。
– 当前致命错误 (Current Fatal Error):新的致命错误
– 上一个致命错误 (Last Fatal Error):“上一个致命错误”(Last Fatal Error) 字段显示
CPU 生成的上一个致命错误代码。重启后会保留该值。只要清除了 CPU 的所有内
存,就会清除此位置。
– 当前非致命错误 (Current Non-Fatal Error):新的非致命错误
– 当前 I/O 错误 (Current I/O Error):新的 I/O 错误
● 智能设备识别 (I-Device Identification):智能设备信息。
说明
如果 CPU 用作智能设备,则 CPU 对话框会显示智能设备识别信息。
– 上位控制器的 IP 地址 (IP Address of Higher-level Controller):如果上位控制器与
智能设备未连接,则在此显示“--.--.--.--”。
– 与上位控制器的连接状态 (Connection Status with Higher-level Controller):
未连接 (Not connected):智能设备与上位控制器未连接。
诊断 (Diagnosis):智能设备与上位控制器相连接,但智能设备组态与上位控制器组
态不匹配。
正常 (OK)
– 与上位控制器的 IO 状态 (IO Status with Higher-level Controller):
未连接 (Not connected):智能设备与上位控制器未连接。
IO 数据错误 (IO data error)
正常 (OK)
编程概念
5.7 PLC 错误响应
S7-200 SMART