WINCC 如何出声?

WINCC在报警的时候,需要声光报警,而且要求在电脑的音响里出声,我以前了解过,好像有一个选件。请问如何使用?如果有资料,最好能提供中文版的,我以前好像见过英文的,使用起来很麻烦。。多谢!

最佳答案

如何设置带有声音的信号消息?

说明:
"Horn"编辑器用来配置与报警相关事件信号模板和PC声卡的输出。Horn编辑器是WinCC选件“基本过程控制”的一个组件,自WinCC V6.0版本以后,“基本过程控制”不需要任何附加的授权,默认获得。 
关于“Horn”主题的信息可以通过以下方式获得 
• WinCC帮助系统下“Options > Options for Process Control > Horn” 
• 配置手册“SIMATIC Process Control System PCS 7 V7.0 Operator Station”。 该手册可在条目ID 24449737.下获得。
配置horn
在WinCC变量管理编辑器中,您创建几个或几个数据类型为二进制的信号变量,在“Horn”编辑器中,每一个信号变量被指派到一个信号模板或者“WAV”文件。信号模板的输出能够被连接到一个喇叭或者另外的信号转送装置。如果在运行模式中一个信号变量的值为“1”,则相对应于该信号变量的信号模板输出或者配置的WAV文件将被播放。 
注意:
只有在内部系统变量“@HornTriggeringSignalsActive”是“1”的情况下,输出才会被执行或WAV文件被播放,在默认的情况下,这个值在变量管理器中作为初始值被置位。

在运行模式中用两种不同的途径使一个变量被赋值。 
• 信号变量
在运行模式中,一个信号变量的值能够直接连接到一个配置消息的报警状态。将信号变量赋值到消息可以在“Horn”编辑器中的“Message assignment”菜单中配置。这个参数对话框提供了连接一个信号变量到指定的报警状态的不同的过滤标准(消息类别,优先级,数据源,范围,事件,允许)。 
o 设置信号变量
当符合过滤标准的消息到来时,信号变量的状态从“0”变到“1”。 
o 重置消息变量
当所有的按照预先设置信号变量的过滤标准配置的消息被确认后,信号变量的状态从“1”改变为“0”。当经过“acknowledge horn”按钮,“Horn”被分别确认后,信号变量同样会给重置。  . 在运行模式,在基本过程控制的按钮设置后,这个按钮能够使用。
主意:
在运行模式,信号变量自动拥有已配置消息类别的报警状态,只要内部系统变量“@HornSettingTagsActive” 的值为“1”,默认的情况,这个值在变量管理器中被初值化为1。
如果,例如,系统变量的值从“0”设置为“1”并且此刻已经有消息到达,这样将引起一个声音输出,信号变量没有被立即置位,因此声音输出将不会被立即触发。信号变量和声音输出只有在一个消息再次到来或者重新启动“Horn”才会被触发。您可以通过设置内部系统变量“@RestartHorn” 为“1”来重新启动“Horn”。当“Horn”被重新启动后,系统自动重置系统变量“@RestartHorn”的值为“0”。 
• 通过用户自定义逻辑设置/重设信号变量
信号变量的值没有必要必须连接到消息级别的报警状态。设置/重设信号变量的逻辑同样也可以在用户指定逻辑中编程。
          消息的声音输出能够在WinCC服务器和WinCC客户端执行。“Horn”需要在每一WinCC工作站单独配置。 
