精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C#上位機(jī)是為了取代組態(tài)軟件?

汽車電子技術(shù) ? 來源: dotNet工控上位機(jī) ? 作者: 新閣教育付工 ? 2023-02-22 15:47 ? 次閱讀

前言

大家好!我是付工。

經(jīng)常有人會問我,C#上位機(jī)是不是就是為了取代組態(tài)軟件?組態(tài)軟件是不是就沒用了?

今天跟大家聊聊,上位機(jī)與組態(tài)軟件之間的那些事兒。

應(yīng)用

首先我認(rèn)為,C#上位機(jī)并不是為了取代組態(tài)軟件,而是對組態(tài)軟件的補(bǔ)充,C#上位機(jī)與組態(tài)軟件有各自應(yīng)用的場合。

如果你懂組態(tài),不會C#編程,愿意購買組態(tài)授權(quán),項目沒有特殊的需求,比如自定義協(xié)議、復(fù)雜業(yè)務(wù)、對接第三方系統(tǒng)等,組態(tài)軟件從功能和界面上能夠滿足需求,那么,組態(tài)軟件無疑是適合的。

如果你可以獨立開發(fā)上位機(jī),不愿意購買組態(tài)軟件,那么你肯定會選擇自主開發(fā)上位機(jī)。

技術(shù)本質(zhì)上沒有好壞之分,技術(shù)是為了服務(wù)于項目,結(jié)合自身情況,結(jié)合不同場合選擇合理的技術(shù)方案,才是技術(shù)人的意義所在。

那么,有沒有一種場合,可以將C#上位機(jī)與組態(tài)軟件聯(lián)合起來使用呢?下面就以西門子的WinCC為例,談?wù)勆衔粰C(jī)如何聯(lián)合組態(tài)軟件實現(xiàn)通信

我打算從兩個方面來說明,一種是上位機(jī)通過WinCC來獲取數(shù)據(jù),另一種是上位機(jī)如何彌補(bǔ)WinCC的一些功能不足。

上位機(jī)讀取WinCC

我們首先看下上位機(jī)如何通過WinCC來獲取到數(shù)據(jù),有這么幾種方案,可以參考一下:

前提是WinCC項目已經(jīng)開發(fā)好,并且處于運(yùn)行狀態(tài),運(yùn)行WinCC畫面,這里連接了一個S7-1500的PLC,如下圖所示:

圖片

第一種方案:通過WinCC的運(yùn)行時庫

WinCC安裝目錄中有兩個dll,分別是CCHMIRuntime.dll和CCHMITags.dll,位置默認(rèn)處于C:\\Program Files (x86)\\Common Files\\Siemens\\Bin,將這兩個dll復(fù)制到debug根目錄下并手動添加引用,然后創(chuàng)建通信對象。

CCHMIRUNTIME.HMIRuntime hmi = new CCHMIRUNTIME.HMIRuntime();

通過調(diào)用讀取方法即可實現(xiàn)讀取。

hmi.Tags["data1"].Read()

圖片

第二種方案:通過WinCC的OPC服務(wù)器

WinCC從V7.2版本開始支持OPC服務(wù)器,可以支持OPCDA和OPCUA,我們直接通過一個OPC客戶端來連接測試一下:

圖片

第三種方案:通過WinCC的數(shù)據(jù)庫

WinCC的數(shù)據(jù)庫使用的是SQLServer,WinCC變量歸檔數(shù)據(jù)是以壓縮的形式存儲在數(shù)據(jù)庫中的,第三方開發(fā)的應(yīng)用程序可以通過WinCC提供的OLE-DB接口解壓并訪問這些數(shù)據(jù)。

上位機(jī)嵌入WinCC

我們再看看上位機(jī)如何彌補(bǔ)WinCC的一些功能不足,比如自定義協(xié)議或WinCC不支持的一些協(xié)議,WinCC從7.0版本開始支持.NET自定義控件,所以我們可以將一些業(yè)務(wù)和通信封裝在自定義控件中,然后嵌入到WinCC中來實現(xiàn)一些WinCC實現(xiàn)不了的功能。

這里以ModbusRTU協(xié)議為例,其他自定義協(xié)議類似,我們都知道,WinCC是不能直接支持ModbusRTU通信的。

這里我做了一個測試,開發(fā)了一個自定義控件,里面集成了串口連接及ModbusRTU通信協(xié)議讀取溫濕度,僅為測試使用,因此功能做的很簡單:

圖片

我將這個控件集成到WinCC中,和一個單片機(jī)連接,成功讀取到了溫濕度數(shù)據(jù)。

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 應(yīng)用
    +關(guān)注

    關(guān)注

    2

    文章

    437

    瀏覽量

    34052
  • 組態(tài)軟件
    +關(guān)注

    關(guān)注

    4

    文章

    230

    瀏覽量

    26960
  • 上位機(jī)
    +關(guān)注

    關(guān)注

    27

    文章

    927

    瀏覽量

    54518
