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

主题:[讨论]顽固的SMOV

点击:20525 回复:29

各位大侠今天俺和SMOV较量了一个多小时还是战它不下。程序指令如下(网吧上的网无法上传梯形图):
LD             X0
MOV          K200   D0
LD             X1
MOV          K100   D10
LD             X2
SMOV        D0      K2     K2     D10      K4
把上述程序执行后 D10竟然是:  0     不明白了.
1.K200传送到D0后该是在低八位,即:1100 1000     说明书(电子书140页)用该指令时是从低到高排的四位,我取K2即是从第二位取低两位传到D10的第四、三位(高两位)中, 那么在执行后D10怎么可能是0呢怪了。
后来把D0后的第一个K2改为K4,D10是200.
2. 再把D10后的K4改为K2后,执行后D10是102。(上述在执行时用的都是强制ON所以不存在多个扫描周出现错误)
呜呜,战它一个多小时不下,明天再战,现在来让各位大侠帮把把脉,指点一下迷津。。。。。先谢了呵 呵。
最后修改:2004-6-17 17:52:48
04-06-17 00:35
呵呵呵....你位數搞到0去
04-06-17 17:57
试试这个
附件
04-06-17 18:22

引用 老獅子 在 2004-6-17 17:57:00 发言【内容省略】

多谢狮王兄帮小弟整好条理。那时较晚了,想睡了所以没整好,不好意思呵呵,再谢过您老了。只是对您老的:“你位數搞到0去”不明白,是说我传送源的位数还是传到目的位数呢,但小弟在上面的位数并没有0呀,不明白,昨天又抽时间向它挑战,又是落败而归呵 呵。
04-06-18 12:37

引用 王美勋 在 2004-6-17 18:22:00 发言【内容省略】

多谢王兄,我回去试一下,您的是类抓外部拨码进行组合,是吧,呵 呵,小弟的是直接在D里进行位移传送,因为把K200执行MOV到D后也应是类您抓BIN一样,那小弟上面的功能也应可以呀。怪了。疑案。。。。。。再待调查。。。。。呵 呵。苦。。
04-06-18 12:42

引用 迷路者 在 2004-6-17 0:35:00 发言【内容省略】

怎么会是200?,102?不是你记错了吧?我这没有FX2N试不了。。。。。。
04-06-18 12:46

引用 lsllhd 在 2004-6-18 12:46:00 发言【内容省略】

谢您穷哥提醒呵呵,但确是如此,按说明书上的确不是这情况,也即应象王兄给出的那样执行后可以在D 里进行组合,但,但,但小弟战它N个小时后它却仍战旗不倒。苦。。呵呵
04-06-18 12:57
这个成不成
附件
04-06-18 13:47
我來為你引路啦.^--^
SMOV在執行指令是先把D0轉化為BCD碼,不是普通的二進制,即200不為11001000,而是0000 0010 0000 0000,100為0000 0001 0000 0000,執行SMOV D0 K2 K2 D10 K4,即把D0的低2位0000 0000送到D10的高2位,D10當然等於0, 改為SMOV D0 K4 K2 D10 K2,D10等於102.
我手上沒有FX2N不知道上面說法是否正確,請指教.
說錯不要罵我呀!
04-06-18 14:14
同意楼上意见
04-06-18 15:31

上一页下一页

工控新闻

更多新闻资讯