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

基于VC++的PC 機與PLC 串口通訊的實現

2010-04-24 07:25:56張瑞卿胡愛軍
制造技術與機床 2010年9期
關鍵詞:計算機信息

張瑞卿 胡愛軍 張 超

(華北電力大學機械工程系,河北 保定 071003)

隨著微電子及控制技術的不斷發展,PLC 已逐漸 成為一種智能型、綜合型控制器,由PLC構成的集散控制是現代工業控制的一個重要組成部分。PLC 具有使用簡單方便,故障率低,抗干擾能力強等優點;但同時,數據的計算處理與管理能力較弱,且無法提供良好的人機界面。將計算機與PLC 結合起來,可使兩者優勢互補,充分利用計算機友好的人機界面,實現人機對話和監控功能,并可進行一定的輔助決策,組成高性能價格比的控制系統。實現計算機與PLC 結合的控制系統的關鍵之一是二者之間的通信。

本設計選用三菱FX2N 系列的PLC,以Visual C++6.0 作為開發工具對PLC 通訊主程序進行設計,串口通訊采用ActiveX 控制Microsoft Communication Control 6.0,最后用PLC 編程電纜將PLC 編程口與計算機串口連接進行調試。

1 三菱PLC 與計算機之間通信協議

串行通信是指外設和計算機間使用一根數據信號線一位一位地傳輸數據,每一位數據都占據一個固定的時間長度。“串行”是指外設與接口電路之間的信息傳送方式,CPU 與接口之間仍按并行方式工作。串行通信的四個重要參數:波特率(衡量通信速度的參數)、奇偶校驗位(一種簡單的檢錯方式)、數據位(衡量通信中實際數據位的參數)和停止位(表示單個數據包的最后一位)[1]。

(1)三菱FX2N 系列通信數據幀格式

FX2N 系列的PLC 與計算機之間的通信采用RS-232C 標準,其傳輸速率一般設為9600 bps,實際傳輸過程還可設其它,比如115200 bps 等。奇偶校驗位采用偶校驗。數據以幀為單位發送和接收。一個多字符幀由起始字元、命令號碼、元件首地址、結束字元、和校驗五部分組成,其中和校驗值是將命令碼STX -ETX 之間的字符的ASCII 碼(十六進制數)相加,取得所得和的最低二位數。STX 和ETX 分別表示該字符幀的起始標志和結束標志[2]。

起始字元(STX):ASCII 碼的起始字元STX 對應的16 進制數位0 ×02。無論命令信息還是回應信息,它們的起始字元均為STX,接收方以此來判知傳輸資料的開始;

命令號碼:為兩位16 進制數。所謂命令號碼是指上位機要求下位機所執行的動作類別,例如要求讀取或寫入單點狀態、寫入或讀取暫存器資料、強制設定、運行、停止等。在回應信息中,下位機會將上位機接收到的命令號碼隨同其它信息一同發送給上位機;

元件首地址:對應要操作的元件的相應的地址。如從D123 單元中讀取數據時,要把它對應的地址:0x10F6 發送給PLC;

元件個數:一次讀取位元件或字元件的數量;

結束字元(ETX):ASCII 碼的結束字元ETX 對應的16 進制數為0 ×03。無論命令信息還是回應信息,它們的結束字元均為ETX,接收方以此來判知此次通訊已結束;

校驗碼(Checksum):校驗碼是將STX -ETX 之間的ASCII 字元的16 進制數值以"LRC(Longitudinal Redundancy Check)"法計算出1 個Byte 長度(兩個16 進制數值00 -FFH)的校驗碼。當下位機接收到信息后,用同樣的方法計算出接收信息的校驗碼,如果兩個校驗碼相同,則說明傳送正確[2]。

(2)三菱FX2N 系列通信命令

FX2N 系列PLC 有4 個通信命令,它們是讀命令(30H)、寫命令(31H)、強制通命令(37H)、強制斷命令(38H)。

(3)三菱FX2N 系列通信控制字符

ENQ(ASCII 代碼05H):計算機向PLC 發送請求;

ACK(ASCII 代碼06H):PLC 對ENQ 的確定回答;

NAK(ASCII 代碼15H):PLC 對ENQ 的否認回答;

STX(ASCII 代碼02H):報文開始;

ETX(ASCII 代碼02H):報文結束。

(4)FX2N 系列設備地址

①讀寫時的軟設備地址

