技術頻道

      S7-200 自由口通訊編程

      自由口模式允許應用程序控制S7-200 CPU的通訊端口,使用PC/PPI電纜和自由口功能,可以將S7-200連接到帶有RS-232兼容接口的多種設備,比如調制解調器。這里我們將介紹如何用S7-200連接GSM調制解調器發送短消息,并通過這個例子來介紹應用S7-200自由口編程的一般原則時及應注意的問題。

      在下面的例子中我們將用到:

      1. PC/PPI電纜(10位;9 600波特;DIP開關設置:0 1 0 1 1

      2. 西門子 S7-200 CPU22X

      3. TC35 Terminal GSM調制解調器

      4. 一個9直通針轉接頭(用來連結PC/PPI電纜與TC35 Terminal調制解調器)

      5. 一根九針直通電纜(用來連結計算機與TC35 Terminal調制解調器)

      6. STEP 7-Micro/Win V3.2或更高版本軟件

       


       

      一、 TC35 調制解調器AT指令簡介

      要使用TC35發送短消息需要使用TC35AT指令,我們首先介紹如何用Windows自帶的超級終端連接TC35發送短消息。

      1. 用九針直通的電纜將TC35連接到計算機的串口上

      2. 打開超級終端(開始à程序à附件à通訊à超級終端)

      3. 為連接取名Connect to TC35T

      4. 選擇TC35連接的串口COM1

      5. 按照下圖的參數設置端口。19 200 bpsTC35默認的端口波特率,如果該波特率已被更改,請選擇正確的波特率。

      6. 在窗口中鍵入AT回車測試與TC35的連接,如果連接正確,TC35將返回OK

      7. TC35可以發送兩種格式的短消息,普通文本格式和PDU格式。應用普通文本格式時,短消息內容以ASCII碼格式直接輸入,操作比較簡單,缺點是只能發送英文短消息;應用PDU格式時,短消息內容以Unicode格式輸入,可以發送任何文字,缺點是短消息內容需要轉換成Unicode碼,并且要把短消息按PDU格式打包,操作比較復雜(編程復雜)。通過指令AT+CMGF=0設置TC35PDU格式發送短消息(默認),AT+CMGF=1設置TC35以普通文本格式發送短消息。

      8. 如何以普通文本格式發送短消息可以在S7-200的網站上找到http://www.ad.siemens.com.cn/applic/s7-200/modem.asp,這里我們將介紹如何發送中文短消息。要發送中文短消息必須把短消息內容轉換成Unicode碼,并按照PDU格式打包發送給TC35PDU數據格式涉及手機開發的相關知識,我們不作詳細介紹,這里指給出一個標準格式供大家使用。以下就是一個PDU格式的數據包:

      0001000D91683108214365F700080459296C14

      其中,紅色的數字(3108214365F7)代表對方的手機號碼,在PDU格式中,手機號碼每兩位需要對調。比如在上面這個例子里,對方的手機號碼為13801234567F用來補充7后面的空位。藍色的數字(59296C14)是短消息內容的Unicode碼,這里5929代表“天”

      6C14代表“氣”。Unicode碼同樣可以用來表示中一般英文字母和數字,方法是在英文或數字的ASCII碼前加00。紫色的數字(04)代表短消息的長度,它等于其后所有字符個數除以2。黑色的數字每次發送短消息時都是相同的,使用時可以照抄,但前提是所使用的SIM卡在使用前要用手機設置好短消息服務中心號碼(+8613800100500)。漢字的Unicode碼可以通過編碼轉換軟件得到,我們使用的是Megaton Technology公司的一個編碼轉換軟件

      9. 在使用PDU格式發送短消息時,還必須計算整個PDU數據包的長度,PDU數據包的長度等于(PDU數據包字符數-2/2,在上面的例子里:(38-2)/2=18。發送短消息時,我們先向TC35發送AT+CMGS=<Length>回車(Length是計算好的PDU數據包的長度),TC35收到指令后返回一個“〉”符號,然后我們發送整個PDU數據包并以組合鍵Ctrl+Z結束。

      如果短消息被成功的發送,TC35會返回+CMGS: x,其中“x”代表該模塊以及發送的短消息個數,同時返回OK

      二、 設置TC35

      在將TC35連接到S7-200之前我們先要對TC35作一些設置,使其適合與PLC通訊。

      1. 通過指令AT+IPR=9600設置TC35的端口波特率為9 600 bps

      2. 重新建立一個波特率為9 600 bps的連接,用指令ATE0禁止回波功能。回波功能使調制解調器將收到的指令回發給發送方,這項功能會給PLC編程來來不便,當禁止回波功能后,TC35只返回指令執行的結果,比如OK等等

      3. 鍵入AT&W0回車將當前設置存為用戶配置文件(掉電保持),再鍵入ATZ0以用戶配置文件重新啟動。此后TC35重新上電時將按照前面所作的設置啟動。

      三、 PLC編程

      現在,我們已經知道如何用AT指令發送短消息,剩下的工作是用PLC程序來發送這些AT指令。S7-200的通訊端口為RS-485接口,RS-485接口為半雙工接口,因此,編寫PLC程序的關鍵是避免在通訊端口上同時發送和接收。我們下面將介紹一種標準的編程模式,按照這種模式編寫自由口通訊程序可以有效的避免因同時發送和接收造成的通訊沖突,從而保證程序的正常運行。

      1. 初始化

      Network 1

      LD SM0.1

      MOVB 9, SMB30

      MOVB 2#11000100, SMB87

      MOVB '>', SMB88

      MOVW +5, SMW92

      MOVB 255, SMB94

      ATCH INT_0, 23

      ATCH INT_1, 9

      ENI

      將上面這段程序添加到主程序中,對PLC的端口0進行初始化。這段程序以SM0.1為觸發條件,每當PLC進入RUN狀態時執行一次。


       

      MOVB 9, SMB30

      該指令將端口0設置為 9600,8,N,1 自由口方式

      MOVB 2#11000100, SMB87

      SM87.7=1 允許端口0接收字符

      SM87.6=1 當檢測到與SMB88中相同的字符時開始接收,并將該字符當作信息的首字符

      SM87.5=0 不檢測信息的結束字符

      SM87.4=0 不檢測端口空閑狀態

      SM87.3=0 定時器為內部字符定時器,意思是PLC開始接收信息后(檢測到起始字符),每接收到一個字符就啟動定時器,當定時器到達在SMW92中設置的時間后,即認為定時器超時

      SM87.2=1 允許在定時器超時后停止接收,并產生接收完成中斷

      SM87.1=0 忽略Break條件

      MOVB '>', SMB88

      設置接收起始字符為ASCII碼的”>”,當TC35收到AT+CMGS=<Length>后將返回”>”,當PLC收到”>”后發送PDU數據包

      MOVW +5, SMW92

      設置定時器超時時間為5 ms

      MOVB 255, SMB94

      設置RCV指令接收的最大字符數位255

      ATCH INT_0, 23

      中斷時間23為端口0接收完成中斷,將該中斷連接到中斷0

      ATCH INT_1, 9

      中斷時間9為端口0發送完成中斷,將該中斷連接到中斷1

      ENI

      中斷允許

      2. 接收TC35的信息

      Network 2

      LD SM0.0

      RCV VB100, 0

      在初始化程序中,端口0以被允許接收來自TC35的信息,在主程序中添加上面的程序將端口0置于接收狀態。這時端口0將檢測收到的字符,當收到”>”時即開始接收,并把收到的信息保存到VB101開始的存儲器中(VB100中將保存每次收到的字符的個數,當接收結束時,該位置被清零)。

      3. AT指令

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 国产精品亚洲一区二区麻豆| 高清一区高清二区视频| 无码av中文一区二区三区桃花岛| 日韩一区二区三区免费播放| 2018高清国产一区二区三区| 精品视频一区二区三区四区五区| 无码少妇A片一区二区三区| 2014AV天堂无码一区| 精品视频在线观看你懂的一区| 午夜DV内射一区区| 久久无码人妻一区二区三区 | 日韩在线不卡免费视频一区| 好吊视频一区二区三区| 波霸影院一区二区| 国产精品日韩一区二区三区| 精品国产一区二区麻豆| 亚洲AV成人精品一区二区三区 | 国产精品美女一区二区| 亚洲欧美成人一区二区三区 | 日韩精品无码一区二区三区 | 91国偷自产一区二区三区| 久久久一区二区三区| 一区二区视频在线播放| 精品乱人伦一区二区三区| 久久99精品国产一区二区三区| 中文字幕一区二区三区四区 | 亚洲AV午夜福利精品一区二区| 国产成人精品无码一区二区三区 | 国产午夜一区二区在线观看| 亚洲一区二区三区高清在线观看 | 2021国产精品一区二区在线 | 国产高清在线精品一区小说| 亚洲av高清在线观看一区二区 | 国产丝袜一区二区三区在线观看| 国产在线精品观看一区| 丝袜人妻一区二区三区| 国偷自产一区二区免费视频| 人妻AV中文字幕一区二区三区 | 国产成人精品一区二三区| 午夜视频久久久久一区 | 久久精品日韩一区国产二区|