《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 基于自由口模式的S7-200 PLC與上位機(jī)的通信
基于自由口模式的S7-200 PLC與上位機(jī)的通信
來源:微型機(jī)與應(yīng)用2011年第13期
余中正1,武 玉1,夏永勝2,貢馬林1
(1.中國科學(xué)院等離子體物理研究所,安徽 合肥 230001;2.合肥工業(yè)大學(xué) 機(jī)械與汽車工程學(xué)院,
摘要: 詳細(xì)說明了西門子S7-200 PLC在自由口模式下與上位機(jī)通信的實(shí)現(xiàn),主要包括該系統(tǒng)的硬件構(gòu)成,自由口通信協(xié)議的標(biāo)準(zhǔn),以及上位機(jī)軟件流程和主控PLC軟件設(shè)計(jì)。通過自由口通信可實(shí)現(xiàn)對(duì)ITER導(dǎo)體穿纜測力測長系統(tǒng)的監(jiān)控, 將PLC數(shù)據(jù)傳送至上位機(jī),實(shí)現(xiàn)對(duì)數(shù)據(jù)的處理以及現(xiàn)場數(shù)據(jù)的實(shí)時(shí)顯示和遠(yuǎn)程控制等功能。
Abstract:
Key words :

摘  要: 詳細(xì)說明了西門子S7-200 PLC自由口模式下與上位機(jī)通信的實(shí)現(xiàn),主要包括該系統(tǒng)的硬件構(gòu)成,自由口通信協(xié)議的標(biāo)準(zhǔn),以及上位機(jī)軟件流程和主控PLC軟件設(shè)計(jì)。通過自由口通信可實(shí)現(xiàn)對(duì)ITER導(dǎo)體穿纜測力測長系統(tǒng)的監(jiān)控, 將PLC數(shù)據(jù)傳送至上位機(jī),實(shí)現(xiàn)對(duì)數(shù)據(jù)的處理以及現(xiàn)場數(shù)據(jù)的實(shí)時(shí)顯示和遠(yuǎn)程控制等功能。
關(guān)鍵詞: PLC;通信協(xié)議;自由口模式;ITER導(dǎo)體穿纜測力測長系統(tǒng);上位機(jī)

 西門子公司的SIMATIC S7-200系列PLC是廣泛適用于中小型設(shè)備控制的工業(yè)可編程控制器,以其可靠性高、豐富的指令和內(nèi)置功能、通信能力強(qiáng)、性價(jià)比較高等特點(diǎn),在工業(yè)控制領(lǐng)域中得到越來越廣泛的應(yīng)用[1]。在本文的控制系統(tǒng)中,PLC作為下位機(jī)完成現(xiàn)場各種信號(hào)和數(shù)據(jù)的采集、運(yùn)算和控制[2-4]。工控PC機(jī)作為上位機(jī)可提供人機(jī)交互界面,實(shí)現(xiàn)數(shù)據(jù)的處理以及現(xiàn)場數(shù)據(jù)的實(shí)時(shí)顯示等監(jiān)視和遠(yuǎn)程控制等功能。S7-200系列的PLC可以在四種通信模式下工作:PPI模式、MPI模式、PROFIBUS-DP模式和自由口通信模式。其中,PPI和MPI是西門子專門開發(fā)的通信協(xié)議。PPI協(xié)議用于點(diǎn)對(duì)點(diǎn)接口,是一個(gè)主/從協(xié)議。MPI協(xié)議適用于多點(diǎn)接口,可以是主/主協(xié)議或主/從協(xié)議。PROFIBUS-DP是西門子支持的現(xiàn)場總線網(wǎng)絡(luò)[5]。而大多數(shù)用戶則是選用對(duì)用戶完全開放的自由口通信模式。在自由口通信模式下,通信協(xié)議是由用戶定義的。用戶可以用梯形圖程序調(diào)用接收中斷、發(fā)送中斷、發(fā)送指令(XMT)、接收指令(RCV)來控制通信操作。本設(shè)計(jì)采用自由口方式,重點(diǎn)介紹工控PC機(jī)與主控PLC的通信原理與實(shí)現(xiàn)。
1 硬件組成
 ITER導(dǎo)體穿纜測力測長控制系統(tǒng)的框圖如圖1所示。將測力傳感器和測長編碼器通過信號(hào)線與PLC相連,這樣穿纜過程中的拉力數(shù)據(jù)和行程數(shù)據(jù)就能夠?qū)崟r(shí)寫入PLC的寄存器中。PLC通過通信電纜與PC機(jī)的串行通信口相連,在PC機(jī)中設(shè)置VB的MSCOMM控件來實(shí)現(xiàn)串口通信,這樣PC機(jī)就能讀取PLC寄存器中的拉力和行程數(shù)據(jù),對(duì)穿纜過程進(jìn)行實(shí)時(shí)監(jiān)控。

