參考價(jià): | 面議 |
- 產(chǎn)品型號(hào)
- 品牌
- 經(jīng)銷商 廠商性質(zhì)
- 上海市 所在地
訪問次數(shù):498更新時(shí)間:2017-10-18 12:54:33
西門子6ES73146CH044AB2性能參數(shù) 西門子6ES73146CH044AB2性能參數(shù)
![]() | 6ES7314-6CH04-4AB2 SIMATIC S7-300 CPU 束 存在 關(guān): S7-300 CPU 314C-2 DP (6ES7314-6CH04-0AB0), 2x 前連接器 (6ES7392-1BM01-0AA0) mit 籠卡型觸點(diǎn),40極 |
- 公司名稱:上海朔川電氣設(shè)備有限公司
- 聯(lián) 系 人:吉夢(mèng)琪
- :
- 地址:上海市金山區(qū)涇波路129號(hào)
- :2840735331
1 解決方案
1.1 項(xiàng)目介紹
圖 1 PROFINET IO網(wǎng)絡(luò)拓?fù)?,用于SFC51/SFB52/SFB54的診斷。其中CPU319-3PN/DP用做IO控制器,SCALANCE X交換機(jī)和ET200S, ET200Eco作為IO設(shè)備進(jìn)行連接。
圖 1 PROFINET IO網(wǎng)絡(luò)拓?fù)?/p>
本例中使用到的主要硬件和軟件如下:
名稱 | 數(shù)量 | 版本 | 訂貨號(hào) |
CPU319-3PN/DP | 1 | V2.8 | 6ES7 318-3EL00-0AB0 |
SCALANCE X208 | 1 | V4.0 | 6GK5 208-0BA10-2AA3 |
SCALANCE X201-3P IRT | 1 | V4.1 | 6GK5 201-3BH00-2BA3 |
IM151-3 PN | 1 | V6.1 | 6ES7 151-3BA23-0AB0 |
IM151-3 PN FOC | 1 | V4.0 | 6ES7 151-3BB21-0AB0 |
PM-E | 2 | 6ES7 138-4CA01-0AA0 | |
2DO HF | 2 | 6ES7 132-4BB01-0AB0 | |
ET200 eco PN | 1 | 6ES7 142-6BG00-0AB0 | |
Step7 | 1 | V5.4+SP5 |
1.2 硬件組態(tài)
按照1.1中的硬件在Step7中進(jìn)行組態(tài)。然后分配設(shè)備名,下載組態(tài)數(shù)據(jù)到CPU319中,具體設(shè)置設(shè)備名以及完成PROFINET通訊,請(qǐng)參考下載中心《S7-300 PROFINET IO 通訊快速入門》72325620
圖 2 Step7的硬件組態(tài)
其中,“Ethernet(1):PROFINET-IO-System(100)”總線的100表示PROFINET總線的序號(hào)。IO設(shè)備例如SCALACNE X和ET200上從1到5,表示PROFINET IO的設(shè)備號(hào)。
2 SFC51診斷
2.1 介紹
系統(tǒng)狀態(tài)列表(SSL)用于描述可編程邏輯控制器的當(dāng)前狀態(tài)。SSL的內(nèi)容只能通過系統(tǒng)功能進(jìn)行讀取,而不能修改。換言之,部分列表是虛擬列表,只是在有特殊請(qǐng)求時(shí)由CPU的操作系統(tǒng)所創(chuàng)建。
SFC 51 “RDSYSST” 系統(tǒng)功能用于讀取 “系統(tǒng)狀態(tài)列表” (簡(jiǎn)寫為SSL),部分列表或 CPU 的 SSL 列表摘錄。對(duì)于 PROFINET IO,這些 SSL包含了 I/O 模塊,PROFINET IO 主站系統(tǒng)或?qū)嶋H控制器的狀態(tài)信息。當(dāng)選擇所用的、特別是在一個(gè)中斷或啟動(dòng) OB 中使用的 SSL ID 時(shí),必須注意的是 SFC 僅能同步執(zhí)行。如果執(zhí)行 SFC 之后,Busy 位激活表明幾個(gè)循環(huán)執(zhí)行一次 SFC,數(shù)據(jù)還沒有*讀出,因此數(shù)據(jù)是無效的。接收到的系統(tǒng)狀態(tài)列表數(shù)據(jù)記錄包括了診斷 PROFINET IO 設(shè)備上的信息概覽。
PN通信部分列表是虛擬列表,只是在有請(qǐng)求時(shí)由CPU的操作系統(tǒng)所創(chuàng)建。虛擬列表來自 CPU 內(nèi)部的PN IO控制器的緩沖區(qū),緩沖區(qū)由控制器的啟動(dòng)和ALARM信息進(jìn)行維護(hù)和刷新。
可以使用在PROFINET IO診斷的SSL_ID:
SSL_ID (W#16#...) | 部分列表(PROFINET) | INDEX (W#16#...) |
0C91 | PROFINET接口模塊(集成的或外部的)上的模塊的模塊狀態(tài)信息 | 邏輯基地址,輸出模塊 bit15=1 |
0D91 | PROFINET中的所有模塊的模塊狀態(tài)信息 | bits 0到10: 站號(hào),bits 11到 14: PN IO系統(tǒng)總線號(hào)的后兩位, Bit 15: 1 |
0094 | PROFINET接口模塊(集成的或外部的)上站的預(yù)期狀態(tài) | 100-115: PN IO系統(tǒng)總線號(hào) |
0294 | 讀取實(shí)際的站點(diǎn)是否存在 | 同上 |
0694 | 讀取實(shí)際的站點(diǎn)是否出錯(cuò) | 同上 |
0794 | 讀取實(shí)際的站點(diǎn)維護(hù)狀態(tài) | 同上 |
0C96 | PROFINET中的所有模塊的模塊狀態(tài)信息 | 邏輯基地址,輸出模塊 bit15=1 |
通過SFC51只能獲取站或模塊的狀態(tài)信息,例如,丟站,或者該模塊有錯(cuò)誤,并不能獲取模板的故障的詳細(xì)信息,例如哪一個(gè)模板的通道發(fā)生斷線,短路等。
2.2 編程
這里使用SFC51來讀取每一個(gè)站點(diǎn)的實(shí)際狀態(tài),判斷該站是否發(fā)生丟站故障。在PLC中添加并下載空的OB86,防止測(cè)試丟站時(shí),發(fā)生CPU停機(jī)現(xiàn)象。當(dāng)然也可以使用OB86來讀取每一個(gè)IO設(shè)備的實(shí)際狀態(tài),但需要更多的編寫程序,關(guān)于使用OB86來獲取IO站點(diǎn)的狀態(tài)信息,請(qǐng)參考下載中心《使用OB8x診斷SIMATIC PLC(PN) 》87668286
在OB1中加入SFC51,關(guān)于參數(shù)設(shè)置,點(diǎn)擊“F1”參考SFC51在線幫助。程序示例如下:
CALL "RDSYSST"
REQ :=M0.0
SZL_ID :=MW2
INDEX :=MW4
RET_VAL :=MW6
BUSY :=M0.1
SZL_HEADER:=DB1.SSL_HEADER
DR :=DB1.RECORD
按照上表在變量表中設(shè)置SSL_ID=0294 (MW2)和INDEX=16#64 (MW4),其中16進(jìn)制64的十進(jìn)制為100,表示PROFINET總線的序號(hào),請(qǐng)參考圖 2 Step7的硬件組態(tài)。添加要查看的變量,并使能M0.0為1。其中讀取到的數(shù)據(jù)記錄個(gè)數(shù)為1 (DB1.DBW2),該數(shù)據(jù)記錄的長(zhǎng)度為258bytes (DB1.DBW0)。DB1.DBW4表示PROFINET總線的序號(hào),這里為100 (64H) 。對(duì)于DB1.DBB6為2#0011_1111,其中bit0表示組信息,如果為1,表示至少有一個(gè)IO設(shè)備與IO控制器進(jìn)行通訊,如果為0,表示IO站點(diǎn)全部丟失。Bit1~Bit5表示設(shè)備號(hào)1~5的IO設(shè)備的狀態(tài),1表示IO設(shè)備存在,0表示IO設(shè)備丟站。至于其它Bit和高字節(jié)中的Bit依次類推,表示對(duì)應(yīng)IO設(shè)備的狀態(tài)。
圖 3 根據(jù)變量表查看設(shè)備狀態(tài)
根據(jù)這些位Bit1~5,可以很方便的在WinCC/WinCC Flexible中或任何第三方與PLC通訊的HMI上進(jìn)行顯示,方便用快速發(fā)現(xiàn)和維護(hù)現(xiàn)場(chǎng)故障。
3 SFB52診斷
3.1 介紹
SIMATIC S7 診斷數(shù)據(jù)記錄提供了附加的詳細(xì)信息的診斷性能。系統(tǒng)功能塊SFB 52 “RDREC” 用于讀取這些數(shù)據(jù)記錄。
調(diào)用時(shí),系統(tǒng)功能塊對(duì)要診斷的站ID進(jìn)行尋址,并以 INDEX 參數(shù)標(biāo)明要讀出的數(shù)據(jù)記錄。這可能是*機(jī)架或分布式組件(PROFIBUS DP或PROFINET IO)中的一個(gè)模塊。如果沒有診斷信息,則系統(tǒng)功能塊執(zhí)行后沒有輸出。由于 SFB 52 “RDREC” 是一個(gè)異步執(zhí)行的 SFB,即執(zhí)行過程橫跨幾個(gè) SFB調(diào)用,因此該塊只能在循環(huán)操作中使用。不能在診斷 OB 或定時(shí)中斷 OB 中使用。除了出錯(cuò)的精確位置外,SFB 52 診斷數(shù)據(jù)記錄還包含發(fā)生錯(cuò)誤的類型信息。為了進(jìn)一步分析,可對(duì)該信息進(jìn)行評(píng)估。
在MLEN中要讀取的zui多字節(jié)數(shù)。目標(biāo)區(qū)域RECORD的選定長(zhǎng)度至少應(yīng)等于
MLEN字節(jié)的長(zhǎng)度。輸出參數(shù)VALID如為TRUE,則表明已將數(shù)據(jù)記錄成功傳送到目標(biāo)區(qū)域RECORD中。此時(shí),輸出參數(shù)LEN包含所取得的數(shù)據(jù)的長(zhǎng)度(以字節(jié)計(jì))。輸出參數(shù)ERROR用以指示是否發(fā)生數(shù)據(jù)記錄傳送錯(cuò)誤。如果發(fā)生錯(cuò)誤,則輸出參數(shù)STATUS包含錯(cuò)誤信息。
該功能塊屬于狀態(tài)驅(qū)動(dòng)類型,可以在OB1或者其它循環(huán)OB塊中調(diào)用,用于讀取診斷記錄或者組態(tài)記錄等數(shù)據(jù)記錄。
PROFINET IO 設(shè)備模型說明了模塊化和緊湊型現(xiàn)場(chǎng)設(shè)備的結(jié)構(gòu)。 它根據(jù) PROFIBUS DP 的基本特性構(gòu)建。子模塊和 API 的定義已添加至設(shè)備模型,以增加 IO 設(shè)備的靈活性。
一個(gè) PROFINET IO 設(shè)備包括一個(gè)或多個(gè)“邏輯設(shè)備”, 這些設(shè)備依次包含一個(gè)或多個(gè) API(應(yīng)用程序進(jìn)程標(biāo)識(shí)符),至少包含 API 0。
設(shè)備的特性通過IO設(shè)備的基于XML的GSD(General Station Description)文件來描述??梢酝ㄟ^PROFINET XML Viewer來讀取GSDXML文件。
涉及到分級(jí)的概念,AP,API,SLOT,SUBSLOT。每個(gè)尋址級(jí)別都有一組可用的診斷記錄和組態(tài)記錄。 通過記錄編號(hào)的首字母來區(qū)別各記錄組的診斷級(jí)別,如下圖 4 診斷級(jí)別。關(guān)于PROFINET IO設(shè)備模型和診斷的數(shù)據(jù)記錄結(jié)構(gòu)請(qǐng)參考 19289930
圖 4 診斷級(jí)別
3.2 編程
這里使用SFB52來讀取ET200S IM151-3PN FOC站點(diǎn)輸出模塊的狀態(tài),例如斷線等,參考圖 5 ET200S FOC的硬件組態(tài)列表。在PLC中添加并下載空的OB82,防止測(cè)試斷線故障時(shí),發(fā)生CPU停機(jī)現(xiàn)象。當(dāng)然也可以使用OB82來讀取IO設(shè)備的模塊狀態(tài)信息,但需要更多的編寫程序,關(guān)于使用OB82來獲取IO站點(diǎn)的模塊的狀態(tài)信息,請(qǐng)參考下載中心《使用OB8x診斷SIMATIC PLC(PN) 》87668286
圖 5 ET200S FOC的硬件組態(tài)列表
雙擊該站的2DO DC24V/0.5AHF模板,設(shè)置使能通道0相關(guān)的診斷“斷線”,參考圖 6 ET200S 2DO模塊的參數(shù)設(shè)置。
圖 6 ET200S 2DO模塊的參數(shù)設(shè)置
在OB1中加入SFB52,關(guān)于參數(shù)設(shè)置,點(diǎn)擊“F1”參考SFB52在線幫助。程序示例如下:
CALL "RDREC" , DB52
REQ :=M0.2
ID :=MD8
INDEX :=MW12
MLEN :=MW14
VALID :=M0.3
BUSY :=M0.4
ERROR :=M0.5
STATUS:=MD18
LEN :=MW22
RECORD:=DB2.DB_RECORD
按照需要上表在變量表中設(shè)置ID=16#00008002 (MD8)和INDEX=16#800A (MW12),其中8002表示該輸出模板的邏輯地址,請(qǐng)參考圖 4 ET200S FOC的硬件組態(tài)列表。添加要查看的變量,并使能Q2.0為1,此時(shí)激活斷線故障,DO模板、ET200S FOC接口模板以及CPU的SF燈亮。設(shè)置MLEN (MW14) 的數(shù)據(jù)長(zhǎng)度為100,需要大于或等于實(shí)際讀取到的數(shù)據(jù)記錄的長(zhǎng)度,否則無法讀到相關(guān)的診斷的信息。然后使能M0.2為1,讀取到的數(shù)據(jù)記錄如下圖 7 診斷數(shù)據(jù)記錄。其中zui后一個(gè)字DB2.DBW24為16#0006,表示在該站的2 (DB2.DBW10) 號(hào)槽,1 (DB2.DB12) 號(hào)子槽的通道0 (DB2.DBW20) 發(fā)生“斷路”故障,參考圖 8 ChannelErrorType編碼。更多詳細(xì)的通道故障類型信息,請(qǐng)參考 19289930
也可以更高一級(jí)的診斷級(jí)別,例如AR級(jí),設(shè)置ID=16#00001FDF (MD8) 接口模板的診斷地址和INDEX=16#E00A (MW12) 也可以讀取到相同的診斷數(shù)據(jù)記錄,不過由于該級(jí)別zui高,那么可以獲得該站的各個(gè)模板和各個(gè)通道的詳細(xì)診斷信息。
根據(jù)故障類型的編碼,可以很方便的在WinCC/WinCC Flexible中或任何第三方與PLC通訊的HMI上設(shè)置診斷信息并進(jìn)行顯示,方便用快速發(fā)現(xiàn)和維護(hù)現(xiàn)場(chǎng)故障。
需要注意在Step7中調(diào)用SFB52時(shí),不要一直觸發(fā)REQ,也就是說REQ不要一直為1,在需要的時(shí)候調(diào)用該功能塊,因?yàn)橐晃兜挠|發(fā)會(huì)占用PLC更多的資源和占用更多的帶寬。
圖 7 診斷數(shù)據(jù)記錄
圖 8 ChannelErrorType編碼
4 SFB54診斷
4.1 介紹
SFB "RALRM" 從外圍設(shè)備模塊(集中結(jié)構(gòu))或從DP從站或PROFINET IO設(shè)備組件
接收中斷及其所有相應(yīng)信息。然后將此信息提供給輸出參數(shù)。
帶有附加詳細(xì)輸出參數(shù)中的信息包含被調(diào)用OB的啟動(dòng)信息以及中斷源的信息。由于要檢查外圍設(shè)備中斷,故只能在由CPU操作系統(tǒng)啟動(dòng)的中斷OB中調(diào)用SFB 54。中斷 OB 外的 SFB 54“RALARM” 調(diào)用是不*的,因?yàn)榇藭r(shí)不能獲取診斷狀態(tài)的重要信息。
在TINFO和AINFO數(shù)據(jù)緩存中,AINFO中的USI=16#8000 (WORD 26) 時(shí)快速獲得診斷的一些重要信息如下:
TINFO 的 WORD 20 站號(hào).
AINFO 的 WORD 4 中斷類型
WORD 12 插槽號(hào)(SLOT)
WORD 28 通道號(hào)(CHANNEL)
WORD 32 出錯(cuò)類型
4.2 編程
這里使用SFB54來捕獲ET200S IM151-3PN FOC站點(diǎn)輸出模塊的中斷狀態(tài),例如斷線等,參考圖 5 ET200S FOC的硬件組態(tài)列表。在OB82中添加SFB54,用于捕獲斷線故障。當(dāng)然也可以使用OB82來讀取IO設(shè)備的模塊狀態(tài)信息,但需要更多的編寫程序,關(guān)于使用OB82來獲取IO站點(diǎn)的模塊的狀態(tài)信息,請(qǐng)參考下載中心《使用OB8x診斷SIMATIC PLC(PN) 》87668286
雙擊該站的2DO DC24V/0.5AHF模板,設(shè)置使能通道0相關(guān)的診斷“斷線”,參考圖 6 ET200S 2DO模塊的參數(shù)設(shè)置。
在OB82中加入SFB54,關(guān)于參數(shù)設(shè)置,點(diǎn)擊“F1”參考SFB54在線幫助。程序示例如下:
L #OB82_MDL_ADDR
T MD 30
CALL "RALRM" , DB54
MODE :=1
F_ID :=MD30
MLEN :=1000
NEW :=M1.0
STATUS:=MD36
ID :=MD40
LEN :=MW44
TINFO :="TINFO".TINFO
AINFO :="AINFO".AINFO
在變量表中添加TINFO和AINFO的數(shù)據(jù)記錄。其中TINFO的WORD20為8005,表示PROFINET總線序號(hào)為100的系統(tǒng)中站號(hào)5發(fā)生故障。根據(jù)圖 9 AINFO變量表,可知AINFO中的DB4.DBW32為16#0006,表示在該站的2 (DB4.DBW12) 號(hào)槽,1 (DB4.DB14) 號(hào)子槽的通道0 (DB2.DBW28) 發(fā)生“斷路”故障,參考圖 8 ChannelErrorType編碼。更多詳細(xì)的通道故障類型信息,請(qǐng)參考 19289930
圖 9 AINFO變量表
根據(jù)故障類型的編碼,可以很方便的在WinCC/WinCC Flexible中或任何第三方與PLC通訊的HMI上設(shè)置診斷信息并進(jìn)行顯示,方便用快速發(fā)現(xiàn)和維護(hù)現(xiàn)場(chǎng)故障。
關(guān)鍵詞
PROFINET IO, 診斷, 系統(tǒng)功能塊, SFC51/SFB52/SFB54一、SMS基礎(chǔ)知識(shí)介紹 SMS(Short Messaging Service)是zui早的短消息業(yè)務(wù),也是現(xiàn)在普及率zui高的一種短消息業(yè)務(wù)。目前,這種短消息的長(zhǎng)度被限定在140字節(jié)之內(nèi),這些字節(jié)可以是文本的。SMS以簡(jiǎn)單方便的使用功能受到大眾的歡迎,卻始終是屬于*代的無線數(shù)據(jù)服務(wù),在內(nèi)容和應(yīng)用方面存在技術(shù)標(biāo)準(zhǔn)的限制。 ......
一、SMS基礎(chǔ)知識(shí)介紹
SMS(Short Messaging Service)是zui早的短消息業(yè)務(wù),也是現(xiàn)在普及率zui高的一種短消息業(yè)務(wù)。目前,這種短消息的長(zhǎng)度被限定在140字節(jié)之內(nèi),這些字節(jié)可以是文本的。SMS以簡(jiǎn)單方便的使用功能受到大眾的歡迎,卻始終是屬于*代的無線數(shù)據(jù)服務(wù),在內(nèi)容和應(yīng)用方面存在技術(shù)標(biāo)準(zhǔn)的限制。
一個(gè)SMS消息zui長(zhǎng)可包括 160個(gè)字符(偶數(shù)二進(jìn)制)。
SMS是一種存儲(chǔ)和轉(zhuǎn)發(fā)服務(wù)。也就是說,短消息并不是直接從發(fā)送人發(fā)送到接收人,而始終通過SMS中心進(jìn)行轉(zhuǎn)發(fā)的。如果接收人處于未連接狀態(tài)(可能已關(guān)閉),則消息將在接收人再次連接時(shí)發(fā)送。
SMS具有消息發(fā)送確認(rèn)的功能。這意味著
SMS與尋呼不同,用戶不是簡(jiǎn)單地發(fā)出短消息然后相信消息已發(fā)送成功;而是短消息發(fā)送人可以收到返回消息,通知他們短消息是否已經(jīng)發(fā)送成功。
SMS 消息的發(fā)送和接收可以和 GSM 語音同步進(jìn)行。
SMS 消息按消息收費(fèi),因此要比通過基于 IP 的網(wǎng)絡(luò)(例如,使用 GPRS [通用分組無線業(yè)務(wù)])發(fā)送的數(shù)據(jù)昂貴得多(每字節(jié))。
要使用 SMS,用戶需要預(yù)訂支持 SMS 的移動(dòng)網(wǎng)絡(luò),并且必須為該用戶啟用 SMS 的使用。用戶需要有發(fā)送短消息或接收短消息的目的地。該目的地通常是其他的,但也可以是服務(wù)器。zui后,用戶還需要有支持 SMS 的,并需要了解如何使用其特定型號(hào)的發(fā)送或閱讀短消息。
SMS發(fā)送的模式分有兩種:Text模式和PDU模式.
使用Text模式收發(fā)短信代碼簡(jiǎn)單,實(shí)現(xiàn)起來十分容易,但是zui大的缺點(diǎn)是不能收發(fā)中文短信, PDU模式*可以解決這個(gè)問題,PDU模式不僅支持中文短信,也能發(fā)送英文短信, PDU模式收發(fā)短信可以使用三種編碼: 7-bit、8-bit和UCS2編碼。 7-bit編碼用于發(fā)送普通的ASCII字符,8-bit編碼通常用于發(fā)送數(shù)據(jù)消息,UCS2編碼用于發(fā)送Unicode字符。我們要實(shí)現(xiàn)中文短信的發(fā)送,所以選擇UCS2,即中文Unicode碼。下面是關(guān)于兩種方式發(fā)送的示例AT指令:
范例:向發(fā)送短信“Weather”
(1) TEXT方式
AT+CMGF=1<CR> …………設(shè)置短信發(fā)送方式為TEXT模式
AT+CMGS=””<CR> …………向被叫號(hào)碼發(fā)短信
> Weather <CTRL+Z>
(2) PDU方式
AT+CMGF=0<CR> ……………設(shè)置短信發(fā)送方式為PDU模式
AT+CMGS=018<CR> ……………向被叫號(hào)碼發(fā)送PDU的長(zhǎng)度
>0001000D91683108214365F700080459296C14<CTRL+Z>
注:PDU方式中AT+CMGS命令解釋:
AT+CMGS=XXX<CR> …XXX表示PDU中TPDU的長(zhǎng)度
>PDU ...輸入PDU信息
0001 :基本參數(shù) 00 :消息基準(zhǔn)值TP-MR 0D :目標(biāo)地址數(shù)字個(gè)數(shù)(十進(jìn)制,不包含91) 91 :目標(biāo)地址格式 68 :目標(biāo)地址為中國 3108214365F7 :目標(biāo)地址() 00 :協(xié)議標(biāo)示TP-PID 08 :用戶信息編碼格式TP-DCS(08表示UCS2編碼) 00 :有效期TP-VP 04 :用戶信息長(zhǎng)度TP-UDL 59296C14 :用戶信息(“天氣”) | ![]() | TPDU |
其中,紅色的數(shù)字(3108214365F7)代表對(duì)方的,在PDU格式中,每?jī)晌恍枰獙?duì)調(diào)。比如在上面這個(gè)例子里,對(duì)方的為,F(xiàn)用來補(bǔ)充7后面的空位。藍(lán)色的數(shù)字(59296C14)是短消息內(nèi)容的Unicode碼,這里5929代表“天”6C14代表“氣”。Unicode碼同樣可以用來表示中一般英文字母和數(shù)字,方法是在英文或數(shù)字的ASCII碼前加00。紫色的數(shù)字(04)代表短消息的長(zhǎng)度,它等于其后所有字符個(gè)數(shù)除以2。黑色的數(shù)字每次發(fā)送短消息時(shí)都是相同的,使用時(shí)可以照抄,但前提是所使用的SIM卡在使用前要用手機(jī)設(shè)置好短消息服務(wù)中心號(hào)碼(+86)。漢字的Unicode碼可以通過編碼轉(zhuǎn)換軟件得到。
PDU格式發(fā)送短消息時(shí),還必須計(jì)算整個(gè)PDU數(shù)據(jù)包的長(zhǎng)度,PDU數(shù)據(jù)包的長(zhǎng)度等于(PDU數(shù)據(jù)包字符數(shù)-2)/2,在上面的例子里:(38-2)/2=18。
二、網(wǎng)絡(luò)結(jié)構(gòu)圖
硬件的連接, S7-200CPU的Port0口或Port1口通過PC/PPI電纜連接到MD720-3的串口上,MD720-3插一塊SIM卡,且MD720-3接天線。PC/PPI電纜的撥碼開關(guān)設(shè)置為11100110
三、需要的軟件及硬件
Component | Qty. | MLFB / Order number | Note |
LOGO! Power 24V 1.3A | 1 | 6EP1331-1SH02 | |
SIMATIC S7-200 CPU 224XP | 1 | 6ES7214-2AD23-0XB0 | |
MD720-3 | 1 | 6NH9720-3AA00 | |
ANT 794-4MR Antenna | 1 | 6NH9860-1AA00 | |
PC/PPI cable | 2 | 6ES7901-3CB30-0XA0 | |
SIM card |
安全部件及軟件
Component | No. | MLFB / Order number | Note |
STEP 7 Micro/WIN | 1 | 6ES7810-2CC03-0YX0 |
四、以TEXT的方式發(fā)送SMS
在這里不介紹用自由口編程的方式編寫AT的指令來發(fā)送SMS,而是采用西門子提供庫功能塊來編寫程序。庫程序的下載鏈接地址如下:
Port0口的庫程序
http://support.automation.siemens.com/WW/llisapi.dll/csfetch/21063345/set5_s7-200-library_port0.zip?func=cslib.csFetch&nodeid=32210511
Port1口的庫程序
http://support.automation.siemens.com/WW/llisapi.dll/csfetch/21063345/set5_s7-200-library_port1.zip?func=cslib.csFetch&nodeid=32210527
上面兩個(gè)庫程序是壓縮文件,先解壓縮到一個(gè)目錄下,然后打開STEP 7 Micro/WIN軟件導(dǎo)入此目錄下的文件,這里的解壓的目錄為D:SMS。在STEP 7 Micro/WIN導(dǎo)入庫的方式如下:
解壓庫文件到D:SMS目錄下
打開STEP 7 Micro/WIN,右鍵點(diǎn)擊libraries,在彈出的菜單中選擇Add/Remove Libraries… 如下圖:
在彈出的窗口里,點(diǎn)擊 Add..按鈕,然后選擇文件 D:SMSset5_s7-200-Libary_port0.mwl 如下圖所示,然后選擇 Save 按鈕后在選擇 Ok 按鈕
添加后的庫程序如下圖:
在庫程序的文件夾下有5個(gè)功能塊:
SMS_init: ......SMS初始化塊
SMS_xmt_rcv_manage ......SMS收發(fā)處理執(zhí)行塊
SMS_send ......SMS發(fā)送信息功能塊
SMS_receive ......SMS接受信息功能塊
SMS_e_handle ......SMS遠(yuǎn)程訪問處理塊
程序的編寫方式在主程序里依次調(diào)用SMS_init; SMS_send; SMS_receive; SMS_e_handle如下:
1、在Main程序的Network1里編程如下
2、在Main程序的Network2里編程如下
3、在Main程序的Network3里編程如下
4、在Main程序的Network4里編程如下
5、在數(shù)據(jù)塊中的定義如下
6、給功能塊分配庫存儲(chǔ)區(qū),不分配則編譯程序時(shí)會(huì)報(bào)錯(cuò)誤,分配方法如下:打開指令庫下的program block,右鍵點(diǎn)擊 library,在彈出的菜單下選擇 Library memory...,如下圖:
在彈出的 Library Memory Allocation 的窗口里點(diǎn)擊 Suggest Address 按鈕,如下圖會(huì)分配VB0到VB226的存儲(chǔ)區(qū)給庫程序使用,此區(qū)域的地址在程序的其它部分不可再使用
到此就完成了所有程序的編寫,編譯并下載程序到PLC中。
![]() | 6ES7314-6CH04-4AB2 SIMATIC S7-300 CPU 束 存在 關(guān): S7-300 CPU 314C-2 DP (6ES7314-6CH04-0AB0), 2x 前連接器 (6ES7392-1BM01-0AA0) mit 籠卡型觸點(diǎn),40極 |