lms870601
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 38 個
工控威望: 112 點
下載積分: 843 分
在線時間: 17(小時)
注冊時間: 2011-04-04
最后登錄: 2024-08-19
查看lms870601的 主題 / 回貼
樓主  發(fā)表于: 2012-01-06 11:18
如圖所示程序


通過數(shù)據(jù)交換指令交換之后的D10應(yīng)該是3112,為什么會是-12540呢?問題出在哪里?還有就是M8160執(zhí)行XCH指令時,標志位信號M160應(yīng)該是ON,可實際上M8160一直都是OFF
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員

精華主題: 3 篇
發(fā)帖數(shù)量: 6760 個
工控威望: 38361 點
下載積分: 973 分
在線時間: 9473(小時)
注冊時間: 2006-09-13
最后登錄: 2024-09-22
查看cvlsam的 主題 / 回貼
1樓  發(fā)表于: 2012-01-06 11:44
您錯誤的理解了K1231在寄存器中的存儲方式了。

K1231在寄存器中的存儲方式為  0000 0100 1100 1111,因此通過交換高低位 ,形成的結(jié)果為 1100 1111 0000 0100
,而結(jié)果的二進制轉(zhuǎn)換為10進制則為-12540.

如果要得到3112值,您需要為D10寫入16進制,即H1231.
樓主留言:
有一個疑問,在4樓,麻煩解釋一下,謝謝
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員

精華主題: 3 篇
發(fā)帖數(shù)量: 6760 個
工控威望: 38361 點
下載積分: 973 分
在線時間: 9473(小時)
注冊時間: 2006-09-13
最后登錄: 2024-09-22
查看cvlsam的 主題 / 回貼
2樓  發(fā)表于: 2012-01-06 12:07
至于標志位M8160的問題,實際上M8160在第一行被置位了,M8000作為常閉觸點,編程者使用了一個小技巧,巧妙的利用了雙線圈,使得M8160產(chǎn)生了一個脈沖,其目的只是為了當(dāng)前的XCH指令。

