登录
首页 PLC论坛 欧姆龙OMRON
回帖 发帖
正文

主题:各位达人知道这个程序怎么回事吗?

点击:809 回复:6

附件
如上图,其中前面程序已经进行过比较得出了标志位255.05大于,如果在这条件下再进行一次比较,当DM2134小于DM2410时,这个时候小于标志位255.07置1,但是同时是不是255.05会复位呢?如果复位了,那岂不是输出47.08永远不可能导通了?那么程序的意义何在?
声明:程序没有错啊,是设备本身运行程序,不可能有错的,只是小弟看不懂望大虾们指教一二.谢谢了!表情
11-05-13 13:24
扫描程序是由上到下,自左往右。
如果你将程序转换为指令表,应该看到TR寄存器,用于存储逻辑结果。
当判断N255.07时,是与TR进行与操作,而非与255.05进行比较。
11-05-13 13:30
附件
正如图中这个位置,这个位置系统需要向堆栈存放逻辑结果。也就是说,这个逻辑结果是N11.01与N255.07的与结果,然后等待CMPL的结果,在48.07这行,48.07输出的是TR这个位置与CMPL的结果小于的与操作。这里的操作与前面母线上的255已经没有关系了。
或许我的描述不能另你理解。
Regards
11-05-13 13:38
师傅您好,您的意思是说TR会存储 大于标志位和11.1的与结果,存储之后,与前面的大于标志255.05已经没有关系了,是吧?如果是这样的话,那么请问,TR寄存什么时候会改变呢,是不是任何情况下都存在TR,后面进行的CMP比较得出了小于,不会再次改变TR的结果吗?
11-05-13 14:18
其实我就是不明白,当进行第二次比较时,如果得出了小于的结果,那么先前大于标志位也会复位啊,这个时候TR0也会改变吧?从而影响48.07
11-05-13 14:45

引用 austin8868 在 2011/5/13 14:18:17 发言【内容省略】

附件
TR什么时候改变,准确的可以认为什么时候再次检查TR的值,那要在下个扫描周期才会再次检测TR的值,因为PLC的程序是由上到下,从左到右的进行检查。
11-05-13 14:49
谢谢cvlsam前辈的悉心指导,我明白了,以后希望经常交流,谢谢
11-05-13 16:53

工控新闻

更多新闻资讯