“确定性”或实时,如.NET上的应用程序编程

问题描述 投票:-1回答:1

我已经开发了一个用于SCADA解决方案的.NET程序来控制重型机器,但是我遇到了与应用程序的时间管理相关的一些问题,我正在寻找一些明智的建议。

我使用Winforms计时器定期检查并记录与受控过程相关的一些变量的值。应用程序花了大约40小时打开而没有中断。在开始时,计时器完成它的工作,在5分钟的时间间隔内,它将值记录到数据库中。但是在40小时结束时,相同的计时器不会改变它的配置,每小时只调用一次。

所以我的问题基本上是“在C#开发的程序中,确保某些代码以固定的周期间隔运行的最佳方法是什么?”我不需要纯粹的实时解决方案,只需确保始终以固定的时间间隔调用函数。但是那些间隔并不是很关键,我们谈的是5分钟的长度。运行代码需要多长时间并不重要,但重要的是代码始终在相同的时间段内执行。

将应用程序作为服务而不是常规用户空间程序运行是更好的选择吗?在C ++中开发“时间关键”部分并通过套接字与C#代码进行通信是更好的选择吗?

c# timer real-time
1个回答
0
投票

一开始计时器完成它的工作,时间间隔为5分钟......

我真的不需要一个纯粹的实时解决方案......

Windows任务计划程序是为此而构建的。有了它,您可以简单地使用可选参数运行您选择的.exe。如果计划是静态的,那么通过COM API可以更好地在TS UI中设置计划,或者复杂。

当IT已经做到这一点时,要比另一个流程更容易倒计时要好得多。

© www.soinside.com 2019 - 2024. All rights reserved.