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