如何实现这种功能,如图:
图1:有用户指定消息文本的诊断缓存
为了在CPU诊断缓存的纯文本内写入用户指定消息必须进行:
1.) 在STEP 7中配置消息。
2.) 写入诊断缓存所需的事件ID。
该条目描述了在STEP 7中如何配置一个消息文本,如何将相关事件ID结构化及如何写入到有SFC 52“WR_USMSG”的诊断缓存。
注意事项:
描述了如何使用系统函数“WR_USMSG” (SFC 52) 写入用户指定事件,该事件包括诊
断缓存的任何附加信息。在该条目中有一个功能块调用SFC 52以便只用需要的基本数据块。
在相关的实例程序中直接调用SFC 52,因为在这种情况下仅需要事件ID。其它附加信息不需要。消息文本用STEP 7组态并保存到程序中.
组态一个用户指定消息STEP 7
首先打开消息组态对话框。选择项目树中的“S7 Program”目录然后通过弹出菜单 (右击)打开消息配置窗口“特殊对象属性”->“消息...”。
按“新消息”按钮出现一个条目显示新消息从而可做相应的修改。
在该例中配置下列消息:
窗口输入 (德语)
消息指示符WR_USMSG(1) (默认)
错误类别A (默认)
消息号2
输入的消息文本温度太高
输出的消息文本温度 OK
注意事项:
自定义诊断消息只能显示在PG上不能传送到操作系统。
显示诊断文本需要PG上的STEP 7项目。
使用SIMATIC管理器上的功能:“选项” ->“使用多种语言的文本管理”,可以设置另一种语言 (对消息文本和注释)。附件项目可以使用两种语言(德语/英语)。
事件ID结构
与消息关联的事件ID由下面内容组成:
W#16#<错误类别><输入/输出的消息代码><十六进制中的消息编号>
错误类别:A或B (见组态屏蔽)
输入/输出的消息代码:输入的消息= '1'; 输出消息 ='0'
消息编号:在十六进制格式中的组态屏蔽号
对于组态消息有下列事件 ID:
W#16#A102 - 输入的消息“温度太高”
W#16#A002 - 输出的消息“温度 OK”