“Horn”编辑器允许您使用确认变量或者一个确认组来配置一个多重确认。使用确认组的多重确认选件将从WinCCV6.2以后可以获得。在这里,“Horn”确认可应用于在被设置为相同的确认组的WinCC工作站。确认组是一个简单的,实现客户端,服务器和冗余服务器器的声音信号输出的多重确认的方法 ,推荐使用一个确认组的来实现多重确认。 
注意: 
• 实现多重确认需要选择正确的终端总线。注意在“Simatic Shell”中的设置。关于Simatic Shell 的更多的信息在条目 ID 18967416. 可以获得 
• 为了能够通过使用组确认实现多重确认,您应当对组确认使用唯一的名字。这个名字在整个终端总线上必须唯一。 注意,使用相同的组确认,但不直接属于当前工程的WinCC工作站可以在总线上存在。 
• 当您改变实现多重确认的过程,定义的确认组和确认变量将丢失。 
• 根据多重确认使用的过程的不同,内部变量"@HornReset" 的行为不同: 
o "@HornReset"没有多重确认或者使用确认变量实现的确认组
当信号传输状态(信号模板或者WAV文件的输出)变为“1”,变量"@HornReset"的值从“0”变到“1”。经过点击“acknowledge horn”按钮确认信号传输,"@HornReset"被重置。 
o "@HornReset" 通过组确认实现的多重确认
在这样的情况下,变量的被设置为不变。经过点击“acknowledge horn”按钮确认“Horn”后,变量“@HornReset”被直接重置为“0”,然后被迅速的再次设置为“1”。 
• 如果信号变量经过在报警控件中确认所有相关报警被重置或者脚本直接重置变量,在这样的操作下计算机的声音信号被确认(关闭),但是在这种情况下“@HornReset”不会被设置为“0”。 这样,在某一台计算机,为了实现多重确认的计算机配置收不到信号已经被确认的信息。在这样的情况下,为多重确认配置的计算机的信号传输不能够被确认(关闭)。多重确认只能在分别点击“acknowledge horn” 按钮后起作用。

通过消息触发喇叭
问题:
能否针对某些特殊消息取消激活对所有消息的预设置"触发喇叭信号"? 
解答:
你已经用 PCS7 版本 V4.01 和 SP1 创建了一个项目。< /b>现在想设置一个带喇叭触发的信号模块。在组态过程中,已经启动了报警纪录向导而没有选择"连接声音信号设备"选项。因此,在消息属性里"触发喇叭"选项没有被激活。至此,一切正常。 
 
在此之后,你想按装信号模块并设置声音信号功能。为此,你重新启动了报警记录向导并对所需的消息类别激活了" 连接声音信号设备"选项并设定了相应的声音信号 (@Signal1, @Signal2 和 @Signal3)。 现在你浏览报警记录向导,/ 可看到在消息属性里"连接声音信号设备"选项已经被设置好。 
重要事项
现在,在启动时你希望对某个消息类别或所有的消息类别取消激活喇叭触发。再次启动报警记录向导并取消激活"连接声音信号设备"选项。把各个消息类别的信号设成"无"。在消息属性里,与所预期的情况相反,一旦报警记录向导运行完它的例程后,可看到"连接声音信号设备"选项没有被取消激活,而那些以前设置好此选件的所有消息仍保持在设置好的状态。这意味着,你有必要对每条消息打开属性窗口,然后人工取消激活它。 
至于 "喇叭",你必须区别对待互不相干的两个选项: 
基本 WinCC:不用信号模块: 
在报警记录里,你可以选择各个单条消息并鼠标右击打开"属型"对话框。在"此消息"域里,可已激活"触发喇叭"。这里,"喇叭"的意义取决于着消息所属的类别。你可以为每一个消息类别触发一个喇叭信号。而对此类别中的每一条消息你又可以决定喇叭要不要发声。下面以"报警"消息类为例说明你应该做些什么。 
1. 选择消息类别,比如"报警"。 
2. 鼠标右击打开属型对话框。
 
