前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WinCC 通过串口短信猫 推送报警消息

WinCC 通过串口短信猫 推送报警消息

作者头像
科控物联
发布2022-03-29 17:35:15
1.4K0
发布2022-03-29 17:35:15
举报
文章被收录于专栏:科控自动化

短信 (SMS) 推送报警消息

  • 方法1:通过串口短信猫 (以西门子MD720-3为例,以AT指令方式发送中英文短信)

A. 在WinCC图形编辑器中选择“对象选项板”的“控件”选项卡,选择“添加/删除”,在“选择OCX控件”对话框中选择“Microsoft Communications Control”进行注册。然后在WinCC画面中添加MSComm 控件;

B. 设置串口通信的波特率、奇偶校验、数据位等参数。

C. 将要发送的报警消息赋值给控件的 Output 属性。注意,发送前先判断串口是否为打开状态(PortOpen 属性)

D. 发送英文短信:

1) MSComm控件发送“AT+CMGF=1<CR>”。设定短消息格式为“文本”,仅英文。

2) 返回“OK”。

3) 向串口发送“AT+CMGS=”13810000000”<CR>”。手机号码

4) 返回“>”。

5) 向串口发送短信的内容(报警文本), MD720-3将短信发送给设定的手机号码。

6) 返回“OK”,说明短信发送成功。

代码语言:javascript
复制
set SMsSend = HMIRuntime.screens("Alarm" ).screenItems ("MSComm1")
If  SMSSend.PortOpen = True Then
SMSsend.output ="ATEO" & Chr (13)
Do
buffer = buffer & SMssend. Input
Loop Until InStr (buffer, "OK")
buffer - ""
HMIRuntime.Trace( "AT State OK!"&vbCrLf)
SMssend.output -"AT+CMGF-1" & chr (13)
Do
buffer = buffer & SMsSend . InputLoop 
Until InStr (buffer, "OK")
buffer - ""
HMIRuntime.Trace ( "AT+CMGF=1 OK!"& vbCrLf)
SMsSend.output = "AT+CMGS=n"" & PhoneNumber & """" & Chr(13)
Do
buffer -buffer & SMsSend. InputLoop Until InStr (buffer, ">")
buffer - ""
HMIRuntime.Trace( "AT+CMGs oK!"& vbCrLf)
SMsSend.output = SMS +chr (2 6)
Do
buffer = buffer & SMssend.InputLoop 
Until InStr(buffer, "OK")
HMIRuntime.Trace ("Finish to send the SMS!" & vbCrLf)
Else
HMIRuntime.Trace ("No port is opened! " & vbCrLf)
End If

E. 发送中文短信:

1) 首先需要设置短信发送方式为 PDU 模式。使用“AT+CMGF=0<CR>”命令。

2) 其次要向被叫号码发送 PDU 的长度。例如,使用“AT+CMGS=18<CR>”命令。

3) 当 MSComm 控件接收到“>”命令后,向串口发送短信的 PDU 编码字符串。PDU 编码格式如下:

例如发送:

>0001000D91683108214365F700080459296C14<CTRL+Z>

  • 其中,红色的数字(3108214365F7)代表对方的手机号码,在 PDU 格式中,手机号码每两位需要对调。比如在上面这个例子里,对方的手机号码为13801234567,F用来补充7 后面的空位。
  • 蓝色的数字(59296C14)是短消息内容的 Unicode 码,这里5929 代表“天”,6C14 代表“气”。Unicode码同样可以用来表示一般英文字母和数字,方法是在英文或数字的 ASCII 码前加 00。中文对应的unicode以及中文转unicode的程序代码,网上有很多资料,如:https://wenku.baidu.com/view/0a57dc6e650e52ea55189882.html
  • 紫色的数字(04)代表短消息文本的长度,它等于其后所有字符个数除以 2。黑色的数字每次发送短消息时都是相同的,使用时可以照抄。 PDU 格式发送短消息时,还必须计算整个 PDU 数据包的长度,PDU 数据包的长度等于(PDU 数据包字符数-2)/2,在上面的例子里:(38-2)/2=18。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档