jpa 自定义sql if_西家、罗家、施家组态软件连接数据库—Intouch利用SQL数据库发邮件...

↑ 点击上方

“智能制造之家”

关注我们

efb9f8f30c7cae70f5c1d15299fd039b.png

写在面前

前面我们分享了罗家的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数据库

  • 登陆数据库,打开“管理”菜单

9b7c7c09f9df65dc79d42b559aaef72d.png

  • 找到“数据库邮件”选项,并右键选择“配置数据库邮件”,勾选“通过执行以下任务来安装数据库邮件(S)”,下一步

390ab760692f4341b51b25216303cb47.png

  • 配置文件名:intouch_mail,填写说明,点击添加,选择“新建账户”

7247ba010e31750c07fb91aba9ca126c.png

  • 填写账户名、邮件地址、名称、服务器名称、端口号、基本身份验证,点击确定

42292f215bd09d7718622b78d9ee3d6f.png

  • 这是新建的账户名以及邮件地址,然后下一步

273c95375c68ebacf139b80fb85d716e.png

  • 勾选新建的配置文件名intouch_mail,下一步

ce390639661268becdb15ef20bedca45.png

  • 然后进行系统参数的配置,根据自己的需要配置即可,一般默认即可,下一步

764a91fcb62f4997d50b14ed292f9435.png

  •  此界面SQL会把刚才的配置都列举出来,点击完成即可

e185067722943f3472833273dffd6b94.png

  • 配置完成,关闭窗口

7c9abdbb96db448d5d07d344e6c84300.png

二. 创建邮件发送存储过程

  • 选择历史报警数据库WWALMDB,新建查询窗口

3e0cecdc8c7d656bbcfde97cdf8d339f.png

  • 编写存储过程:

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-面向未来的工业通讯规范

21d2b1a0d0a1288e797c869e6a290f11.png

我们是一群智能制造技术的爱好者,我们乐于分享,我们积极向上,我们也许有些宅,但是我们很有爱,我们期待您的加入

--智能制造之家

多重福利哦

1.若您有智能制造相关资料需求,可以到留言区进行留言~

2.进入知识星球智能制造之家,提升自我认知,认识更多朋友,掌握更多资源,更多技巧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值