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

基于modbus通訊的上位監控軟件設計

2014-10-21 20:06:36吳昊罡
中國機械 2014年24期

吳昊罡

摘要:本文基于Modbus通訊協議,使用VB編寫上位軟件,與西門子CP341-RS422/485模塊進行通訊,對PLC中變量進行讀取,并存入SQLServer數據庫,實現對設備的實時監控。

關鍵詞:Modbus;VB; SQLServer;PLC

在現代工業中使用PLC設備進行分散化控制,上位機監控軟件提供圖形界面并對下位設備進行數據采集、管理,已經成為工業控制系統中普遍使用的監控形式。其中Modbus協議以標準、開放等優點廣泛應用于工業通訊當中,本文基于西門子的CP341模塊作為Modbus從站,使用Visual Basic語言進行編程,在上位計算機中采集、存儲PLC中狀態變量,實現對設備的實時監控。

1.Modbus協議

一個Modbus通訊數據幀由若干個字節組成,一般通信數據幀的格式包括:地址域、功能碼、數據域、錯誤校驗(16位CRC校驗)

地址域長度為1個字節,表示從站的地址。功能碼是數據幀中傳送的第二個字節,不同的功能碼對應數據域格式不盡相同,常用的功能碼有1、2、3、4、5、6、15和16,分別表示讀線圈、讀輸入狀態、讀保持寄存器、讀輸入寄存器、寫單個線圈、寫單個輸入狀態、寫多個線圈、寫多個保持寄存器[1]。數據幀最后兩個字節是CRC錯誤校驗域。

若需要讀取05從站以00 00為起始地址的兩個REAL型數據:3.4和8.9,則主站發送的報文:05 03 00 00 00 04 C5 8F,從站返回報文:05 03 08 40 59 99 9A 41 0E 66 66 D6 72。

2.西門子CP341的組態與編程

2.1西門子CP341組態

本文涉及與計算機通訊的從站為西門子S7-300PLC加裝CP341-RS422/485模塊。在安裝CP341之前需要插入硬件狗Dongle,安裝驅動軟件CP_PTP_PARAM和Modbus-Slave318,然后才能在Step7中對CP341進行組態。

設置模塊時必須與計算機確認設置的內容:從站地址、波特率、數據位停止位,校驗位。CP341模塊的參數應按確認后的內容進行配置,波特率通常設為9600即可。本文中通訊參數設置為9600, 8, 1, n,從站地址為5。

傳輸DINT、REAL數據時,應設置FC 03,06,16選項卡,并建立一個DB塊存儲待傳數據。本文中所需傳輸的變量數據類型為DINT、REAL。傳輸模式選擇Half-Duplex。配置完成后,向CP341下載Modbus Slave驅動。

2.2PLC編程

在Step7中打開 “zXX21_05_PtP_Com_MODSL”項目,將Modbus通訊程序OB100、FB7、FB8、FB80、DB80復制到Step7程序中。在程序中調用FB80,并將通訊數據塊名稱DB80和CP341起始地址填入。建立與計算機通訊用的FC塊并調用FB80,將通訊數據塊名稱DB80和CP341起始地址填入。其中FB80中的OB_MASK的值應始終為1,其余變量根據需要進行分配。

3.Visual Basic編程實現

為計算機安裝RS485通訊卡,添加各個數據顯示控件數組和MSComm控件。Modbus RTU模式的報文發送必須控制好字符間隔,1byte數據發送后延時應小于1.5倍字符時間,兩幀報文之間的間隔必須大于3.5倍字符時間間隔。一個字符時間是指按照用戶設定的波特率傳輸一個字節所需要的時間[2]。

軟件通過串口發送查詢數據幀,對PLC返回的數據分解、顯示,PLC返回的內容包括各開關狀態、元件狀態、運行速度、運行負荷等。從通訊內容來說,包括開關量、模擬量,其中開關量均打包為DINT型變量整體發送。

3.1串口通訊與數據處理

在界面中加載VB自帶的MSCOMM控件,在軟件啟動時,程序調用API函數自動從配置文件中讀取設置的控件屬性參數,在控件的CommEvent事件中編寫響應程序。

使用Timer控件按照要求的周期發送報文。主站發出的查詢報文為05 03 00 00 00 24 44 55(十六進制),通過MSComm.Output指令發送給從站。