收藏 人收藏

    評論

    相關(guān)推薦

    怎么用C#編寫上位機(jī)

    我是個新手小白,剛剛過來學(xué)習(xí),老師希望我用C#編寫上位機(jī),請問我該怎么去做
    發(fā)表于 01-20 22:11

    基于SIM800的GPRS通信實現(xiàn) C#上位機(jī)服務(wù)器接收

    調(diào)試助手沒有這個功能,因此編寫了C#上位機(jī)軟件上位機(jī)軟件
    發(fā)表于 11-24 22:28

    C#上位機(jī)顯示不完全

    我用原子的板子和C#上位機(jī)通訊。上位機(jī)顯示不完全。但是用網(wǎng)絡(luò)助手通訊的話,顯示是完全的。所以應(yīng)該是我C#
    發(fā)表于 04-02 23:26

    c#/winform c#/wpf c++/QT上位機(jī)

    c#/winform c#/wpf c++/QT上位機(jī),本人從事上位
    發(fā)表于 09-21 21:20

    C#上位機(jī)實戰(zhàn)開發(fā)指南

    C#上位機(jī)實戰(zhàn)開發(fā)指南
    發(fā)表于 11-22 19:25 ?0次下載

    PLC和上位機(jī)組態(tài)軟件通訊方式

    PLC和上位機(jī)組態(tài)軟件不在同一個地方,那PLC如何遠(yuǎn)程和上位機(jī)通訊呢。現(xiàn)在物聯(lián)網(wǎng)技術(shù)快速發(fā)展,PLC通過互聯(lián)網(wǎng)就能實現(xiàn)和
    的頭像 發(fā)表于 06-27 08:05 ?1.1w次閱讀
    PLC和<b class='flag-5'>上位</b>機(jī)<b class='flag-5'>組態(tài)</b><b class='flag-5'>軟件</b>通訊方式

    C#|上位機(jī)開發(fā)新手指南(一)概述

    C#是一種功能強(qiáng)大的編程語言,用于開發(fā)Microsoft Windows平臺上的應(yīng)用程序。在工業(yè)控制、自動化、智能化等領(lǐng)域,使用C#開發(fā)上位機(jī)已經(jīng)成為一種常見 的做法。如果你對于如何學(xué)
    發(fā)表于 05-08 10:24 ?10次下載
    <b class='flag-5'>C#</b>|<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>開發(fā)新手指南(一)概述

    C#|上位機(jī)開發(fā)新手指南(三)框架

    上位機(jī)開發(fā)中,Windows Forms是使用最廣泛的C#框架之一。Windows Forms是.NET Framework中的一個GUI框架,提供了豐富的GUI控件和易于使用的編程 模型,可以
    發(fā)表于 05-08 10:27 ?3次下載
    <b class='flag-5'>C#</b>|<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>開發(fā)新手指南(三)框架

    C#編寫簡易的上位機(jī)

    標(biāo)題C#編寫簡易的上位機(jī) 代碼如下:
    發(fā)表于 05-08 09:42 ?7次下載
    <b class='flag-5'>C#</b>編寫簡易的<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>

    自己做一個C#串口上位機(jī)

    最近想發(fā)一個之前自己做的一個簡單的串口上位機(jī),當(dāng)然,工作時寫的要比這個復(fù)雜了。除了C#可以寫上位機(jī),我同事也有用QT的,具體的哪個好不 做
    發(fā)表于 05-09 14:24 ?7次下載
    自己做一個<b class='flag-5'>C#</b>串口<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>

    C#上位機(jī)開發(fā)常遇問題

    C#上位機(jī)開發(fā)常遇問題C#引用C++ 動態(tài)庫/靜態(tài)庫 靜態(tài)庫 動態(tài)庫 unsafe和fixed關(guān)鍵字的應(yīng)用 unsafe fixed Pat
    發(fā)表于 05-09 11:21 ?0次下載
    <b class='flag-5'>C#</b><b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>開發(fā)常遇問題

    C#上位機(jī)之新建工程

    由于課程需要使用C#語言開發(fā)一個上位機(jī)。主要功能有可用通過串口讀取下位機(jī)的數(shù)據(jù),并將其傳入數(shù)據(jù)庫內(nèi)。 首先,需要建立一個C#的工程。我是用的
    發(fā)表于 05-29 16:58 ?1次下載
    <b class='flag-5'>C#</b><b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>之新建工程

    項目實戰(zhàn):C#上位機(jī)+arduino下位機(jī)+控制點亮LED燈

    上位機(jī)C#上位機(jī)通過串口發(fā)送接收控制協(xié)議,來控制下位機(jī); 下位
    發(fā)表于 05-18 10:51 ?8次下載
    項目實戰(zhàn):<b class='flag-5'>C#</b><b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>+arduino下位<b class='flag-5'>機(jī)</b>+控制點亮LED燈

    聊聊上位機(jī)組態(tài)軟件之間的那些事兒

    首先我認(rèn)為,C#上位機(jī)并不是為了取代組態(tài)軟件,而是對
    的頭像 發(fā)表于 06-02 17:46 ?2556次閱讀
    聊聊<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>與<b class='flag-5'>組態(tài)</b><b class='flag-5'>軟件</b>之間的那些事兒

    上位機(jī)組態(tài)軟件有哪些類型

    上位機(jī)組態(tài)軟件(也稱為SCADA系統(tǒng),即監(jiān)控控制與數(shù)據(jù)采集系統(tǒng))是一種用于實時監(jiān)控和控制工業(yè)過程的計算機(jī)系統(tǒng)。這類軟件廣泛應(yīng)用于石油、化工、電力、水處理、交通等領(lǐng)域。
    的頭像 發(fā)表于 06-06 10:12 ?569次閱讀