我在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发布于 2012-11-22 20:03:46
我会检查CT021 manual的4-1到4-2-4节-确保您没有写入用于CT021单元配置数据的保留内存位置。
编辑:
1)查看上述手册的第26页,查看机器开关设置的位置。底部刻度盘设置‘1’的数字,顶部刻度盘设置‘10’的数字(即机器编号可以是0-99);
2)每页94,从D20000 + (N X 100) (400字)分配D-存储器,其中N等于机器编号。
我猜你的机器号码设置为0(即:两个拨盘都在'0‘处)、5或6。在机器号码为’0‘的情况下,这将使保留的DM范围为D20000 -> D20399。在这种情况下(参见第97、105页),D20000将包含Output Control Mode (00-07位)和Counter Output Patterns (08-15位)的配置数据。看起来您正在将0x6440写入D20000 (或分别针对机器编号5或6的D20500、D20600 ),并且正在损坏配置数据。
如果你的机器号是0,那就远离D20000-D20399,除非你直接尝试修改计数器的配置状态(即:不要在你的程序中使用它们!)
如果机器编号为1,则D20100-D20499等也是如此。如果您有多个计数器,则它们可以重叠范围,因此它们应始终设置为彼此相距4的机器编号。
https://stackoverflow.com/questions/13486189
复制相似问题