3. 在"确认"标记中,通过在"确认中心喇叭"域里选择一个变量,来定义喇叭何时被触发(带同步确认)。 
4. 通过一个到 AS 系统的链接来把这个变量应用到一个二进制输出模块上。用此办法,可以控制任何类型的听觉或视觉信号设备。确认可在消息窗口里进行。
如果你为此变量输入一个内部变量,你可用这个喇叭触发来在屏幕上产生视觉显示。 
用于 PCS7 的 WinCC 控制系统选项:已用信号模块 
1. 对于"报警记录向导"(在"基本数据"节点里)你设置起整个消息系统。
警告:
报警记录编辑器本身也有一个向导。这里你必须有所区别。 
2. 报警记录里不使用"属性"对话框。打开报警记录向导(基本数据)。在对话框的第一页里可为"连接声音信号设备"打个勾,然后在第三个对话页的"听觉信号设备"域里,激活的信号"@Signal1"被自动赋予"报警"消息类,激活的信号"@Signal2"被赋予" 警告"消息类,并且激活的信号"@Signal3"被赋予"AS 控制系统消息"与"OS 控制系统消息"这两个消息类别。在低于 V5 的版本里,这种赋值不能完全工作。届时你只能手工输入。 
3. 鼠标单击"应用"按钮,打开一个"设置总览"窗口。这些是报警记录向导要用来组态消息系统的设置。将变量 @Signal1, @Signal2 和 @Signal3 分配给消息类并不在报警记录里输入,而是由HMRT.exe在运行系统里动态处理。 
4. 报警记录向导(基本数据)在其初次运行时,在数据库里创建了 REPORTHORNASSIGN 表。< /b>如果没有设置"连接声音信号设备"选项,表就是空的。否则它就包含有信号分配。如果,通过重复运行报警记录向导,你取消激活了" 连接声音信号设备"选项 ,数据库表的内容被删掉,但表本身被保留。 
5. 如果你激活了运行系统, Audible Signal Runtime.exe (HMRT.exe) 执行文件也启动起来,因为它启动列表中也被报警记录向导设置了。如果此时数据库表是空的,它自动终止。因为没有声音信号的分配 。执行文件 HMRT.exe 连接到AlarmLoggingRuntime 并且知道新的"报警", "警告", "AS 控制系统消息" 或 "OS 控制系统消息"何时出现。在这样的情况下,它就会置起相应的信号:"@Signal1, @Signal2 或 @Signal3"。如果你单击"确认喇叭"按钮,你就直接把这三种 @ 信号都取消激活了。 
6. 另外, 你还可以依据区域(也就是依据注册)来生成喇叭的声音以及确认。如果在图片树管理器存在一个层次,那么在警报纪录里各个消息都被分配给这个层次里的一个区,与此同时用户在用户管理器中被组态。当一条消息出现时,在登录到运行系统的用户中,只有对该区(该区分配有所涉及的消息)有权限的那些用户喇叭才被触发。基于此理由,正如"基本 WinCC:不用信号模块"所述,< b>不可能在报警记录里把一个变量或其它@信号变量分配给各条消息。只存在一个链接部件,就是 HMRT.exe。HMRT.exe 把@信号变量的状态传输给信号模块的驱动程序,而正是通过信号模块各个继电器的触点才可以开/闭。
当你按装 WinCC 时, 信号组的驱动程序在 Windows 的控制面板("信号单元组态")里显示为一个新图标。鼠标双击此图标可启动驱动程序的界面。通过这个界面可测试模块。 


如何只有在用户成功登陆以后才激活声音报警?
说明:
“Horn”编辑器提供根据已登陆的用户权限激活声音信号的可能性,在“Horn”编辑器中的“Message Assignment”选项框您可以对权限检查作设置。在这里您可以为每一个用于触发一个声音信号的信号变量设置必要的允许级别。此外,已登陆的用户根据“Authorization for area” 被检测。 您也可以选择取消这种检测。 
警告: 
• 如果没有用户登陆,那么权限设置没有任何作用。在没有用户登录的情况下,一个消息类型被设置为消息到达时,信号变量和权限设置无关。 结果是在没有用户登录的情况下,声音信号也被使能。 
• 即使在没有用户登录的情况下,不依靠于权限设置,可以使用“acknowledge horn”按钮 来切断报警声音是可能的, 如果您配置了多重确认,在这种情况下,其他身份也可以切断报警声音输出。
下面描述了一些在没有用户登录的时候禁止声音报警的方法。
  
