999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

監控系統中S7-200系列PLC的通信協議設計

2014-03-29 21:36:06郭福田劉心紅曾麗麗
大慶師范學院學報 2014年3期
關鍵詞:程序信息

郭福田,劉心紅,曾麗麗,趙 忖,張 昕

監控系統中S7-200系列PLC的通信協議設計

郭福田,劉心紅,曾麗麗,趙 忖,張 昕

(東北石油大學秦皇島分校應用技術學院,河北秦皇島066004)

S7-200系列PLC自由口通信方式可用于PC機對PLC的監控,現有的S7-200系列PLC通信協議要么針對某一具體控制系統,要么比較復雜,理解困難,使用不便,通用性不強。本文利用S7-200系列PLC自由口通信方式中靈活的接收控制功能,設計了簡單、可靠的通信協議,實現了簡易、高效、通用性強,便于移植的通信程序。協議采用十六進制,發送和接收協議格式類似,字節數固定,通過變量寄存器可讀寫PLC中任何存儲器中的數據,便于實現PC機對PLC的遠程監控。

通信協議;PLC;自由口;異或校驗;中斷

0 引言

Siemens S7-200系列PLC是廣泛適用于中小型設備控制的工業可編程控制器,以其可靠性高、豐富的指令和內置功能、通信能力強、性價比較高等特點,在工業控制領域中得到越來越廣泛的應用。在工業場合通常利用PLC和PC機通信構成PC機監控系統,其中PLC作為下位機完成現場各種信號和數據的采集、運算和控制。PC機作為上位機可提供人機交互界面,實現數據的處理以及現場數據的實時顯示等監視和遠程控制等功能。監控系統能夠充分發揮PC機與PLC在工業控制中的優勢,實現PC機和PLC的結合的監控系統的關鍵問題之一就是兩者之間的通信問題。將PC機的串行口RS-232轉換為RS-485后就可以和現場PLC等RS-485接口設備相連,實現對現場RS-485串行總線上各種設備的遠程監控。由于S7-200系列PLC基于RS-485串行總線的通信協議較多[1],最經濟的就是采用PPI(Point to point interface點到點接口)協議和自由口(free-port)通信方式。PPI協議是西門子內部協議,不公開,適合西門子產品之間的通信。而自由口通信方式對用戶完全開放,可以由用戶靈活設計通信協議以適應不同的應用需求。

在PC機對S7-200系列PLC的監控監控系統中,現有的通信協議要么針對某一具體控制系統,要么比較復雜,理解困難,使用不便,通用性不強。本文針對S7-200系列PLC的通信端口0,利用其自由口通信方式中靈活的通信控制功能,設計了簡易、可靠、高效的PC機監控通信協議。通過變量寄存器作中介可讀寫PLC中任何存儲器中的數據,可實現PC機對PLC的遠程監控。

1 通信協議設計

通信協議是監控系統的重要組成部分,它關系到整個系統的工作效率和穩定性。為保證PC機與多臺PLC之間能夠正確識別傳輸信息,通信協議中充分利用了s7-200的PLC自由口通信控制功能[2],考慮以下因素:

(1)協議采用十六進制,發送和接收幀格式類似,由于PLC中數據類型最多4個字節,因此信息幀中數據域采用4個字節。

(2)信息幀中包含PLC地址,可實現PC機與多臺PLC的通信。

(3)PLC中采用幀間時間控制信息幀的開始,采用最大字符數控制信息幀的結束,保證PLC信息接收的完整。

(4)采用異或校驗方式檢測通信過程中的傳輸錯誤,保證監控數據的正確。

(5)PC對PLC讀取和寫入的請求幀和PLC應答幀采用同樣幀格式,以簡化PLC控制程序對信息幀的處理和PC機程序的編寫。

PC機向PLC發送的命令請求幀格式:

其中PLC地址域為目標PLC地址,值為01(信息幀中數值均采用十六進制)到FF之間;讀寫域為讀PLC中數據用00,寫入數據到PLC中用01;寄存器類型域分3種類型,輸入映像寄存器為00,輸出映像寄存器為01,變量寄存器為02;寄存器號域為讀寫的PLC寄存器編號;讀取PLC數據時,數據域中的4個字節為無效數據。寫數據到PLC時,數據域中是寫入到指定寄存器的4個字節數據;校驗碼域是對信息幀前面所有字節異或運算形成的異或校驗碼。

