![s7200自由口通訊教程及編程實(shí)例(二)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/d08a8d9e-57f2-4019-b0dc-d4a6026291b9/d08a8d9e-57f2-4019-b0dc-d4a6026291b91.gif)
![s7200自由口通訊教程及編程實(shí)例(二)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/d08a8d9e-57f2-4019-b0dc-d4a6026291b9/d08a8d9e-57f2-4019-b0dc-d4a6026291b92.gif)
![s7200自由口通訊教程及編程實(shí)例(二)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/d08a8d9e-57f2-4019-b0dc-d4a6026291b9/d08a8d9e-57f2-4019-b0dc-d4a6026291b93.gif)
![s7200自由口通訊教程及編程實(shí)例(二)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/d08a8d9e-57f2-4019-b0dc-d4a6026291b9/d08a8d9e-57f2-4019-b0dc-d4a6026291b94.gif)
![s7200自由口通訊教程及編程實(shí)例(二)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/d08a8d9e-57f2-4019-b0dc-d4a6026291b9/d08a8d9e-57f2-4019-b0dc-d4a6026291b95.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、S7-200自由口通訊教程及編程實(shí)例(二)排行榜收藏打印發(fā)給朋友舉報(bào)發(fā)布者:admin熱度19票瀏覽175次【共1條評(píng)論】【我要評(píng)論】時(shí)間:2009年11月11日19:03三、PLC編程現(xiàn)在,我們已經(jīng)知道如何用AT指令發(fā)送短消息,剩下的工作是用PLC程序來(lái)發(fā)送這些AT指令。S7-200的通訊端口為RS-485接口,RS-485接口為半雙工接口,因此,編寫(xiě)PLC程序的關(guān)鍵是避免在通訊端口上同時(shí)發(fā)送和接收。我們下面將介紹一種標(biāo)準(zhǔn)的編程模式,按照這種模式編寫(xiě)自由口通訊程序可以有效的避免因同時(shí)發(fā)送和接收造成的通訊沖突,從而保證程序的正常運(yùn)行。1 .初始化Network1LDSM0.1MOVB9,SMB
2、30MOVB2#,SMB87MOVB,SMB88MOVW+5,SMW92MOVB255,SMB94ATCHINT_0,23ATCHINT_1,9ENI將上面這段程序添加到主程序中,對(duì)PLC的端口0進(jìn)行初始化。這段程序以SM0.1為觸發(fā)條件,每當(dāng)PLC進(jìn)入RUN狀態(tài)時(shí)執(zhí)行一次。MOVB9,SMB30該指令將端口0設(shè)置為9600,8,N,1自由口方式MOVB2#,SMB87SM87.7=1允許端口0接收字符SM87.6=1當(dāng)檢測(cè)到與SMB88中相同的字符時(shí)開(kāi)始接收,并將該字符當(dāng)作信息的首字符SM87.5=0不檢測(cè)信息的結(jié)束字符SM87.4=0不檢測(cè)端口空閑狀態(tài)SM87.3=0定時(shí)器為內(nèi)部字符定時(shí)器
3、,意思是PLC開(kāi)始接收信息后(檢測(cè)到起始字符),文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.每接收到一個(gè)字符就啟動(dòng)定時(shí)器,當(dāng)定時(shí)器到達(dá)在SMW92中設(shè)置的時(shí)間后,即認(rèn)為定時(shí)器超時(shí)SM87.2=1允許在定時(shí)器超時(shí)后停止接收,并產(chǎn)生接收完成中斷SM87.1=0忽略Break條件MOVB,SMB88設(shè)置接收起始字符為ASCII碼的”,當(dāng)TC35收到AT+CMGS=后將返回”,當(dāng)PLC收到”后發(fā)送PDU數(shù)據(jù)包MOVW+5,SMW92設(shè)置定時(shí)器超時(shí)時(shí)間為5msMOVB255,SMB94設(shè)置RCV指令接收的最大字符數(shù)位255ATCHINT_0,23中斷時(shí)間23為端口0接收完成中斷,將該中
4、斷連接到中斷0ATCHINT_1,9中斷時(shí)間9為端口0發(fā)送完成中斷,將該中斷連接到中斷1ENI中斷允許2. 接收TC35的信息Network2LDSM0.0RCVVB100,0在初始化程序中,端口0以被允許接收來(lái)自TC35的信息,在主程序中添加上面的程序?qū)⒍丝?置于接收狀態(tài)。這時(shí)端口0將檢測(cè)收到的字符,當(dāng)收到”時(shí)即開(kāi)始接收,并把收到的信息保存到VB101開(kāi)始的存儲(chǔ)器中(VB100中將保存每次收到的字符的個(gè)數(shù),當(dāng)接收結(jié)束時(shí),該位置被清零)。3. 發(fā)AT指令PLC要向TC35發(fā)送兩部分內(nèi)容來(lái)發(fā)送一條短消息,首先是AT指令(AT+CMGS=18),當(dāng)收到”后,發(fā)送PDU數(shù)據(jù)包。這里,我們用M0.0的
5、上升沿來(lái)觸發(fā)PLC發(fā)送AT指令。在主程序中添加下面指令Network3LDM0.0EURSM87.7,1RCVVB100,0XMTVB0,0RSM87.7,1SM87.7置0,禁止在端口0接收信息RCVVB100,0執(zhí)行RCV指令,停止端口0的接收。XMTVB0,0發(fā)送AT指令到TC35這里需要特別注意的是,在初始化程序中,端口0已被置為接收狀態(tài),此時(shí)如果直接發(fā)送AT指令,將會(huì)導(dǎo)致端口0發(fā)生通訊沖突,而導(dǎo)致其不能正常工作。因此,我們?cè)诎l(fā)送指令前必須先禁止接收(將SM87.7復(fù)0)然后執(zhí)行RCV指令,RCV指令執(zhí)行時(shí)將會(huì)檢測(cè)SM87.7的狀態(tài),當(dāng)發(fā)現(xiàn)SM87.7=0時(shí),即停止端口0的接收。這里我
6、們建議,在使用XMT指令前,首先執(zhí)行RSM87.7,1、RCVVB100,0兩條指令(VB100可以換成其他地址)。XMT指令指向VB0,我們將AT指令寫(xiě)在VB0開(kāi)始的數(shù)據(jù)塊中4. 發(fā)送PDU數(shù)據(jù)包當(dāng)AT指令發(fā)送完成時(shí),PLC會(huì)產(chǎn)生一個(gè)中斷,在初始化程序中,我們已經(jīng)將這個(gè)中斷連接到INT_1(ATCHINT_1,9),在這個(gè)中斷中,我們重新把端口0置于接收狀態(tài),用來(lái)接收TC35返回的“,同時(shí)我們將M0.0復(fù)位以便檢測(cè)下一次發(fā)送請(qǐng)求并清空RCV指令的接收緩沖區(qū)。將下面指令添加到INT_1中:Network1LDM0.0SSM87.7,1RCVVB100,0RM0.0,1Network2LDSM0
7、.0FILL+0,VW100,10TC35接收到AT+CMGS=18后,返回”,PLC接收到,”后開(kāi)始將接收到的字符保存到VB101開(kāi)始的存儲(chǔ)區(qū),并且每接收一個(gè)字符即啟動(dòng)定時(shí)器,超過(guò)5ms仍接收不到下一個(gè)字符時(shí),就認(rèn)為本次接收已經(jīng)完成,產(chǎn)生接收完成中斷。在初始化程序中我們已經(jīng)將該中斷文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.連接到INT_0(ATCHINT_0,23)。將下面指令添加到INT_0中:Network1LDB=VB101,SM0.1,1在中斷程序中不易執(zhí)行過(guò)多程序,因此我們?cè)谶@里判斷VB101是否為”,如果是則表示TC35等待接收PDU數(shù)據(jù),我們通過(guò)M0.1在主
8、程序中觸發(fā)發(fā)送PDU數(shù)據(jù)。將下面這段程序添加到主程序中:Network4LDM0.1EURSM87.7,1RCVVB100,0XMTVB20,0與發(fā)送AT指令一樣,我們首先要停止端口0的接收,然后發(fā)送PDU數(shù)據(jù)包,PDU數(shù)據(jù)包保存在VB21開(kāi)始的數(shù)據(jù)塊中,VB20中保存XMT指令要發(fā)送的字節(jié)數(shù)目。5. 判斷發(fā)送狀態(tài)在發(fā)送完成中斷中,我們要重新置端口0為接收狀態(tài),同時(shí)復(fù)位M0.1,并將RCV指令判斷的起始字符由原來(lái)的”改為”+”,因?yàn)門(mén)C35接收到PDU數(shù)舉包后會(huì)返回”+CMGS:x”表示發(fā)送成功,或者”+CMSERROR:500”表示發(fā)送失敗,將下面的指令添加到INT_1中Network3LD
9、M0.1SSM87.7,1MOVB+,SMB88RCVVB100,0RM0.1,1在接收完成中斷中(INT_0)我們可以通過(guò)判斷VB104的狀態(tài)來(lái)判斷發(fā)送是否成功,如果發(fā)送成功,VB104=G,如果不成功VB104=S。將下面的指令添加到INT_0中Network2LDB=VB104,GMOVB,SMB88Network3LDB=VB104,SMOVB,SMB88SM0.0,1如果成功則將RCV指令的起始字符恢復(fù)為”,如果不成功則將RCV指令的起始字符恢復(fù)為”同時(shí)置位M0.0重新發(fā)送短消息。將整個(gè)程序下載到PLC中,每次置位M0.0即可以向發(fā)送一條短消息,短消息內(nèi)容為“天氣”。只要更改數(shù)據(jù)塊中
10、的內(nèi)容,即可向不同的手機(jī)號(hào)碼發(fā)送不同內(nèi)容的短消息。整個(gè)程序如下:MAINNetwork1LDSM0.1MOVB9,SMB30MOVB2#,SMB87MOVB,SMB88MOVW+5,SMW92MOVB255,SMB94ATCHINT_0,23ATCHINT_1,9ENINetwork2LDSM0.0RCVVB100,0Network3LDM0.0EURSM87.7,1RCVVB100,0XMTVB0,0Network4LDM0.1EURSM87.7,1RCVVB100,0XMTVB20,0INT_0Network1LDB=VB101,SM0.1,1Network2LDB=VB104,GMOVB,SMB88Network3LDB=VB104,SMOVB,SMB88SM0.0,1INT_1Network1LDM0.0SSM87.7,1RCVVB100,0RM0.0,1Network2LDSM0.0FILL+0,VW100,10Network3LDM0.1SSM87.7,1MOVB+,SMB88RCVVB100,0RM0.1,1四、總結(jié)這里我們總結(jié)以下自
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代商務(wù)場(chǎng)合下的著裝與舉止規(guī)范
- 居然之家國(guó)慶節(jié)活動(dòng)方案
- 現(xiàn)代農(nóng)業(yè)旅游產(chǎn)業(yè)鏈構(gòu)建與農(nóng)業(yè)可持續(xù)發(fā)展
- 未來(lái)生態(tài)社區(qū)的規(guī)劃與水環(huán)境關(guān)系探討
- 災(zāi)害預(yù)防教育在學(xué)校的推廣與應(yīng)用
- 匯報(bào)邏輯清晰度職場(chǎng)的制勝法寶
- 6 飛向藍(lán)天的恐龍說(shuō)課稿-2023-2024學(xué)年四年級(jí)下冊(cè)語(yǔ)文統(tǒng)編版
- 2023九年級(jí)物理上冊(cè) 第四章 探究電流4.3 導(dǎo)體對(duì)電流阻礙作用說(shuō)課稿 (新版)教科版
- 2 送元二使安西(說(shuō)課稿)- 2024-2025學(xué)年部編版語(yǔ)文六年級(jí)上冊(cè)
- 2024-2025學(xué)年高中數(shù)學(xué) 第一章 集合與常用邏輯用語(yǔ) 1.4.2 充要條件說(shuō)課稿 新人教A版必修第一冊(cè)001
- 醫(yī)?;鸨O(jiān)管培訓(xùn)課件
- 產(chǎn)程中的人文關(guān)懷護(hù)理
- 開(kāi)工第一課安全教育記錄表
- 2024年黑龍江農(nóng)業(yè)職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 部編版小學(xué)語(yǔ)文四年級(jí)下冊(cè)教師教學(xué)用書(shū)(教學(xué)參考)完整版
- 基于數(shù)據(jù)驅(qū)動(dòng)的鋰離子電池剩余使用壽命預(yù)測(cè)方法研究
- 《內(nèi)臟疾病康復(fù)》課件
- 串通招投標(biāo)法律問(wèn)題研究
- 高原鐵路建設(shè)衛(wèi)生保障
- 家具廠各崗位責(zé)任制匯編
- 顳下頜關(guān)節(jié)盤(pán)復(fù)位固定術(shù)后護(hù)理查房
評(píng)論
0/150
提交評(píng)論