S0 -S7:0000H;X0 -X7:0080H;Y0 -Y7:00A0H;T0 -T7:00C0H;M0 -M7:0100H;C0 -C7:01C0H;D0-D7:1000H

②置位/復位時的軟設備地址

S0 -S7:0000H;X0 -X7:0400H;Y0 -Y7:0500H;T0 -T7:0600H;M0 -M7:0800H;C0 -C7:0E00H;D0-D7:0100H

③傳輸過程

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

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

2 系統功能設計

系統主要實現PLC 與計算機的通訊,具體主要完成PC 機指令下傳、監測PLC 狀態、接收PLC 信息等功能。系統組成:小型PLC 一臺、RS232 串口、編程電纜、通訊界面。主操作界面在完成系統功能的前提下,力求明了直觀,操作簡單靈活方便。系統以VC++6.0 為平臺,設計的界面如圖2 所示。

本程序設計了四個串口可供選擇,只有在選擇串口之后才可進行“打開串口,關閉串口”的操作,當打開串口以后,就可以對PLC 進行相應的操作了,為了使界面整潔干凈,特別設計了“清空發送區”和“清空接收區”選項,當發送數據和接收數據放滿編輯框時只需點擊這兩個按鈕,數據就會清空。且實現代碼相當簡單,m-sSend.Empty()、m-sReceive.Empty()就可輕松實現這一任務。

PC 機與PLC 的通訊程序流程圖如圖3 所示。

系統通信控制程序采用了MSComm 控件。此控件提供了兩種通信方法:①文件驅動,即用MSComm控件的OnComm 文件捕獲并處理通信事件和錯誤,它是處理串行端口交互作用的一種非常有效的方法;②查詢方式,通過查詢串口屬性來獲得事件和錯誤,實質上還是屬于事件驅動,但在有些情況下顯得更為便捷。MSComm6.0 控件的屬性:①CommPort,設置或返回通信端口號;②Settings,以字符串的形式設置或返回波特率、奇偶校驗、數據位和停止位;③PortOpen,設置或返回通信端口的狀態,也可以打開和關閉端口;④Input,返回和刪除接收緩沖區中的字符;⑤InputMode,設置或返回Input 屬性取回的數據的類型,數據取回的形式為字符串或二進制數據的數組;⑥CommEvent 返回最近的通信事件或錯誤的數字代碼,通信程序設計時可以根據該屬性值執行不同的操作,在運行時為只寫;⑦Output,將字符串寫入發送緩沖區。

MSComm6.0 控件只有一個事件,即Oncomm 事件。在通信時如果發生錯誤或者事件,將會引發Oncomm 事件并且改變其屬性值,通過GetCommEvent()可獲得Oncomm 產生事件或錯誤的代碼。在與PLC進行通信的過程中,使用MSComm6.0 控件可以自動完成PLC 對計算機發送信息的接收,最終實現PC 機對PLC 的狀態檢測。

軟件實現過程:FX2N 系列的PLC 與計算機之間的通信采用RS-232C 標準,其傳輸速率固定為9600 bps,奇偶校驗位采用偶校驗。數據以幀為單位發送和接收。PC 機向PLC 中寫數據時首先需對串口進行初始化,并對波特率、校驗位等進行設置,然后根據通信協議對PLC 進行相應的讀寫、復位、置位等操作,PLC根據PC 機送來的控制字進行相應的操作。數據發送,采用專用發送指令XMT TABLE,CommPort,其中TABLE 為發送緩沖區的首地址,首地址中保存要發送的字節數,即數據長度,最大為255,其后的地址中保存要發送的數據,CommPort 指定用于發送的端口。對于數據接收,使用接收指令RCV TABLE,CommPort,接收指令激活初始化或結束接收信息,通過制定端口接收信息并存儲于數據緩沖區中,數據緩沖區的第一個數據指明了接收的字節數。

3 系統功能驗證

將計算機用通訊電纜與PLC 相連后,首先發送請求05H 以后,驗證計算機與PLC 是否可以正常通信,接收區顯示06,表示PLC 對ENQ 的確定回答,即PLC已準備好,可以進行下面的操作,具體如圖4 和圖5。

這里主要對PLC 讀值功能進行驗證。讀操作命令格式如下:

STX -CMD0 -數據段-ETX-SUMH-SUML

在按上述命令格式發送相應的代碼后,就可直接讀取PLC 響應的信息了。響應信息格式如下:

STX-DATA-ETX-SUMH-SUML

圖6 和圖7 分別是對PLC 進行讀值驗證時發送數據和接收數據的顯示。