PLC機向PC發送的應答請求幀格式與PC機向PLC發送的命令請求幀格式基本相同,區別只在數據域的含義有差別。讀命令的應答幀中數據域為PLC中寄存器號開始的4個字節數據。寫命令的應答幀中數據域為寫入PLC寄存器后又讀出的數據,由此可判斷寫入PLC的數據是否正確。

2 通信程序設計

通信程序的設計思想是通常PLC處于接收狀態,當收到信息幀后,使用接收完成中斷處理接收到的數據,然后使用定時中斷延遲后發送數據,在發送完成中斷中重新返回接收狀態[3]。PLC只有處于RUN模式時,才能設置為自由口通信方式。當PLC回到STOP模式時,自動停止自由口通信方式而轉為PPI通信方式,這時PC機上編程軟件可對PLC編程。PLC通信功能的初始化包括以下內容:

首先設置自由口控制寄存器SMB30,在PLC運行時使端口0進入自由口通信方式,以及設置通信端口0上常用的串行口通信參數,如波特率、數據位和奇偶校驗等參數。為了通用性,這里設置為波特率9600、8位數據和無奇偶校驗,即SMB30的值設置為9[4]。

其次控制接收信息方式。信息控制寄存器SMB87中包含了對接收信息控制的各種方法。這里結合前述信息幀的格式,設置接收信息控制功能包括:使能接收信息功能;使用SMW90設置信息幀開始空閑時間5ms;使用SMW92設置信息幀間超時時間為100ms。這樣接收信息控制寄存器SMB87的值為9C。同時由前述幀結構可以看出,每幀有10個字節,因此使用SMB94設置信息幀最多接收10個字符。

通信程序中采用了常用的XOR校驗方法,發送方將校驗碼附在幀后,接收方收到數據后都要進行校驗以確保數據正確時,一致則繼續,錯誤則丟棄。例如,當PLC接收到針對該PLC的信息后,則對收到的數據進行異或校驗,若校驗正確,則對指定的寄存器進行讀寫,讀寫完成后延時5ms后返回應答信息。PLC發送完信息后,再進入接收狀態[5]。

2.1 初始化程序

LD SM0.0 //該位始終為1

MOVB 9,SMB30//9600 bit/s,8位數據,無校驗,1位停止位

MOVB 16#9C,SMB87//允許接收,起始時間和信息幀超時檢測

MOVW 5,SMW90//開始接收的空閑時間為5ms

MOVW+100,SMW92//接收超時時間為100 ms

MOVB 10,SMB94//接收的最大字符數為11

ATCH RCV_INT:INT0,23//接收完成事件連接到中斷程序0

ATCH SEND_INT:INT1,9//發送完成事件連接到中斷程序1

ENI//允許用戶中斷

RCV BUFFER:VB60,0//通信端口0的接收緩沖區指針指向BUFFER

2.2 接收完成中斷程序

LD SM0.0//該位始終為1

AB<>BUFADD:VB61,16#02//收到PLC地址不是2

JMP 1//退出

NOT

CALL FCS:SBR1,&BUFADD:&VB61,9,#XORCODE:LB0 //求異或校驗碼

LDB=#XORCODE:LB0,BUFXOR:VB70//如果校驗正確

LPS

AB= BUFREG:VB63,2 //讀寫V寄存器

MOVD&VB0,#RWADD:LD7

LRD

AB=BUFREG:VB63,1//讀寫Q寄存器

MOVD&QB0,#RWADD:LD7

LRD

AB=BUFREG:VB63,0//讀寫I寄存器

MOVD&IB0,#RWADD:LD7

LRD

MOVW BUFOFF:VW64,#OFFADD_W:LW1//讀寫偏移

LRD

ITD#OFFADD_W:LW1,#OFFADD_D:LD3//字轉換為雙字

LRD

+D#OFFADD_D:LD3,#RWADD:LD7//讀寫偏移+基地址

LRD

AB=BUFRW:VB62,0//PC讀PLC

BMB*#RWADD:*LD7,BUFVAL:VB66,4

LRD

AB=BUFRW:VB62,1//PC寫PLC

BMB BUFVAL:VB66,*#RWADD:*LD7,4//先寫

BMB*#RWADD:*LD7,BUFVAL:VB66,4//后讀

LPP

MOVB 5,SMB34//定時中斷0延時時間為5ms

