版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 S7-200PLC與PC自由口通訊的多種實(shí)現(xiàn)方法1 引言西門子S7-200PLC是德國西門子公司生產(chǎn)小型PLC。S7-200以其高可靠性、指令豐富、置功能豐富、強(qiáng)勁通訊能力、較高性價(jià)比等特點(diǎn),工業(yè)控制領(lǐng)域中被廣泛應(yīng)用。S7-200PLC突出特點(diǎn)之一是自由口通訊功能。如何實(shí)現(xiàn)S7-200PLC與個(gè)人計(jì)算機(jī)互聯(lián)通信,是S7-200PLC應(yīng)用技術(shù)關(guān)鍵??删幊炭刂破髋c計(jì)算機(jī)之間通訊一般是RS-422口或RS-232C口進(jìn)行,信息交換方式為 字符串方式,運(yùn)用RS-232C或RS-422通道,容易配置一個(gè)與計(jì)算機(jī)進(jìn)行通信系統(tǒng),將所有軟元件數(shù)據(jù)和狀態(tài)用可編程控制器送入計(jì)算機(jī),由計(jì)算機(jī)采集 這些
2、數(shù)據(jù),進(jìn)行分析與運(yùn)行狀態(tài)監(jiān)測。用計(jì)算機(jī)改變可編程控制器設(shè)備初始值和設(shè)定值,實(shí)現(xiàn)計(jì)算機(jī)與可編程控制器直接控制,一旦確定了可編程控制器控制指令, 就能很方便與計(jì)算機(jī)連接。2 S7-200自由口通訊模式S7-200支持多種通訊模式,如點(diǎn)點(diǎn)接口(PPI)、多點(diǎn)接口(MPI)、Rrofibus DP等。PPI等通訊協(xié)議主要用于西門子系列產(chǎn)品之間通訊以與對PLC編程。自由口模式下,可由用戶控制串行通訊接口,實(shí)現(xiàn)用戶自定義通訊協(xié)議。用戶可以用梯形圖程序調(diào)用接收中斷、發(fā)送中斷、發(fā)送指令(XMT)、接受指令(RCV)來控制通信操作。自由口模式下,通信協(xié)議完全由梯形圖程序控制。S7-200CPU上通信
3、口是與RS-485兼容9針D型連接器,PLC還提供了實(shí)現(xiàn) RS-485與 PC機(jī)上RS-232C相連接PC/PPI電纜,利用它可以方便實(shí)現(xiàn)S7-200系列PLC與PC之間硬件連接。S7-200編程軟件為STEP7-Micro/WIN32,該軟件有STL、FBD和Ladder三種編程模式,有SIMATIC指令和IEC131-3指令兩種指令。本文所給出例是使用SIMATIC指令STL編程。3 S7-200 PLC端通訊程序?qū)崿F(xiàn)PLC程序分為主程序和中斷程序。主程序完成初始化通信口、開中斷、判斷、發(fā)送數(shù)據(jù)等功能,中斷程序完成接收和發(fā)送數(shù)據(jù)功能。接收指令(RCV)啟動(dòng)或終止接收信息功能,必
4、須為接收操作指定開始和結(jié)束條件。發(fā)送指令(XMT)自由口模式下依靠通訊口發(fā)送數(shù)據(jù)。3.1 控制字選取反映CPU工作方式模式開關(guān)當(dāng)前位置特殊存儲(chǔ)器位為SM0.7,它控制自由端口模式進(jìn)入。當(dāng) SM0.7為0時(shí),模式開關(guān)處于TREM位置;當(dāng)SM0.7為1時(shí)模式開關(guān)處于RUN位置。而當(dāng)模式開關(guān)位于RUN位置時(shí),才允許進(jìn)行自由口通訊。 SMB30是自由口模式控制字節(jié),用來設(shè)定校驗(yàn)方式、通訊協(xié)議、波特率等通訊參數(shù)(其它控制字設(shè)定參閱有關(guān)書籍)。3.2 程序一些簡單介紹NETWORK1LD SM0.1 / 第一次掃描MOVB
5、16#09,SMB30 /自由口通訊模式:9600波特率,無奇偶校驗(yàn),8個(gè)數(shù)據(jù)位MOVB 16#7C,SMB87 /接收信息狀態(tài)字節(jié)MOVB 16#53,SMB88 /設(shè)置信息開始字符“S”MOVB 16#45,SMB89 /設(shè)置信息結(jié)束字符“E”MOVW +5,SMW90 /設(shè)定空閑行時(shí)間間隔(ms)MOVW +179,SMW92 /字符間/信息間定時(shí)器超時(shí)值(ms)MOVB 60,SMB94 /
6、接收字符個(gè)數(shù)NETWORK2LD SM0.1 MOVB 16#53,VB2499 /設(shè)置接收和發(fā)送緩沖區(qū)首址ATCH 發(fā)送完中斷,9 /把發(fā)送完成中斷和發(fā)送完成中斷子程序連接起來ATCH 接收完中斷,23 /把接收完成中斷和接收完成中斷子程序連接起來ENI /允許中斷PLC程序主要流程框圖如圖1所示: 圖1 PLC程序流程4 自由口通訊PC 端程序?qū)?/p>
7、現(xiàn)充分利用計(jì)算機(jī)數(shù)據(jù)處理強(qiáng)大功能,可以上位機(jī)編寫程序來實(shí)現(xiàn)計(jì)算機(jī)與PLC通訊??梢杂肰C或VB實(shí)現(xiàn)上位機(jī)和PLC通訊。4.1 利用VC6.0 或VC6.0 MSComm控件實(shí)現(xiàn)MSComm控件Microsoft公司提供簡化Windows下串行通訊編程ActiveX控件,它為應(yīng)用程序提供了串口收發(fā)數(shù)據(jù)簡便方法。PC機(jī)RS-232口與PLC進(jìn)行通信,該通信控件提供了使用RS-232開發(fā)串行通信軟件細(xì)則,使用事件驅(qū)動(dòng)或查詢方式來解決開發(fā)通信軟件中遇到問題。事件驅(qū)動(dòng)是一種強(qiáng)大處理問題方法,對事件發(fā)生跟蹤和處理通信軟件中用Oncomm來實(shí)現(xiàn),它包括檢測和處理通信錯(cuò)誤等;查詢方式則要求設(shè)計(jì)者自
8、行讀CommEven值,并判斷發(fā)生何種事件,再對之進(jìn)行處理。該控件有許多重要屬性,主要屬性如附表所示。 附表 MSComm屬性 開發(fā)通信軟件只需上述幾個(gè)重要屬性設(shè)置好通信口,然后用SetOutput指令發(fā)送命令。通信協(xié)議,待PC機(jī)與PLC握手成功后,可按特定數(shù)據(jù)格式GetInput或SetOutput來接收或發(fā)送數(shù)據(jù)。 4.2 利用VC6.0 CSerialPorts類實(shí)現(xiàn)程序中使用多個(gè)串口,還要做很復(fù)雜處理工作,那么最好不用MSComm控件。這時(shí)候不愿意自己編寫底層函數(shù),就可以使用CSerial Ports類。
9、這個(gè)類是由Remon編寫。其中詳細(xì)功能可以其上查詢。將SerialPort.h 和 SerialPort.cpp兩個(gè)類文件復(fù)制到工程文件夾中,用 Project -> Add to project -> Files命令將上述兩個(gè)文件加入工程。串口初始化:這種方式下,串口初始化通常放一個(gè)自定義函數(shù)中,這樣可以使用多不同端口,下面以初始化COM為例給出部分代碼。void CtestView:OpenCom2() DCB dc;dc.DCBlength = sizeof(DCB);dc.BaudRate = CBR_9600; /數(shù)據(jù)傳輸速率為9600
10、dc.ByteSize = 8; /8位數(shù)據(jù)位dc.StopBits = ONESTOPBIT; /1位停止位dc.Parity = NOPARITY; /無校驗(yàn) 其中DCB(設(shè)備控制塊)是一種數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)串口屬性設(shè)置。數(shù)據(jù)接收和發(fā)送:數(shù)據(jù)接收是調(diào)用了ReadByte函數(shù),每次讀取一個(gè)BYTE型變量,多個(gè)數(shù)據(jù)讀取可以循環(huán)實(shí)現(xiàn)。數(shù)據(jù)發(fā)送是調(diào)用WriteByte函數(shù),每次只能發(fā)送一個(gè)無符號char型與之等價(jià)數(shù)據(jù),多個(gè)數(shù)據(jù)可以循環(huán)實(shí)現(xiàn)。4.3 利
11、用PCommPro應(yīng)用軟件實(shí)現(xiàn)與PLC通訊時(shí),PC機(jī)還可采用PCommPro應(yīng)用軟件,該軟件是Win32初級API函數(shù)調(diào)用來控制和使用通訊端口。與VB/VC中MComm控件相比較,使用較復(fù)雜些,但通訊效率高輸出控制較好。程序中PC機(jī)接收數(shù)據(jù)采用回調(diào)函數(shù)處理方式,即欲建立事件,需給定一個(gè)函數(shù)址,當(dāng)事件發(fā)生 時(shí),Pcomm便到該回調(diào)函數(shù)所址去執(zhí)行該程序代碼。所謂回調(diào)函數(shù)是指當(dāng)調(diào)用一個(gè)函數(shù)時(shí)(尤其是API),該函數(shù)會(huì)要求調(diào)用者提供一個(gè)函數(shù)址,當(dāng)被調(diào)用函 數(shù)執(zhí)行后,會(huì)再去調(diào)用此函數(shù),目是將結(jié)果傳送回來讓用戶知道,或是該被調(diào)用函數(shù)需要另一個(gè)參考函數(shù)運(yùn)算等,這種做法就稱為回調(diào)。Pcomm中回調(diào)函數(shù)主要 介
12、紹以下幾種。Sio_term_irq:當(dāng)收到終止字符時(shí)引發(fā)事件程序;Sio_cnt_irq:接收到固定字符時(shí)引發(fā)事件;Sio_modem_irq:當(dāng)硬件線路電壓發(fā)生變化時(shí),引發(fā)事件,硬件線路包括DCD,DSR,CTS,RI4支管腳;Sio_break_irq:當(dāng)接到中斷信號時(shí)引發(fā)事件。程序設(shè)計(jì)中要具體情況來選擇不同回調(diào)函數(shù)。例:數(shù)據(jù)以ASCII值形式傳遞時(shí),可以使用 Sio_term_irq函數(shù),即當(dāng)收到終止字符時(shí)引發(fā)事件程序,也可以使用其它回調(diào)函數(shù)。但當(dāng)傳遞數(shù)據(jù)以字節(jié)形式表示時(shí),使用Sio_term_irq 函數(shù)可能會(huì)引發(fā)一些問題,是傳遞數(shù)據(jù)值可能與函數(shù)所設(shè)置終止字符一樣,可能造成接收數(shù)據(jù)不完整。 圖2 PC主要程序流程框圖應(yīng)用到其它函數(shù)還有如下:sio_open():打開通信端口;sio_ioctl():設(shè)置傳輸端口參數(shù),給定參數(shù)有三個(gè),有端口、波特率和參數(shù)模式(由數(shù)據(jù)位、停止位和奇偶檢驗(yàn)位3部分組成);sio_read():從接收緩沖區(qū)中讀取字符串;sio_write():把發(fā)送緩沖區(qū)中數(shù)據(jù)發(fā)送出去;sio_close():關(guān)閉通訊端口,此操作會(huì)導(dǎo)致所有接收和傳送操作都停止。PC程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 贛南科技學(xué)院《計(jì)算機(jī)網(wǎng)絡(luò)安全》2023-2024學(xué)年第一學(xué)期期末試卷
- 2022年三年級下冊小學(xué)生期末評語(17篇)
- 七年級語文上冊第四單元寫作思路要清晰新人教版
- 三年級數(shù)學(xué)上冊一混合運(yùn)算過河說課稿北師大版
- 三年級科學(xué)下冊第一單元植物的生長變化第3課我們先看到了根教學(xué)材料教科版
- 小學(xué)生宿舍內(nèi)務(wù)管理制度
- 死因制度培訓(xùn)課件
- 2021年衛(wèi)生招聘(公共衛(wèi)生管理)考試題庫(帶答案)
- 醫(yī)生輸血培訓(xùn)課件
- 同軸電纜接頭制作(最終版)
- 2024年工程部年終總結(jié)
- 新外貿(mào)業(yè)務(wù)員年終總結(jié)
- 電梯日常巡檢記錄制度
- 七年級上冊道德與法治2023-2024期末試題附答案系列
- 國家電網(wǎng)公司招聘高校畢業(yè)生應(yīng)聘登記表
- 內(nèi)科護(hù)理學(xué)重點(diǎn)總結(jié)
- 創(chuàng)新思維訓(xùn)練學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2019年海南省公務(wù)員考試申論真題(甲類)
- 事業(yè)部制改革方案
- 定向羅盤項(xiàng)目可行性實(shí)施報(bào)告
- 學(xué)術(shù)基本要素:專業(yè)論文寫作學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論