C#如何持续地监视外部信号?

Posted 已注销

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何持续地监视外部信号?相关的知识,希望对你有一定的参考价值。

我是做PLC开发的,主要是操纵硬件。举个例子来说,X轴马达往前走,遇到传感器SB1,就停下来。这个SB1就必须处于持续的监控状态,程序不能以周期的方式去读这个SB1的状态,否则,在上一个读取SB1的行为结束,下一个读取SB1的行为还没有到来的时候,SB1被触发了,而程序却不知道,则X轴马达就会冲过去,造成机器损坏。
PLC本身能持续地监控传感器,不需要额外编程,用户只要把SB1与X轴马达关联起来即可;SB1被触发了,X轴马达就会停机。
而C#上位机其实是监控PLC里的某个位的,比如M100.0。M100.0与SB1关联起来。SB1从1变成0,M100.0也会从1变成0;反之,SB1从0变成1,M100.0也会从0变成1。
因此,C#只要监视PLC里的M100.0即可,这种监视是持续的,只要M100.0一有变化,C#就能知道,并且做出响应。
请问,这种持续的监视怎么做?
Ps: 想过用While(true),感觉不大好[url]https://www.douban.com/doulis...[/url]
[url]https://m.douban.com/doulist/...[/url]
[url]https://book.douban.com/douli...[/url]
[url]https://movie.douban.com/doul...[/url]
[url]https://www.douban.com/doulis...[/url]
[url]https://m.douban.com/doulist/...[/url]
[url]https://book.douban.com/douli...[/url]
[url]https://movie.douban.com/doul...[/url]
[url]https://www.douban.com/doulis...[/url]
[url]https://m.douban.com/doulist/...[/url]
[url]https://book.douban.com/douli...[/url]
[url]https://movie.douban.com/doul...[/url]
[url]https://www.douban.com/doulis...[/url]
[url]https://m.douban.com/doulist/...[/url]
[url]https://book.douban.com/douli...[/url]
[url]https://movie.douban.com/doul...[/url]
[url]https://www.douban.com/doulis...[/url]
[url]https://m.douban.com/doulist/...[/url]
[url]https://book.douban.com/douli...[/url]
[url]https://movie.douban.com/doul...[/url]
[url]https://www.douban.com/doulis...[/url]
[url]https://m.douban.com/doulist/...[/url]
[url]https://book.douban.com/douli...[/url]
[url]https://movie.douban.com/doul...[/url]
[url]https://www.douban.com/doulis...[/url]
[url]https://m.douban.com/doulist/...[/url]
[url]https://book.douban.com/douli...[/url]
[url]https://movie.douban.com/doul...[/url]
[url]https://www.douban.com/doulis...[/url]
[url]https://m.douban.com/doulist/...[/url]

以上是关于C#如何持续地监视外部信号?的主要内容,如果未能解决你的问题,请参考以下文章

如何在WinForm应用程序中持续监视用户输入

UCMA 如何在遇忙信号和终止信号之前检测呼叫响铃持续时间并转移呼叫?

linux进程管道和重定向

如何让 C# WebSocketClient 持续监听消息

如何更快地对复杂的应用程序进行故障排除?

wind安装Jenkins+sonar+jdk