取得從站返回給主站的數據幀后,從第4個字節開始,每4個字節為一個數據。數據幀中的DINT型變量按位進行分解,與相應的開關量對應顯示,浮點數轉換為小數并顯示在界面上。

3.2數據管理

為及時記錄設備運行狀態,分析設備使用情況,軟件將打包傳輸的數據存儲在SQLServer數據庫中,以備日后查詢,存儲數據的過程根據MSComm.CommEvent事件觸發。VB應用程序開發中,可以通過ADO對微軟所支持的數據庫進行操作。

在數據庫中建立存儲表,建立不少于傳輸內容的字段,分別存儲各開關量數據、模擬量數據。在VB中編寫讀寫數據庫的ADO語句對SQLServer進行操作。

Set Cnn = New ADODB.Connection

Cnn.Open strCnn

Cnn.Execute "INSERT INTO Database (iTime, …) VALUES (SQLtxt)"

需要讀取存儲信息時,可使用SQL查詢語句讀取相應字段進行數據轉換和位處理即可,本文不再贅述。4 結論

本文實現了在Modbus通訊的條件下,使用Visual Basic編程實現了在計算機上讀取PLC中少量數據,并存儲入SQLServer數據庫的功能。在只需要監控少量數據的情況下,可以不必在計算機上安裝其他專業的工業控制軟件就能夠滿足需求,只安裝相應的控件補丁和硬件驅動即可。本文所實現的功能降低了監控軟件對計算機性能的要求,也使得部署程序更加簡便。

參考文獻:

[1]白焰,鐘艷輝,秦宇飛.基于VC的Modbus協議通信測試軟件的實現[J].現代電力,2008 25(6):76-80

[2]佟為明,胡素君,劉勇, 李中偉.一種體現Modbus主要技術的實驗系統[J].電子器件,2009 32(4):833-839.

主站蜘蛛池模板: 黄色网站不卡无码| 欧美国产在线精品17p| 国产91在线|中文| 精品视频一区在线观看| 国产日韩丝袜一二三区| 91蜜芽尤物福利在线观看| 国产福利免费在线观看| 在线视频97| 日韩人妻精品一区| 热九九精品| 精品无码专区亚洲| 欧美性色综合网| 精品久久国产综合精麻豆| 亚洲第一成年人网站| 亚洲欧美精品一中文字幕| 日韩黄色在线| 亚洲欧美不卡| 亚洲最大情网站在线观看 | 无码aaa视频| 男女男精品视频| jijzzizz老师出水喷水喷出| 老司机午夜精品网站在线观看| 色婷婷国产精品视频| 日韩精品亚洲精品第一页| 亚洲永久免费网站| 久久精品丝袜高跟鞋| 东京热av无码电影一区二区| 中美日韩在线网免费毛片视频| 亚洲无限乱码| yy6080理论大片一级久久| 国产91小视频在线观看| 亚洲三级影院| 欧美午夜久久| 国产毛片高清一级国语 | 99九九成人免费视频精品| 中文字幕2区| 亚洲无码视频喷水| 日本免费a视频| 免费看a级毛片| 第一区免费在线观看| 日韩福利在线视频| 2020极品精品国产| 蜜桃臀无码内射一区二区三区 | 国产在线观看第二页| 国产第八页| 亚洲色成人www在线观看| 亚洲无码视频图片| 伊人大杳蕉中文无码| 欧美日本二区| 99精品一区二区免费视频| 国产精品蜜芽在线观看| 98精品全国免费观看视频| 女人天堂av免费| 中文字幕久久亚洲一区| 国产性猛交XXXX免费看| 国产91透明丝袜美腿在线| 国产精品成| 国产97视频在线观看| 国产亚洲视频免费播放| 国产欧美精品一区二区| 国产91麻豆视频| 久久精品国产国语对白| a毛片在线播放| 亚洲最黄视频| 亚洲天堂区| 亚洲无码四虎黄色网站| 国产黄色片在线看| 日韩精品免费一线在线观看| 2020极品精品国产| 亚洲 欧美 日韩综合一区| 成人午夜视频免费看欧美| 永久在线播放| 亚洲精品视频免费观看| 久草青青在线视频| 欧美国产视频| 毛片免费在线视频| 综1合AV在线播放| 午夜福利在线观看入口| 婷婷六月综合| 一区二区影院| 都市激情亚洲综合久久| AV网站中文|