C#开发WinCC语音报警插件

本文介绍了如何使用C#开发一个语音报警插件并集成到WinCC中,以实现更灵活的实时语音报警功能。开发流程包括创建.NET控件,设计语音报警界面,处理报警逻辑,以及解决WinCC对.NET控件的支持问题。通过定时器检测报警变量状态,并结合语音库进行播报,提供报警音量、语速等控制选项。
摘要由CSDN通过智能技术生成

-Begin-

前言

众所周知,WinCC本身是可以利用C脚本或者VBS脚本来做语音报警,但是这种方式的本质是调用已存在的音频文件,想要实现实时播报报警信息是不行的,灵活性还不够,本文主要介绍基于C#开发语音报警插件,集成到WinCC中,实现更加灵活的语音报警功能。

开发思路

如果想实现C#开发语音报警控件,植入到WinCC中,需要解决以下几个技术要求:WinCC支持.NET控件、C#可以实现语音播报功能、报警逻辑要清晰。

对于WinCC支持.NET控件, WinCC 从V7.0开始支持.NET自定义控件。其次,C#可以实现语音播报功能,可以通过调用系统自带的语音类库文件,实现语音播报。而对于报警逻辑,主要是对沿信号的检测,包括上升沿及下降沿。

开发流程

1、首先通过 VS2019 创建一个Windows窗体应用,这里的窗体主要是用于测试,然后在此基础上,创建一个类库项目:

图片

2、在类库的基础上,右击添加新建项,项目类型选择自定义控件,取名为AlarmVoiceBroadcast:

图片

3、经过分析

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
WinCC报警语音助手是一款 报警语音助手是一款 WinCC的辅助软件,它可以将报警消息语音方式通知 的辅助软件,它可以将报警消息语音方式通知 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可 以获取 WinCC报警控件中的当前消息文本,并判断它应答状态如果已被 报警控件中的当前消息文本,并判断它应答状态如果已被 应答则不再发出语音。 该软件已在下列平台测试通过: Win7 + WinCC V7.3 Win10 + TIA WinCC V14 SP1
#基于WinCC语音报警的应用及C#的封装实现 WinCC是西门子(Siemens)公司的一款人机界面(HMI)软件,提供了丰富的功能和API接口,可为生产工厂的自动化管理提供良好的支持。而语音报警则是一种实时、快速、直观、高效的报警方式,能够大大提高操作者的警觉性、响应速度和精准程度。本文将介绍如何基于WinCC语音报警C#语言封装实现一个简单的报警示例。 ##一、WinCC语音报警的实现 WinCC软件内置了语音报警功能,其实现方式如下: 1.在WinCC中添加一项声音文件(.wav),或者使用Windows自带的声音文件。 2.通过脚本语言VBScript或CScript编写脚本将声音文件播放出来。 VBScript脚本示例: PlaySound("D:\Voice\alarm.wav") CScript脚本示例: ThisScreen.SndPlayFile "D:\Voice\alarm.wav" 3.通过WinCC的事件机制将脚本与报警事件绑定在一起,当相应的事件发生时,调用脚本播放报警声音。 示例代码: Sub Alarm_ON PlaySound("D:\Voice\alarm.wav") Call Station_Alarm_On End Sub Sub Alarm_OFF Call Station_Alarm_Off End Sub ##二、C#语言封装实现 在WinCC的基础上,为了方便开发和使用,我们可以将语音报警功能封装在C#类库中。具体实现步骤如下: 1.创建一个C#类库项目,添加一个名为“VoiceHelper”的类用于实现报警功能。 2.在“VoiceHelper”类中添加两个方法PlayAlarmSound()和StopAlarmSound(),分别用于播放报警声音和停止报警声音播放。其中,使用System.Media命名空间提供的类SoundPlayer实现声音文件播放功能。 示例代码: public class VoiceHelper { private SoundPlayer player = new SoundPlayer(); //播放报警声音 public void PlayAlarmSounds() { player.SoundLocation = @"D:\Voice\alarm.wav"; player.Load(); player.PlayLooping(); } //停止报警声音播放 public void StopAlarmSounds() { player.Stop(); } } 3.在WinCC中引用C#类库,调用VoiceHelper类中的PlayAlarmSounds()方法,实现语音报警功能。 示例代码: using System; using System.Windows.Forms; public partial class Form1 : Form { private VoiceHelper voice = new VoiceHelper(); //报警事件处理函数 private void Alarm_ON() { voice.PlayAlarmSounds(); StationAlarmON(); } //清除报警事件处理函数 private void Alarm_OFF() { StationAlarmOFF(); voice.StopAlarmSounds(); } } 这样,我们就可以使用简洁、灵活、可复用的C#代码来实现WinCC语音报警功能,并将该功能以类库的形式进行封装和扩展,使得其应用更加广泛和方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

常哥说编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值