西门子模块6ES7332-5HF00-0AB0性能参数
下面的实例描述了共享设备的简单配置:两台io控制器共享一个io设备的子模块。两台io控制器位于同一个step7项目中,优点是一致性检查自动完成。
步骤
为了能够使用共享设备功能,需要在simatic管理器和hw config中执行某些组态步骤。
准备事项
1.在simatic管理器中创建名称为"共享设备项目"的项目。
2.插入两个站(simatic 300)。
3.在hw config中打开站,组态带profinet接口的cpu(在此例中为cpu 319-3 pn/dp)。
4.为刚刚创建的站的profinet接口设置参数。
5."保存并编译"各个站。
创建共享的设备
1.在hw config中打开所创建的其中一个站。
2.如屏幕截图所示,使用几个子模块配置分布式i/o系统et 200s(im151-3pn)。
3.使用快捷菜单(鼠标右键)复制刚刚创建的分布式i/o系统。
4.保存硬件配置,关闭已配置的站。
5.在hw config中打开早先创建的其它站。
6.若要将分布式i/o系统作为共享设备插入,右击profinet线路。在快捷菜单中选择"粘贴共享"命令。
7.保存硬件配置,关闭已配置的站。
已经成功创建了共享设备;现在设置将子模块分配给已配置的站。
分配子模块
必须单独为每个站分配子模块。请牢记对站的更改也将影响其它站!只能将子模块分配给一个站!
1.打开第1个站中分布式i/o系统的属性对话框。
2.跳转到"访问"选项卡。
3.组态对各个子模块的访问。从"数值"列的下拉列表中选择访问的类型。可以在以下两者之间选择:
.不访问子模块:"- - -"
.完全访问子模块:"完全"
4.请注意:设置"完全"自动会导致其它站的设置为"- - -";另一方面,设置"- --"并不会自动地导致其它站的设置为"完全"。
5.保存并关闭站。
6.对第2个站重复步骤1-4。
7.将组态下载至站。
用户程序中的共享设备
共享设备在用户程序中不充当特殊角色。如平常一样对站中分配的子模块进行寻址,其它子模块不接收地址
1.ramp_p块概述
在pcs 7中, ramp_p实现了模拟量的斜坡函数功能。
(注:在pcs 7 v7.1 过程库 (advanced process library,apl)中,很多功能块,例如pid控制块,已经集成了更为丰富的斜坡控制功能,详情请参考文档:“pcs 7 v7.1apl库中的斜坡(ramp)功能”
ramp_p的块号是fb52,通过cfc进行调用,安装在循环中断ob(o***~ob38)中。以pcs 7 v7.0sp3为例,如图1,在pcs 7 libraryv70中,blocks+templates\blocks下control中找到ramp_p,拖入相应cfc中即可。
2.ramp_p块调用及基本管脚介绍
ramp_p功能块管脚如图2。更详细内容可选中ramp_p块,按f1键参考在线帮助信息。
图2 ramp_p块管脚
管脚说明:
bbbm: 斜坡上升斜率
drlm: 斜坡下降斜率
u: 模拟量输入
rate_off: 关闭斜坡功能
qlim_u: 斜坡上升标志位
qlim_d: 斜坡下降标志位
v: 模拟量的斜坡输出
3.ramp_p功能块工作方式
rate_off=1时, 关闭斜坡功能,v=u。
rate_off=0时,输出v会以bbbm或者drlm为斜率上升或下降。以ramp_p与ctrl_pid的sp_ext连接为例,当前sp_ext=100;
图3 ramp_p连接实例
如果新的sp_ext=200,则ramp_p的u=200,v输出会以bbbm=3为斜率上升,qlm_u=1;如果新的sp_ext=0, 则ramp_p的u=0,v输出会以drlm=3为斜率下降, qlm_d=1。
1.报警控件数据查询
在wincc报警记录组态时,我们可以给报警消息定义不同的类别、类型、用户文本块等(图1),有了以上的组态,我们就可以自定义过滤条件,在报警控件中查询或显示分类的报警信息。
图1
1.1 报警控件手动查询
在组态报警控件时,可直接设置报警控件过滤条件。
双击报警控件,在“wincc报警控制属性”对话框中选择“消息列表”,单击“数据准备”区域中的“选择”按钮,在“指定选择”对话框中,通过对左边列表中复选框的选择,可以任意组合过滤条件(图2)。
图例中给出了查询错误点“设备a”的“停机故障”类报警的组态。保存组态后,此报警控件在运行时直接显示过滤后的查询结果。
点击“删除选择”按钮,可删除已组态的过滤条件,重新设置。
图2
报警控件在系统运行过程中,也可使用工具栏来设置过滤条件。
在组态报警控件时双击控件,在“wincc报警控制属性”对话框中选择“工具栏”,把“选择对话框”勾选上(图3),保存设置。
图3
系统运行时在报警控件工具栏上,点击“打开选择对话框”按钮,在“指定选择”对话框中,通过对左边列表中复选框的选择,也可以任意组合过滤条件(图4)。
图4
图中区域a中参数选项的含义请参考(表1)
设置 | 含义 |
无设置 | 下次切换画面时,所做组态将丢失。 |
“在cs和rt中保持” | 关闭和重启系统,所做的组态仍然保持。 |
“在rt中保持” | 所作组态一直保持到系统终止运行。 |
表1
1.2 使用脚本对报警控件做查询
在wincc所提供的vbs、c脚本中,可以把相对应的sql查询语句,赋值给报警控件的“msgfiltersql”属性来设置消息的过滤。
有一个简单方法可以获得查询sql语句。在控件中手动设置查询条件,在“删除选择”按钮左边(图4)的输出框内,就是此查询条件的sql语句,可以直接把此语句拷贝到脚本中使用。
图5、图6给出了查询错误点“设备a”的“停机故障”类报警消息的脚本例程
“control1”:报警控件的对象名称
“class in(2)”:“停机故障”的消息类别编号2
“text2 lile ‘设备a’”:错误点(文本块编号2)中文本匹配‘设备a’
图5 -- c脚本
图6 -- vbs脚本
关于使用查询sql语句的更多详细信息请参考:wincc 信息系统 >; 使用wincc >; 建立消息系统 >;在运行系统中显示消息 >; 用于过滤报警控件的消息的sql语句
2.在线趋势/表格控件数据查询
在线趋势/表格控件可用来显示归档数据,用户可自定义开始时间/结束时间,做时间范围内的归档数据查询。
2.1 在线趋势/表格控件手动查询
1)趋势控件手动查询
在组态画面中双击在线趋势控件,在“wincc在线趋势控件的属性”对话框中选择“工具栏”,把“选择时间范围”勾选上,保存设置(图7)。
图7
系统运行后,在趋势控件工具栏上点击“开始/停止”按钮停止数据更新。点击“选择时间范围”按钮,在弹出对话框中先取消“时间范围”复选框,填写开始时间/结束时间(图8),后点击确定。
2)在线表格控件手动查询
在组态画面中双击在线表格控件,在“wincc在线表格控件的属性”对话框中选择“工具栏”,把“选择时间范围”勾选上,保存设置(图9)。
图8
图9
系统运行后,在表格控件工具栏上点击“开始/停止”按钮停止数据更新。点击“选择时间范围”按钮,在弹出对话框中先取消“时间范围”复选框,填写开始时间/结束时间(图10),后点击确定。
图10
图9、图10区域a中参数选项的含义请参考章节1中的表1。
2.2 使用脚本对在线趋势/表格控件做查询
在wincc所提供的vbs、c脚本中,可以通过c脚本内部函数“setpropxxx()”或者是vbs脚本中使用控件对象的属性,来做归档数据的时间范围查询。
图11、图12给出了归档数据时间范围查询所使用的c、vbs脚本图例(以下脚本趋势/表格控件都可以使用)
“control1”:报警控件的对象名称
“index”:选择控件中的归档时间轴,此例中我们使用了公共时间轴,将使用个归档的时间范围。归档计数从“0”开始。
“online”:将控件切换为离线模式
“timerange”:禁止时间范围
“begintime”:开始时间
“endtime”:结束时间
图11 –- c脚本
图12 – vbs脚本
此例中,开始时间/结束时间是使用了2个文本变量来做赋值。关于日期时间的格式需要特别注意,这个时间格式不是以控件上所显示的时间格式为准,而是以项目所运行操作系统的时间格式为准。
具体查看时间格式的方法,打开操作系统的“控制面板”,点击“区域和语言选项”,在“区域选项”中点击“自定义”按钮,在“自定义区域选项”中查看“时间格式”(图13)以及“日期格式”(图14)。所赋值的开始时间/结束时间必须按照此格式拼写,请注意小时h/h的大小写(24小时制),以及分隔符的选择。
图13
图14