微信/APP推送WinCC報警消息
這期我們聊聊微信和APP推送。
?
微信推送
先展示一下我們測試視頻,以證明我們緊跟時代潮流,沒忽悠:)
在WinCC的WebUX客戶端上(iPad)上操作觸發(fā)了“壓力低限”和“溫度高限”報警
,時長00:08
在手機微信app的測試公眾號里可以馬上收到報警消息,并查詢數(shù)據(jù)。
,時長00:20
大致步驟如下:
1. 需要注冊一個微信公眾號,微信沒有開放第三方直接把消息把推送給個人這樣的功能,只能通過公眾號以“模板消息”的方式推送(這里我們用的是免費的個人訂閱號做的測試,有些功能受限,如每天只能群發(fā)1條消息,其它服務號、企業(yè)號之類的公眾號功能更強,但需作企業(yè)認證和付費)
2. 微信公眾號的通訊機制:①用戶通過微信app向公眾號發(fā)送一條內(nèi)容,實際是發(fā)送到了微信服務器上。②然后,微信服務器就會對內(nèi)容進行封裝,如xml格式,再轉發(fā)到我們的公眾號服務器(必須有能暴露給外界訪問的一個公網(wǎng)地址);同樣,⑤公眾號若要把信息推送或回復給用戶,也是要經(jīng)由微信服務器,⑥再到用戶。也就是說,我們自己需部署一個用來接收和響應微信消息和事件的公眾號服務器,由這個公眾號服務器作為中間商完成微信服務器與WinCC的交互。