即使你不使用ANI M8000那行,也不會影響程序的正確性。
樓主留言:
我仔細看了時序圖,并沒有發(fā)現(xiàn)M8160有ON過,麻煩解釋一下,謝謝
本帖最近評分記錄:
  • 下載積分:+5(銘杰工控) 熱心助人
    銘杰工控
    溫嶺市正凱自動化設(shè)備有限公司
    級別: 網(wǎng)絡(luò)英雄

    精華主題: 0
    發(fā)帖數(shù)量: 1977 個
    工控威望: 6488 點
    下載積分: 966 分
    在線時間: 1079(小時)
    注冊時間: 2009-01-13
    最后登錄: 2024-09-20
    查看銘杰工控的 主題 / 回貼
    3樓  發(fā)表于: 2012-01-06 12:51
    路過進來學(xué)習(xí)一下。有收獲謝謝C兄!
    溫嶺市正凱自動化設(shè)備有限公司  15057679726
    全自動換箱機 催化劑再生、處置智能裝備 MES軟件 WCS軟件 注塑工廠整體智能化解決方案    重載桁架機械手
    lms870601
    級別: 探索解密
    精華主題: 0
    發(fā)帖數(shù)量: 38 個
    工控威望: 112 點
    下載積分: 843 分
    在線時間: 17(小時)
    注冊時間: 2011-04-04
    最后登錄: 2024-08-19
    查看lms870601的 主題 / 回貼
    4樓  發(fā)表于: 2012-01-06 13:16
    看了另一個程序,迷惑了


    在這個程序中存入的數(shù)都是10進制數(shù),可是結(jié)果如圖中所示,D中的數(shù)沒有轉(zhuǎn)換成二進制就直接傳送了。這兩個指令交換或者傳送內(nèi)部的區(qū)別在哪
    cvlsam
    富士低壓,POD(觸摸屏),PLC專賣
    級別: VIP會員

    精華主題: 3 篇
    發(fā)帖數(shù)量: 6760 個
    工控威望: 38361 點
    下載積分: 973 分
    在線時間: 9473(小時)
    注冊時間: 2006-09-13
    最后登錄: 2024-09-22
    查看cvlsam的 主題 / 回貼
    5樓  發(fā)表于: 2012-01-06 13:41
    你需要如圖一樣添加一點程序,然后你會發(fā)現(xiàn)D0被累加,從而證明M8160被ON過。

    否則,如此短暫的數(shù)條指令間隔,你的軟件是捕捉不到如此短暫的脈沖的。

    cvlsam
    富士低壓,POD(觸摸屏),PLC專賣
    級別: VIP會員

    精華主題: 3 篇
    發(fā)帖數(shù)量: 6760 個
    工控威望: 38361 點
    下載積分: 973 分
    在線時間: 9473(小時)
    注冊時間: 2006-09-13
    最后登錄: 2024-09-22
    查看cvlsam的 主題 / 回貼
    6樓  發(fā)表于: 2012-01-06 13:56
    引用
    引用第4樓lms870601于2012-01-06 13:16發(fā)表的  :
    看了另一個程序,迷惑了
    [attachment=77281]
    在這個程序中存入的數(shù)都是10進制數(shù),可是結(jié)果如圖中所示,D中的數(shù)沒有轉(zhuǎn)換成二進制就直接傳送了。這兩個指令交換或者傳送內(nèi)部的區(qū)別在哪


    SMOV指令分為3步執(zhí)行:
    1、將源數(shù)據(jù)中,這里是D5中的數(shù)據(jù)轉(zhuǎn)換為BCD碼,K1234轉(zhuǎn)換后就是1234,什么叫BCD碼你應(yīng)該知道,說白了,就是16進制數(shù)表示10進制。

    所以這一步就是K1234轉(zhuǎn)換為H1234.

    2、進行移動,D5中M1的位置,這里就是K4,也就是H1234中的1,移動位數(shù)M2,這里是K2,也就是說移動H1234中的1和2,到目標,這里是D10的N位開始,這里是K3,也就是說,將1,2移動到D10的第三位 ,請注意,這里都是BCD碼的操作,D10的數(shù)據(jù)是H5678,其第3位就是6,將1,2移動過來,就變成了H5128

    3、D10數(shù)據(jù)被轉(zhuǎn)換為二進制,因此,D10中的H5128變成了K5128.

    與前面不同的是,SMOV線纜可以控制位數(shù),XCH不可以。如果僅從高低字節(jié)的交換來看:
    SMOV指令相當(dāng)于:
    BCD指令+XCH指令+BIN指令。

    Good Luck~
    樓主留言:
    很詳細,非常感謝,這下全明白了
    銘杰工控
    溫嶺市正凱自動化設(shè)備有限公司
    級別: 網(wǎng)絡(luò)英雄

    精華主題: 0
    發(fā)帖數(shù)量: 1977 個
    工控威望: 6488 點
    下載積分: 966 分
    在線時間: 1079(小時)
    注冊時間: 2009-01-13
    最后登錄: 2024-09-20
    查看銘杰工控的 主題 / 回貼
    7樓  發(fā)表于: 2012-01-06 14:14
    千載難逢的學(xué)習(xí)機會,又受教了。
    溫嶺市正凱自動化設(shè)備有限公司  15057679726
    全自動換箱機 催化劑再生、處置智能裝備 MES軟件 WCS軟件 注塑工廠整體智能化解決方案    重載桁架機械手
    陳大圍
    工控新人,還請多多指教
    級別: 論壇先鋒

    精華主題: 0
    發(fā)帖數(shù)量: 877 個
    工控威望: 1160 點
    下載積分: 8913 分
    在線時間: 1822(小時)
    注冊時間: 2011-04-17
    最后登錄: 2024-09-21
    查看陳大圍的 主題 / 回貼
    8樓  發(fā)表于: 2012-01-08 14:34
    cvlsam兄就是牛人啊,學(xué)習(xí)之
    專心學(xué)工控技術(shù),請各位幫忙指教