1

我在 CJ1W-CT021 卡上收到此错误。它在运行程序一段时间后突然发生。我是通过 IO 表和单元设置找到它的。单击该卡的参数,发现两个设置为红色。

输出控制模式和/或计数器输出模式。这是在那里阅读

Output Control Mode = 0x40 No Applicable Set Data
And/Or Counter Output Patterns = 0x64 No Applicable Set Data

不知道这些应该如何或为什么会改变

 Output Control Mode = Range Mode
 And/Or Counter Output Patterns = Logically Or

我添加了一些新代码,但没有什么大的,甚至没有真正使用过,因为我已经跳出了新梯级的输出。我认为可能导致这种情况的一件事是程序的每个循环都在检查连接到此卡的编码器的值。也许检查它太频繁了?无论如何,如果有人知道这些做什么或它们将如何改变,请发布。谢谢格伦

编辑..我想添加我使用的位,不认为任何是这张卡内部 io 的一部分,但我可能错了?

Work bits 66.01 - 66.06 , 60.02 - 60.07 , 160.12, 160.01 - 160.04, 161.02, 161.03

Data Bits (D)20720, 20500, 20600, 20000, 20590, 20040
4

1 回答 1

2

我会检查CT021 手册的第 4-1 节到第 4-2-4 节- 确保您没有写入用于 CT021 单元配置数据的保留内存位置。

编辑:

1) 查看上述手册的第 26 页,查看机器开关设置的位置。底部拨盘设置'1'位,顶部拨盘设置'10'位(即机器号可以是0-99);

2) 每页 94,D-Memory 从D20000 + (N X 100)(400 Words) 分配,其中 N 等于机器编号。

我猜您的机器编号设置为 0(即:两个拨号都在“0”)、5 或 6。如果机器编号为“0”,这将使保留的 DM 范围D20000 -> D20399。在这种情况下(参见第 97、105 页)D20000将包含Output Control Mode(位 00-07)和Counter Output Patterns(位 08-15)的配置数据。看起来您正在写入0x6440D20000或机器号 5 或 6 的 D20500、D20600)并且正在破坏配置数据。

如果您的机器编号为 0,则远离,D20000-D20399除非您直接尝试修改计数器的配置状态(即:不要在程序中使用它们!)。

如果机器编号为 1,那么对于D20100-D20499等也是如此。如果您有多个计数器,它们可以重叠范围,因此它们应始终设置为彼此相隔 4 的机器编号。

于 2012-11-22T12:03:46.223 回答