yangjunhua
級別: *
|
圖片:
要求:觸摸屏上按下(保存)按鈕,把當前日期和當前班次件數d300保存,然后d300清0,每次按下(保存)按鈕,都能把當前日期和當前班次件數d300保存并清0,共可保存30次,第31次把第一次保存的數覆蓋。然后可以實時查看以前保存過的班次件數。 我的是使用FX-3uc plc ,觸摸屏GoT1150-QSBD-C,我編的程序會傳上來,做法是在觸摸屏上編好日期保存的數據寄存器d700,d800,d900和班次件數d1000等,就是占用了d700--d729,d800-d829,d900-d929,d1000-d1029.這樣是達到這種可保存的效果了,但是感覺不太人性化,也就是最后一次保存的數不是在第一位,而是在下面某一行,這樣查看起來不方便,我想問問大家能不能讓最后一次保存的值永遠放在第一位,下面的依次往下移,最開始保存的數到最后。 |
---|---|
|
天外飛仙
級別: 工控俠客
|
可以用屏內部的配方索引功能來實現你的要求。使你每一次的記錄更新保存在第一位,后面多余的自動清除。不過我不知道你上面這款三菱的屏有沒有配方功能,查看你屏的使用手冊,上面應該提了的。 |
|
---|---|---|
|
yangjunhua
級別: *
|
沒有找到配方功能,有沒有其他的方法了,主要是程序上做些修改可以不?我在想能不能像c語言編程一樣采用指針方法呢!不過我還是搞不出來 ,請高手幫忙想個法子吧,不勝感激! |
---|---|
|
yooyo
級別: 略有小成
|
這個好像有點問題,日期應該是16位數,就是d700--d729,d800-d829,d900-d929,班次件數應該是32位數,就是d1000-d1059吧? 樓主搞復雜了,簡單的幾句 fnc15 bmov 就可以了 |
---|---|
|
yangjunhua
級別: *
|
你說的很對,我是用另一種方法完成這個班次件數的,原理和這個一樣,因為那句程序不支持32位,所以我是采用了一個笨方法達到的,但是還達不到理想的效果啊! fnc15 bmov 指令怎么實現循環傳送呢?比如:bmov d200 d300 k3指令,是指把d200 d201 d202 ,的值送到d300 d301 d302中,我的控制要求是只把d200送到d300 d301 d302中,循環保存,這個指令怎么達到這種效果呢。我想不明白! [ 此貼被yangjunhua在2008-03-08 09:03重新編輯 ] |
---|---|
|
yooyo
級別: 略有小成
|
雖然不支持32位,但是可以執行兩次fnc15 bmov 就可以了。 比如工件次數1放在d1000(低位)和d1001(高位),工件次數2放在d1002和d1003,工件次數3放在d1004和dd1005 執行兩次bmov d1000 d1001 k3,原來次數3被次數2代替,次數2被次數1代替。 看看我改的對不對 |
---|---|
|
yangjunhua
級別: *
|
謝謝yooyo,我看過了,剛做了仿真,可以實現,太感謝你了,你一下就把我好幾個月想不明白的程序給解決了!但是有一點小問題,把你寫的程序最后的rst d700 ,d800,d900去掉就完全正確了,因為班次件數是要清0的,日期不能清0要不然就沒有辦法顯示日期了!我修改了一下,發上來,大家看看吧!最后再次感謝你,也感謝所有熱心的網友!,謝謝你們! |
---|---|
|