登录
首页 PLC论坛 三菱Mitsubishi
回帖 发帖
正文

主题:FX2N 2AD 求助

点击:1298 回复:11

附件
这是FX2N 2AD手册上的程序,有点看不明白 ,第三行取的8位数据,第四行用的16位,这样的话,实际有效位应该就只有8位。那是如何实现12位,,0到4000的数值的啊?
12-05-03 08:19

引用 rubyzd 在 2012/5/3 8:19:14 发言【内容省略】

首先,您的理解存在误差。
让我们来看看FROM指令的含义:
附件
其中最后的参数K代表要读取的BFM的点数,而最后第二个保存参数则是保存的软元件地址。
因此,通过您的FROM指令,实际:
BFM#0读入到了K2M100中,虽然BFM#0是16位,但其保存在8位的存储中,其高8位自然丢弃。
BFM#1读取到了K2M108中,仍然高8位被丢弃。
再看看特殊功能手册对于2AD的BFM的定义:
附件
可以看到,在BFM#0的低8位,存储的是当前值的低8位数据,而在BFM#1中的低4位,存储的是当前值的高4位值。
那么BFM#0的低8位,已经存储在K2M100中,而BFM#1的低8位,已经存储在K2M108中,那么K2M100与K2M108合并,不就是写成K4M100中么,由于M108其地址本身就是比M100高,那么K2M108的低4位与K2M100合并后不就是自然形成了高4位,也就是9~11位的数值了么。
因此,MOV K4M100就是读取了当前值。
您产生理解上的误差源自于对于FROM的指令的理解不透,您错误的理解了保存位置,也就是K2M100的意义。
Good Luck~
12-05-03 09:04
BFM缓存你没有仔细看;
12-05-03 09:31
来此,可以学习到真的知识,以后有时间还要经常来学习!
12-05-03 10:35
学习表情
12-05-03 10:48
明白 了,非常非常感谢 啊
12-05-03 11:57
谢谢1楼的讲解,很到位哦
12-05-03 14:12
我也正在看AD资料,也是迷迷糊糊。。。
12-05-03 19:05
呵呵;对于FX系列特殊模块,用FROM/TO指令,如果搞不清楚,就按手册上的例子照抄好了;
12-05-04 08:31
有点明白了,谢谢1楼,做好也把TO 指令介绍一下
12-05-04 11:20

上一页下一页

工控新闻

更多新闻资讯