wbaod
共同進(jìn)步
級(jí)別: 略有小成
![]() |
誠(chéng)心指教,附程序,設(shè)備程序中可以儲(chǔ)存12個(gè)設(shè)備配方,也可調(diào)用,刪除,現(xiàn)很多觸摸屏都有配方儲(chǔ)存功能,可能都不用這個(gè)程序的,附件這個(gè)是用程序保存,調(diào)用,刪除,我只是想明白編程的思路,明白其中的道理,怎樣保存,調(diào)用,刪除的。想學(xué)歐姆龍,沒(méi)人指點(diǎn),這個(gè)程序想了很久都沒(méi)明白其中的原理,家園的高手能否指點(diǎn),說(shuō)說(shuō)其中的道理,不勝感激。。。 [ 此帖被wbaod在2011-12-01 20:21重新編輯 ] |
---|---|
|
eagle210
級(jí)別: *
![]() |
一般的都是用變址尋址方式。*或者DR之類(lèi)的。沒(méi)裝軟件,有空看看。 |
---|---|
|
劉永
不知道誰(shuí)是高手,我還在學(xué)習(xí)
級(jí)別: 家園?
![]() |
你可以在觸摸屏里做好你需要的配方,以及配方號(hào)。在PLC程序里寫(xiě)入你需要調(diào)用的配方號(hào)。 ![]() |
|
---|---|---|
|
xinnv
級(jí)別: 探索解密
![]() |
你這個(gè)配方還不支持配方內(nèi)容的編輯只是一個(gè)尋位算法而已,如果用st語(yǔ)言寫(xiě)出來(lái)的話基本用不了幾行,而且還不支持配方內(nèi)容編輯,不夠強(qiáng)。 如果想理解本程序思路建議你看看匯編程序的基址與變址的相關(guān)定義,這樣你再看就很清楚了 |
---|---|
|
eagle210
級(jí)別: *
![]() |
先說(shuō)一下程序的主要思路: 1.配方號(hào)1-12的參數(shù)實(shí)際值分別存儲(chǔ)在D2200-D2207 D2208-D2215 ...中(共12組,每組8個(gè)字)。 即每個(gè)配方號(hào)下有8個(gè)參數(shù)值。 2.添加刪除或者調(diào)用3個(gè)過(guò)程其實(shí)差不多,都是建立配方號(hào)與存儲(chǔ)地址首字之間的關(guān)系。就是程序中*8 +2200之類(lèi)的操作。 3.添加時(shí),把D400-D407存入前加@的上記2中得到地址中。 注:前加@表示內(nèi)容作為地址再操作,和*作用差不多,只是BIN和BCD的問(wèn)題。 4.其他 D2000當(dāng)前存儲(chǔ)的配方數(shù)量。D2002 D2004 D2006 。。。依次的配方號(hào)。 下面說(shuō)下個(gè)人意見(jiàn), 如果單就這幾段程序來(lái)講,有幾處需要改進(jìn)之處。 1.存儲(chǔ)地址規(guī)劃的很不好(如果沒(méi)有其他未寫(xiě)的用途的話),比如如果第一個(gè)添加配方1,存儲(chǔ)地址是D2200-D2207,第二個(gè)如果添加配方3,存儲(chǔ)地址是D2208-D2215。這種規(guī)劃就帶來(lái)了混亂,自己給自己找麻煩,程序做的很復(fù)雜,相信大家看不懂的地方就是本來(lái)不必要的程序。好的規(guī)劃應(yīng)該是按照可以計(jì)算規(guī)則的順序存儲(chǔ),不管第幾個(gè)什么時(shí)候添加的配方3,它的參數(shù)存儲(chǔ)地址永遠(yuǎn)是D2216-D2223(即2200+3X8=2216~)。這樣程序就會(huì)簡(jiǎn)化很多,至少精簡(jiǎn)一半行數(shù)。循環(huán)程序FOR都不用寫(xiě),D2060 D2061這兩個(gè)讓人迷糊的中間量就可以不用了。程序會(huì)很容易看懂的。 2.添加刪除和調(diào)用不應(yīng)該在一個(gè)界面中(從共用D400-D407這一點(diǎn)猜測(cè)的)。應(yīng)該放到不同的操作權(quán)限界面中去,避免誤刪。同時(shí)這三個(gè)的操作習(xí)慣讓人費(fèi)解,比如按下按鈕W53.xx后配方號(hào)清零,調(diào)用不存在的配方號(hào),會(huì)顯示上一次存在的配方參數(shù)等等。 3.D2002 D2004 D2006中存儲(chǔ)的配方號(hào),意義不是很大。不如簡(jiǎn)單點(diǎn)用一個(gè)字L0中的16位表示是否存在對(duì)應(yīng)的配方。比如L0=#008F表示存在配方1 2 3 4 8. |
---|---|
|