全国服务热线: 15821971992

西门子6ES7223-1PH22-0XA8

发布日期 :2023-07-19 17:06发布IP:116.224.103.5编号:11991537
品牌:
西门子
型号:
模块
产地:
德国
分 类
负荷开关
单 价
电议
有效期至
长期有效
咨询电话
15821971992
手机
15821971992
Email
2724917714@qq.com
让卖家联系我
详细介绍
Local data顾名思义为本地数据,在西门子控制器中有一部分内存空间被设置为L区间,它被用于控制器在运行程序时存储临时数据。由于编写FB/FC程序的需要和OB中调用功能块结构的不同,不同的OB由于调用不同的FB/FC,因此所需的Local data的大小各不相同(被调用的FB/FC将占用当前调用他的OB块的Local Data资源)。在控制器硬件组态中的CPU属性设置中,Memory选项卡用于设置Local data的分配。如果相应OB块实际运行所需的Local data大于硬件组态中所设置的Local Data大小,那么相应的程序将无法运行,CPU将报告INTF错误,甚至更为严重的情况下CPU可能会停止运行。但如果盲目将Local Data的分配设置过大,将会浪费一部分宝贵的CPU内存空间。
S7 300CPU中的Local data不可修改,每个优先级固定设置为256 bytes,S7 400的Local data则可以人为修改。由此可以看出正确设置S7400 CPU的Local Data的大小非常重要。在控制器硬件组态中CPU属性 Memory选项卡的Local Data区域用于设置基于优先级的Local Data(如下图所示):


Pic1: Local Data的分配

在PCS7组态的项目中,在编译CFC程序后,系统将会自动计算各OB块所需的Local Data大小,可以通过交叉索引(Chart reference data  Local data,如下图所示)查询到。


Pic2: Chart reference data ® Local data

而普通的由用户采用Step7编程方式编写的程序,程序功能块及OB块各自的调用结构由用户自行控制,需要在编写完整个程序之后自行计算。
在手动计算Local Data时,需要获取如下信息:
1. 各OB块、FB块、FC块各自独立运行时所需的Local Data大小
可以通过如下方式查询到:在Block文件夹中选择相应功能块,右键 属性 General - Part2中即可查看到,如下图所示:


Pic3: 功能块所需的Local Data

注:嵌套调用时,上一级功能块将不会计算其嵌套调用的FB/FC所需的Local data大小;在上图中将不会累加嵌套功能块所需的Local data大小;


2. 整个程序的调用结构(Call structure)
由于功能块不会计算其嵌套调用的功能块所需到Local data大小,因此为了*后计算整个OB所需到Local Data,必须了解整个程序的调用结构。打开任何一个功能块,点击左侧的Call Structure即可查询到,如下图所示;


Pic4: 程序调用结构


3. 当前程序下所使用的所有OB的优先级
由于CPU属性设置中的Local Data分配基于优先级进行设置,因此需要查看所有当前程序使用的OB块的中断优先级,打开硬件组态中CPU属性查看,如下图所示;


Pic5: 查看OB的优先级

获得所有上述信息后,即可计算当前程序所需的Local data大小。假设当前项目下使用的功能块及OB块上述相关信息如下表所示:

OB/FB/FCPriority 优先级所需Local Data(Bytes)FB1X100FC1X400OB1126OB351226OB121X20OB122X20

OB的调用关系如上图Pic4所示。根据调用结构计算,单独运行各OB块时所需的Local data如下:
OB1: OB1 + Max(Sum(FB1,FC1), FC1) =26+Max(Sum(100,400), 400)=526
OB35: OB35 + Sum(FB1,FC1) =26+Sum(100,400)=526
OB121: OB121=20
OB122: OB122=20
*终CPU属性中Local data的设置如下:
优先级 1 所需Local Data大小至少为526 + 20 + 20 = 566 bytes;
优先级12所需的Local Data大小至少为526 + 20 + 20 = 566 bytes;
注:为什么上述优先级1和12中需要加入 两个20呢,因为程序运行的任何位置都有可能会执行OB121、OB122,所以需要加上OB121和OB122所需的本地数据。PCS7中(Pic2所示)进行各优先级所需Local data大小计算时已经自动加入了这部分的大小。

