STEP7 中的OB,FC,FB,DB 都可以设置一些特殊属性,本文介绍这些属性的含义及设置方法。选中OB,FC,FB,DB,在右键菜单中找到“Object Property”,打开如下属性页。
DB is write-protected in the plc:
DB 块特有的属性,勾选后DB块写保护。程序执行时只能读取DB中的内容,不能修改其中的内容。尝试向写保护的DB中写入数据会导致CPU 报编程错误。如果没有下载OB121会导致CPU停机。
Standard block:
西门子的标准块,已经包含 Know how protection,包含 Name,Version,Family,Author 信息。这个复选框是只读的,无法修改。
Know-how protection:
勾选后无法看到程序块的代码,只能看到接口信息。在这儿是只读的。需要通过编译源文件增加这个属性。具体如下
打开要设置该属性的程序块,在“File”菜单中选择“Generate source”,打开如图2的界面。在左侧选中“Sources”目录,“Object name”填写要生成的源文件的名字。最后按确认键,打开图3所示的界面。
在图3的界面中左侧是未选中的程序块,右侧是已经选中的程序块。点击向左或向右的箭头可以将程序块在两侧移动。如我们只生成FC2的源文件,只需将FC2移动到右侧。点击确认按钮就会自动在 “Source”文件夹下生成名字“BB”的源文件。
打开“BB”源文件,在图4中所示的位置添加 “KNOW_HOW_PROTECT”。然后保存。在源文件编辑器的“File”菜单中找到“Compile”子菜单,点击确认,更改过的原文件会重新在“Block”目录中生成 FC2。注意编译前要关掉之前打开的FC2程序块。编译完成后,回到“Block”中再检查 FC2 ,会发现FC2的图标已经有了一个加锁的标记。打开FC2 无法看到内部的程序,只能看到接口信息。
图 4 在源文件中添加KNOW_HOW_PROTECT 属性
Unlinked:
只有DB块可以勾选该属性,默认是不勾选的。勾选后DB块只保存在装载内存中,不会下载到工作内存。勾选该属性的DB块不能用通常的方式访问,只能用SFC20 BLKMOV 或 SFC83 READ_DBL 访问。Non Retain:
只有DB块可以勾选该属性,默认是不勾选的。只有CPU支持时该选项才有用。勾选该选项后DB块中的当前值不会掉电保持,下次上电时或者CPU 从 STOP 切换到RUN 时DB块中的数据会恢复到初始值。CPU 是否支持Non Retain 请参考CPU技术参数手册。不支持该属性的CPU勾选后不会有任何作用。
Block read-only:
该选项如果勾选,程序是只读的,无法修改。无法直接勾选设置,设置方式如下:
打开要设置该属性的程序块,在“File”菜单中找到“Store Read-Only”,在第一个弹出对话框中直接点击确认。在第二次弹出的对话框中,点击“Rename”,将名字FC4更改为FC5。点击确认后,会另存为一个只读的FC5。打开FC5时,会提示该程序是只读的。只能浏览,在线监控,无法修改FC5中的内容。