其中接收數據顯示中的023030033633,是對X 軟地址值(0080H)讀取后接收到的數據。具體算法如下:

故,轉變成兩字節ASCII 代碼SUMLX=33;SUMHX=36。

理論分析和實際操作的結果是一致的,即證明了本設計是準確無誤的。

4 結語

本文主要使用Visual C++6.0 作為開發工具,通過編寫各個模塊對應的操作程序,最后用通訊電纜將PC 機與三菱PLC 相連進行調試,基本上達到了預期的設計目標,實現了計算機與PLC 的通信功能。

[1]張筠莉,劉書智.Visual C++實踐與提高——串口通信與工程應用篇[M].北京:中國鐵道出版社,2005.

[2]李現勇.Visual C++串口通信技術與工程實踐(第二版)[M].北京:人民郵電出版社,2004.

[3]賀哲榮,石帥軍.流行PLC 實用程序及設計[M].西安:西安電子科技大學出版社,2006.

[4]王力虎,李紅波.PC 控制及接口程序設計實例[M].北京:科學出版社,2004.

[5]王衛兵.PLC 系統通信、擴展與網絡互連技術[M].北京:機械工業出版社,2004.

猜你喜歡
計算機信息
計算機操作系統
穿裙子的“計算機”
趣味(數學)(2020年9期)2020-06-09 05:35:08
基于計算機自然語言處理的機器翻譯技術應用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
計算機多媒體技術應用初探
科技傳播(2019年22期)2020-01-14 03:06:30
信息系統審計中計算機審計的應用
消費導刊(2017年20期)2018-01-03 06:26:40
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
Fresnel衍射的計算機模擬演示
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 综合色在线| 亚洲国产天堂久久九九九| 成年人福利视频| 91免费在线看| 国产欧美自拍视频| 996免费视频国产在线播放| 久久精品日日躁夜夜躁欧美| 久久 午夜福利 张柏芝| 亚洲人人视频| 欧美性天天| 精品视频免费在线| 91麻豆精品国产91久久久久| 真实国产乱子伦视频| 全午夜免费一级毛片| 中美日韩在线网免费毛片视频| 伊人久久久大香线蕉综合直播| 免费又爽又刺激高潮网址 | 欧美色视频网站| 免费高清自慰一区二区三区| 成人精品视频一区二区在线| 精品国产美女福到在线不卡f| 亚洲精品无码AV电影在线播放| 国产三级国产精品国产普男人| 亚洲福利片无码最新在线播放 | 四虎永久在线| a级毛片在线免费观看| 成人福利在线视频| 亚洲天堂网在线播放| 91无码视频在线观看| 美女毛片在线| 亚洲综合二区| 亚洲国产综合第一精品小说| 久久久久青草线综合超碰| 国产91小视频| 欧美在线免费| 日本91视频| av一区二区三区高清久久| 青青草国产在线视频| 美女国产在线| 一级一级特黄女人精品毛片| 亚洲国产精品一区二区第一页免| 国产成人无码久久久久毛片| 欧美成人午夜视频| 亚卅精品无码久久毛片乌克兰| 一级一毛片a级毛片| 亚洲黄色片免费看| 国产一级毛片yw| 人人爽人人爽人人片| 91久久偷偷做嫩草影院电| 久久99久久无码毛片一区二区| 九九九久久国产精品| 亚洲最大情网站在线观看| 免费 国产 无码久久久| 久久毛片网| 国产成人综合久久精品尤物| 成年看免费观看视频拍拍| 精品无码国产一区二区三区AV| 欧洲亚洲一区| 天堂va亚洲va欧美va国产| 99尹人香蕉国产免费天天拍| 国产精品熟女亚洲AV麻豆| 在线播放真实国产乱子伦| 国产国产人在线成免费视频狼人色| 欧美国产日韩另类| 亚洲日本韩在线观看| 精品视频福利| 亚洲第一在线播放| 国产白浆一区二区三区视频在线| 美女裸体18禁网站| 一区二区三区国产| 国产一级做美女做受视频| 久久6免费视频| 亚洲国产成人无码AV在线影院L| 女人爽到高潮免费视频大全| 99这里只有精品6| 凹凸国产分类在线观看| 伊人激情综合网| 东京热一区二区三区无码视频| 婷婷亚洲天堂| 色综合久久88色综合天天提莫| 亚洲免费人成影院| 国产v欧美v日韩v综合精品|