新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于自由口模式的S7-200 PLC與上位機的通信

        基于自由口模式的S7-200 PLC與上位機的通信

        作者: 時間:2011-11-08 來源:網絡 收藏

        在工控PC機中可采用VB來實現監控程序,通過MSCOMM控件就可控制串口通信[6],主要參數設置代碼如下:
         MSComm1.Settings="9600,N,8,1"
         //串口通信參數設置
         MSComm1.CommPort=1
         MSComm1.PortOpen=True
        MSComm1.InputLen=0
        4 主控PLC軟件設計
        CPU224XP自由口通信模式的初始化是通過對特殊存儲字節SMB30(PORT0)寫入通信控制字來設置通信的波特率、奇偶校驗、停止位和數據位數[7]。SMB30中的內容如下:
         PP:奇偶選擇。00為無奇偶校驗;01為偶校驗;10為奇校驗;11為保留。
         D:每個字符的數據位。0為每個字符8位;1為每個字符7位。
         BBB:自由端口波特率。本設計為010,表示波特率為9 600 b/s。
         MM:協議選擇。00為點到點接口協議的PPI從站模式;01為自由端口協議;10為PPI主站模式;11為保留。缺省設置為00,即PPI從站模式。
        本文中傳輸速率固定為9 600 b/s,數據格式由1位起始位、8位數據位、無校驗位、1位停止位組成。
        配置自由口通信模式后,就可以進行數據的收發了。PLC通信程序框圖如圖5所示。接收數據指令RCV的命令格式為RCV TABLE,Port0,RCV指令可以接收一個或多個字符,一次最多接收255個字符。發送數據指令XMT的命令格式為XMT TABLE,Port0,激活發送緩沖區TABLE中的數據。數據緩沖區的第一個數據指明了要發送的字節數,最多有255個字符的緩沖區。

        通信程序的設計需遵循一定的規則,例如,中斷通信處理程序要短小精悍,要避免XMT與RCV指令在一個端口同時執行[8]。本設計采用主從方式通信,PC設為主機,PLC設置為從機。只有PLC接收到指令幀后,才可能根據接收數據情況發送反饋幀。為簡化程序設計,PC機只發出讀指令和寫指令兩種指令幀。若為讀指令,PLC準備好發送數據后執行XMT指令;若為寫指令,PLC先把數據寫入指定存儲區,準備好應答數據后同樣執行XMT命令;若接收到錯誤幀(如校驗錯誤及不能識別的命令),PLC準備相應標志數據執行XMT指令。
         主要代碼如下:
         LD SM0.0
         MOVB 9,SMB30//設置端口0為:9 600,N,8,1
         LD SM0.0//RCV指令初始化
         MOVB 16#EC,SMB87
         //允許接收信息,使用SMB88,SMB89。
         MOVB 83,SMB88//設置起始字符為"S"
         MOVB 115,SMB89//設置結束字符為"s"
         MOVB +1000,SMW92//接收信息時間不能超過1 ms
         MOVB 30,SMB94//接收的最大字符數,這里設置為30
         R SMB87.2,1//復位SMB87.2,使其為0,忽略SMW92
         LD SM0.0
         ATCH RCVOVER,23
         //將0口接收完成中斷事件連接到RCVOVER上
         LD SM0.0
         ATCH XMTOVER,9、
          //將0口發送完成中斷事件連接到XMTOVER上
         LD SM0.0
         ENI//允許中斷
        S7-200自由口通信方式使用戶可以自己定義PLC指令通信協議,與任何公開通信協議(如RS-422或RS-232C)接口設備進行通信,使通信范圍大大增加,控制系統配制更加靈活。本通信程序用于ITER導體穿纜測力測長監控系統,PLC完成數據采集及現場控制,工控PC機實時顯示導體穿纜的速度及行程,同時以梯形圖和通信控件顯示動作過程,便于監控及故障診斷,得到用戶好評。本文設計的通信協議也可用于其他控制系統的監控。
        參考文獻
        [1] SIEMENS公司.SIMATIC S7-200可編程控制器系統手冊[M]. http://www2.ad.siemens.com.cn/download/Upload/AS/manual/1109582. pdf, 2008-08-01.
        [2] 吉順平.西門子PLC與工業網絡技術[M].北京:機械工業出版社,2008.
        [3] 劉杰,陽林,陳超麗.三菱FX2N系列PLC與PC通訊的簡易實現[J].制造業自動化,2006(1):65-67.
        [4] 陳明意.基于VC6.0的PC與FX2NPLC通信的實現[J].武漢工業學院學報,2005,24(4):14-16.
        [5] 丁莉君,李宏燕.自由口模下S7-200 PLC與的通信[J].機床電器,2009(1):26-28.
        [6] 湯光華,吳青.下S7-200 PLC與的通信[J].微計算機信息,2008(24):62-64.
        [7] 劉紅兵.S7-200自由口通訊的實現及應用[J].PLCFA,2009(2):58-62.
        [8] 李紹民,潘登.S7-200 PLC與上位機的通信[J].大連民族學院學報,2009,11(3):209-211.

        西門子plc相關文章:西門子plc視頻教程


        數字通信相關文章:數字通信原理


        通信相關文章:通信原理



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 五家渠市| 柳江县| 柘城县| 石城县| 孙吴县| 石屏县| 金华市| 理塘县| 嘉黎县| 乌拉特中旗| 彰化县| 镶黄旗| 浦东新区| 永丰县| 宁都县| 应城市| 泸州市| 通山县| 许昌市| 双城市| 庆阳市| 镇康县| 陆川县| 龙江县| 华亭县| 咸宁市| 灵寿县| 绥阳县| 白山市| 岑巩县| 穆棱市| 马尔康县| 沧州市| 丰都县| 府谷县| 阿尔山市| 溧水县| 新干县| 饶河县| 都昌县| 平邑县|