布尔减法

Boolean subtraction

我有一个PLC程序。
在程序中我得到了一个错误处理函数,它有 1 位输出。
如果(机器)有任何问题,输出为 TRUE.

我的问题是,有一些机器故障,我不想报告给中央系统监控 PLC,但我会显示在 OP 上。

所以...换句话说...

A + B + C + ... + T + U + V + a + b + c + d = X

其中:
- 所有大写字母都是未知来源的机器故障(超过200个故障位)
- 所有小写字母都是那些我不想报告的故障(4-5故障位)
- X 是函数输出(1 位)

我知道的:
- 函数输出 (X)
- 我不想报告的错误 (a, b, c, d)

我需要的:
- 未知来源的机器故障 (A + B + C + ... + T + U + V)
X - (a + b + c + d) = A + B + C + ... + T + U + V

如何从结果中减去这些变量?

在布尔代数中
OR 逻辑作为加法 +
AND 逻辑充当乘法 *
哪个逻辑作为减法?或 我如何 得到 A + B + C + ... + T + U + V?

如果我没理解错的话,那么你想要的一般是不可能的。

逻辑或会丢弃源信息。仅当它 returns 0 时,您才拥有有关其所有输入的完整信息:它们必须全部为 0。一旦它 returns 1,那么就没有办法重建各个输入,除非它们不是全部 0.

我将展示可能的情况,使用几种情况 + 你可以从中得出的结论:

  • X == 0 --> 所有 (A​​..V) 和 (a.. d) 是 0.
  • X == 1 和所有 (a..d) 都是 0 --> (A​​..V) 是 1.
  • X == 1 并且 (a..d) 中至少有 1 个是 1 --> 没什么可说的(A​​..V) 的值。它们可以都是 0,或者都是 1,或者两者之间的任意组合。