6ES7340-1BH02-0AE0 吉林西門子代理商 6ES7340-1BH02-0AE0 吉林西門子代理商
SIEMENS長沙奈歐自動化設(shè)備有限公司
我公司理西門子全系列產(chǎn)品歡迎
來電 電話:13762110473(微信同步)
長沙奈歐自動化設(shè)備有限公司
聯(lián)系人:劉文秀(銷售經(jīng)理)
商務(wù)QQ:1533714462
”信譽,客戶至上“是公司成立之初所確立的宗旨,在公司的嚴格要求和員工們不折不扣地貫徹執(zhí)行下發(fā)展延續(xù)至今?!凹僖涣P十”一直是我公司的承諾。
【信譽、誠信交易】【長期銷售、】
【稱心滿意、服務(wù)動力】【真誠面對、溝通無限】
我公司長期銷售西門子PLC模塊6ES7331-7KF02-0AB0 6ES7321-1BL00-0AA0 6ES7322-1BL00-0AA0 6ES7332-5HF00-0AB0 6ES7153-1AA03-0xB0 6XV1830-0EH10電纜 6ES7972-0BA12-0xA0接頭 6GK1503-3CB00光纖鏈路模塊 6ES7307-1EA00-0AA0 6ES7953-8LJ30-0AA0內(nèi)存卡 西門子PLC模塊315-2DP 6ES7315-2AH14-0AB0 西門子PLC模塊6ES7315-2EH14-0AB0 西門子PLC模塊6ES7214-2BD23-0xB8 處理6GK7343-1EX30-0xE0 屏66643-0CD01-1AX1 銷售西門子6SN1145-1BA02-0CA2
手機:13762110473
公司地址:長沙市岳麓區(qū)天頂街道尖山安置公寓樓702
———————————————————————————————————
【服務(wù)、一諾千金】【承諾、客戶滿意】
24小時西門子PLC銷售:13762110473微信同步
西門子總公司-長沙奈歐伺服公司經(jīng)營西門子全新原裝現(xiàn)貨PLC;S7-200S7-300 S7-400 S7-1200 屏,變頻器,6FC,6SN,S120 G120C V90 V80伺服數(shù)控備件:原裝進口電機(1LA7、1LG4、1LA9、1LE1),國產(chǎn)電機(1LG0,1LE0)大型電機(1LA8,1LA4,1PQ8)伺服電機(1PH,1PM,1FT,1FK,1FS)西門子全新原裝產(chǎn)品‘質(zhì)保一年。 西門子伺服驅(qū)動器現(xiàn)貨
1、SMS基礎(chǔ)知識介紹
SMS(Short Messaging Service)是最早的短消息業(yè)務(wù),也是現(xiàn)在普及率最高的一種短消息業(yè)務(wù)。目前,這種短消息的長度被限定在140字節(jié)之內(nèi),這些字節(jié)可以是文本的。SMS以簡單方便的使用功能受到大眾的歡迎,卻始終是屬于第一代的無線數(shù)據(jù)服務(wù),在內(nèi)容和應(yīng)用方面存在技術(shù)標(biāo)準的限制。
一個SMS消息最長可包括 160個字符(偶數(shù)二進制)。
SMS是一種存儲和轉(zhuǎn)發(fā)服務(wù)。也就是說,短消息并不是直接從發(fā)送人發(fā)送到接收人,而始終通過SMS中心進行轉(zhuǎn)發(fā)的。如果接收人處于未連接狀態(tài)(可能電話已關(guān)閉),則消息將在接收人再次連接時發(fā)送。
SMS具有消息發(fā)送確認的功能。這意味著
SMS與尋呼不同,用戶不是簡單地發(fā)出短消息然后相信消息已發(fā)送成功;而是短消息發(fā)送人可以收到返回消息,通知他們短消息是否已經(jīng)發(fā)送成功。
SMS 消息的發(fā)送和接收可以和 GSM 語音同步進行。
SMS 消息按消息收費,因此要比通過基于 IP 的網(wǎng)絡(luò)(例如,使用 GPRS [通用分組無線業(yè)務(wù)])發(fā)送的數(shù)據(jù)昂貴得多(每字節(jié))。
要使用 SMS,用戶需要預(yù)訂支持 SMS 的移動網(wǎng)絡(luò),并且必須為該用戶啟用 SMS 的使用。用戶需要有發(fā)送短消息或接收短消息的目的地。該目的地通常是其他的移動電話,但也可以是服務(wù)器。最后,用戶還需要有支持 SMS 的移動電話,并需要了解如何使用其特定型號的移動電話發(fā)送或閱讀短消息。
SMS發(fā)送的模式分有兩種:Text模式和PDU模式.
使用Text模式收發(fā)短信代碼簡單,實現(xiàn)起來十分容易,但是最大的缺點是不能收發(fā)中文短信, PDU模式完全可以解決這個問題,PDU模式不僅支持中文短信,也能發(fā)送英文短信, PDU模式收發(fā)短信可以使用三種編碼: 7-bit、8-bit和UCS2編碼。 7-bit編碼用于發(fā)送普通的ASCII字符,8-bit編碼通常用于發(fā)送數(shù)據(jù)消息,UCS2編碼用于發(fā)送Unicode字符。我們要實現(xiàn)中文短信的發(fā)送,所以選擇UCS2,即中文Unicode碼。下面是關(guān)于兩種方式發(fā)送的示例AT指令:
范例:向手機號碼13801234567發(fā)送短信“Weather”
(1) TEXT方式
AT+CMGF=1<CR> …………設(shè)置短信發(fā)送方式為TEXT模式
AT+CMGS=”13801234567”<CR> …………向被叫號碼發(fā)短信
> Weather <CTRL+Z>
(2) PDU方式
AT+CMGF=0<CR> ……………設(shè)置短信發(fā)送方式為PDU模式
AT+CMGS=018<CR> ……………向被叫號碼發(fā)送PDU的長度
>0001000D91683108214365F700080459296C14<CTRL+Z>
注:PDU方式中AT+CMGS命令解釋:
AT+CMGS=XXX<CR> …XXX表示PDU中TPDU的長度
>PDU ...輸入PDU信息
0001 :基本參數(shù) 00 :消息基準值TP-MR 0D :目標(biāo)地址數(shù)字個數(shù)(十進制,不包含91) 91 :目標(biāo)地址格式 68 :目標(biāo)地址為中國 3108214365F7 :目標(biāo)地址(13801234567) 00 :協(xié)議標(biāo)示TP-PID 08 :用戶信息編碼格式TP-DCS(08表示UCS2編碼) 00 :有效期TP-VP 04 :用戶信息長度TP-UDL 59296C14 :用戶信息(“天氣”) |
其中,紅色的數(shù)字(3108214365F7)代表對方的手機號碼,在PDU格式中,手機號碼每兩位需要對調(diào)。比如在上面這個例子里,對方的手機號碼為13801234567,F(xiàn)用來補充7后面的空位。藍色的數(shù)字(59296C14)是短消息內(nèi)容的Unicode碼,這里5929代表“天”6C14代表“氣”。Unicode碼同樣可以用來表示中一般英文字母和數(shù)字,方法是在英文或數(shù)字的ASCII碼前加00。紫色的數(shù)字(04)代表短消息的長度,它等于其后所有字符個數(shù)除以2。黑色的數(shù)字每次發(fā)送短消息時都是相同的,使用時可以照抄,但前提是所使用的SIM卡在使用前要用手機設(shè)置好短消息服務(wù)中心號碼(+8613800100500)。漢字的Unicode碼可以通過編碼轉(zhuǎn)換軟件得到。
PDU格式發(fā)送短消息時,還必須計算整個PDU數(shù)據(jù)包的長度,PDU數(shù)據(jù)包的長度等于(PDU數(shù)據(jù)包字符數(shù)-2)/2,在上面的例子里:(38-2)/2=18。
2、網(wǎng)絡(luò)結(jié)構(gòu)圖
硬件的連接, S7-300CP后接CP340(RS232串口)或CP341(RS232串口),再通過串口直連線連接CP340或CP341到MD720-3的串口上,MD720-3插一塊SIM卡。直連線的1針到9針對應(yīng)連接。
圖1、網(wǎng)絡(luò)結(jié)構(gòu)圖
3、需要的軟件及硬件
硬件
Component | Qty. | MLFB / Order number | Note |
PS307 5A | 1 | 6ES7307-1EA00-0AA0 | |
CPU317-2PN/DP | 1 | 6ES7317-2EJ10-0AB0 | |
CP341 | 1 | 6ES7341-1AH01-0AE0 | |
MD720-3 | 1 | 6NH9720-3AA00 | |
直連線 | 1 | 6ES7901-3CB30-0XA0 | |
SIM card |
表1、硬件列表
軟件
Component | No. | MLFB / Order number | Note |
STEP 7 5.4 SP4 | 1 | 6ES7810-4CC08-0YA5 |
表2、軟件列表
4、以TEXT的方式發(fā)送SMS
在這里不介紹用自由口編程的方式編寫AT的指令來發(fā)送SMS,而是采用西門子提供庫功能塊來編寫程序。庫程序的下載鏈接地址如下:26100569
上面庫程序是壓縮文件,先解壓縮到一個目錄下,在該目錄下又會看到3個壓縮文件,再解壓這三個壓縮文件,解壓縮后如下圖所示:
圖2、存放目錄
從上圖中,解壓三個壓縮文件后Sms_bloc;SMS_MD720_Application;Sms_MD720_Simple
Sms_bloc: 包括了使用CP340、CP341、CP442-1收發(fā)短信的庫功能。
Sms_MD720_Application:包含了用CP341和CP442-1收發(fā)短信的應(yīng)用程序。
Sms_MD720_Simple:包含了一個用Cp341收發(fā)短信的簡單應(yīng)用程序
由于三個文件夾的程序只有Sms_MD720_Simple的程序是完整的,另外兩個文件夾下的程序由于編者的疏忽,程序不完整,導(dǎo)致無法正常編譯通過。所以在本文里我們只能介紹,通過拷貝Sms_MD720_Simple項目下的功能塊到實際的項目中來實現(xiàn)發(fā)送短信的功能。
在新建項目前,需要硬件按照網(wǎng)絡(luò)圖安裝好,并加電。MD720加電后恢復(fù)出廠設(shè)置,讓其工作在終端模式下(在MD720的系統(tǒng)手冊上介紹如何恢復(fù)出廠設(shè)置,這里不再作詳細介紹),恢復(fù)后用串口直連線,連接MD720與計算機的串口,打開計算機的超級終端程序,打開方式如下圖:
圖3、打開超級終端
打開后在連接描述的窗口里輸入一個連接名如下圖:
圖4、輸入連接名
點擊OK后,選擇與計算機連接的串口,這里連接的是串口1,所以設(shè)置如下圖:
圖5、選擇COM端口
在上圖點擊OK按鈕后,設(shè)置串口的通訊參數(shù)如下:
圖6、COM口的參數(shù)設(shè)置
點擊OK按鈕后,在出現(xiàn)的串口里先輸入 “+++”后,輸入“AT”檢查與Modem的連接是否正常,若正常則Modem會返回OK,如下圖:
圖7、測試與Modem的連接
然后在輸入指令“AT+IRP=9600”修改通訊波特率為9600如下圖所示:
圖8、設(shè)置Modem的波特率
修改成功后,把連接計算機上的串口拔下后,把9針口連接到CP341的串口上。
打開Step7 Manger,打開后點擊File菜單下的New…,新建一個項目,在新建項目的串口里輸入項目SMS_CP341,然后點擊新建,項目的硬件組態(tài)如下圖所示:
圖9、S7-300站的硬件組態(tài)
雙擊CP341-RS232C,打開屬性窗口如下圖:
圖10、CP341的硬件地址設(shè)置
點擊Parameter...,設(shè)置串口的通訊協(xié)議為
圖11、選擇通訊協(xié)議為ASCII
雙擊Protocol協(xié)議包,配置串口通訊的參數(shù)如下圖:
圖12、設(shè)置ASCII的通訊參數(shù)
圖13、設(shè)置傳輸?shù)目刂品绞?
圖14、設(shè)置接收的緩存區(qū)
配置完硬件后,編譯并下載硬件組態(tài),然后打開Sms_MD720_Simple項目,并拷貝Sms_MD720_Simple項目下的除OB1功能塊外的所有功能塊到SMS_CP341項目相應(yīng)的目錄下,同時需要拷貝Source下的源代碼到SMS_CP341項目下的Source目錄下。
拷貝后如下圖:
圖15、拷貝庫程序到項目下
打開OB1塊,在OB1里調(diào)用FB100,背景數(shù)據(jù)塊為DB100,如下圖所示:
圖16、OB1中調(diào)用短消息功能塊
在CP_ADR中只需輸入CP341的邏輯地址256。輸入后保存程序。編寫OB1后打開DB100數(shù)據(jù)塊如下圖:
圖17、在發(fā)送功能塊的背景數(shù)據(jù)塊中設(shè)置修改CP341的硬件地址
這里SIM卡無PIN碼,要發(fā)送的信息是“Weather”;發(fā)送的手機號為“13801234567”;設(shè)置DB100的參數(shù)如下圖:
圖18、在發(fā)送功能塊的背景數(shù)據(jù)塊中設(shè)置PIN碼、目的手機號及信息
修改后保存DB100,并下載所有的程序塊到CPU中。下載后打開打開變量監(jiān)控表并在線監(jiān)控,如下圖:
圖19、通過變量監(jiān)控表觸發(fā)信息發(fā)送
在變量監(jiān)控表里先置位”SMS”.b_init,然后在置位”SMS”.SEND,等待一會兒,可以看到變量監(jiān)控表里的”SMS”.n_status當(dāng)置位”SMS”.b_init時會從1002變成201,然后當(dāng)置位”SMS”.SEND時會從201變成202、204、206,過一會兒又回到201的值,這樣接可以再目的手機上接收到“Weather”的短信。
上面的調(diào)試步驟只是從功能上實現(xiàn)了發(fā)短信的功能,要實現(xiàn)收發(fā)多條信息到多個多個手機,可以參考Sms_MD720_Application和Sms_MD720_Simple下的編程思路開發(fā)適合自己應(yīng)用的程序。
注意:如果例子項目文件打不開,請把計算機的語言設(shè)置為德語。
5、以PDU的方式發(fā)送中文SMS
要發(fā)送中文短信,需要安裝Step7 SCL編程語言包,發(fā)送短信庫功能塊是由FB100來完成的,F(xiàn)B100是由SCL語言編寫,要想使其能發(fā)送中文的短信,那么就需要用SCL語言修改FB100功能塊。修改方式如下:
在發(fā)送文本方式步驟的基礎(chǔ)上,用SCL語言打開SMS_CP341項目下目錄Source下的SMS_Send源代碼,如下圖:
圖20、打開發(fā)送功能塊的源文件
打開后如下圖:
圖21、SCL編輯器打開后的源文件
修改源程序代碼MD720_SMS_Textmode := '$R$LAT+CMGF=1$R'為MD720_SMS_Textmode := '$R$LAT+CMGF=0$R'如下圖所示:
圖22、修改短信的發(fā)送模式為PDU模式
str_outbox := SMS_Textmode_Attr;改為str_outbox :=MD720_SMS_Textmode;如下圖:
圖23、修改程序中的發(fā)送模式
修改后,點擊File下Save,然后再點擊File下的Complie,如下圖:
圖24、重新編譯修改后的程序
關(guān)閉SCl編輯窗口,若發(fā)送的目的手機號為13801234567發(fā)送的內(nèi)容為“天氣”打開DB100,修改發(fā)送參數(shù)如下圖:
圖25、修改為PDU模式下的信息格式
描述
這個條目講解了在 STEP 7 V5.5 的軟件中,如何在用戶程序中讀取 S7-300 CPU 的 IP 地址。 為了這個目的,可以在用戶程序中調(diào)用系統(tǒng)功能塊 SFC51 "RDSYSST" 。 通過使用系統(tǒng)功能塊 SFC51“RDSYSST” 可以讀出系統(tǒng)狀態(tài)列表的部分列表或部分列表摘要 (SSL 或 德語簡稱 SZL)。通過SSLID和索引,對于某些部分列表或部分列表摘錄,必須指定對象類型或?qū)ο缶幪枴?/span>使用SSL ID = 37(十六進制)和索引= 0(十六進制)的地址讀取 S7-300 CPU 的 IP 地址。
這個例子是在功能塊 FB1 中調(diào)用系統(tǒng)功能塊 SFC51 "RDSYSST" 。 在 OB1 中調(diào)用 FB1。
圖 01
系統(tǒng)功能塊 SFC51 "RDSYSST" 的輸入輸出定義
表 01 列舉出系統(tǒng)功能塊 SFC51 "RDSYSST" 的輸入定義。
參數(shù) | 數(shù)據(jù)類型 | 描述 |
REQ | BOOLEAN | REQ=1: 上升沿有效 |
SZL_ID | WORD |
部分列表摘錄的 SSL_ID
SSL_ID=w#16#37: 讀取 S7-300 CPU 的IP地址 |
INDEX | WORD |
部分列表對象的類型或者數(shù)目
INDEX=w#16#0: 讀取 S7-300 CPU 的IP地址 |
表 02 列舉出系統(tǒng)功能塊 SFC51 "RDSYSST" 的輸出定義。
參數(shù) | 數(shù)據(jù)類型 | 描述 |
RET_VAL | INT | 如果在指令進程中出現(xiàn)一個錯誤,RET_VAL將給出錯誤代碼 |
BUSY | BOOLEAN | TRUE: 讀取進程尚未完成 |
SZL_HEADER | STRUCT | The SZL_HEADER 是一個數(shù)據(jù)結(jié)構(gòu)。這個結(jié)構(gòu)被描述為 "SZL_HEADER structure"。 |
DR | ANY | 讀取SSL的部分列表或部分列表摘錄的目標(biāo)區(qū)域。 |
SZL_HEADER 結(jié)構(gòu)
SZL_HEADER 的輸出被定義為如下結(jié)構(gòu):
SZL_HEADER: STRUCT
LENTHDR: WORD
N_DR: WORD
END_STRUCT
LENTHDR 定義為 SZL 列表的數(shù)據(jù)記錄部分或者摘錄部分的長度。
用于讀取 SSL 部分列表或摘錄部分的目標(biāo)區(qū)域
在這個例子中,讀取 SSL 部分列表被保存在數(shù)據(jù)塊 DB100 "SYS_DATA" 起始地址 0 開始。S7-300 CPU 的 IP 地址占了 4 個字節(jié),存儲在 DB100 "SYS_DATA"地址 2 開始的地址中,十六進制存儲格式。
圖 02
當(dāng)讀出了 CPU的 IP 地址,可以在用戶程序中使用它。在這個例子中,IP 地址以十進制值存儲在 FB1 的背景數(shù)據(jù)塊DB1 中。
圖 03
圖 04
圖 05
圖 06
圖 07
描述
在S7-300 CPU 中通過調(diào)用 "RDSYSST" 指令可以讀取 IP 地址。 通過 "RDSYSST" 指令可讀取部件列表或系統(tǒng)狀態(tài)列表的部件目錄(SSL 或德語的 SZL)。 通過 SSL ID 和 INDEX 指定部件列表或部件列表中一個對象的部件列表目錄及類型或者數(shù)量。使用SSL ID = 37 (hex) 和 INDEX = 0 (hex) 來讀取 S7-300 CPU 的 IP 地址。
圖. 01
"RDSYSST" 指令的輸入/輸出
表 01 "RDSYSST" 指令的輸入?yún)?shù).
參數(shù) | 數(shù)據(jù)類型 | 描述 |
REQ | BOOL | REQ=1: 觸發(fā)執(zhí)行 |
SSL_ID | WORD |
將要讀取的系統(tǒng)狀態(tài)列表或部分列表的ID號
SSL_ID=w#16#37: 讀取 S7-300 CPU 的 IP 地址 |
INDEX | WORD |
部分列表中對象的類型或編號
INDEX=w#16#0: 讀取 S7-300 CPU 的 IP 地址 |
表 02 "RDSYSST"指令的輸出參數(shù)
參數(shù) | 數(shù)據(jù)類型 | 描述 |
RET_VAL | INT | 如果執(zhí)行中程序出錯,RET_VAL 參數(shù)會返回故障代碼。 |
BUSY | BOOL | TRUE:讀指令尚未執(zhí)行完畢。 |
SZL_HEADER | STRUCT | SZL_HEADER 是個結(jié)構(gòu)體。詳細結(jié)構(gòu)介紹在"SZL_HEADER 結(jié)構(gòu)體". |
DR | ANY | 讀取SSL的部件列表或SSL部件列表的目錄的目標(biāo)區(qū)域。 |
SZL_HEADER 結(jié)構(gòu)體
SZL_Header 輸出是按照以下結(jié)構(gòu)定義的一個結(jié)構(gòu)體:
SZL_HEADER: STRUCT
LENTHDR: WORD
N_DR: WORD
END_STRUCT
LENTHDR 是SSL 部件列表或 SSL 部件目錄的數(shù)據(jù)記錄長度。
SSL 部件列表的目標(biāo)區(qū)域或讀取 SSL 部件列表的目錄
本例中讀取SSL 部件列表并保存在數(shù)據(jù)塊 DB2 "SZL_VALUE" 的起始地址 0 中。 S7-300 CPU 的 IP 地址由 4 個字節(jié)構(gòu)成,以16進制字節(jié)形式存儲在 DB2 "SZL_VALUE" 的起始地址 2 中。
圖. 02
如果你已經(jīng)讀取到 CPU 的 IP 地址,可在程序中評估。在本例中,IP 地址按照十進制數(shù)據(jù)保存在數(shù)據(jù)塊 DB1 “DATA”的起始地址 8 中。
圖. 03
圖. 04
圖. 05
圖. 06
圖. 07
下載
該下載包含項目 "Read_IP_Address.zip".
拷貝 "Read_IP_Address.zip" 文件到一個單獨的文件夾然后雙擊,之后使用 STEP 7 打開。