小视频免费在线观看_夜夜b_男女隐私免费视频_国产一级性生活视频_久久综合入口_精品国内视频

技術(shù)頻道

PC機(jī)與PLC串行通信的實(shí)現(xiàn)(三菱FX) PLC論文

SerialCommunicationbetweenPersonalComputerandPLC

(北京航空航天大學(xué)) 宗光華

Li,Geng Zhong,Guanghua

摘要:本文對(duì)FX系列PLC的通信協(xié)議進(jìn)行了詳細(xì)的介紹,并以VB為開(kāi)發(fā)工具實(shí)現(xiàn)了PC機(jī)與FX系列PLC的串行通信。

關(guān)鍵詞:PLC ;串行通信;VB6.0

Abstract;ThispaperintroducesthecommunicationprotocolofFXseriesPLCandachievesserialcommunicationbetweenPCandFXserialPLC.

Keywords; PLC;SerialCommunication ;VB6.0

前言

PLC以卓越的可靠性和方便的可編程性廣泛應(yīng)用于工業(yè)控制領(lǐng)域。實(shí)現(xiàn)PC機(jī)與PLC通信的目的是為了向用戶提供諸如工藝流程圖顯示、動(dòng)態(tài)數(shù)據(jù)畫面顯示、報(bào)表顯示、窗口技術(shù)等多種功能,為PLC提供良好的人機(jī)界面。本文詳細(xì)介紹了FX系列PLC的通信協(xié)議,并在Windows環(huán)境下,使用VB6.0開(kāi)發(fā)通信程序,實(shí)現(xiàn)了PC機(jī)與FX系列PLC之間的串行通信。

PC機(jī)與PLC實(shí)現(xiàn)通信的條件

帶異步通信適配器的PC機(jī)與PLC只有滿足如下條件,才能互聯(lián)通信:

(1)帶有異步通信接口的PLC才能與帶異步通信適配器的PC機(jī)互聯(lián)。還要求雙方采用的總線標(biāo)準(zhǔn)一致,否則要通過(guò)“總線標(biāo)準(zhǔn)變換單元”變換之后才能互聯(lián)。

(2)雙方的初始化,使波特率、數(shù)據(jù)位數(shù)、停止位數(shù)、奇偶校驗(yàn)都相同。

(3)要對(duì)PLC的通信協(xié)議分析清楚,嚴(yán)格地按照協(xié)議的規(guī)定及幀格式編寫PC機(jī)的通信程序。PLC中配有通信機(jī)制,一般不需用戶編程。

PC機(jī)及與FX系列PLC的串行通訊

3.1硬件連接

PC機(jī)與FX系列PLC不能直接連接,要經(jīng)過(guò)FX-232AW單元進(jìn)行RS232C/RS-422的變換,下圖表示了它們之間的連接關(guān)系:

3.2FX系列PLC的通信協(xié)議

在PC機(jī)中必須依據(jù)互聯(lián)的PLC的通信協(xié)議來(lái)編寫通信程序,因此先介紹FX系列PLC的通信協(xié)議。

(1)數(shù)據(jù)格式

FX系列PLC采用異步格式,由1位起始位、7位數(shù)據(jù)位、1位偶校驗(yàn)位及1位停止位組成,波特率為9600bps,字符為ASCII碼。格式如下:

(2)通信命令

FX系列PLC有4個(gè)通信命令,它們是讀命令、寫命令、強(qiáng)制通命令、強(qiáng)制斷命令,如下表所示。表中X—輸入繼電器;Y—輸出繼電器;M—輔助繼電器;S—狀態(tài)元件;T—定時(shí)器;C—計(jì)數(shù)器;D—數(shù)據(jù)寄存器。

(3)通信控制字符

FX系列PLC采用面向字符的傳輸規(guī)程,用到5個(gè)通信控制字符,如下表所示。

*當(dāng)PLC對(duì)PC機(jī)發(fā)來(lái)的ENQ不理解時(shí),用NAK回答。

(4)報(bào)文格式

PC機(jī)向PLC發(fā)送的報(bào)文格式如下:

其中STX為開(kāi)始標(biāo)志:02H;ETX為結(jié)束標(biāo)志:03H;CMD為命令的ASCII碼;SUMH,SUML為從CMD到ETX按字節(jié)求累加和,溢出不計(jì)。由于每字節(jié)十六進(jìn)制數(shù)變?yōu)閮勺止?jié)ASCII代碼,故校驗(yàn)和為SUMH與SUML。

數(shù)據(jù)段格式與含義如下:

*寫命令的數(shù)據(jù)段有數(shù)據(jù),讀命令的數(shù)據(jù)段則無(wú)數(shù)據(jù)。

讀/寫字節(jié)數(shù)為01H~40H(1~64)個(gè)。

PLC向PC機(jī)發(fā)送的應(yīng)答報(bào)文格式如下:

*對(duì)讀命令的應(yīng)答報(bào)文數(shù)據(jù)段為要讀取的數(shù)據(jù),一個(gè)數(shù)據(jù)占兩個(gè)字節(jié),分上位下位:

對(duì)寫命令的應(yīng)答報(bào)文無(wú)數(shù)據(jù)段,而用ACK及NAK作為應(yīng)答內(nèi)容。

(5)傳輸過(guò)程

PC機(jī)與FX系列PLC之間采用應(yīng)答方式通信,傳輸出錯(cuò)則組織重發(fā)。其傳輸過(guò)程如下:

PLC根據(jù)PC機(jī)的命令,在每個(gè)循環(huán)掃描結(jié)束處的END語(yǔ)句后組織自動(dòng)應(yīng)答,無(wú)需用戶在PLC一方編寫程序。

