sdwufei
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 24 個(gè)
工控威望: 130 點(diǎn)
下載積分: 10381 分
在線時(shí)間: 168(小時(shí))
注冊(cè)時(shí)間: 2010-07-20
最后登錄: 2024-07-28
查看sdwufei的 主題 / 回貼
樓主  發(fā)表于: 2010-11-18 16:11
請(qǐng)問關(guān)於三菱RS指令的使用


我使用的共兩種架構(gòu)
a:FX3U+FX3U-485BD
b:FX3UC+FX3U-485ADP-MB

目前我在測試RS指令,我希望當(dāng)我命令發(fā)出(M800接點(diǎn)動(dòng)作)時(shí),我不希望PLC會(huì)一直持續(xù)發(fā)出命令,
所以我在第65step寫了當(dāng)D8122=0的時(shí)候,我把RS指令送出byte數(shù)的暫存器D100改為0,讓RS指令
保持再接收的狀態(tài),直到接收到資料後再把M800給OFF掉。
PS:我的RS指令D100為送出byte數(shù),D101開始為送出資料內(nèi)容。D200為接收Byte數(shù),D201為接收資料內(nèi)容

目前我測試結(jié)果,在B方案裡很正常。
我的PLC送出8個(gè)byte的字串01 03 00 00 00 01 84 0A
我在電腦接收端也可以看到01 03 00 00 00 01 84 0A 共八個(gè)字串,且PLC會(huì)停止送出(因?yàn)镈100被我切
為0,送出byte=0),一直保持在等待資料的狀態(tài)直到我電腦回送字串給PLC,M8123會(huì)on一下,電腦送
出來的資料會(huì)紀(jì)錄到D201裡,然後我的邏輯就會(huì)把M800給off,然後再把送出字串?dāng)?shù)D100恢復(fù)為8,這
樣下次啟動(dòng)M800,RS指令就可以在自動(dòng)送出8個(gè)byte的資料了。

可是我今天改為a方案時(shí),發(fā)生問題了。
我一樣PLC命令送出8個(gè)byte的字串01 03 00 00 00 01 84 0A 。我電腦接收端所接收到的會(huì)不只八個(gè)byte
,都還超過。電腦接收到的下:01 03 00 00 00 01 84 0A 01 03 00 00 00 01 84 0A 01 03 00 00 00 01 84 FF
在我的程式裡明明送出的byte已經(jīng)限定8個(gè)byte,可是不知道為啥卻會(huì)跑那個(gè)多個(gè)。而且更奇怪的是,我
D101開始所送出的資料,卻會(huì)被自己D201所接收回來。在B方案時(shí)都不會(huì)有這種接收到自己資料的問題。
因此當(dāng)然我的M8123也會(huì)自動(dòng)判別接收到資料而off掉M800停止RS指令,造成無法接收電腦資料。而且因?yàn)?br />送出的字串錯(cuò)誤,電腦端也無法解讀。而且像上面電腦接收回來的例子,最後那個(gè)byte "FF"我也搞不懂從哪
來的,我明明只送出01 03 00 00 00 01 84 0A 就算重複送也沒有送FF這個(gè)字串呀。

我想A或B方案對(duì)PLC來說485模組應(yīng)該都是ch1,所以程式應(yīng)該可以直接使用才對(duì)。
目前問題,不曉得哪位前輩可以替我解惑呢?我有上傳我目前寫得RS的專案,若大家有興趣一起討論也歡迎轉(zhuǎn)載。
附件: 485BD走RS指令.rar (11 K) 下載次數(shù):516
網(wǎng)站提示: 請(qǐng)不要用迅雷下載附件,容易出錯(cuò)
ymmfa
不想大江大河,不想浪起潮落,只愿一灣小湖,靜待歲月安好。
級(jí)別: 管理員

精華主題: 8 篇
發(fā)帖數(shù)量: 9658 個(gè)
工控威望: 8543 點(diǎn)
下載積分: 16692 分
在線時(shí)間: 5319(小時(shí))
注冊(cè)時(shí)間: 2006-08-10
最后登錄: 2024-11-06
查看ymmfa的 主題 / 回貼
1樓  發(fā)表于: 2010-11-18 16:29
FX3U-485ADP-MB  是MODBUS的  和485BD的不一樣呵
如果用FX3U-485ADP 可能效果和485BD時(shí)的比較接近
特別提醒大家:
偶爾修改下自己的密碼,以防被盜
不要在多個(gè)網(wǎng)站都用一樣賬號(hào)密碼
偶爾還是要發(fā)發(fā)貼,回回貼,不要總潛水