資源描述:
《S7-200PLC與PC自由口通訊的多種實現(xiàn)方法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、S7-200PLC與PC自由口通訊的多種實現(xiàn)方法1?引言西門子S7-200PLC是德國西門子公司生產(chǎn)小型PLC。S7-200以其高可靠性、指令豐富、內(nèi)置功能豐富、強勁通訊能力、較高性價比等特點,工業(yè)控制領(lǐng)域中被廣泛應(yīng)用。S7-200PLC突出特點之一是自由口通訊功能。如何實現(xiàn)S7-200PLC與個人計算機互聯(lián)通信,是S7-200PLC應(yīng)用技術(shù)關(guān)鍵??删幊炭刂破髋c計算機之間通訊一般是RS-422口或RS-232C口進(jìn)行,信息交換方式為字符串方式,運用RS-232C或RS-422通道,容易配置一個與計算機進(jìn)行通信系統(tǒng),將所有軟元件數(shù)據(jù)和狀態(tài)用可編程控制器送入計
2、算機,由計算機采集這些數(shù)據(jù),進(jìn)行分析及運行狀態(tài)監(jiān)測。用計算機改變可編程控制器設(shè)備初始值和設(shè)定值,實現(xiàn)計算機與可編程控制器直接控制,一旦確定了可編程控制器控制指令,就能很方便與計算機連接。2?S7-200自由口通訊模式S7-200支持多種通訊模式,如點點接口(PPI)、多點接口(MPI)、RrofibusDP等。PPI等通訊協(xié)議主要用于西門子系列產(chǎn)品之間通訊以及對PLC編程。自由口模式下,可由用戶控制串行通訊接口,實現(xiàn)用戶自定義通訊協(xié)議。用戶可以用梯形圖程序調(diào)用接收中斷、發(fā)送中斷、發(fā)送指令(XMT)、接受指令(RCV)來控制通信操作。自由口模式下,通信協(xié)議完
3、全由梯形圖程序控制。S7-200CPU上通信口是與RS-485兼容9針D型連接器,PLC還提供了實現(xiàn)RS-485與PC機上RS-232C相連接PC/PPI電纜,利用它可以方便實現(xiàn)S7-200系列PLC與PC之間硬件連接。S7-200編程軟件為STEP7-Micro/WIN32,該軟件有STL、FBD和Ladder三種編程模式,有SIMATIC指令和IEC131-3指令兩種指令。本文所給出范例是使用SIMATIC指令STL編程。3?S7-200PLC端通訊程序?qū)崿F(xiàn)PLC程序分為主程序和中斷程序。主程序完成初始化通信口、開中斷、判斷、發(fā)送數(shù)據(jù)等功能,中斷程序完
4、成接收和發(fā)送數(shù)據(jù)功能。接收指令(RCV)啟動或終止接收信息功能,必須為接收操作指定開始和結(jié)束條件。發(fā)送指令(XMT)自由口模式下依靠通訊口發(fā)送數(shù)據(jù)。3.1?控制字選取反映CPU工作方式模式開關(guān)當(dāng)前位置特殊存儲器位為SM0.7,它控制自由端口模式進(jìn)入。當(dāng)SM0.7為0時,模式開關(guān)處于TREM位置;當(dāng)SM0.7為1時模式開關(guān)處于RUN位置。而當(dāng)模式開關(guān)位于RUN位置時,才允許進(jìn)行自由口通訊。SMB30是自由口模式控制字節(jié),用來設(shè)定校驗方式、通訊協(xié)議、波特率等通訊參數(shù)(其它控制字設(shè)定參閱有關(guān)書籍)。3.2?程序一些簡單介紹NETWORK1LD?SM0.1???/
5、/第一次掃描MOVB?16#09,SMB30??//自由口通訊模式:9600波特率,無奇偶校驗,8個數(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è)定空閑行時間間隔(ms)MOVW?+179,SMW92?//字符間/信息間定時器超時值(ms)MOVB?60,SMB94??//接收字符個數(shù)NETWORK2LD?SM0.1MOVB16#53,VB2499?//設(shè)置接收和發(fā)送緩沖區(qū)首址ATCH?
6、發(fā)送完中斷,9????//把發(fā)送完成中斷和發(fā)送完成中斷子程序連接起來ATCH?接收完中斷,23??//把接收完成中斷和接收完成中斷子程序連接起來ENI????//允許中斷PLC程序主要流程框圖如圖1所示:??圖1????PLC程序流程4?自由口通訊PC端程序?qū)崿F(xiàn)充分利用計算機數(shù)據(jù)處理強大功能,可以上位機編寫程序來實現(xiàn)計算機與PLC通訊。可以用VC或VB實現(xiàn)上位機和PLC通訊。4.1?利用VC6.0或VC6.0MSComm控件實現(xiàn)MSComm控件Microsoft公司提供簡化Windows下串行通訊編程ActiveX控件,它為應(yīng)用程序提供了串口收發(fā)數(shù)據(jù)簡便方
7、法。PC機RS-232口與PLC進(jìn)行通信,該通信控件提供了使用RS-232開發(fā)串行通信軟件細(xì)則,使用事件驅(qū)動或查詢方式來解決開發(fā)通信軟件中遇到問題。事件驅(qū)動是一種強大處理問題方法,對事件發(fā)生跟蹤和處理通信軟件中用Oncomm來實現(xiàn),它包括檢測和處理通信錯誤等;查詢方式則要求設(shè)計者自行讀CommEven值,并判斷發(fā)生何種事件,再對之進(jìn)行處理。該控件有許多重要屬性,主要屬性如附表所示。?附表????MSComm屬性?開發(fā)通信軟件只需上述幾個重要屬性設(shè)置好通信口,然后用SetOutput指令發(fā)送命令。通信協(xié)議,待PC機與PLC握手成功后,可按特定數(shù)據(jù)格式GetI
8、nput或SetOutput來接收或發(fā)送數(shù)據(jù)。4.2?利用VC6.