当前位置: 首页 > news >正文

集团公司网站推广方案怎么做十年网站建设

集团公司网站推广方案怎么做,十年网站建设,网站建设推广优化公司,微博推广效果怎么样C# 实现PLC数据自动化定时采集与存储(无需界面,自动化运行) 在平时开发中,我们时常会遇到需要后台静默运行的应用场景,这些程序不需要用户的直接操作或界面展示,而是专注于定时任务的执行。比如说&#xf…

C# 实现PLC数据自动化定时采集与存储(无需界面,自动化运行)

在平时开发中,我们时常会遇到需要后台静默运行的应用场景,这些程序不需要用户的直接操作或界面展示,而是专注于定时任务的执行。比如说,我们需要定期从西门子PLC(可编程逻辑控制器)中读取数据并进行保存,以便后续分析使用。

可以使用Windows服务来实现在系统启动时自动运行,无需登录用户干预,非常适合处理这种周期性的、对实时性有一定要求的任务。

本文将和大家分享如何使用C#创建一个这样的Windows服务,它能够定时地从西门子PLC中读取数据,并将其安全地存储起来。

Windows服务说明

Windows服务是一种特殊类型的应用程序,设计用来在系统启动时自动运行,并且无需用户登录即可执行任务。

它非常适合以下几种场景:

执行需要持续运行的任务,例如日志采集、网络代理等。

进行系统的后台维护工作,比如自动更新和性能监控。

在无人值守的环境中执行特定任务。

Windows服务具有以下几个核心特性:

管理便捷:通过服务控制管理器(SCM)进行管理和配置。

独立于用户登录状态:服务的运行不受用户是否登录的影响,确保了高可用性和稳定性。

开机自启:支持设置为系统启动时自动运行,保证关键任务能够及时执行。

Windows服务创建

1、创建一个新项目,项目模板选择Windows服务(.Net Framework):

2、项目名称为WindowsServiceDemo,项目创建完成后如下:

3、修改服务名称为SiemensPLCService:

4、在设计界面的空白处,右击弹窗中,选择添加安装程序:

5、点击添加安装程序之后,会自动添加一个ProjectInstaller界面,里面有两个组件,分别是serviceProcessInstaller和serviceInstaller。

6、选择serviceInstaller,在右侧的属性进行设置,主要可以设置以下属性:

  • ServiceName:服务名称
  • Description:服务描述
  • StartType:启动类型

7、接着选择ProjectInstaller进行设置,主要设置Account,指示用来运行此服务的账户类型,可以设置为LocalSystem。

8、设置完成之后,切换到SiemensPLCService这个类,点击切换到代码视图,我们可以看到后台有一些自动生成的代码:

我们可以在OnStart和OnStop里写一些代码逻辑。

9、写了一个简单的逻辑,就是每次服务启动或停止都会向指定的文件中写入一串信息。

Windows服务安装卸载

我们直接运行刚刚创建的服务,发现是无法运行的,提示如下:

接下来,我们使用这个exe来进行安装和卸载Windows服务。

1、首先,使用管理员权限打开cmd命令行,然后进入这个路径下,便于直接操作InstallUtil。

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

2、安装服务命令:installutil  exe绝对路径;

installutil C:\Users\Administrator\Desktop\WindowsServiceDemo\WindowsServiceDemo\bin\Debug\WindowsServiceDemo.exe

打开服务,可以看到TestService这个名称的服务已经安装完成,

3、安装完成后,双击打开,可以启动服务,也可以手动停止:

4、观察D盘文件,可以看到PLC的数据每秒会存一次到指定文件中:

5、需要卸载服务时,可以执行卸载服务命令:installutil  exe绝对路径 -u ;

installutil C:\Users\Administrator\Desktop\WindowsServiceDemo\WindowsServiceDemo\bin\Debug\WindowsServiceDemo.exe -u

http://www.dtcms.com/a/596637.html

相关文章:

  • 张祥前统一场论视角下的托卡马克Z箍缩不稳定性解读
  • 【每天一个AI小知识】:什么是MCP协议?
  • 在 kubernetes 上使用 SMB 协议做存储的「即插即用」方案
  • 软件测试大赛Web测试赛道工程化ai提示词大全
  • 智慧团建官方网站登录入口优秀的网站建设价格
  • 静海做网站公司十一月新闻大事件摘抄
  • GJOI 11.6 题解
  • Java Excel 导出:EasyExcel 使用详解
  • 【SOMEIP】【R24-11】【需求翻译】[RS_SOMEIP_00002]-[RS_SOMEIP_00004]
  • VMware无法将网络更改为桥接状态:没有未桥接的主机网络适配器
  • maven打包问题/ClassNotFoundException异常
  • 告别局域网限制!Windows快速部署Docsify技术文档站点,搭配cpolar内网穿透实现公网随时随地访问
  • Python每日一练---第十二天:验证回文串
  • 【Docker】Dockerfile自定义镜像
  • 1.3 Spring的入门程序
  • 网站内的链接怎么做修改wordpress 表格
  • 企业网站源码是什么网站内链怎么优化
  • FPGA-zynq PS与PL的交互(一)
  • 做电影网站需要施工企业会计核算及常用会计分录
  • CONFIG_TRACEPOINTS和CONFIG_FTRACE的作用
  • LeetCode 热题 100——哈希——字母异位词分组
  • MATLAB 计算两点直线方程(叉乘)
  • 系统分析师-信息安全-通信与网络安全技术系统访问控制技术
  • 25年11月软考架构真题《论无服务器架构(Serverless)》考后复盘总结
  • SMamba: 基于稀疏Mamba的事件相机目标检测
  • 怎么给自己制作一个网站php整站最新版本下载
  • 饰品网站模版哪种网站
  • 耐达讯自动化Profibus光纤模块:智能仪表的“生命线”,极端环境通信无忧!
  • C++入门(算法) - 习题
  • 校验热稳定,裸导体宜采用主保护动作时间加相应断路器开断时间。电气设备宜采用后备保护动作时间加相应断路器开断时间。