版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、S7-200自由口通訊教程及編程實例S7-200自由口通訊 自由口模式允許應(yīng)用程序控制S7-200 CPU的通訊端口,使用PC/PPI電纜和自由口功能,可以將S7-200連接到帶有RS-232兼容接口的多種設(shè)備,比方調(diào)制解調(diào)器。這里我們將介紹如何用S7-200連接GSM調(diào)制解調(diào)器發(fā)送短消息,并通過這個例子來介紹應(yīng)用S7-200自由口編程的一般原那么時及應(yīng)注意的問題。在下面的例子中我們將用到:1. PC/PPI電纜10位;9 600波特;DI
2、P開關(guān)設(shè)置:0 1 0 1 12. 西門子 S7-200 CPU22X3. TC35 Terminal GSM調(diào)制解調(diào)器4. 一個9直通針轉(zhuǎn)接頭用來連結(jié)PC/PPI電纜與TC35 Terminal調(diào)制解調(diào)器5. 一根
3、九針直通電纜用來連結(jié)計算機與TC35 Terminal調(diào)制解調(diào)器 一、 TC35 調(diào)制解調(diào)器AT指令簡介要使用TC35發(fā)送短消息需要使用TC35的AT指令,我們首先介紹如何用Windows自帶的超級終端連接TC35發(fā)送短消息。1 用九針直通的電纜將TC35連接到計算機的串口上2 翻開超級
4、終端開始à程序à附件à通訊à超級終端 3 為連接取名Connect to TC35T 4 選擇TC35連接的串口COM1 5 按照下列圖的參數(shù)設(shè)置端口。19 200 bps為TC35默認的端口波特率,如果該波特率已被更改,請選擇正確的波特率。 6 &
5、#160; 在窗口中鍵入AT回車測試與TC35的連接,如果連接正確,TC35將返回OK。 7 TC35可以發(fā)送兩種格式的短消息,普通文本格式和PDU格式。應(yīng)用普通文本格式時,短消息內(nèi)容以ASCII碼格式直接輸入,操作比擬簡單,缺點是只能發(fā)送英文短消息;應(yīng)用PDU格式時,短消息內(nèi)容以Unicode格式輸入,可以發(fā)送任何文字,缺點是短消息內(nèi)容需要轉(zhuǎn)換成Unicode碼,并且要把短消息按PDU格式打包,操作比擬復(fù)雜編程復(fù)雜。通過指令A(yù)T+CMGF=0設(shè)置TC35以PDU格式發(fā)送短消息默認,AT+CMGF=1設(shè)置TC35以普通文本格式發(fā)送短消
6、息。 8 如何以普通文本格式發(fā)送短消息可以在S7-200的網(wǎng)站上找到 :/ ad.siemens /applic/s7-200/modem.asp ,這里我們將介紹如何發(fā)送中文短消息。要發(fā)送中文短消息必須把短消息內(nèi)容轉(zhuǎn)換成Unicode碼,并按照PDU格式打包發(fā)送給TC35。PDU數(shù)據(jù)格式涉及 開發(fā)的相關(guān)知識,我們不作詳細介紹,這里指給出一個標準格式供大家使用。以下就是一個PDU格式的數(shù)據(jù)包: 9 在使用PDU格式發(fā)送短消息時,
7、還必須計算整個PDU數(shù)據(jù)包的長度,PDU數(shù)據(jù)包的長度等于PDU數(shù)據(jù)包字符數(shù)-2/2,在上面的例子里:(38-2)/2=18。發(fā)送短消息時,我們先向TC35發(fā)送AT+CMGS=<Length>回車Length是計算好的PDU數(shù)據(jù)包的長度,TC35收到指令后返回一個“符號,然后我們發(fā)送整個PDU數(shù)據(jù)包并以組合鍵Ctrl+Z結(jié)束。 如果短消息被成功的發(fā)送,TC35會返回+CMGS: x,其中“x代表該模塊以及發(fā)送的短消息個數(shù),同時返回OK。 二、 &
8、#160; 設(shè)置TC35在將TC35連接到S7-200之前我們先要對TC35作一些設(shè)置,使其適合與PLC通訊。1. 通過指令A(yù)T+IPR=9600設(shè)置TC35的端口波特率為9 600 bps 2. 重新建立一個波特率為9 600 bps的連接,用指令A(yù)TE0禁止回波功能?;夭üδ苁拐{(diào)制解調(diào)器將收到的指令回發(fā)給發(fā)
9、送方,這項功能會給PLC編程來來不便,當禁止回波功能后,TC35只返回指令執(zhí)行的結(jié)果,比方OK等等 3. 鍵入AT&W0回車將當前設(shè)置存為用戶配置文件掉電保持,再鍵入ATZ0以用戶配置文件重新啟動。此后TC35重新上電時將按照前面所作的設(shè)置啟動。 三、 PLC編程現(xiàn)在,我們已經(jīng)知道如何用AT指令發(fā)送短消息,剩下的工作是用PLC程序來發(fā)送這些AT指令。S7-200的通訊端口為R
10、S-485接口,RS-485接口為半雙工接口,因此,編寫PLC程序的關(guān)鍵是防止在通訊端口上同時發(fā)送和接收。我們下面將介紹一種標準的編程模式,按照這種模式編寫自由口通訊程序可以有效的防止因同時發(fā)送和接收造成的通訊沖突,從而保證程序的正常運行。1. 初始化Network 1MOVB 9, SMB30MOVB 2#11000100, SMB87MOVB '>', SMB88MOVW +5, SMW92MOVB
11、160; 255, SMB94ATCH INT_0, 23ATCH INT_1, 9ENI將上面這段程序添加到主程序中,對PLC的端口0進行初始化。這段程序以SM0.1為觸發(fā)條件,每當PLC進入RUN狀態(tài)時執(zhí)行一次。MOVB 9, SMB30該指令將端口0設(shè)置為 9600,8,N,1 自由口方式MOVB 2#11000100, SMB87SM87.7=1 允許端口0接收字符SM87.6=1 當檢測到與SMB88中相同的字符時開始接收,并將該字符當作信息的首字符SM87
12、.5=0 不檢測信息的結(jié)束字符SM87.4=0 不檢測端口空閑狀態(tài)SM87.3=0 定時器為內(nèi)部字符定時器,意思是PLC開始接收信息后檢測到起始字符,每接收到一個字符就啟動定時器,當定時器到達在SMW92中設(shè)置的時間后,即認為定時器超時SM87.2=1 允許在定時器超時后停止接收,并產(chǎn)生接收完成中斷SM87.1=0 忽略Break條件MOVB '>', SMB88設(shè)置接收起始字符為ASCII碼的>,當TC35收到AT+CMGS=<Length>后將返回>,當PLC收到>
13、后發(fā)送PDU數(shù)據(jù)包MOVW +5, SMW92設(shè)置定時器超時時間為5 msMOVB 255, SMB94設(shè)置RCV指令接收的最大字符數(shù)位255ATCH INT_0, 23中斷時間23為端口0接收完成中斷,將該中斷連接到中斷0ATCH INT_1, 9中斷時間9為端口0發(fā)送完成中斷,將該中斷連接到中斷1ENI中斷允許 2. 接收TC35的信息Network 2RCV VB100, 0在
14、初始化程序中,端口0以被允許接收來自TC35的信息,在主程序中添加上面的程序?qū)⒍丝?置于接收狀態(tài)。這時端口0將檢測收到的字符,當收到>時即開始接收,并把收到的信息保存到VB101開始的存儲器中VB100中將保存每次收到的字符的個數(shù),當接收結(jié)束時,該位置被清零。3. 發(fā)AT指令PLC要向TC35發(fā)送兩局部內(nèi)容來發(fā)送一條短消息,首先是AT指令A(yù)T+CMGS=18,當收到>后,發(fā)送PDU數(shù)據(jù)包。這里,我們用M0.0的上升沿來觸發(fā)PLC發(fā)送AT指令。在主程序中添加下面指令Network 3EUR
15、 SM87.7, 1RCV VB100, 0XMT VB0, 0 R SM87.7, 1SM87.7置0,禁止在端口0接收信息RCV VB100, 0執(zhí)行RCV指令,停止端口0的接收。XMT VB0, 0發(fā)送AT指令到TC35這里需要特別注意的是,在初始化程序中,端口0已被置為接收狀態(tài),此時如果直接發(fā)送AT指令,將會導(dǎo)致端口0發(fā)生通訊沖突,而導(dǎo)致其不能正常工作。因此,我們
16、在發(fā)送指令前必須先禁止接收將SM87.7復(fù)0然后執(zhí)行RCV指令,RCV指令執(zhí)行時將會檢測SM87.7的狀態(tài),當發(fā)現(xiàn)SM87.7=0時,即停止端口0的接收。這里我們建議,在使用XMT指令前,首先執(zhí)行R SM87.7, 1、 RCV VB100, 0兩條指令VB100可以換成其他地址。XMT指令指向VB0,我們將AT指令寫在VB0開始的數(shù)據(jù)塊中 4.
17、發(fā)送PDU數(shù)據(jù)包當AT指令發(fā)送完成時,PLC會產(chǎn)生一個中斷,在初始化程序中,我們已經(jīng)將這個中斷連接到INT_1ATCH INT_1, 9,在這個中斷中,我們重新把端口0置于接收狀態(tài),用來接收TC35返回的“>“,同時我們將M0.0復(fù)位以便檢測下一次發(fā)送請求并清空RCV指令的接收緩沖區(qū)。將下面指令添加到INT_1中:Network 1S SM87.7, 1RCV VB100, 0R M0.0, 1Network 2
18、FILL +0, VW100, 10TC35接收到AT+CMGS=18后,返回>,PLC接收到>后開始將接收到的字符保存到VB101開始的存儲區(qū),并且每接收一個字符即啟動定時器,超過5 ms仍接收不到下一個字符時,就認為本次接收已經(jīng)完成,產(chǎn)生接收完成中斷。在初始化程序中我們已經(jīng)將該中斷連接到INT_0ATCH INT_0, 23。將下面指令添加到INT_0中:Network 1LDB= VB101, '>'S M0.1, 1在中斷
19、程序中不易執(zhí)行過多程序,因此我們在這里判斷VB101是否為>,如果是那么表示TC35等待接收PDU數(shù)據(jù),我們通過M0.1在主程序中觸發(fā)發(fā)送PDU數(shù)據(jù)。將下面這段程序添加到主程序中:Network 4EUR SM87.7, 1RCV VB100, 0XMT VB20, 0與發(fā)送AT指令一樣,我們首先要停止端口0的接收,然后發(fā)送PDU數(shù)據(jù)包,PDU數(shù)據(jù)包保存在VB21開始的數(shù)據(jù)塊中,VB20中保存XMT指令要發(fā)送的字節(jié)數(shù)目。 5.
20、0; 判斷發(fā)送狀態(tài)在發(fā)送完成中斷中,我們要重新置端口0為接收狀態(tài),同時復(fù)位M0.1,并將RCV指令判斷的起始字符由原來的>改為+,因為TC35接收到PDU數(shù)舉包后會返回+CMGS: x表示發(fā)送成功,或者 +CMS ERROR: 500表示發(fā)送失敗,將下面的指令添加到INT_1中Network 3S SM87.7, 1MOVB '+', SMB88RCV VB100, 0R &
21、#160; M0.1, 1 在接收完成中斷中INT_0我們可以通過判斷VB104的狀態(tài)來判斷發(fā)送是否成功,如果發(fā)送成功,VB104=G,如果不成功VB104=S。將下面的指令添加到INT_0中 Network 2LDB= VB104, 'G'MOVB '>', SMB88Network 3LDB= VB104, 'S'MOVB '>'
22、, SMB88S M0.0, 1如果成功那么將RCV指令的起始字符恢復(fù)為>,如果不成功那么將RCV指令的起始字符恢復(fù)為>同時置位M0.0重新發(fā)送短消息。MAINNetwork 1MOVB 9, SMB30MOVB 2#11000100, SMB87MOVB '>', SMB88MOVW +5, SMW92MOVB 255, SMB94ATCH INT_0, 2
23、3ATCH INT_1, 9ENINetwork 2RCV VB100, 0Network 3EUR SM87.7, 1RCV VB100, 0XMT VB0, 0Network 4EUR SM87.7, 1RCV VB100, 0XMT VB20, 0 INT_0Network 1LDB= VB101, '>'S M0.1, 1Network 2LDB= VB104, 'G'MOVB '>', SMB88Network 3LDB=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024出口貨物代理合同協(xié)議書
- 2024廣西某小區(qū)環(huán)境景觀工程合同
- 2024裝修合同范本(家裝、公裝、標準版)
- 軟件技術(shù)開發(fā)協(xié)議
- 消防安全操作員培訓合同范本
- 涉外勞務(wù)合同的國際法律適用
- 2024監(jiān)控施工合同模板
- 2024產(chǎn)權(quán)交易委托合同適用于轉(zhuǎn)讓方采取拍賣、招投標方式
- 深圳市注冊會計師執(zhí)業(yè)責任保險協(xié)議
- 2024對水果冷飲配送商監(jiān)管協(xié)議
- 從馬克思主義視角看當前高房價
- 正弦交流電路相量
- 長沙市某辦公建筑的冰蓄冷空調(diào)系統(tǒng)的設(shè)計畢業(yè)設(shè)計
- 不抱怨的世界(課堂PPT)
- 企業(yè)盈利能力分析——以青島啤酒股份有限公司為例
- 消火栓滅火器檢查記錄表
- 岸墻、翼墻及導(dǎo)水墻砼澆筑方案
- 第三章_配位化學
- 中國話-完整版PPT課件
- 纏論基本概念圖解(推薦)
- 海瑞克英文翻譯
評論
0/150
提交評論