91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用C#實現西門子PLC數據定時讀取保存

工控論壇 ? 來源:上位機Guide ? 2025-08-07 16:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

來源:上位機Guide,作者:上位機付工

前言

在平時開發(fā)中,我們時常會遇到需要后臺靜默運行的應用場景,這些程序不需要用戶的直接操作或界面展示,而是專注于定時任務的執(zhí)行。比如說,我們需要定期從西門子PLC(可編程邏輯控制器)中讀取數據并進行保存,以便后續(xù)分析使用。

可以使用Windows服務來實現在系統(tǒng)啟動時自動運行,無需登錄用戶干預,非常適合處理這種周期性的、對實時性有一定要求的任務。

本文將和大家分享如何使用C#創(chuàng)建一個這樣的Windows服務,它能夠定時地從西門子PLC中讀取數據,并將其安全地存儲起來。

Windows服務說明

Windows服務是一種特殊類型的應用程序,設計用來在系統(tǒng)啟動時自動運行,并且無需用戶登錄即可執(zhí)行任務。

它非常適合以下幾種場景:

執(zhí)行需要持續(xù)運行的任務,例如日志采集、網絡代理等。

進行系統(tǒng)的后臺維護工作,比如自動更新和性能監(jiān)控。

在無人值守的環(huán)境中執(zhí)行特定任務。

Windows服務具有以下幾個核心特性:

管理便捷:通過服務控制管理器(SCM)進行管理和配置。

獨立于用戶登錄狀態(tài):服務的運行不受用戶是否登錄的影響,確保了高可用性和穩(wěn)定性。

開機自啟:支持設置為系統(tǒng)啟動時自動運行,保證關鍵任務能夠及時執(zhí)行。

Windows服務創(chuàng)建

1、創(chuàng)建一個新項目,項目模板選擇Windows服務(.Net Framework):

cc78bd52-7205-11f0-a18e-92fbcf53809c.png

2、項目名稱為WindowsServiceDemo,項目創(chuàng)建完成后如下:

cc8a3ab4-7205-11f0-a18e-92fbcf53809c.png

3、修改服務名稱為SiemensPLCService:

cc9d0784-7205-11f0-a18e-92fbcf53809c.png

4、在設計界面的空白處,右擊彈窗中,選擇添加安裝程序:

ccaf7b76-7205-11f0-a18e-92fbcf53809c.png

5、點擊添加安裝程序之后,會自動添加一個ProjectInstaller界面,里面有兩個組件,分別是serviceProcessInstaller和serviceInstaller。

ccbf8674-7205-11f0-a18e-92fbcf53809c.png

6、選擇serviceInstaller,在右側的屬性進行設置,主要可以設置以下屬性:

ServiceName:服務名稱

Description:服務描述

StartType:啟動類型

ccce3246-7205-11f0-a18e-92fbcf53809c.png

7、接著選擇ProjectInstaller進行設置,主要設置Account,指示用來運行此服務的賬戶類型,可以設置為LocalSystem。

cce56d9e-7205-11f0-a18e-92fbcf53809c.png

8、設置完成之后,切換到SiemensPLCService這個類,點擊切換到代碼視圖,我們可以看到后臺有一些自動生成的代碼:

cd00d084-7205-11f0-a18e-92fbcf53809c.png

我們可以在OnStart和OnStop里寫一些代碼邏輯。

9、寫了一個簡單的邏輯,就是每次服務啟動或停止都會向指定的文件中寫入一串信息。

cd0edc2e-7205-11f0-a18e-92fbcf53809c.png

cd24932a-7205-11f0-a18e-92fbcf53809c.png

Windows服務安裝卸載

我們直接運行剛剛創(chuàng)建的服務,發(fā)現是無法運行的,提示如下:

cd3d1a9e-7205-11f0-a18e-92fbcf53809c.png

接下來,我們使用這個exe來進行安裝和卸載Windows服務。

1、首先,使用管理員權限打開cmd命令行,然后進入這個路徑下,便于直接操作InstallUtil。

cd C:WindowsMicrosoft.NETFrameworkv4.0.30319

d0498ea2-7205-11f0-a18e-92fbcf53809c.png

2、安裝服務命令:installutil exe絕對路徑;

installutil C:UsersAdministratorDesktopWindowsServiceDemoWindowsServiceDemoinDebugWindowsServiceDemo.exe

d05c3cfa-7205-11f0-a18e-92fbcf53809c.png

打開服務,可以看到TestService這個名稱的服務已經安裝完成,

d0714afa-7205-11f0-a18e-92fbcf53809c.png

3、安裝完成后,雙擊打開,可以啟動服務,也可以手動停止:

d08b5e9a-7205-11f0-a18e-92fbcf53809c.png

4、觀察D盤文件,可以看到PLC的數據每秒會存一次到指定文件中:

d097e25a-7205-11f0-a18e-92fbcf53809c.png

5、需要卸載服務時,可以執(zhí)行卸載服務命令:installutil exe絕對路徑 -u ;

installutil C:UsersAdministratorDesktopWindowsServiceDemoWindowsServiceDemoinDebugWindowsServiceDemo.exe -u

d0a54cce-7205-11f0-a18e-92fbcf53809c.png

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

    關注

    5051

    文章

    14587

    瀏覽量

    486795
  • 西門子
    +關注

    關注

    98

    文章

    3310

    瀏覽量

    120355
  • WINDOWS
    +關注

    關注

    4

    文章

    3702

    瀏覽量

    93994
  • 應用程序
    +關注

    關注

    38

    文章

    3344

    瀏覽量

    60243

原文標題:C# 實現PLC數據自動化定時采集與存儲(無需界面,自動化運行)

