dickson
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 37 個
工控威望: 101 點
下載積分: 1098 分
在線時間: 17(小時)
注冊時間: 2022-02-09
最后登錄: 2022-11-15
查看dickson的 主題 / 回貼
樓主  發(fā)表于: 2022-05-09 09:35
圖片:
可能我表達(dá)不太清晰,我想達(dá)到的程序功能是這樣的:
1.通過開關(guān)運行,完成一個周期記錄+1(這時候+1數(shù)值寄存進(jìn)入D1),那么完成周期后會自動把D1數(shù)據(jù)乘以4(這時候D1*4數(shù)值寄存進(jìn)入D10)
【該功能已實現(xiàn)】


2.我想在觸摸屏上面顯示D10數(shù)值,通過我輸入功能框數(shù)值,能夠?qū)崿F(xiàn)運算差值的結(jié)果,那我該怎么做呢?(假設(shè)D10原來數(shù)值是10,但我現(xiàn)在在另一個方框輸入2,D10顯示數(shù)值為8)
【該功能未實現(xiàn)】


以上的要求不知道大家能夠看得懂嗎
dickson
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 37 個
工控威望: 101 點
下載積分: 1098 分
在線時間: 17(小時)
注冊時間: 2022-02-09
最后登錄: 2022-11-15
查看dickson的 主題 / 回貼
1樓  發(fā)表于: 2022-05-09 09:37
忘了說圖中運行的異常問題,當(dāng)模擬運行的時候,D1*K4的功能是正常運行的,但是D10-K1的數(shù)值依舊是未變更的
小莫西
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 219 個
工控威望: 307 點
下載積分: 1866 分
在線時間: 205(小時)
注冊時間: 2018-12-02
最后登錄: 2024-12-22
查看小莫西的 主題 / 回貼
2樓  發(fā)表于: 2022-05-09 09:47
10-2不就好了嘛
dickson
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 37 個
工控威望: 101 點
下載積分: 1098 分
在線時間: 17(小時)
注冊時間: 2022-02-09
最后登錄: 2022-11-15
查看dickson的 主題 / 回貼
3樓  發(fā)表于: 2022-05-09 09:57
圖片:
我目前就是想把減2數(shù)據(jù)寫回D10,但是就是不行
dickson
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 37 個
工控威望: 101 點
下載積分: 1098 分
在線時間: 17(小時)
注冊時間: 2022-02-09
最后登錄: 2022-11-15
查看dickson的 主題 / 回貼
4樓  發(fā)表于: 2022-05-09 09:58
引用
引用第2樓小莫西于2022-05-09 09:47發(fā)表的  :
10-2不就好了嘛


10-2?朋友請看看下圖,我不太理解
木林森
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 319 個
工控威望: 2087 點
下載積分: 2213 分
在線時間: 213(小時)
注冊時間: 2020-08-16
最后登錄: 2024-12-18
查看木林森的 主題 / 回貼
5樓  發(fā)表于: 2022-05-09 10:28
假設(shè)觸摸屏上輸入方框是D12
if  d14 <> d12  then
d14:=d12;
d10:=d10-d12;
end_if;
菜鳥學(xué)工控_1
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 388 個
工控威望: 2302 點
下載積分: 2842 分
在線時間: 158(小時)
注冊時間: 2017-08-29
最后登錄: 2024-12-17
查看菜鳥學(xué)工控_1的 主題 / 回貼
6樓  發(fā)表于: 2022-05-09 10:49
很簡單,和5樓大佬的思路是一樣的,假設(shè)你的運算差值寄存是D20,PLC多寫一行,D20=0時,D4*4=D10,  D20<>0時,D10=D10-D20,多一行判斷程序就好了
dickson
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 37 個
工控威望: 101 點
下載積分: 1098 分
在線時間: 17(小時)
注冊時間: 2022-02-09
最后登錄: 2022-11-15
查看dickson的 主題 / 回貼
7樓  發(fā)表于: 2022-05-09 10:54
引用
引用第6樓菜鳥學(xué)工控_1于2022-05-09 10:49發(fā)表的  :
很簡單,和5樓大佬的思路是一樣的,假設(shè)你的運算差值寄存是D20,PLC多寫一行,D20=0時,D4*4=D10,  D20<>0時,D10=D10-D20,多一行判斷程序就好了

謝謝 我回去試試
marksman_01
一起進(jìn)步
級別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 482 個
工控威望: 524 點
下載積分: 3287 分
在線時間: 135(小時)
注冊時間: 2019-06-01
最后登錄: 2024-12-21
查看marksman_01的 主題 / 回貼
8樓  發(fā)表于: 2022-05-14 16:07
程序順序問題,把公差計算放到乘積運算下面,
你這個給D10賦值完全無意義,因為會被下一行的D1*K4給覆蓋