No. 描述
1 WinCC标准用户的自动登录 (Autologon)
在WinCC运行时,您可以选择配置一个WinCC标准用户的自动登录的方法。即使是在运行才被激活或者注销刚刚发生的情况,确保在WinCC运行时始终有一个已登陆用户。如何配置自动登录的说明见条目号19141675。通过在"Horn"编辑器配置权限和在WinCC用户管理器中的标准用户的相关权限,您可以定义当一个标准用户登录后,哪些消息被设置为声音报警信号 
警告: 
• 如果,在运行模式中,在报警记录编辑器中没有区域设置的消息到达,同样也没有“区域允许”的检查。在“Horn”编辑器中,这些设置了信号变量和声音报警器,如果在满足其他过滤条件("Message class", "Priority", "Source", "Area", "Event", "Authorization")的情况下声音报警将被触发。为此需要,在报警记录编辑器中未设置区域的消息没有被赋值到任何一个OS编辑器区域中,在“Message display”选项框,使用OS编辑器您可以设置没有指定区域的消息自动被置到一个区域中。 
• 如果在“Horn”编辑器,根据报警记录定义过滤标准,但是在报警记录编辑器中,这些都不会被用于消息事件 (例如: 用户文本块“源”, “区域” 或者“事件”为空或者未定义), 那么,这些过滤标准被认为没有被执行,并且相关联的信号变量不会被置位。
这里,在Horn运行模式行为时,查阅“Release Notes”的有关注意事项。 在WinCC 帮助系统下的“Release Notes > Release notes for process control options”。那里,您可以找到一个如何使您经过工程的配置文件“SSM.cfg”改变启动行为(启动延时)的描述
2 当没有用户登陆时通常禁止声音报警器
您可以设置系统变量“@HornTriggeringSignalsActive”的值为“0” ,在WinCC运行模式,如果没有用户登录,这样在"Horn"编辑器中配置的所有声音报警被禁止。当一个用户成功登录后,您可以再次设置系统变量“@HornTriggeringSignalsActive”的值为“1”,这样声音报警再次被激活。 
下面的下载提供一个实现该功能的C动作。 
 WinCC_HornLogoff.zip ( 2 KB ) 
在您的WinCC工程,使用这个C脚本作为动作。 使用“@CurrentUser”作为触发变量。 
功能: 
• 当“@CurrentUser”变量发生变化后脚本运行。当WinCC运行模式被激活后或者WinCC用户登录或者注销,这个事件被触发。 
• 函数读出“@CurrentUser”变量的值,如果发生一个错误,函数停止运行并且没有任何进一步的工作。 
• 登录状态“bLogin”由“@CurrentUser”变量的值决定。这个登录状态包含一个用户是否登录的信息,如果变量的值没有空字符串(成功登录),登录状态“bLogin”被设置成“1”,否则被置为“0”。 
• 如果登录状态“bLogin”发生改变,内部系统变量“@HornTriggeringSignalsActive”的值被登录状态“bLogin”设置并且声音报警器被重起。
3 如果没有用户,设置信号变量永远为“0”值
当信号变量被设置为依靠消息类别的消息状态时,以下过程适用于此。您在“Horn”编辑器的“Message Assignment”选项框中,设置信号变量到消息类别。在“Signal Assignment”选项框中,您设置信号变量到声音文件或者到信号模板的预置输出最简单的情况,在“Signal Assignment”选项框您只使用在“Message Assignment”中配置的信号变量。 
在“Signal Assignment”选项框您可以配置王没有用户登录时那些声音报警信号不会被触发的离散信号变量这些离散信号变量不能够在“Message Assignment”选项框中配置,在“Message Assignment”选项框中,对于每一个离散信号变量,您可以配置一个当与相关联的变量一旦发生改变所执行的动作。 如果一个用户登录,您可以在“Message Assignment”选项框中设置相关联的信号变量到离散变量,否则,值为“0”。 
在第二步也可以采用同样的方法来检查一个用户是否登录 
这个方法使您可以选择独立定义每一个在"Horn"中配置的声音报警信号,然而,与第二步相比,这个方法需要更多的时间和努力。