既然不能把STRUCT的数组直接传送到WINCC,那如何在WINCC中声明数据变量呢,包含的变量很多,难道要一个个声明?
另外WINCC种的结构变量不是很明白,他是把一些变量归类到一起?具体怎么操作,我自己新建了一个可是在画面组态的时候根本看不到结构变量。

答:先建立一个结构,里面包含多个元素,比如你建立一个结构叫motor,里面包含man,res,open,close,然后建立变量名为motor1,数据类型为motor,则自动生成motor1.man,motor1.res,motor1.open,motor1.close。这样方便建立变量,然后用画面窗口显示设备的控制画面,画面连接变量的“.”后面的部分,以及“.”。然后画面窗口的变量前缀连接变量“.”前面的部分,不包括“.”这样方便控制多个相同的设备只要复制画面窗口,修改变量前缀就好了。

从WinCC flexible 2005 开始,如果用户连续三次输入错误的密码,该用户就会进入用户管理中的“未授权”组。只有具有管理员权限的用户才能将该用户重新分配到用户组。

怎样避免“错误输入”呢?

当用户登录对话框弹出的时候,*后一个登录的用户会自动显示在“用户”输入框。


确定您的“用户名”正确输入,然后输入相应的密码。

可以二选一,首先,从270系列开始,您可以使用下面样例项目中的脚本,该脚本会在用户登录的弹出窗口的用户框中输入一个虚拟的用户名,该脚本会在系统函数“ Log off ”执行后或者规定的“注销时间”到达时执行。

该函数保证当您再次登录时,重新输入用户名以确保其正确。
另外一个好处是,您之后的用户登录的时候不会看到您登录的用户名,这样也可以避免其他人故意用输错密码的方式使您的用户失效。

注意:
从 WinCC flexible 2008 开始,将可以设置无效输入尝试的次数。这个数字定义了一个用户会被设置为“未授权”组的错误尝试次数。如果将该数字设置为 0 ,则可以进行无限次的输入尝试。


程序说明:
下文是对样例程序的简要说明,详细内容请参考项目组态。

 

按钮功能User 1调出画面:“ Machine Parameters Plant 1: ”User 2调出画面:“ Machine Parameters Plant 2: ”User 3调出画面:“ User Administration ”Log off注销操作面板上实际登录的用户User info显示/隐藏“ User info ”Alarm View显示/隐藏“ Alarm View ”

实际的用户和组编号可以作为附加信息显示。

下图是“用户管理”界面。

如果您是以用户“User 3”,“Master”或者是“Admin”登录的,您可以调用“用户管理”画面。使用“import / Export”按钮您可以导入/导出当前用户管理。您可以预先在符号 I/O 域中设定存储路径。

注意:
只能在特殊情况下使用内部的“Flash”来存储用户列表。

一般提示:

当您使用用户管理功能时,通常应当使用“ Log off ”功能来注销。

备份您的用户列表(例如,在一个外扩的存储卡上)。

创建一个拥有所有权限的用户(第二个管理员)。 

创建一个报警视图/归档来显示所有的系统报警。例如,这可以让您查看注销失败的时间和频繁程度,以及是否用户被放入未授权组。

组态“用户视图”。例如使用管理员权限,就可以将“未授权”用户重新分配给用户组。

用户名避免含有空格 (例如 user 2 -->  user2)。



相关分类
推荐产品
信息搜索
 
智能科技新闻
浔之漫智控技术(上海)有限公司
  • 地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 电话:15821971992
  • 邮件:2724917714@qq.com
  • 手机:15821971992
  • 联系人:聂聪
6es7223新闻