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