在SIMATIC PCS 7 / WinCC V6.x下如何组态单站、服务器、冗余服务器和客户OS站的Horn编辑器?
说明:
下列组态过程基于SIMATIC PCS 7 V6.0版本。因此,适用于所有的PCS 7 V6.0 和WinCC V6.0以上的版本。 
注意:
从PCS 7 V7或WinCC V6.2开始,系统增加了一些功能。附录中详细介绍了这些附加功能。
在SIMATIC PCS 7 V6.0中,通过Horn编辑器为单站、服务器、冗余服务器和客户OS站配置声卡或信号模块。该实例描述了如何组态报警设备的报警和警告事件类来触发语音信号。下述内容包括了工程站的所有组态(包括冗余服务器和OS客户端组态及消息确认)。 
1. 按照PCS 7 V6.0组态手册在SIMATIC Manager中组态所有单站、服务器、冗余服务器和客户OS站。 
2. 在工程站上通过WinCC Explorer打开 SIMATIC PCS 7 单站或服务器OS站。 
3. 切换到WinCC Explorer中的“内部变量”管理,在“Horn”变量组中分别为报警和警告事件类创建内部变量(也可以创建/选择新的变量组)。
 

图 1:报警设备编辑器中为后续连接创建内部变量 
4. 注意事项:
该程序仅用于在连接的OS客户站上进行组确认的情况下。这时,需要其他的变量。在同一组中创建该内部变量并确保对这些变量设置为“项目范围更新”。
 

图 2:通过“项目范围更新”定义的变量属性对话框 
5. 双击WinCC Explorer中的Horn图标打开报警编辑器。在“信号分配”标签中的事件类的下拉菜单中选择“报警”,下一行选择“警告”。插入需要的其他事件类。
 

图 3:在“信号分配”标签中为报警编辑器组态和选择事件类。 
6. 通过“变量”栏中的变量选择对话框选择内部变量,该变量先前已被创建用于报警和警告事件类。在后面通过这些变量的赋值过程控制声信号的触发。
 

图 4:在“信号分配”标签中选择报警编辑器的内部变量 
7. 在“信号分配”标签中可从下拉菜单中使应用用户权限设置,并且此处必须按优先级激活事件变量。您可以在文本末列出的文档中找到更多信息。 
8. 在该例的报警编辑器中组态“信号分配”标签,如下图所示。
 

图 5:报警编辑器中组态“信号分配”标签 
9. 打开“信号分配”标签。该标签中,先前选择的变量与信号模块的输出相连接(输出1、2或3),或者,如实例所示,通过声卡为信号的声输出选择语音文件 (*.WAV)。在每行中选择两个内部变量用于报警和警告;通过变量选择对话框的“Tag”栏选择。然后在“Sound”栏中点击声音文件的选择对话框。可根据需要,选择标准PCS 7声音文件或者您自己的语音WAV文件。

注意事项:
如果选择语音文件的绝对路径(例如C:\SIEMENS\WinCC\Sound\Horn.wav),记得在装载项目时目标PC中需要有同样的路径。我们推荐将文件保存在自己的项目路径中。这样就可以在保存项目的同时保存语音文件,从而路径始终正确。
 

图 6:在报警编辑器的“信号分配”标签中选择和分配语音文件 
10. 通过专门的本地确认的操作员站组态“警报器确认”,如下图所示。
 

