恭喜,你发布的帖子
发布于 2023-07-01 12:54:37
32楼
这个需求跟走什么协议没有半毛钱关系,变频器控制的说法也只是举个例子而已,有这种需求的地方多了去了。
比如某个仪表,走232C串口通信/或者485/TCP但是只允许一个连接的,程序有诺干(若干)个地方跟这个仪表需要通信,但是受限于通信连接只能同时一个通信。
那么怎么通信?要么手动轮询,要么智能一点自动去轮询!我要的是第二种,智能去轮询!那么只能(智能)轮询的时候,必然需要直到(知道)现在轮询的状态,所以这个状态,要么所有FB实例都可以读写,要么全局都可以读写。我想要的是仅仅在FB所有是实例,仅此而已!
比如某个仪表,走232C串口通信/或者485/TCP但是只允许一个连接的,程序有诺干(若干)个地方跟这个仪表需要通信,但是受限于通信连接只能同时一个通信
--------------------------------------------------------------------------------------------------------------
这句话的问题很多:
1)前提是只有一个仪表
2)程序中有多处通信需求与上述这一个仪表通信
3)只允许一个链接
4)涉及得通信是用户程序级别的异步通信
那么楼主想要的是什么呢?
程序跑到某段,需要这个特定仪表的某个参数参与计算或控制,就要发起一次通信去读或写这个参数。
这是什么?这是通信与逻辑耦合了,而我们编程是要做到通信与逻辑去耦合。通信与逻辑程序是异步执行的,完全可以把通信作为一种后台的服务,与逻辑程序之间就是数据的交互,而不是事件逻辑响应。
因此,楼主所谓的智能通信,我觉得其核心就是事件响应做通信,这是把通信与控制耦合了,以此类推。
请填写推广理由:
分享
只看
楼主