2 工控PC機(jī)與主控PLC的自由口通信協(xié)議
 工控PC機(jī)標(biāo)準(zhǔn)的串口為RS232C,S7-200系列提供的串口為RS485,利用西門子公司提供的PC/PPI電纜,可以方便地實(shí)現(xiàn)S7-200系列PLC與PC之間硬件連接[1]。
 上位機(jī)向PLC發(fā)送指令(即指令幀),指令幀格式如圖2所示,由起始字符、指令類型、目標(biāo)PLC站地址、目標(biāo)寄存器地址、讀/寫字節(jié)數(shù)、待寫入的數(shù)據(jù)(當(dāng)從PLC讀數(shù)據(jù)時(shí),具體數(shù)據(jù)部分為空)、校驗(yàn)碼和結(jié)束字符組成。

 例如寫VB100開始的兩個(gè)字節(jié)的指令幀如下:83H,06H,08H,00H,00H,64H,30H,32H,31H,32H,33H,34H,35H,36H,115H。下面按順序說明每段字節(jié)的含義:
 83H為字符"S"的ASCII碼,表示指令的開始,在本設(shè)計(jì)中是固定的。
 06H表示指令的類型,為寫操作。在本文中定義05H代表讀操作,06H代表寫操作。
 08H,00H表示要寫PLC中V存儲(chǔ)區(qū)的內(nèi)容。
 00H,64H表示要從VB100開始寫。
 30H,32H表示要寫兩個(gè)字節(jié)。
 31H,32H,33H,34H表示VB100寫入12H,VB101寫入34H。
 35H,36H是校驗(yàn)和。
 115H為字符"s"的ASCII碼,是結(jié)束字符,表示指令的結(jié)束,在本設(shè)計(jì)中是固定的。
 一條指令除包含數(shù)據(jù)外,還包含必要的控制字(如起始字符、結(jié)束字符、指令類型等)。如果指令中的數(shù)據(jù)直接以其原本的形式傳輸,則不可避免地會(huì)與指令中的控制字發(fā)生混淆。為了避免這種情況的發(fā)生,可以用文本來傳送二進(jìn)制數(shù)據(jù)。通過16進(jìn)制ASCII碼的格式來描述數(shù)據(jù),每個(gè)二進(jìn)制的字節(jié)都可以表示成一對(duì)ASCII編碼,這對(duì)編碼表示這個(gè)字節(jié)的兩個(gè)16進(jìn)制字符。這種格式可以表示任何的數(shù)值,僅僅使用ASCII代碼的30H~39H(表示0~9)和41H~46H(表示A~F)。ASCII碼的其余部分可以用作控制字。這樣就避免PLC因接收到數(shù)據(jù)中錯(cuò)誤的標(biāo)志位而停止接收的錯(cuò)誤。
 在PLC接到上位機(jī)指令后,會(huì)向上位機(jī)發(fā)送一個(gè)反饋消息,即反饋幀,反饋幀格式如圖3所示。其組成與指令幀基本相同,但它是由PLC發(fā)出的,所以具體數(shù)據(jù)段不同,在向PLC寫數(shù)據(jù)時(shí),反饋幀的具體數(shù)據(jù)部分為空,而在從PLC讀數(shù)據(jù)時(shí),具體數(shù)據(jù)部分不能為空。


 例如,PLC接收到寫VB100開始兩個(gè)字節(jié)后的發(fā)送反饋幀如下:83H,02H,08H,00H,00H,64H,30H,32H,35H,36H,115H。下面按順序說明每段字節(jié)的含義:
 83H為字符"S"的ASCII碼,與指令幀相同。
 02H為狀態(tài)信息,表示接收到上位機(jī)指令后PLC的執(zhí)行狀態(tài)。在本文中02H表示寫入正確,相應(yīng)地規(guī)定01H表示讀取正確,03H表示BCC校驗(yàn)碼錯(cuò)誤,04H表示指令不合法。
 08H,00H表示要寫入PLC中V存儲(chǔ)區(qū)的內(nèi)容,與指令幀相同。
 00H,64H表示要從VB100開始寫,與指令幀相同。
 30H,32H表示要寫兩個(gè)字節(jié),與指令幀相同。需注意的是,此時(shí)具體數(shù)據(jù)段為空。
 35H,36H是校驗(yàn)和,因無數(shù)據(jù)段,與指令幀可能不同。
 115H為字符"s"的ASCII碼,表示此幀結(jié)束,與指令幀相同。
