zmrs163
級(jí)別: 家園常客
|
本人比較喜歡研究算法,大家在編程時(shí)有什么算法相關(guān)的問(wèn)題可以留言下,我會(huì)盡力提供解決方案或程序 |
---|---|
|
夢(mèng)雨天涯
微信hui530527 &
級(jí)別: 網(wǎng)絡(luò)英雄
|
圖片:
既然大佬發(fā)話了,那我就捧場(chǎng)一下,入圖片所示,要求只有一個(gè)編碼器(AB相),入口有一個(gè)感應(yīng),其他的地方都沒(méi)有了,有N個(gè)工位,動(dòng)作你可以理解為每個(gè)工位吹氣一段時(shí)間。然后普通電機(jī)控流水線,編碼器安裝在主動(dòng)輪上,對(duì)應(yīng)流水線主動(dòng)輪一圈,編碼器就一圈 |
|
---|---|---|
|
夢(mèng)雨天涯
微信hui530527 &
級(jí)別: 網(wǎng)絡(luò)英雄
|
第2個(gè)程序,要求在觸摸屏可以替換點(diǎn)位,Y70到Y(jié)77是備用點(diǎn),Y0到Y(jié)67是正在使用的點(diǎn),要求如下假設(shè)Y10點(diǎn)壞了,Y70-Y77可以替換(觸摸屏直接寫入數(shù)字) |
|
---|---|---|
|
夢(mèng)雨天涯
微信hui530527 &
級(jí)別: 網(wǎng)絡(luò)英雄
|
第3個(gè),平常用到的分割器轉(zhuǎn)盤8工位的,普通電機(jī)控制,假設(shè)有一個(gè)工位換掉了,但是人工沒(méi)及時(shí)查看。要求,同一工位如果連續(xù)出現(xiàn)3次不合格,那么就要報(bào)警停機(jī),還有一個(gè)連續(xù)3個(gè)工位報(bào)警也要停機(jī),如果在工作過(guò)程中,遇到不合格,也要有重測(cè)次數(shù),比如,一個(gè)氣缸下降到轉(zhuǎn)盤,有模擬量輸出返回,如果不合格立馬退回,然后再次檢測(cè)。 |
|
---|---|---|
|
夢(mèng)雨天涯
微信hui530527 &
級(jí)別: 網(wǎng)絡(luò)英雄
|
第4個(gè),字符串處理的時(shí)候,常常遇到字符串中間段有H00的,字符串就停止執(zhí)行,好比如字符串抽取指令,遇到中間有H00的就默認(rèn)已經(jīng)結(jié)束了。那么問(wèn)題來(lái)了,一串字符串12345678,怎么提取2345678(不得用字符串命令,不可靠,遇到H00就不行) |
|
---|---|---|
|
夢(mèng)雨天涯
微信hui530527 &
級(jí)別: 網(wǎng)絡(luò)英雄
|
第5個(gè),比如有一個(gè)產(chǎn)品,數(shù)值A(chǔ)是90,任意N個(gè)盒子,假設(shè)1-3為1號(hào)盒子,4-8為2號(hào)盒子,盒子的數(shù)字不規(guī)則等分,但是從小到大,那么怎么快速分出這個(gè)數(shù)值A(chǔ)在哪一個(gè)盒子?要求不得一個(gè)個(gè)盒子去比較,浪費(fèi)PLC掃描周期(如果是N等于10000,你想想程序每次比較10000個(gè)還不吐血) |
|
---|---|---|
|
夢(mèng)雨天涯
微信hui530527 &
級(jí)別: 網(wǎng)絡(luò)英雄
|
第6,假設(shè)有N個(gè)通訊的儀器,分別PLC通道1要發(fā)幾個(gè)指令比如,01,02,03,04,要求如下:誰(shuí)先準(zhǔn)備好就先開始發(fā)送,儀器接到命令后,返回該儀器測(cè)試到內(nèi)容。比如1號(hào)準(zhǔn)備好了,就發(fā)送01,那么這個(gè)過(guò)程中其他的站號(hào)不得動(dòng)作,需要等到他回復(fù)信號(hào)后才允許下一個(gè)動(dòng)作……如果1號(hào)每次都準(zhǔn)備特別快,那么他可以繼續(xù)完成02,03的動(dòng)作,所有返回的數(shù)據(jù)需要有特定的D來(lái)存儲(chǔ),為了后面數(shù)據(jù)進(jìn)行比較, |
|
---|---|---|
|
夢(mèng)雨天涯
微信hui530527 &
級(jí)別: 網(wǎng)絡(luò)英雄
|
第7,假設(shè)有1-5個(gè)子程序,在觸摸屏升任意定義他們的動(dòng)作先后,比如5,4,1,2,3,2,1(步數(shù)不確定,假設(shè)N個(gè),但不會(huì)超過(guò)100)可重復(fù)動(dòng)作(1號(hào)就重復(fù)了兩次),要求程序不得超過(guò)300步,卻簡(jiǎn)單越好 |
|
---|---|---|
|
天空流星
SZ-CL
級(jí)別: 網(wǎng)絡(luò)英雄
|
圖片:
圖片:
默默的把手上的工程截圖,這個(gè)是不是你想要的 |
---|---|
|
zmrs163
級(jí)別: 家園常客
|
1.我的理解是流水線最多200個(gè)輪胎,只在入口檢測(cè),到對(duì)應(yīng)位置打開對(duì)應(yīng)輸出?首先標(biāo)定各個(gè)輸出與入口的距離存入數(shù)組(假設(shè)為p1,p2,p3...),然后整個(gè)線體一圈假定N個(gè)脈沖,計(jì)數(shù)器為環(huán)形計(jì)數(shù)器最好,不是的話需要程序取余數(shù)但是可能溢出會(huì)導(dǎo)致取余數(shù)不準(zhǔn)。當(dāng)入口感應(yīng)到輪胎則記錄當(dāng)前編碼器數(shù)字假設(shè)為P,然后就得到了每個(gè)輸出輸出時(shí)的位置(P+P1)MOD N,當(dāng)當(dāng)前值大于等于此值時(shí)輸出打開一段時(shí)間。上述可以構(gòu)造一個(gè)200*40的數(shù)組實(shí)現(xiàn),然后輸出過(guò)后可以再設(shè)置個(gè)標(biāo)志位,當(dāng)所有標(biāo)志位ON之后就可以清除這個(gè)輪胎的位置數(shù)據(jù)了。 2.可以理解成原本Y0對(duì)應(yīng)Y0,Y1對(duì)應(yīng)Y1,。。。程序可以先做一次映射,比如Y0--M0,Y1--M1。那么原本的映射關(guān)系可以看成是M0=Y0*1+Y1*0+....所以所要做的是構(gòu)建一個(gè)單位矩陣,對(duì)角線全為1,映射關(guān)系就是矩陣的乘積,所以輸入數(shù)字改變映射關(guān)系就是改變這個(gè)矩陣,也就是每一行1的位置,這個(gè)應(yīng)該就沒(méi)啥難度了吧,這樣可以實(shí)現(xiàn)全輸出任意映射的切換。 3.沒(méi)太看懂題目?感覺(jué)用個(gè)存儲(chǔ)1--8的8個(gè)寄存器隊(duì)列,移動(dòng)一次先出后入一次記憶工位,產(chǎn)品對(duì)應(yīng)關(guān)系,然后另有8個(gè)寄存器存儲(chǔ)報(bào)警。報(bào)警發(fā)生時(shí),現(xiàn)根據(jù)隊(duì)列找到對(duì)應(yīng)關(guān)系然后存入報(bào)警信息不就好了? 4.怎么提取,輸入起始位置和長(zhǎng)度提取?要是我就直接整個(gè)字符串異或0b1000 0000,因?yàn)锳SC范圍也就到0X7F,這樣把H00轉(zhuǎn)化成合法字符串用字符串指令操作好再異或回來(lái)。 5.二分法,思路很簡(jiǎn)單只不過(guò)寫的時(shí)候細(xì)節(jié)很多。 |
---|---|
|
zmrs163
級(jí)別: 家園常客
|
6.看不懂。。準(zhǔn)備好是輸入點(diǎn)信號(hào)?其他站號(hào)不得動(dòng)作啥意思,繼續(xù)完成后面的動(dòng)作又是啥意思。。 7.變址循環(huán)不就好了,細(xì)節(jié)太少導(dǎo)致問(wèn)題可難可簡(jiǎn)單。比如說(shuō)先開始的動(dòng)作一定要完成了才能進(jìn)行下一步嗎,還是先開始就行,只要在下個(gè)相同動(dòng)作開始前完成就行。還有你的輸入是一個(gè)不定長(zhǎng)的數(shù)組嗎,動(dòng)作完成后有信號(hào)返回嗎類似等等。 |
---|---|
|
天空流星
SZ-CL
級(jí)別: 網(wǎng)絡(luò)英雄
|
圖片:
圖片:
圖片:
你是不是在偷窺我工作啊 |
---|---|
|