图 7:使用本地确认的单用户站,单服务器或多用户工程。 
11. 通过SIMATIC PCS 7服务器站上的多个确认组态多用户工程的“警报器确认”,如下图所示。此时,在操作员站(包含在多用户工程中) 按下确认按钮,则通过多用户确认的“QuitMC”变量始终禁用声信号。由此可禁用所有操作员站的声卡上的声信号。选择“多个确认”选项;然后右击调出选项屏并选择在内部变量管理中预设的变量。
 

图 8:在PCS 7服务器站上组态多确认的变量 
12. 报警编辑器的组态完成。点击“Apply”和/或者“OK”确认组态。然后退出编辑器。 
13. 从而,“HMRT.exe”输入到OS项目的启动列表中。在WinCC Explorer中右击打开服务器站的属性对话框显示该项。
 

图 9:在OS-Runtime中,使用启动警报器的“HMRT.exe” 的OS项目启动列表 
下述文本仅适用于组态OS客户站
您必须预先生成一个服务包并将其装载到OS客户站。在所有需要输出声音信号的OS客户端完成下述组态步骤: 
1. 打开OS客户端项目的WinCC Explorer。 
2. 按上述顺序重复组态步骤3、 5、6、 7、8 和9。 
3. 如果每个OS客户端需要单独确认,那么进行上述的组态步骤 10 。然而,如果需要多个确认,也就是所有的声输出被始终终止,则不管是哪个OS客户站执行确认,需要执行下述的组态过程。切换到报警编辑器中的“信号分配”标签,选择“多个确认”选项。通过服务包选择确认变量,如下图所示。
 

图 10:从OS客户站的服务包中选择确认变量 
4. 保存设置并关闭报警编辑器。结束OS客户端项目的组态。
下列文本仅适用于组态冗余服务器
如果使用冗余服务器,可能也需要带有声音输出的组确认。该情况下,请进行下面的组态过程: 
1. 在PLC中创建新变量,用于一对冗余服务器上多个确认所需的可用变量。本例中,数据块中的二进制变量被赋为操作员控制和监视属性,装载到相应的PLC中,并在OS中编译。 
2. 打开SIMATIC Manager,在‘Offline’块容器中创建新的数据块。打开数据块,创建新的二进制变量。然后赋操作员控制和监视属性给该变量(这个红色旗标)。
 

图 11:带有数据块和二进制变量的PCS 7 项目的SIMATIC Manager 
3. 编译PLC和OS的用户程序。然后装载用户程序到PLC。 
4. 上述组态步骤的2到9,严格按顺序进行。 
5. 除步骤11的组态之外,需要添加另一个变量。这个变量在两个冗余服务器上都可用。在“信号分配”标签的“多个确认”选项下,从PLC变量管理中插入组态变量。
 

图 12:从PLC的数据块中选择变量用于冗余服务器上的多个确认 
6. 结束上述的报警编辑器组态。现在必须的步骤已完成。
请参考“WinCC Information System”的说明获得更多信息,可在PC上成功安装SIMATIC PCS 7之后,通过“Start > SIMATIC > WinCC”调出。您也可以在组态手册“SIMATIC Process Control System PCS 7 Operator Station V6.0”下找到附加说明,条目号:15229149。!. 
 PCS 7 V6.1 和 WinCC V6.0 SP3的附录: 
下面的两个图给出了先前版本没有的PCS 7 V6.1和WinCC V6.0 SP3的新增特性(红色旗标)。您可以在WinCC Online Help (WIS)中找到新增特性的详细描述以及其意义,关键字“horn” 
  ( 11 KB )  
图 13  
    ( 10 KB ) 
图 14  

提问者对于答案的评价:
希望您能把图片也给我发过来一下 
WHY1633@163.COM 多谢!!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc268618.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午6:10
下一篇 2019年6月11日 上午6:10

相关推荐