d5373325
級(jí)別: 探索解密
![]() |
麻煩問下用三菱PLC的N:N通訊,數(shù)據(jù)寄存器和輔助寄存器不夠用,假如我要傳送20個(gè)數(shù)據(jù)。怎么做呢? |
---|---|
|
leslie1994
菜鳥努力中
級(jí)別: 家園常客
![]() |
N:N通訊的模式2數(shù)據(jù)交換的個(gè)數(shù)最多, 位元件64點(diǎn)、字元件8點(diǎn)。 你說的20個(gè)數(shù)據(jù)是位元件九解決了。是位元件的話就麻煩了。 我想到一個(gè)思路,不知道可不可行。 用位元件來表示數(shù)據(jù), 位元件應(yīng)該是夠的, 所以把位元件的狀態(tài)傳到接受方,然后接受方再轉(zhuǎn)換位 數(shù)據(jù) (具體說明指令忘記了,肯定是有這指令的。) |
|
---|---|---|
本帖最近評(píng)分記錄:
|
gaoshanyeyun
級(jí)別: 略有小成
![]() |
分批傳嘛,這有啥難度。就是速度慢點(diǎn),我想你用NN網(wǎng)絡(luò)也不會(huì)有太高的實(shí)時(shí)性要求了。 樓主留言:能不能告訴我一下具體怎么做呢!謝謝 |
---|---|
本帖最近評(píng)分記錄: |
iujfang
怪人
級(jí)別: 家園?
![]() |
假如不用位元件的話,64個(gè)位寄存器可以當(dāng)做4個(gè)字寄存器使用,也就是說最多12個(gè)寄存器,再多了就不行了。那就要用其他的方法,如有觸摸屏就好辦了 [ 此帖被iujfang在2015-08-25 09:00重新編輯 ] |
---|---|
|
lay111
級(jí)別: 論壇先鋒
![]() |
2F的點(diǎn)子不錯(cuò)! 拿一字元當(dāng)索引暫存器,再用幾個(gè)暫存器依照索引排放數(shù)值 |
---|---|
|
jackal
索馬里海盜
級(jí)別: 論壇先鋒
![]() |
20個(gè)太多了 用兩個(gè)就夠了 D0=1 本地D101 MOV到 D1 傳過去的數(shù)據(jù) 保持到 D101 里面 回傳一個(gè)接受完成 D0=2 本地D102 MOV到 D1 傳過去的數(shù)據(jù) 保持到 D102 里面 回傳一個(gè)接受完成 D0=3 本地D103 MOV到 D1 傳過去的數(shù)據(jù) 保持到 D103 里面 回傳一個(gè)接受完成 D0=4 本地D104 MOV到 D1 傳過去的數(shù)據(jù) 保持到 D104 里面 回傳一個(gè)接受完成 D0=5 本地D101 MOV到 D1 傳過去的數(shù)據(jù) 保持到 D105 里面 回傳一個(gè)接受完成 D0=6 本地D101 MOV到 D1 傳過去的數(shù)據(jù) 保持到 D106 里面 回傳一個(gè)接受完成 2個(gè)可以實(shí)現(xiàn) 這樣要傳送20次 當(dāng)然別傻呵呵的 就用兩個(gè) 每次傳送的時(shí)候 可以多傳送幾個(gè) 看最大能有幾個(gè) 如果一次可以傳10個(gè) 你們傳送兩次就可以了 只是個(gè)思路而已 有些 人看不懂 回來補(bǔ)充一下 [ 此帖被jackal在2015-08-25 11:37重新編輯 ] |
---|---|
|
gdj-gdj
每天進(jìn)步一點(diǎn)點(diǎn)!
級(jí)別: 網(wǎng)絡(luò)英雄
![]() |
4樓說的好啊。 |
---|---|
|
fubin739
級(jí)別: 家園?
![]() |
如果數(shù)據(jù)比較小,可以考慮將兩個(gè)數(shù)整合到一個(gè)數(shù)里面,傳回來再分解開。 另外既然都N:N了,直接自己發(fā)算了。 |
---|---|
|
gaoshanyeyun
級(jí)別: 略有小成
![]() |
自己定個(gè)簡單的協(xié)議就行了,用計(jì)數(shù)配合變址寄存器,計(jì)數(shù)值用傳送成功回授信號(hào)增量計(jì)數(shù)。 別說20個(gè)字,就是2000個(gè)字也沒有問題。這樣簡潔,高效,最大化的通訊利用率。 譬如要傳送D100-D1199 一次傳4字 BMOV D100z0 至交換寄存器 K4 Z0=N*8 接收也一樣 |
---|---|
|