登录
首页 人机界面 人机界面
回帖 发帖
正文

主题:ENCO编码指令谁帮我理下思路

点击:1810 回复:5

  ENCO查了资料是这个意思:ENCO指令的输入字是一个16位二进制数,ENCO的功能是将这个二进制数从0位到15位依次检查每一位的值,一旦遇到某一位的值为“1”,就将该位的位号写入输出中。比如输入为1001 0100 0100 0000,那么输出为“6”(见图),因为从低位向高位逐个检查,在二进制数的第6位出现了“1”。
我好像理解了,我试着用PLC实际模拟,上例中是对的,然后试了IN中试入10#4(0100);10#7(0111);按上面意思,1出现在第2位和第0位,PLC中模拟出来OUT是10#2和10#0,我PLC中模拟出来是对的。但为什么IN中输入10#12(00010010),IN中输入10#100(000100000000),模拟出来两个结果都是2,为什么结果不是1和8呢,倒着数过来(00010010)和(000100000000)中的1不是出现在第1位和第8位吗。
最后修改:2019/9/18 23:39:54
19-09-18 23:35

引用 管杀不管填 在 2019/9/18 23:35:47 发言【内容省略】

为什么?
1.ENCO是人机界面指令,还是PLC指令?
2.PLC,谁家PLC
3.按文字描述,IN中输入10#12(00010010),是不是应该这样 10#12(00001100),IN中输入10#100(000100000000),是不是应该这样10#100(01100100
19-09-19 07:28
10#12(00001100)从右向左数  “1”出现在2位
10#100(01100100)从右向左数  “1”出现在2位
没毛病 你换算错误啦
19-09-19 10:48
谢谢指点
19-09-19 22:07
谢谢,换算错误了
19-09-19 22:07
三菱PLC的FX3U级以上有这指令,解码指令。简单的说就是源数据起始第一位bitON,操作数结果为1,第二位bitON,操作数结果为2,以此解码,源数据长度由关键字确定,长度=2的(关键字)次方。比如关检字是3,BIT长度就是连续的8位,特别注意的BIT位中始终要有一位有ON,要不然PLC会报错。看看这样说对你理解有帮助没?
19-09-19 22:46

工控新闻

更多新闻资讯