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.

主站蜘蛛池模板: 美女被躁出白浆视频播放| 岛国精品一区免费视频在线观看| 秋霞午夜国产精品成人片| 中文毛片无遮挡播放免费| 亚洲乱码在线播放| 精品久久久久无码| 国内精自视频品线一二区| 亚洲国产成人麻豆精品| 欧美一级在线播放| 久久人人妻人人爽人人卡片av| 97国产精品视频自在拍| 欧美激情视频一区二区三区免费| 无码精品国产VA在线观看DVD| 婷婷六月在线| 99尹人香蕉国产免费天天拍| 亚洲成网777777国产精品| 欧美日本在线一区二区三区| 白浆视频在线观看| a色毛片免费视频| 麻豆精品久久久久久久99蜜桃| 亚洲第七页| 伊大人香蕉久久网欧美| 国产精品污视频| 国内精自线i品一区202| 国产美女无遮挡免费视频| 国产乱子伦一区二区=| 人人艹人人爽| 国产丝袜无码精品| 伊人精品视频免费在线| 一本大道东京热无码av| 国产黄色片在线看| 久草性视频| 亚洲综合经典在线一区二区| 免费无码AV片在线观看中文| 亚洲一区网站| 久久国产亚洲欧美日韩精品| 日本人妻丰满熟妇区| 国产91视频免费| 精品亚洲国产成人AV| 亚洲av无码人妻| 日韩无码精品人妻| 国产在线高清一级毛片| 99国产精品国产| 天天色天天操综合网| 欧美一级在线播放| a级毛片一区二区免费视频| 91色综合综合热五月激情| 亚洲国产中文在线二区三区免| 亚洲成人77777| 欧美日韩中文国产| 一本综合久久| 99国产在线视频| 欧美丝袜高跟鞋一区二区| 亚洲欧美在线综合一区二区三区| 精品国产福利在线| 欧美精品另类| 亚洲成人精品| 亚洲天堂日韩av电影| 麻豆AV网站免费进入| 欧美精品一二三区| 欧美日韩专区| 国产一区二区丝袜高跟鞋| 91香蕉国产亚洲一二三区| 欧美日本激情| a级毛片免费网站| 亚洲免费成人网| 欧美一级大片在线观看| 沈阳少妇高潮在线| 亚洲一级毛片免费看| 在线色综合| 欧美乱妇高清无乱码免费| 国产女同自拍视频| 99这里只有精品免费视频| 欧美在线中文字幕| 玩两个丰满老熟女久久网| 57pao国产成视频免费播放| 色婷婷成人| 毛片在线看网站| 美女潮喷出白浆在线观看视频| 精品人妻一区二区三区蜜桃AⅤ | 免费观看三级毛片| 国内嫩模私拍精品视频|