技術頻道

      PC機與PLC串行通信的實現(三菱FX) PLC論文

      SerialCommunicationbetweenPersonalComputerandPLC

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

      Li,Geng Zhong,Guanghua

      摘要:本文對FX系列PLC的通信協議進行了詳細的介紹,并以VB為開發工具實現了PC機與FX系列PLC的串行通信。

      關鍵詞:PLC ;串行通信;VB6.0

      Abstract;ThispaperintroducesthecommunicationprotocolofFXseriesPLCandachievesserialcommunicationbetweenPCandFXserialPLC.

      Keywords; PLC;SerialCommunication ;VB6.0

      前言

      PLC以卓越的可靠性和方便的可編程性廣泛應用于工業控制領域。實現PC機與PLC通信的目的是為了向用戶提供諸如工藝流程圖顯示、動態數據畫面顯示、報表顯示、窗口技術等多種功能,為PLC提供良好的人機界面。本文詳細介紹了FX系列PLC的通信協議,并在Windows環境下,使用VB6.0開發通信程序,實現了PC機與FX系列PLC之間的串行通信。

      PC機與PLC實現通信的條件

      帶異步通信適配器的PC機與PLC只有滿足如下條件,才能互聯通信:

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

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

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

      PC機及與FX系列PLC的串行通訊

      3.1硬件連接

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

      3.2FX系列PLC的通信協議

      在PC機中必須依據互聯的PLC的通信協議來編寫通信程序,因此先介紹FX系列PLC的通信協議。

      (1)數據格式

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

      (2)通信命令

      FX系列PLC有4個通信命令,它們是讀命令、寫命令、強制通命令、強制斷命令,如下表所示。表中X—輸入繼電器;Y—輸出繼電器;M—輔助繼電器;S—狀態元件;T—定時器;C—計數器;D—數據寄存器。

      (3)通信控制字符

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

      *當PLC對PC機發來的ENQ不理解時,用NAK回答。

      (4)報文格式

      PC機向PLC發送的報文格式如下:

      其中STX為開始標志:02H;ETX為結束標志:03H;CMD為命令的ASCII碼;SUMH,SUML為從CMD到ETX按字節求累加和,溢出不計。由于每字節十六進制數變為兩字節ASCII代碼,故校驗和為SUMH與SUML。

      數據段格式與含義如下:

      *寫命令的數據段有數據,讀命令的數據段則無數據。

      讀/寫字節數為01H~40H(1~64)個。

      PLC向PC機發送的應答報文格式如下:

      *對讀命令的應答報文數據段為要讀取的數據,一個數據占兩個字節,分上位下位:

      對寫命令的應答報文無數據段,而用ACK及NAK作為應答內容。

      (5)傳輸過程

      PC機與FX系列PLC之間采用應答方式通信,傳輸出錯則組織重發。其傳輸過程如下:

      PLC根據PC機的命令,在每個循環掃描結束處的END語句后組織自動應答,無需用戶在PLC一方編寫程序。

      利用VB6.0編寫通信程序

      下面以一個簡單的例子來說明編寫通信程序的要點。假設PC機要求從PLC中讀入從D123開始的4個字節的數據(D123,D124),其傳輸應答過程及報文如下(圖略可向作者索取):

      命令報文中10F6H為D123的地址,04H表示要讀入4個字節的數據。校驗和SUM=30H+31H+30H+46H+36H+30H+34H+

      03H=174H,溢出部分不計,故SUMH為'7',SUML為‘4’,相應的ASCII碼為“37H”,“34H”。應答報文中4個字節的十六進制數,其相應的ASCII碼為8個字節,故應答報文長度為12個字節。

      根據PC機與FX系列PLC的傳輸應答過程編制出如下所示的通信程序流程圖略。

      利用VB的MSComm控件,按照流程圖可以編寫如下通信程序實現PC機與FX系列PLC之間的串行通信以完成數據的讀取。MSComm控件可以采用輪詢或事件驅動的方法從端口獲取數據。在這個例子中使用了輪詢方法。

      (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)請求通信與確認

      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)發送命令報文

      PrivateSubSendFrame()

      DimOutStringAsString

      MSComm1.OutBufferCount

      MSComm1.InBufferCount

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

      MSComm1.Output OutString

      EndSub

      (4)讀取應答報文

      PrivateSubReceiveFrame()

      DimInStringAsString

      Do

      DoEvents

      LoopUntilMSComm1.InBufferCount12

      InStringMSComm1.Input

      EndSub

      結束語

      以本文所述機制編寫的通信程序已成功用于以FX2N型PLC作為主控制器的高層建筑玻璃幕墻清洗機器人系統中,通過該通信程序,實現了PC機對PLC的監視和控制。同時,本程序對PC機與其它型號PLC之間的通信也有一定的借鑒意義。

      參考文獻

      []FX2N可編程控制器編程手冊

      []FX-232AWRS422TORS232CINTERFACEUNIT

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

      []可編程控制器網絡通信及應用,清華大學出版社

      作者簡介:李耿,男,1975年出生,現為北京航空航天大學機械工程學院碩士研究生,主要進行高層建筑玻璃幕墻清洗機器人系統的研究與開發。電話:010-82314554,E-mail:bjlg@sina.com

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

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 国产成人精品一区二区三区无码| 国产综合精品一区二区三区| 一区二区日韩国产精品| 高清国产AV一区二区三区| 精品无人区一区二区三区在线| 亚洲免费视频一区二区三区| 亚欧成人中文字幕一区| 人妻内射一区二区在线视频| 性色av一区二区三区夜夜嗨 | 国产在线视频一区| 国产伦精品一区二区三区免费下载 | 奇米精品视频一区二区三区| 精品国产亚洲一区二区三区在线观看| 无码人妻精品一区二区在线视频| 国产一区二区精品久久凹凸| 国产精久久一区二区三区| 视频一区二区在线观看| 在线精品一区二区三区电影| 国产精品视频一区| 日韩三级一区二区| 国产一区二区三区日韩精品 | 免费日本一区二区| 中文字幕一区精品| 国产午夜三级一区二区三| www一区二区www免费| 在线视频一区二区三区三区不卡| 香蕉视频一区二区三区| 国产av成人一区二区三区| 亚洲第一区在线观看| 国产一区二区三区在线观看精品| 亚洲永久无码3D动漫一区| 无码人妻精品一区二区在线视频| 蜜臀AV一区二区| 色婷婷香蕉在线一区二区| 国产一区韩国女主播| 成人国产精品一区二区网站| 红桃AV一区二区三区在线无码AV | 国产丝袜无码一区二区三区视频| 人妻少妇精品一区二区三区| 亚洲午夜精品一区二区公牛电影院 | 综合无码一区二区三区四区五区|