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