抖音粉丝群1
『7x24小时有问必答』

置顶/标星公众号,不错过每一条消息!
本文跟大家分享,WINCC组态软件为例结合IFTTT使用Vbscript脚本,实现发送Email邮件的方法

主要内容:
1、IFTTT是什么
2、XMLHTTP
3、配置IFTTT
4、Vbscript脚本

WINCC版本:V7.5 ASIA

1IFTTT是什么

IFTTT,是一个新生的网络服务平台,通过其他不同平台的条件来决定是否执行下一条命令。即对网络服务通过其他网络服务作出反应。IFTTT得名为其口号“if this then that”。

不了解的可看下知乎上的Q&A:https://www.zhihu.com/topic/19607376/top-answers

1.jpeg

2XMLHTTP

1.MSXML

MSXML(微软XML核心服务,Microsoft XML Core Services),它提供了一组服务,让用户可以使用JScript、VBScript微软的开发工具来执行或开发基于XML的本机应用程序。
这篇文档提到的XMLDOM对象(MSXML以COM接口(Interface)的形式提供的一套XML的分析器(parser),从而实现了DOM)。

目前MSXML 6.0是最新版本,系统中通常还包含MSXML 3.0版本。再低的版本已经过时,尽量不要使用。

2.png

2.XMLHTTP对象

XMLHTTP 对象提供了对 HTTP协议的访问,包括  POSTHEAD 请求以及普通的 GET 请求的功能XMLHTTP 可以同步或异步地返回 Web 服务器的响应,并且能够以文本或者一个 DOM 文档的形式返回内容。
尽管它名为 XMLHTTP,但并不限于和 XML 文档一起使用:它可以接收任何形式的文本。

关于XMLHTTP更多的信息:
http://www.w3school.com.cn/xmldom/dom_http.asp

3.创建XMLHTTP对象

通常有3种创建方法:
Microsoft.XMLHTTP
MSXML2.XMLHTTP
MSXML2.XMLHTTP.6.0
与所有COM组件一样,每个版本的MSXML都会公开自己的一组CLSID和ProgID。

Microsoft.XMLHTTP是低本,一般是msxml2.6以下版本使用,ProgID首先在MSXML 1.0中引入,通常映射到MSXML 3.0对象和msxml3.dll
MSXML2.XMLHTTP是高版本,通常映射到MSXML 3.0对象和msxml3.dll
MSXML2.XMLHTTP.6.0,可以指定版本,映射到MSXML 6.0对象和msxml6.dll

3配置IFTTT

1.this配置

登录IFTTT,选择新建Applet

3.png

选择this

4.png

搜索”Webhooks“,打开进行配置

5.png

配置一个web request

6.jpeg

输入一个事件名称,然后点击“Create trigger”完成this配置。

7.png

2.that配置

选择that

8.png

选择“Email“应用

9.png

配置一个Email,用来接收IFTTT发送的邮件

10.png

设置subject(邮件的主题)和body(邮件的内容),可以使用默认内容,然后点击“Create trigger”  

11.png

接收邮件的地址默认为注册IFTTT账号邮箱,启用“Receive notifications when this Applet runs”,然后点击“Finish”完成that配置。

12.png

IFTTT配置完成了,方式是不是比较简单!当收到WINCC的Web request后将会触发推送邮件到指定邮箱。

13.png

4VBscript脚本

VBscript通过MSXML2.XMLHTTP .6.0对象,向IFTTT发送带data的HTTPS请求:

https://maker.ifttt.com/trigger/{Event}/with/key/{Your key}

Dim objHttp
Dim URL
Dim Request_JSON_Data

'data包括value1、value2、value3
Request_JSON_Data = "{""value1"": ""123"",""value2"": """",""value3"": """"}"

URL="https://maker.ifttt.com/trigger/winccdata/with/key/bZRPVrtEiyhH481Reft5Dx"  
'引用MSXML6.0创建XMLHTTP
Set objHttp = CreateObject("MSXML2.XMLHTTP.6.0")  

On Error Resume Next  
'设置false,启用同步请求
objHttp.open "POST",URL,False  
'设置http请求头

objHttp.setRequestHeader "Content-Type", "application/json"
'发送带data请求

objHttp.send Request_JSON_Data

'输出文本形式的响应
HMIRuntime.Trace objHttp.responseText & vbCrLf  

Set objHttp = Nothing  

正确发送请求后,IFTTT Webhooks将Response如下内容:
Congratulations! You've fired the winccdata event

IFTTT也可以把信息推送到其他应用程序,总之玩法多多,自行研究。

推荐阅读:

5最后
若觉得文章对你有帮助,随手点好看、分享,也是支持和鼓励。

扫描下面二维码、关注后,在底部菜单中可查看更多内容!  

微信公众号:scadaclub
长按识别图中二维码关注

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码