- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何在WinCC中获取与S7-300/400—CPU的通讯状态
(工程师培训)
编写:
校对:
审核:
TOC \o 1-3 \h \z \u 目录
前言 1
1?画面中添加控件来获取通讯状态 2
2??根据通讯状态改变对象属性 4
3??使用脚本获取通讯状态 6
注意事项: 7
4? CPU停机监控 8
前言
WinCC项目中通讯连接至关重要,获取连接通讯状态能有效的判断当前系统的运行情况,及时处理问题。
此文档提供了三种方式来获取通讯连接状态。文档中所述的样例,是已经建立了与S7-300/400 CPU的通讯连接。
1?画面中添加控件来获取通讯状态
??????????? WinCC?提供工具“Channel Diagonsis”来判断项目中连接的通讯状态,此工具在操作系统“开始”—“Simatic”—“WinCC”—“Tools”目录下可以找到。此工具也可以添加到WinCC画面中使用。
??
图1
打开WinCC“图形编辑器”,在右边“对象选项板”中选择“控件”列表,如果是V6.2的系统在列表空白区域点击鼠标右键选择“添加/删除”(图1),如果是V7.0的系统需要先选中“ActiveX?控件”,再点击鼠标右键选择“添加/删除”(图2)。?
?
图2
打开“选择OCX控件”对话框,在OCX控件列表中找到并且选中“WinCC Channel Diagonsis Control”控件(图3),点击确定。然后在选项板控件列表中就能找到此控件,把此控件添加到画面中,激活WinCC项目。
???
图3
项目激活运行后,通道诊断控件会显示项目中通讯连接的通讯状态,绿勾表示通讯正常,红叉表示通讯故障。选中故障链接,在右边列表中能显示出此故障的错误代码(图4)。?
?
?
图4
错误代码的说明可以在帮助文档“S7CHNERRORchs.HLP”中查到,此帮助文档在?WinCC的安装路径下(如:C:\Programs\Siemens\WinCC\bin?)找到。
???????????2??根据通讯状态改变对象属性
????????????在连接中所建的变量,在通讯时都会带有变量状态信息,变量状态包含WinCC?和自动化设备之间的连接状态。通过获取这个变量状态,我们就能得知变量所在连接的通讯状态。
首先在需要监控的通讯连接下新建一个变量“status”,地址取位存储区首地址(图5)。
?
?
????????????在此文档中我们以静态文本来举例。在画面中添加一个静态文本,选择对象属性“字体”?“文本”,在动态列表中选择“动态对话框”(图6)。
?
图6
在动态对话框中,表达式/公式选择变量“status”,把表达式/公式的结果列表中“其他”范围对应的文本修改成“通讯已连接”。选择“变量状态”,在弹出的状态列表中,把“没有连接”范围对应的文本修改成“通讯干扰”(图7),应用此设置。?
?
图7
????????????项目激活运行后,如果通讯正常,静态文本会显示“通讯已连接”,如果通讯故障会显示“通讯干扰”。(具体故障原因可检查通道诊断)
????????????此组态方法也可应用到其他对象,例如修改对象的背景颜色等。
?3??使用脚本获取通讯状态
????????????上一章节是把变量的“变量状态”直接与对象属性关联,这个“变量状态”也可以直接使用脚本来读取,在脚本中判断通讯状态,继而执行比较复杂的逻辑操作。
首先在需要监控的通讯链接下新建一个变量“status”,地址取位存储区首地址(图5)。
????????????打开“全局脚本”—“C-Editor”,新建一个“动作”,编写如下代码(图8)。脚本中“GetTagDWordState”函数获取了变量的变量状态,然后使用If语句执行判断。
图8
????????????在工具栏上点击“信息/触发”,(“信息/触发”按钮在V6.2系统中图标参考图8,如果是V7.0系统中图标参考图9)在属性选项板上选择“触发器”?“定时器”?“周期”,然后点击“添加”按钮,在弹出对话框中填写触发器名称“Action1”,然后定义“周期”5秒。这种组态(图10)会让此脚本在WinCC运行期间以5秒的时间间隔,循环执行。
?
图9
?
图10
注意事项:
1.项目运行前必须把计算机属性“启动”列表中“全局脚本行系统”给勾选上(图11)。
2.脚本的执行周期用户可根据项目自行修改,但是不建议执行周期过密。因为在WinCC系统中脚本是单进程的,如果脚本中有很耗时的执行过程,过密的执行周期会造成系统负担过大,导致脚本不执行或者系统运行缓慢等现象。
?
图11
4? CPU停机监控
????????????这里需要注意一点,WinCC系统的默认设置是会监控CPU的STOP状态
原创力文档


文档评论(0)