利用VB6.0編寫通信程序

下面以一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明編寫通信程序的要點(diǎn)。假設(shè)PC機(jī)要求從PLC中讀入從D123開(kāi)始的4個(gè)字節(jié)的數(shù)據(jù)(D123,D124),其傳輸應(yīng)答過(guò)程及報(bào)文如下(圖略可向作者索取):

命令報(bào)文中10F6H為D123的地址,04H表示要讀入4個(gè)字節(jié)的數(shù)據(jù)。校驗(yàn)和SUM=30H+31H+30H+46H+36H+30H+34H+

03H=174H,溢出部分不計(jì),故SUMH為'7',SUML為‘4’,相應(yīng)的ASCII碼為“37H”,“34H”。應(yīng)答報(bào)文中4個(gè)字節(jié)的十六進(jìn)制數(shù),其相應(yīng)的ASCII碼為8?jìng)€(gè)字節(jié),故應(yīng)答報(bào)文長(zhǎng)度為12個(gè)字節(jié)。

根據(jù)PC機(jī)與FX系列PLC的傳輸應(yīng)答過(guò)程編制出如下所示的通信程序流程圖略。

利用VB的MSComm控件,按照流程圖可以編寫如下通信程序?qū)崿F(xiàn)PC機(jī)與FX系列PLC之間的串行通信以完成數(shù)據(jù)的讀取。MSComm控件可以采用輪詢或事件驅(qū)動(dòng)的方法從端口獲取數(shù)據(jù)。在這個(gè)例子中使用了輪詢方法。

(1)通信口初始化

PrivateSubInitialize()

MSComm1.CommPort

MSComm1.Settings ″9600,,,1″

MSComm1.InBufferSize 1024

MSComm1.OutBufferSize 1024

MSComm1.InputLen

MSComm1.InputMode comInputModeText

MSComm1.Handshaking comNone

MSComm1.PortOpen True

EndSub

(2)請(qǐng)求通信與確認(rèn)

PrivateFunctionMakeHandShaking()AsBoolean

DimInPackageAsString

MSComm1.OutBufferCount

MSComm1.InBufferCount

MSComm1.Output Chr(&H5)

Do

DoEvents

LoopUntilMSComm1.InBufferCount

InPackageMSComm1.Input

IfInPackageChr(&H6)Then

MakeHandShaking True

Else

MakeHandShaking FalseEndIf

EndFunction

(3)發(fā)送命令報(bào)文

PrivateSubSendFrame()

DimOutStringAsString

MSComm1.OutBufferCount

MSComm1.InBufferCount

OutStrinChr(&H2)+″0″+″10F604″+Chr(&H3)+″74″

MSComm1.Output OutString

EndSub

(4)讀取應(yīng)答報(bào)文

PrivateSubReceiveFrame()

DimInStringAsString

Do

DoEvents

LoopUntilMSComm1.InBufferCount12

InStringMSComm1.Input

EndSub

結(jié)束語(yǔ)

以本文所述機(jī)制編寫的通信程序已成功用于以FX2N型PLC作為主控制器的高層建筑玻璃幕墻清洗機(jī)器人系統(tǒng)中,通過(guò)該通信程序,實(shí)現(xiàn)了PC機(jī)對(duì)PLC的監(jiān)視和控制。同時(shí),本程序?qū)Γ校脵C(jī)與其它型號(hào)PLC之間的通信也有一定的借鑒意義。

參考文獻(xiàn)

[]FX2N可編程控制器編程手冊(cè)

[]FX-232AWRS422TORS232CINTERFACEUNIT

[]VisualBasic6從入門到精通,電子工業(yè)出版社

[]可編程控制器網(wǎng)絡(luò)通信及應(yīng)用,清華大學(xué)出版社

作者簡(jiǎn)介:李耿,男,1975年出生,現(xiàn)為北京航空航天大學(xué)機(jī)械工程學(xué)院碩士研究生,主要進(jìn)行高層建筑玻璃幕墻清洗機(jī)器人系統(tǒng)的研究與開(kāi)發(fā)。電話:010-82314554,E-mail:bjlg@sina.com

(100083 北京航空航天大學(xué)機(jī)器人研究所)李 宗光華

文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

主站蜘蛛池模板: 亚洲伊人网站 | 日韩专区中文字幕 | 青青草国产成人av片免费 | 成年人视频在线免费观看 | 日本一区二区三区免费播放 | 天堂网在线视频 | 日韩毛片在线看 | 成人午夜小视频 | 一区二区三区久久 | v天堂福利视频在线观看 | 欧美国产在线观看 | 亚洲精品久久久久久下一站 | 欧美成人精品一区二区三区 | 麻豆久久精品 | 91日韩| 国产高清a v | 中文字幕日韩一区二区 | 岛国视频在线观看 | 日韩免费一区 | 视频国产精品 | 欧美国产日韩一区二区 | 天堂蜜桃一区二区三区 | 久久福利网 | 亚洲精品久久久久久一区二区 | a级毛片免费高清视频 | 亚洲国产一区在线观看 | 日韩高清在线一区 | a级毛片免费全部播放 | 国产美女av | 精品综合久久久 | 91网站入口| 这里精品| 国产在线二区 | 国产日 | 色呦呦网址 | 2019国产精品视频 | 九九热一区二区 | 国产欧美一区二区三区在线看 | 中文在线资源天堂 | 午夜激情视频在线观看 | 久久aⅴ乱码一区二区三区 精品99久久久久久 99热视 |