ATCH TIMER_INT_0:INT2,10//啟用定時中斷0

CRETI

LBL 1

LD SM0.0

RCV BUFFER:VB60,0//啟動下一次接收

2.3 延遲發送中斷程序

LD SM0.0

DTCH 10//斷開定時器中斷

CALL FCS:SBR1,&BUFADD:&VB62,9,BUFXOR:VB71 //求校驗碼

XMT BUFFER:VB60,0//開始發送

2.4 發送完成中斷程序

LD SM0.0

RCV BUFFER:VB60,0//準備接收

2.5 異或校驗程序

LD SM0.0

MOVB 0,#XORCODE:LB6//異或校驗初值為0

FOR#TEMPINDX:LW7,+1,#BYTENUM:LW4

LD SM0.0

XORB*#STARTADD:*LD0,#XORCODE:LB6//異或運算

INCD#STARTADD:LD0//指針增1,以便取下一個字節

NEXT

2.6 主程序

LD SM0.1//進入運行狀態時

CALL SBR0//調用通信初始化程序

…//PLC控制程序部分

3 通信程序的使用

為了方便本通信程序的應用,采用符號表定義涉及到的變量寄存器,見表2。應用時根據PLC控制程序中變量使用情況,修改表2中的變量寄存器號,就可在滿足通信程序要求的同時防止與控制程序中已使用的變量寄存器沖突。該通信程序的子程序使用了局部存儲器以及接收和發送緩沖區共用來減少變量存儲器的使用量,由表2可以看出通信程序中僅使用了11個字節變量存儲器。變量存儲器用量越少,越方便修改和應用。

在具體PLC控制程序使用本通信程序時,必須在主程序開始運行處,調用通信初始化程序。然后,PC機與PLC中指定的變量寄存器通信,獲取現場設備數據,實現遠程監控。

4 測試

在PC機與PLC構成的監控系統中,PC機上的監控程序根據PLC的通信協議發送命令請求幀來讀寫PLC中指定的寄存器,PLC控制程序再根據這些指定寄存器進行現場控制或返回現場運行狀態。測試時在PC機使用串行通信調試軟件模擬PC機上的監控程序。修改PLC中通信程序以模擬現場控制程序,如在PLC主程序中增加下述語句來測試PLC的功能:輸入寄存器測試;輸出寄存器測試;讀取PLC當前時鐘信息;讀取模擬電位器值。

LD SM0.0 //調用通信程序舉例

TODR VB100//將當前時間和日期8個字節放在VB100處,供PC機讀取

MOVW SMW28,VW108//將模擬電位器0和1的值放在VB108處,供PC機讀取

當PC機發送寫輸出寄存器命令02 01 01 00 00 04 05 04 05 02時,PLC上Q0.2、Q1.0、Q1.2燈亮,與04 05值相符,且PC機收到相同信息幀,都說明了寫功能正確。當PC機發送讀輸入映像寄存器命令02 00 00 00 00 01 02 03 04 06時,PC收到02 00 00 00 00 08 00 00 00 0A,其中08對應PLC上I0.3為高,與實際相符。當PC機發送讀取VB100內容的命令02 00 02 00 64 01 02 03 04 60時,收到02 00 02 00 64 13 10 11 21 57,說明當前日期為13年10月11日21時。將PLC的2個電位器的值分別調為100和200后,PC機發送讀取VB108內容的命令02 00 02 00 64 01 02 03 04 68時,收到02 00 02 00 6C 64 C8 00 00 C0,其中64(即十進制100)和C8(即十進制200)即是2個電位器的當前值。說明讀功能正確。

5 結語

利用S7-200系列PLC的自由口通信功能為監控系統設計了通用的PLC通信程序,占用PLC存儲器資源少,并且利用了符號表對其進行了定義,易于修改。通信協議簡單、可靠,便于理解。這些優點使其方便地用于具體的PC機和PLC構成的監控系統。該通信協議已經用于一個太陽能熱水監控系統中,通信可靠,效果良好。通信協議的設計思想和通信程序的編程方法也可用于設計其他PLC產品的通信。

[1]西門子(中國)有限公司.深入淺出西門子S7-200PLC[M].北京:北京航空航天大學出版社,2003:18-25.

[2]趙景波.零基礎學西門子S7-200 PLC[M].北京:機械工業出版社,2010:181-207.

