ljb6688
級(jí)別: 工控俠客
![]() |
在做的新項(xiàng)目,類似倉儲(chǔ):一個(gè)單元有132個(gè)儲(chǔ)位,分成6個(gè)隔段,每個(gè)隔段有22個(gè)格(兩個(gè)格間距一樣,伺服拖動(dòng)可以抽拉,對(duì)應(yīng)22個(gè)位置)。1,23,45,67,89,111都對(duì)應(yīng)格1,。2,24,46,68,90,112對(duì)應(yīng)格2.依此類推。存儲(chǔ)(或提取)輸入對(duì)應(yīng)數(shù)字即可,是隨機(jī)的,請教老師:如何編程實(shí)現(xiàn)伺服動(dòng)作呢?去對(duì)應(yīng)相應(yīng)的位置,用變址么?但是都是隨機(jī)的選取啊。求指導(dǎo)思路 |
|
---|---|---|
|
lgg233333
不忘初心,方得始終
級(jí)別: 略有小成
![]() |
輸入對(duì)應(yīng)的,132位分成6組,組距,每組22個(gè)位 位距(有點(diǎn)像擺盤機(jī)的行列) 要輸入對(duì)應(yīng)的組號(hào)跟對(duì)應(yīng)的位號(hào),去對(duì)應(yīng)的存取位置 可以定義一個(gè)組的初始位,組的間距相等的話就用初始位+組距*對(duì)應(yīng)組號(hào) ,存取對(duì)應(yīng)組 定義存取初始位。位的初始位+位距*對(duì)應(yīng)位號(hào) ,去存取對(duì)應(yīng)位 不知道這樣子的方法可不可行,是不是你說的那種意思 |
---|---|
|
ljb6688
級(jí)別: 工控俠客
![]() |
樓上兄弟,基本就是這意思?梢岳斫獬6組數(shù)對(duì)應(yīng)一個(gè)位置,共有22組數(shù)。(這只是1個(gè)存儲(chǔ)單元的數(shù)據(jù),以后要上10個(gè)單元,數(shù)據(jù)量很大) |
|
---|---|---|
|
hezhen880924
級(jí)別: 略有小成
![]() |
很簡單的!第一種在PLC里做個(gè)數(shù)據(jù)庫存取坐標(biāo),PLC保持寄存器要大,最好是能存取1GB數(shù)據(jù)。第二種用陣列計(jì)算公式,陣列計(jì)算除法公式兩三行,求出XY坐標(biāo),盡量別用變址。第一種做數(shù)據(jù)庫好處是每個(gè)點(diǎn)位XY坐標(biāo)可以隨意示教保存,點(diǎn)與點(diǎn)之間實(shí)際坐標(biāo)偏移量可能有差異也不影響使用。第二種用陣列計(jì)算求出的XY坐標(biāo)偏移量是固定的,好處是可以求出無限的點(diǎn)坐標(biāo),編寫程序簡潔。 [ 此帖被hezhen880924在2025-08-15 06:47重新編輯 ] |
---|---|
|
皮五
級(jí)別: 工控俠客
![]() |
可以問AI, 根據(jù)描述,132 個(gè)儲(chǔ)位的規(guī)律可總結(jié)為: 共 6 個(gè)隔段(編號(hào) 1-6),每個(gè)隔段 22 個(gè)格(編號(hào) 1-22) 儲(chǔ)位編號(hào)公式:儲(chǔ)位號(hào) = 格號(hào) + 22×(隔段號(hào)-1) 例:隔段 1 的格 1 是 1 + 22×0=1;隔段 2 的格 1 是 1 + 22×1=23;隔段 3 的格 2 是 2 + 22×2=46,以此類推。 反過來,已知儲(chǔ)位號(hào)X,可計(jì)算: 隔段號(hào) k = (X-1) // 22 + 1(整數(shù)除法,結(jié)果 1-6) 格號(hào) n = (X-1) % 22 + 1(取余運(yùn)算,結(jié)果 1-22) |
---|---|
|
wangnaizhi
級(jí)別: 工控俠客
![]() |
132個(gè)全部給他分配地址 用變址寄存器去尋址就可以了 這樣所有的坐標(biāo)全部獨(dú)立 想去哪里去哪里 對(duì)機(jī)構(gòu)的容錯(cuò)率高 |
---|---|
|