↑ 点击上方
“智能制造之家”
关注我们
写在面前
前面我们分享了罗家的Factorytalk View Studio与SQL SERVER数据库的通讯;
罗克韦尔FactoryTalk View Studio如何访问SQL SERVER数据库
也分享了西家的WinCC与SQL SERVER的通讯
WinCC(TIAPortal)和WinCCflexible访问SQL SERVER数据库
很少说到施家的产品,今天也就以Intouch利用SQL SERVER数据库发送邮件为例子,聊一聊~
现在讲一下Intouch如何与SQL配合着实现邮件发送的功能,具体的使用场景可以是实时报警通知、报表定时发送等...在这里主要讲如何实现实时报警邮件通知。
事前准备:
SQL 2014 完整版安装(其他版本也可)
新建WWALMDB数据库
启动 SQL Server(MSSQLSERVER)服务
启动 SQL Server Browser服务
一. 配置SQL数据库
登陆数据库,打开“管理”菜单
找到“数据库邮件”选项,并右键选择“配置数据库邮件”,勾选“通过执行以下任务来安装数据库邮件(S)”,下一步
配置文件名:intouch_mail,填写说明,点击添加,选择“新建账户”
填写账户名、邮件地址、名称、服务器名称、端口号、基本身份验证,点击确定
这是新建的账户名以及邮件地址,然后下一步
勾选新建的配置文件名intouch_mail,下一步
然后进行系统参数的配置,根据自己的需要配置即可,一般默认即可,下一步
此界面SQL会把刚才的配置都列举出来,点击完成即可
配置完成,关闭窗口
二. 创建邮件发送存储过程
选择历史报警数据库WWALMDB,新建查询窗口
编写存储过程:
USE [WWALMDB]GO/****** Object: Trigger [dbo].[Send_alarm] Script Date: 2019/09/12 16:31:32 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: -- Create date: <2019-9-12>-- Description: -- =============================================CREATE TRIGGER Send_alarm ON v_AlarmHistoryAS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; declare @s1 nvarchar(25) declare @s2 nvarchar(25) declare @s3 nvarchar(25) declare @s4 nvarchar(25) declare @s5 nvarchar(25) declare @s6 nvarchar(25) declare @s7 nvarchar(25) declare @s8 nvarchar(25) declare @s9 nvarchar(25) declare @s nvarchar(25) declare @AlarmId int declare @AlarmState nvarchar(25) declare @Duration nvarchar(25) -- Insert statements for here select @AlarmId = AlarmId,@AlarmState = AlarmState,@Duration = UnAckDuration if (@AlarmState = 'ACK_RTN') set @s3 = '已复位' select @s8 = OriginationTime FROM [DBALARM].[dbo].[AlarmMaster] select @s9 = TransitionTime FROM [DBALARM].[dbo].[AlarmDetail] set @s7 = DATEDIFF(ss, @s8, @s9) end else if (@AlarmState = 'ACK_ALM') set @s3 = '已确认' set @s7 = @Duration end else if (@AlarmState = 'UNACK_ALM') set @s3 = '未确认' set @s7 = '' end select @s1 = EventStamp,@s2 = TagName,@s4 = Area,@s5 = Operator,@s6 = Description from DBALARM.dbo.v_AlarmHistoryset @s = 'INTOUCH 报警' + '报警时间:'+@s1+ '报警点:'+@s2+ '报警状态:'+@s3+ '报警组:'+@s4+ '报警员:'+@s5+ '报警注释:'+@s6+ '持续时间:'+@s7+ set @s6 = @s6 + ' ' + @s3 EXEC msdb.dbo.sp_send_dbmail @profile_name = 'db_mail', @recipients = '18818818818@139.COM', @subject = @s6, @body = @sEND
三. 实现效果
电脑邮件接收:
手机端邮件接收:
免责申明:本公众号所载文章为本公众号原创或根据网络搜索编辑整理,文章版权归原作者所有。因转载众多,无法找到真正来源,如标错来源,或对于文中所使用的图片,资料,下载链接中所包含的软件,资料等,如有侵权,请跟我们联系协商或删除,谢谢!
往期推荐 施耐德 施耐德Wonderware system platform介绍 Wonderware-Intouch C/S架构冗余配置 施耐德SoMachine平台Ethernet/IP通讯解决方案 施耐德SoMachine平台下的OPC UA通讯 西门子TIA Portal大鱼吃小鱼VS施耐德Intouch潜水艇小游戏网络-通讯
浅谈 MES、SCADA、PLC项目中的串口通信(232,485,422)及常见问题
Modus 的RTU、ASCII、TCP傻傻搞不清楚?这将是你见过的最全面分析
MES、SCADA下的数据采集— 西门子S7comm协议分析
MES下的数据采集——扫码器的串口通讯
[ 附labview下载 ]LabVIEW与RS232串口通信
OPCUA、PROFINET、Ethercat等都支持的TSN是什么?—工业通信未来已来
OPC UA&与OPC Classic之间的数据转换
OPC UA-面向未来的工业通讯规范
我们是一群智能制造技术的爱好者,我们乐于分享,我们积极向上,我们也许有些宅,但是我们很有爱,我们期待您的加入
--智能制造之家
多重福利哦
1.若您有智能制造相关资料需求,可以到留言区进行留言~
2.进入知识星球智能制造之家,提升自我认知,认识更多朋友,掌握更多资源,更多技巧~