[3]楊志剛,錢俊磊.西門子S7-200系列PLC與單片機之間的自由口通信[J].河北理工學院學報,2005,27(4):77-80.

[4]劉濤.S7-200系列PLC與PC間自由口通訊的實現[J].現代電子技術,2004,14(4):5-6.

[5]馬啟青,劉志強,韓建武,等.基于自由口模式實現S7-200系列PLC與PC機串行通信[J].微計算機信息,2003,19(11):32-33.

Designed of Communication ProtocolWith S7-200 PLC for Supervisory Control System

GUO Fu-tian,LIU Xin-hong,ZENG Li-li,ZHAO Cun,ZHANG Xin

(School of Applied Technology,College of QingHuangDao of Northeast Petroleum University,Qinghuangdao 066004,China)

The free-port communicationmode of S7-200 PLC can be used formonitoring PLCwith PC in the supervisory control system,all existing communication protocols using for special application or it is too complex to understand and application.This paper uses flexible function of receivemessage control of S7-200 PLC’s freeportmode,designs a simple,reliable communication protocol,programs a high-performance,universal communication routine simply and easily,and easily using to special application.This protocol is hexadecimal,sending format as like as receive,fixed bytes,can read and write any register of PLC,so that it easy use formonitoring PLC with PC.

communication protocol;PLC;free-port;interrupt

TP2

B

2095-0063(2014)03-0005-05

2013-09-21

郭福田(1965-),男,陜西蒲城人,東北石油大學秦皇島分校應用技術學院副教授,從事計算機控制、數據通信等研究。

黑龍江省教育科學“十二五”規劃課題(GZC1213020)。

DOI10.13356/j.cnki.jdnu.2095-0063.2014.03.002

猜你喜歡
程序信息
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
恐怖犯罪刑事訴訟程序的完善
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 免费精品一区二区h| 亚洲无线国产观看| 99久久国产自偷自偷免费一区| 免费看a级毛片| 国产国模一区二区三区四区| 57pao国产成视频免费播放| 国产综合精品一区二区| 国内老司机精品视频在线播出| 国产精彩视频在线观看| 91精品人妻一区二区| 亚洲一区无码在线| 国产综合精品一区二区| 精品视频一区二区三区在线播| 在线欧美a| 女人毛片a级大学毛片免费| 欧美爱爱网| 国产欧美中文字幕| 秘书高跟黑色丝袜国产91在线| 欧洲亚洲欧美国产日本高清| 欧美日本二区| 91美女视频在线| 福利国产在线| 亚洲成在线观看| 国产精品主播| 亚洲天堂2014| 少妇人妻无码首页| 狠狠v日韩v欧美v| 亚洲第一色网站| 久久人搡人人玩人妻精品| 99热这里只有精品国产99| 99激情网| 97国产在线观看| 国产九九精品视频| 成人蜜桃网| 国产在线一区视频| 欧洲欧美人成免费全部视频| 无码中文AⅤ在线观看| 一区二区理伦视频| 日韩亚洲综合在线| 国产在线精品网址你懂的| 国产成人精品一区二区| 欧类av怡春院| 尤物亚洲最大AV无码网站| 亚洲精品在线观看91| 亚洲日韩国产精品综合在线观看| 欧洲精品视频在线观看| 毛片网站观看| 亚洲无码电影| 国产精品青青| 55夜色66夜色国产精品视频| 色婷婷狠狠干| 亚洲中文在线看视频一区| 久综合日韩| 免费毛片全部不收费的| 大香伊人久久| 亚洲伊人天堂| 久久这里只有精品23| AV无码无在线观看免费| 国产精品13页| 国产精品第一区| 亚洲中文字幕23页在线| 色欲色欲久久综合网| 国产国拍精品视频免费看| 五月丁香在线视频| yjizz视频最新网站在线| 在线精品视频成人网| 国产91高清视频| 亚洲AV无码乱码在线观看裸奔| 亚洲美女操| 欧美一区日韩一区中文字幕页| 亚洲中文无码av永久伊人| 91精品国产麻豆国产自产在线| 久久青草免费91线频观看不卡| 在线日本国产成人免费的| 亚洲 日韩 激情 无码 中出| 99激情网| 在线观看精品自拍视频| 亚洲品质国产精品无码| 高清大学生毛片一级| 男人天堂伊人网| 国产在线精彩视频论坛| 亚洲色中色|