3 工控PC機(jī)軟件設(shè)計(jì)
 工控PC機(jī)端通信程序流程圖如圖4所示。發(fā)送指令幀后,注意查詢反饋幀,如一定時(shí)間內(nèi)沒有接收到,應(yīng)再次發(fā)送,兩次無響應(yīng),則要提示通信故障或PLC不存在。

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

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美在线视频观看| 宅男噜噜噜66一区二区| 日韩视频一区二区| 亚洲国产精品成人久久综合一区| 国产亚洲精品bt天堂精选| 国产精品国产精品| 国产精品成人免费视频| 欧美日韩亚洲网| 欧美日韩一区二区三区四区五区| 欧美久久久久免费| 欧美精品123区| 欧美精品在线免费| 欧美精品激情blacked18| 欧美极品在线播放| 欧美久久久久久久久| 欧美激情精品| 欧美精品网站| 欧美日本高清一区| 欧美日韩黄色一区二区| 欧美日韩三级| 国产精品久久久久久久久久直播| 国产精品久久久久久亚洲毛片 | 欧美激情一区在线观看| 欧美日韩国产高清| 国产精品福利在线观看网址| 国产精品揄拍500视频| 国产一区二区日韩| 在线免费精品视频| 亚洲精品一区二区三区不| 99国产一区| 亚洲欧美在线视频观看| 久久精品视频播放| 亚洲美女区一区| 亚洲视频图片小说| 欧美亚洲一区二区三区| 久久se精品一区二区| 久久亚洲精品一区| 欧美区视频在线观看| 国产精品久久久久久福利一牛影视 | 伊人成综合网伊人222| 亚洲日本中文字幕| 中国av一区| 久久成人资源| 日韩一级视频免费观看在线| 亚洲一区不卡| 久久视频在线看| 欧美精品亚洲二区| 国产精品色午夜在线观看| 黄色亚洲在线| 日韩视频在线观看国产| 亚洲欧美日韩一区二区三区在线观看 | 久久综合影视| 欧美日韩一区二区在线观看| 国产精品一区视频| 亚洲国产精品精华液2区45| 在线中文字幕不卡| 久久精品国产一区二区三区免费看| 亚洲美女区一区| 欧美在线观看一二区| 欧美成人免费全部| 国产欧美韩国高清| 亚洲另类自拍| 久久精品国产一区二区电影| 亚洲视频一起| 两个人的视频www国产精品| 国产精品扒开腿做爽爽爽软件| 韩国成人精品a∨在线观看| 亚洲人成在线观看| 欧美一区二区高清| 一区二区三区欧美日韩| 久久久午夜视频| 国产精品久久久久久久久搜平片 | 国产精品久久久| 在线日韩av片| 亚洲欧美日本视频在线观看| 日韩小视频在线观看| 久久福利资源站| 欧美日韩视频在线一区二区 | 先锋影院在线亚洲| 欧美极品一区二区三区| 狠狠色狠狠色综合| 亚洲欧美日韩国产一区二区三区| 亚洲精选视频在线| 久久久伊人欧美| 国产精品国产三级国产专播品爱网| 欲色影视综合吧| 欧美亚洲尤物久久| 亚洲永久视频| 欧美精品videossex性护士| 国内揄拍国内精品久久| 亚洲综合日韩在线| 亚洲一区二区三区欧美| 欧美激情在线播放| 1024亚洲| 亚洲春色另类小说| 久久久噜噜噜久久狠狠50岁| 国产精品久久久久7777婷婷| 亚洲免费观看高清完整版在线观看熊 | 激情婷婷欧美| 欧美一级艳片视频免费观看| 亚洲欧美春色| 欧美三级免费| 亚洲美女精品成人在线视频| 亚洲三级免费电影| 麻豆精品视频| 一区精品久久| 亚洲第一视频| 免费成人黄色| 亚洲成色777777女色窝| 亚洲电影视频在线| 久久综合色天天久久综合图片| 国产一区二区精品| 欧美一区二区三区免费视频| 久久国产精品72免费观看| 国产麻豆成人精品| 午夜精品一区二区三区四区| 欧美一区二区在线播放| 国产人妖伪娘一区91| 午夜欧美视频| 久久精品国产精品亚洲综合| 国产亚洲成人一区| 久久国产精品毛片| 久久中文字幕一区| 亚洲国产精品成人一区二区| 亚洲免费黄色| 欧美片第一页| 国产精品99久久不卡二区| 亚洲欧美制服中文字幕| 国产精品亚洲成人| 欧美在线亚洲综合一区| 久久久一区二区三区| 激情久久一区| 亚洲精品免费在线播放| 欧美人与禽性xxxxx杂性| 一本一本久久a久久精品牛牛影视| 亚洲一区亚洲| 国产精品性做久久久久久| 欧美亚洲一区二区在线观看| 久久综合久久美利坚合众国| 亚洲国产91精品在线观看| 99国产精品99久久久久久粉嫩| 欧美日韩天天操| 亚洲一区在线免费观看| 久久不射2019中文字幕| 狠狠色综合日日| 亚洲日产国产精品| 欧美日韩在线看| 亚洲欧美欧美一区二区三区| 久久婷婷av| 亚洲人精品午夜| 午夜国产精品影院在线观看| 国产欧美日韩在线观看| 亚洲国产日韩在线| 欧美日韩国产一区二区三区地区| 宅男噜噜噜66一区二区66| 欧美在线你懂的| 亚洲国产一区二区在线| 亚洲欧美精品suv| 国产在线播精品第三| 亚洲另类黄色| 国产精品久久久一区麻豆最新章节 | 欧美成人精品一区二区三区| 一本色道**综合亚洲精品蜜桃冫| 性久久久久久| 在线观看国产欧美| 亚洲视频每日更新| 国语精品中文字幕| 一区二区三区.www| 国产一区二区丝袜高跟鞋图片| 日韩天堂在线视频| 国产亚洲激情| 一区二区三区高清在线观看| 国产精自产拍久久久久久| 亚洲欧洲视频在线| 国产精品女主播一区二区三区| 亚洲电影毛片| 国产精品黄视频| 亚洲国产乱码最新视频| 欧美视频在线视频| 亚洲第一伊人| 国产精品久久午夜| 亚洲日本理论电影| 国产乱肥老妇国产一区二| 亚洲精品久久久久中文字幕欢迎你 | 你懂的网址国产 欧美| 亚洲制服av| 欧美乱人伦中文字幕在线| 午夜视频一区在线观看| 欧美日韩伦理在线免费| 亚洲福利专区| 国产精品一区在线观看| 9人人澡人人爽人人精品| 国产亚洲精品bt天堂精选| 亚洲午夜精品一区二区| 亚洲成在人线av| 欧美一级夜夜爽| 一区二区欧美国产| 欧美国产视频一区二区| 午夜欧美精品| 国产精品久久久久久五月尺|