西门子模块6ES7334-0KE00-0AB0性能参数
step7 中的ob,fc,fb,db 都可以设置一些特殊属性,本文介绍这些属性的含义及设置方法。选中ob,fc,fb,db,在右键菜单中找到“bbbbbb property”,打开如下属性页。
图 1 fc 的属性页
db is write-protected in the:
db 块特有的属性,勾选后db块写保护。程序执行时只能读取db中的内容,不能修改其中的内容。尝试向写保护的db中写入数据会导致cpu 报编程错误。如果没有下载ob121会导致cpu停机。
standard block:
西门子的标准块,已经包含 know how protection,包含 name,version,family,author 信息。这个复选框是只读的,无法修改。
know-how protection:
勾选后无法看到程序块的代码,只能看到接口信息。在这儿是只读的。需要通过编译源文件增加这个属性。具体如下
打开要设置该属性的程序块,在“file”菜单中选择“generate source”,打开如图2的界面。在左侧选中“sources”目录,“bbbbbb name”填写要生成的源文件的名字。后按确认键,打开图3所示的界面。
图 2 生成源文件步
在图3的界面中左侧是未选中的程序块,右侧是已经选中的程序块。点击向左或向右的箭头可以将程序块在两侧移动。如我们只生成fc2的源文件,只需将fc2移动到右侧。点击确认按钮就会自动在 “source”文件夹下生成名字“bb”的源文件。
打开“bb”源文件,在图4中所示的位置添加 “know_how_protect”。然后保存。在源文件编辑器的“file”菜单中找到“compile”子菜单,点击确认,更改过的原文件会重新在“block”目录中生成 fc2。注意编译前要关掉之前打开的fc2程序块。编译完成后,回到“block”中再检查 fc2 ,会发现fc2的图标已经有了一个加锁的标记。打开fc2 无法看到内部的程序,只能看到接口信息。
图 3 生成源文件第二步
图 4 在源文件中添加know_how_protect 属性
unbbbbed:
只有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中的内容。
图 5 store read-only
s7-300/400 cpu在下载用户程序后,会出现cpu处于停止状态,stop和sf指示灯亮的现象。在线查看cpu的诊断缓冲区,会出现两种现象:
1、条显示由io访问错误引起的停止模式,第二条显示i/o访问错误(见图1)。
图1 io访问错误
图1中的第二条诊断信息显示的含义是:
i/o access error,writing——说明对一个输出地址进行写数据操作时发生错误。
p area,word access,access address:200——说明是使用立即访问方式,字地址200。这两条合起来就说明对pqw200进行写操作时发生了错误。出现这样的错误多是程序中对pqw200这个地址进行了赋值,而实际的硬件配置中并没有分配pqw200这个地址。
2、或者是条显示由编程错误引起的停止模式,第二条显示区域长度错误(见图2)。
图2 区域长度错误
图2中的第二条诊断信息显示的含义是:
area length error when reading——说明读取一个地址时发生长度错误。
bbbbbb db,word access,access address:2——说明是访问db块中字地址2。这两条合起来就说明对全局db块中dbw2进行读取时发生了错误。这样的错误多是由于程序中使用了db块中的某个数据,但是db块实际长度并没有包含所使用的地址造成的。
解决办法
出现上面两种编程使用错误地址导致cpu停机的情况时,除了可以根据诊断信息分析出错误地址然后使用交叉索引找到相应的语句外,还有一个更加简便的办法。打开cpu诊断缓冲区,鼠标点中条诊断信息,接着再点击下面的“open block”按钮,会直接打开相应的错误语句。下面举例说明。图3中的诊断信息显示编程错误导致的停止,错误的原因是区域长度错误。点中“open block”按钮,自动定位到程序中的错误语句(图4),里面使用到地址db1.dbw2。打开db1发现实际长度只有2个字节(图5),不存在dbw2这个地址,所以才产生错误。造成io访问错误的语句也可以通过此方法查找。
图3 open block
图4 错误语句
图5 db1实际长度
pcs 7系统支持多语言的功能,既可以在运行环境下通过语言切换界面进行显示语言(操作面板文本、报警文本)的切换,又可以在组态界面中通过相应的语言切换菜单切换组态界面的语言显示(step 7菜单、wincc菜单等)。pcs 7从v6.1版本开始,到现在的v7.0版本、v7.1版本均支持中文语言。实际项目使用过程中,如果希望使用pcs 7的多语言功能,正确的设置操作系统的语言选项、pcs 7项目的语言选项变得非常重要。下面举三个实际的案例,为大家讲解正确的语言设置过程。
案例1:安装pcs 7中文版后,在cfc编程中调入pcs 7库中的功能块时,相应的管脚显示为乱码,os运行环境下相应功能块的面板中显示的文本也为乱码,如下图所示。
图 1 功能块管脚文本显示为乱码
图 2 报警文本及报警列显示问号
该问题主要是因为安装的英文操作系统的区域语言设置不正确,未打开操作系统的中文语言支持导致的。请参考如下步骤进行正确的操作系统区域语言设置。
1. 根据相应pcs 7版本要求安装对应的英文操作系统后,打开操作系统的控制面板,双击区域语言设置选项。
图 3 打开区域语言设置选项
2. 分别进行如下设置:
图 4 为standard and bbbbat选择chinese prc
图 5 打开东方亚洲语言支持
图 6 为unicode programs选择chinese prc,并打开简体中文支持
进行上述设置后,即可在系统中正确显示中文语言和进行中文字符的输入。
案例2:安装pcs 7英文版,运行os,功能块的弹出面板显示文本为空,系统报警文本也为空,如下图所示。
图 7 面板显示文本为空
图 8 报警文本为空
该问题主要是因为pcs 7项目中显示语言设置不正确,英文的pcs 7系统中激活了中文语言支持导致的。请参考如下步骤进行正确的pcs 7项目语言设置。
1. 创建pcs 7项目后,点击options菜单®lanuage for display devices...。
图 9 打开项目语言设置对话框
2. 参考下图进行正确的语言设置,从左侧available languages中选择english (united states)到右侧的installed languages in project,去除chinese (prc)。并选择english (united states)后,点击下侧的set as default将英文设置为项目的默认语言,点击ok按钮关闭该对话框。
图 10 选择安装英文语言,并设置英文语言为默认语言选项
3. 打开os项目,选择computer? properties打开计算机属性对话框。
图 11 打开项目的计算机属性设置对话框
4. 参考下图,将运行语言和默认语言设置为english。
图 12 设置运行语言和默认语言为english
进行上述设置后,即可在os中正确显示文本。
需要注意的是pcs 7英文版不支持中文语言和英文语言的切换功能,所以如果希望在项目中支持英文和中文语言的切换功能,则必须安装pcs 7中文版。安装pcs 7中文版后,上图中的图 10的内容需要进行如下设置,安装中文语言支持和设置中文为默认语言。
图 13 项目语言设置中安装中文语言及设置中文为默认语言
案例3:在某台工程师站组态的pcs 7项目拷贝到另外一台工程师站后,无法通过pcs 7打开该项目,选择该项目打开时,系统提示如下对话框。
图 14 无法打开项目,语言不兼容
如果该项目为多项目,则会显示如下内容。
图 15 多项目中显示该项目语言不兼容
该问题主要是因为未打开项目的多语言兼容模式导致的。pcs 7系统为规避文本显示乱码的问题,默认将多语言兼容模式关闭,可参考如下步骤打开该功能。
1. 创建pcs 项目后,点击右键打开项目属性对话框。
图 16 打开项目属性对话框
2. 激活多语言兼容模式选项。
图 17 激活多语言支持模式
进行上述设置后,即可正常打开该项目。