3. 部署公眾號服務器(我們把WinCC系統(tǒng)和測試用的公眾號服務器部署在一臺硬件服務器上了,此臺服務器有公網(wǎng)固定IP)
在IIS中設定web站點。
(下面的C#代碼均發(fā)布到此Web站點)

將此臺服務器綁定域名http://wechat.wincc.com.cn
(已在公網(wǎng)域名管理服務器中將IP與此域名綁定)

應用池設定,接收WinCC本地應用交互。



完成IIS的基本設定
4.??將公眾號服務器注冊到微信服務器
在微信公眾平臺上,將公眾號從“編輯模式”切換到“開發(fā)者模式”,并輸入公眾號服務器地址URL (http://wechat.wincc.com.cn)和token(可任意填寫,用作生成簽名)以及用作消息體加解密密鑰EncodingAESKey(由開發(fā)者手動填寫或隨機生成),提交后,微信服務器會發(fā)送一個get請求到我們填寫的URL上,公眾號服務器收到這個消息后,回復內(nèi)容即可通過微信服務器的驗證。即建立關注此公眾號的微信用戶與公眾號服務器之間的關聯(lián)關系。
5. 在WinCC中封裝報警消息并POST到公眾號服務器
關于報警事件及報警文本的捕捉,參考前一篇:《短信、郵件推送WinCC報警消息》
在C全局腳本GMsgFunction函數(shù)中將報警編號、文本等信息寫入WinCC內(nèi)部變量,并置位Alarm_coming(也是WinCC內(nèi)部變量)。
通過Alarm_coming這個變量觸發(fā)下面的VBS全局動作,將報警消息封裝成XML格式的字符串(這里我們把報警的MsgType消息類型定義為“alarm”,便于公眾號服務器區(qū)分信息來源和類別),通過msxml2.xmlhttp對象將這個字符串POST到公眾號服務器(wechat.wincc.com.cn)。

6. 公眾號服務器識別第三方POST過來的信息,當解析后發(fā)現(xiàn)MsgType為“alarm”,即約定為是WinCC推送過來的報警消息。(下面均為C#代碼,均需發(fā)布到公眾號網(wǎng)站上)

然后利用微信提供的接口讀取關注此公眾號的用戶,輪詢客戶并推送消息到用戶端(目前微信規(guī)定,即使是采用模板方式推送,也只能到單個客戶,不能一次性批量群發(fā))

wxMessageService類展開如下,調(diào)用了微信的接口,按微信公眾平臺預定義的消息模板,向特定用戶Post消息。其中access_token是公眾號的全局唯一接口調(diào)用憑據(jù),公眾號調(diào)用各種微信接口時都需要(https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html)?

其實我個人并不推薦這種方式,因為要接入到互聯(lián)網(wǎng),如果信息安全措施不到位,可能會有隱患;另外,正式用的企業(yè)公眾號還涉及到額外的費用。再另外,涉及太多非傳統(tǒng)自動化的IT知識點,有時隔行如隔山。?
騰訊官方的微信開發(fā)者文檔:
https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html)
App推送
部署一個PC用作SIMATICNotifier報警信息服務器(需要購買SIMATIC Notifier軟件及授權),它可以通過S7,OPC UA通信把WinCC和觸摸屏等各種信息源的報警消息,推送到智能手表(支持安卓Android wear 2)或安卓手機的app客戶端,效果如下面視頻:
短信語音微信報警
方案概述? ? ? ??
? ? ?工業(yè)控制系統(tǒng)中,當有警報出現(xiàn)時由值班人員查看并通知相關人員處理。有時當有重要警報出現(xiàn)時,可能由于值班人員疏忽而延遲了處理時間從而對生產(chǎn)或安全造成影響。?隨著移動互聯(lián)網(wǎng)的普及,越來越多的用戶希望通過智能手機監(jiān)控工業(yè)現(xiàn)場的各種狀態(tài)、報警等數(shù)據(jù)。針對這種情況,巨控科技推出通過短信,語音,微信報警方案。
? ? 巨控科技PLC短信報警方案簡單成熟,多種報警方式可以保證緊急情況,通知到人,避免經(jīng)濟損失。多年來,巨控短信報警系統(tǒng)在電力系統(tǒng),藥廠,水務等行業(yè)穩(wěn)定運行,獲得了客戶一致好評。

PLC短信報警系統(tǒng)架構? ? ? ? ?
1.通過巨控模塊485口采集PLC或者儀表、變頻器,支持各種主流PLC。
2.通過巨控模塊網(wǎng)口采集PLC或者儀表數(shù)據(jù), 支持各種主流PLC。
3.可直接連接開關量信號,模擬量傳感器,省去現(xiàn)場PLC采集。
4.可連接上位機SCADA、DCS數(shù)據(jù),實現(xiàn)上位機系統(tǒng)報警。

PLC短信報警系統(tǒng)功能? ? ? ? ? ??
1.使用微信關注公眾號,可以在現(xiàn)場設備故障時,接受報警推送。
2.手機可以接受到短信報警,短信報警之前可以設置撥號提醒。
3.可以實現(xiàn)報警后,值班人員通過手機和電話,接受到語音播放報警。
4.可以在手機APP上單獨禁用或者啟用某個報警,防止誤報警。
5.現(xiàn)場可選配聲光報警器,實現(xiàn)遠程和本地均有報警通知。
6.可以給客戶定制微信界面,定制企業(yè)公眾號,達到更好的宣傳作用。

PLC短信報警優(yōu)勢? ? ? ? ??
1.分組優(yōu)先級發(fā)送,黑白班值守,定時發(fā)送設備信息多種靈活配置。
2.具備重復發(fā)送,報警撥號,短信恢復,短信確認報警等機制。
3.大容量緩存技術,多個報警并發(fā)產(chǎn)生,不會丟失。
4.配合APP可查看歷史報警,歷史數(shù)據(jù),修改報警閥值,禁用報警。
5.內(nèi)置語音合成,模塊只需配置好短信文字內(nèi)容,報警時會自動讀出,播放語音。
6.模塊具備通訊自診斷和自恢復功能,采用雙重看門狗設計,穩(wěn)定性高。
作者自我介紹:工控小周
人們中眼的天才之所以卓越非凡,并非天資超人一等,而是付出了持續(xù)不斷的努力。1萬小時的錘煉是任何人從平凡變成超凡的必要條件。按比例計算就是:如果每天工作八個小時,一周工作五天,那么成為一個領域的專家至少需要五年。我從信捷(干了五年)出來后,做過步科獨立銷售,做過北辰 自己單干過 ,可是我發(fā)現(xiàn)通用品越來越難做,生意越來越難做,但是生活還得繼續(xù)下去,我就在想,白天想,夜里想 突然想到2011年認識的巨控的總經(jīng)理,他有好的產(chǎn)品,無線遠程監(jiān)控模塊GRM500,于是我從無錫碩放飛廣州, 經(jīng)培訓成了巨控產(chǎn)品經(jīng)理,在巨控負責銷售和技術,并且一直努力專注下去!一直不忘初心,經(jīng)常奔赴第一現(xiàn)場,進行項目評估,項目實施,數(shù)據(jù)采集,工業(yè)物聯(lián)通訊,上位機,APP組態(tài)等。159618(工控小周)72327創(chuàng)建西門子WINCC社區(qū)