我正在使用 OPC DA 自动化包装器连接到 AllenBradley PLC。
我现在需要在一个单词中设置一个位,独立于任何其他位。
有什么方法可以严格实现这个功能吗?
我尝试过的两个选项是:
在 OPC 服务器 (Kepware) 中将单词设置为单独的位。所以换句话说,我有 16 个标签,每个标签都有一点,标签名称看起来像:
[FULLTAGNAME].0
[FULLTAGNAME].1
[FULLTAGNAME].2
但是,这意味着我需要保留许多单独的 OPCItem 对象
另一种方法是读取整个字,使用 将其转换为位BitConverter
,更改我需要更改的位,然后将保留字写回 PLC。
然而,在测试过程中,我发现线程 1 可以读取这个词。然后线程 2 将写入字,更改位 2。然后线程 1 将更改位 4 并将整个字写回,而对位 2 的更改将被覆盖。
有谁知道我可以拥有一个 OPCItem 并写入特定位的方法?还是我坚持有很多与某个位相关的 OPCItems?
谢谢