文章出處:【微信號:gkongbbs,微信公眾號:工控論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    西門子PLC案例

    西門子PLC案例,感興趣的小伙伴們可以看看。
    發(fā)表于 07-29 18:42 ?199次下載

    西門子plc數據類型_西門子plc通訊方式

    西門子PLC的品質非常好,其網絡穩(wěn)定性、開放性深受工控人員的喜愛,而且編程軟件分類多,使用方便。在國內工控界具有顯著地位。雖然大家對西門子PLC都有一定的了解,但要你說出
    發(fā)表于 07-25 10:57 ?1.6w次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>plc</b><b class='flag-5'>數據</b>類型_<b class='flag-5'>西門子</b><b class='flag-5'>plc</b>通訊方式

    讀取西門子PLC系統(tǒng)時間的程序資料概述

    本文檔的主要內容詳細介紹的是讀取西門子PLC系統(tǒng)時間的程序資料概述。
    發(fā)表于 07-20 16:35 ?23次下載
    <b class='flag-5'>讀取</b><b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>系統(tǒng)時間的程序資料概述

    西門子S7-200 PLC編程與應用(定時器與計數器)

    西門子S7-200 PLC編程與應用(定時器與計數器)說明。
    發(fā)表于 05-09 10:18 ?77次下載

    讀寫西門子PLC

    讀寫西門子PLC資料。
    發(fā)表于 05-10 09:33 ?40次下載

    廣州巨控grm530如何讀取西門子s7300數據

    西門子S7300通過巨控GRM530模塊實現數據網絡遠程傳輸,實現遠程手機APP監(jiān)控,網頁監(jiān)控,wincc組態(tài)異地監(jiān)控,PLC
    的頭像 發(fā)表于 08-04 08:41 ?2332次閱讀
    廣州巨控grm530如何<b class='flag-5'>讀取</b><b class='flag-5'>西門子</b>s7300<b class='flag-5'>數據</b>

    Linux系統(tǒng)實現西門子PLC數據采集

    今天跟大家分享一下,基于Linux系統(tǒng)實現西門子PLC數據采集。
    的頭像 發(fā)表于 02-22 16:27 ?3139次閱讀
    Linux系統(tǒng)<b class='flag-5'>實現</b><b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>的<b class='flag-5'>數據</b>采集

    C#西門子PLC使用Udp通信

    目錄 一、PLC程序工程創(chuàng)建 1、硬件配置 2、程序編程 3、添加監(jiān)控表 二、C#程序工程創(chuàng)建 1、界面UI 2、代碼編寫 (1)創(chuàng)建本地Udp (2)讀PLC的線程函數 (3)定時
    發(fā)表于 04-17 14:45 ?7次下載
    <b class='flag-5'>C#</b>和<b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>使用Udp通信

    C#使用西門子S7協(xié)議讀寫PLC DB塊

    教大家使用C#如何方便快速的讀寫西門子DB塊的值,實現上位機跟plc進行通訊的流程 使用的西門子PLC
    發(fā)表于 04-19 10:05 ?24次下載
    <b class='flag-5'>C#</b>使用<b class='flag-5'>西門子</b>S7協(xié)議讀寫<b class='flag-5'>PLC</b> DB塊

    C#西門子PLC通訊

    存儲數據,但是在Intel的X86架構的PC上,確是以小端模式。所以,在從PLC讀取一個INT類型的變量,需 要將讀取回來的字節(jié)數組高低字節(jié)調換,后面
    發(fā)表于 04-20 09:54 ?4次下載
    <b class='flag-5'>C#</b>與<b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>通訊

    C#西門子PLC上位機開發(fā)環(huán)境搭建

    一、安裝軟件 ? 1. TIA_Portal_STEP7 15 博途,西門子的自動化開發(fā)軟件 2. SIMATIC_S7PLCSIM_V15_1 西門子的仿真軟件 3.?NetToPLCsim C#
    發(fā)表于 05-08 10:07 ?3次下載
    <b class='flag-5'>C#</b><b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>上位機開發(fā)環(huán)境搭建

    基于TIA搭建西門子PLC仿真環(huán)境及通信方案

    隨著工控及上位機的廣泛應用,在學習過程中,很多時候,我們都需要軟件和硬件的結合。本方案主要用于解決在學習過程中PLC硬件的需求,以西門子PLC為例,詳細描述了基于TIA博途系列軟件實現
    的頭像 發(fā)表于 07-26 09:41 ?2368次閱讀
    基于TIA搭建<b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>仿真環(huán)境及通信方案

    西門子1200PLC之間的ModbusTCP通訊如何實現?

    西門子1200PLC通過以太網通訊與其它設備進行數據交互,西門子1200PLC可以和西門子系列
    發(fā)表于 07-30 14:49 ?1.4w次閱讀
    <b class='flag-5'>西門子</b>1200<b class='flag-5'>PLC</b>之間的ModbusTCP通訊如何<b class='flag-5'>實現</b>?

    西門子plc怎么讀取485模塊數據

    西門子PLC(Programmable Logic Controller)是一種可編程邏輯控制器,廣泛應用于工業(yè)自動化領域。在實際應用中,PLC經常需要與各種外部設備進行通信,以實現
    的頭像 發(fā)表于 06-16 09:13 ?6888次閱讀

    S7協(xié)議讀取西門子S7-200 Smart PLC數據

    西門子S7-200 Smart PLC因其穩(wěn)定性和易用性而廣泛應用。通過使用S7協(xié)議,可以實現PLC數據的高效
    的頭像 發(fā)表于 07-11 11:55 ?1.6w次閱讀
    S7協(xié)議<b class='flag-5'>讀取</b><b class='flag-5'>西門子</b>S7-200 Smart <b class='flag-5'>PLC</b><b class='flag-5'>數據</b>