凹凸曼
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 40 個
工控威望: 141 點
下載積分: 1170 分
在線時間: 102(小時)
注冊時間: 2015-10-16
最后登錄: 2024-06-28
查看凹凸曼的 主題 / 回貼
樓主  發(fā)表于: 2016-08-11 16:33
我在觸摸屏上做了兩個輸入值顯示,一個是直徑,一個周長。觸摸屏上輸入直徑然后周長根據(jù)程序運算變化,同時如果改變周長,直徑也會根據(jù)程序運算變化。但是現(xiàn)在只能輸入直徑周長跟著變化,反過來就不行了
laihuaxun200
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 219 個
工控威望: 362 點
下載積分: 1168 分
在線時間: 316(小時)
注冊時間: 2013-11-20
最后登錄: 2024-08-19
查看laihuaxun200的 主題 / 回貼
1樓  發(fā)表于: 2016-08-11 17:21
可能通過宏指令實現(xiàn)啊,條件設為顯示元件輸入后執(zhí)行。要做兩個不同宏指令,一個是直徑轉(zhuǎn)換為周長的,當輸入直徑后,把計算出的周長傳送給周長顯示元件;一個是周長轉(zhuǎn)換為直徑的,當輸入周長后把計算出的直徑傳送給直徑顯示元件。這兩個宏指令分別對應相應的顯示輸入元件。
laihuaxun200
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 219 個
工控威望: 362 點
下載積分: 1168 分
在線時間: 316(小時)
注冊時間: 2013-11-20
最后登錄: 2024-08-19
查看laihuaxun200的 主題 / 回貼
2樓  發(fā)表于: 2016-08-11 17:22
沒用宏指令的話,可以通過PLC來執(zhí)行轉(zhuǎn)換程序。
凹凸曼
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 40 個
工控威望: 141 點
下載積分: 1170 分
在線時間: 102(小時)
注冊時間: 2015-10-16
最后登錄: 2024-06-28
查看凹凸曼的 主題 / 回貼
3樓  發(fā)表于: 2016-08-12 09:22
引用
引用第2樓laihuaxun200于2016-08-11 17:22發(fā)表的  :
沒用宏指令的話,可以通過PLC來執(zhí)行轉(zhuǎn)換程序。

我是程序里寫了直徑換算周長的程序,還有周長逆推直徑的程序。但是觸摸屏的設置監(jiān)控地址和寫入地址是分開設置的。比如直徑的寫入地址是D0 監(jiān)控地址是D1   周長的寫入地址是D2,監(jiān)控地址是D3.       我輸入直徑D0是60,監(jiān)控地址沒有變化還是0   周長的監(jiān)控地址D3是188.4   寫入地址d2 是0.     反過來再輸入周長寫入地址d2為300,周長監(jiān)控地址D3沒有變還是188.4,  直徑的監(jiān)控地址D1是95.4  寫入地址D0還是60.。這些數(shù)據(jù)無法整合,數(shù)據(jù)混亂的
凹凸曼
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 40 個
工控威望: 141 點
下載積分: 1170 分
在線時間: 102(小時)
注冊時間: 2015-10-16
最后登錄: 2024-06-28
查看凹凸曼的 主題 / 回貼
4樓  發(fā)表于: 2016-08-12 09:27
引用
引用第1樓laihuaxun200于2016-08-11 17:21發(fā)表的  :
可能通過宏指令實現(xiàn)啊,條件設為顯示元件輸入后執(zhí)行。要做兩個不同宏指令,一個是直徑轉(zhuǎn)換為周長的,當輸入直徑后,把計算出的周長傳送給周長顯示元件;一個是周長轉(zhuǎn)換為直徑的,當輸入周長后把計算出的直徑傳送給直徑顯示元件。這兩個宏指令分別對應相應的顯示輸入元件。

宏指令沒用過,不會,我就是想通過程序的轉(zhuǎn)換來實現(xiàn),但是現(xiàn)在不能達到數(shù)據(jù)的同步
laihuaxun200
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 219 個
工控威望: 362 點
下載積分: 1168 分
在線時間: 316(小時)
注冊時間: 2013-11-20
最后登錄: 2024-08-19
查看laihuaxun200的 主題 / 回貼
5樓  發(fā)表于: 2016-08-12 10:07
1、監(jiān)控地址和寫入址用一個就好了,沒有必要另外搞一個監(jiān)控地址。這樣數(shù)據(jù)太多,容易把自己搞暈。
2、觸摸屏如果輸入的是32位數(shù)據(jù),你的PLC的D寄存器應該是每兩個為一個雙字節(jié)數(shù)據(jù)。單個D寄存器是16位的。浮點數(shù)的話是32位的,一個數(shù)據(jù)要占用兩個D寄存器。如:D0,D1只能表示一個小數(shù)的數(shù)據(jù)。

你只需要設定直徑為D0 ,周長為D2,觸摸屏輸入直徑后后把D0,的數(shù)據(jù)轉(zhuǎn)換后傳送給D2,觸摸屏輸入周長后,把D2的數(shù)據(jù)轉(zhuǎn)換后傳送給D0就好了,要用DMOV指令。
凹凸曼
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 40 個
工控威望: 141 點
下載積分: 1170 分
在線時間: 102(小時)
注冊時間: 2015-10-16
最后登錄: 2024-06-28
查看凹凸曼的 主題 / 回貼
6樓  發(fā)表于: 2016-08-12 10:27
引用
引用第5樓laihuaxun200于2016-08-12 10:07發(fā)表的  :
1、監(jiān)控地址和寫入址用一個就好了,沒有必要另外搞一個監(jiān)控地址。這樣數(shù)據(jù)太多,容易把自己搞暈。
2、觸摸屏如果輸入的是32位數(shù)據(jù),你的PLC的D寄存器應該是每兩個為一個雙字節(jié)數(shù)據(jù)。單個D寄存器是16位的。浮點數(shù)的話是32位的,一個數(shù)據(jù)要占用兩個D寄存器。如:D0,D1只能表示一個小數(shù)的數(shù)據(jù)。

你只需要設定直徑為D0 ,周長為D2,觸摸屏輸入直徑后后把D0,的數(shù)據(jù)轉(zhuǎn)換后傳送給D2,觸摸屏輸入周長后,把D2的數(shù)據(jù)轉(zhuǎn)換后傳送給D0就好了,要用DMOV指令。

可能是程序?qū)懙牟粚。我這樣   LD M1000    DEMUL D0 K314 D4      DEDIV D4 K100 D2    DEMUL D2 K100 D6      DEDIV D6 K314 D0
凹凸曼
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 40 個
工控威望: 141 點
下載積分: 1170 分
在線時間: 102(小時)
注冊時間: 2015-10-16
最后登錄: 2024-06-28
查看凹凸曼的 主題 / 回貼
7樓  發(fā)表于: 2016-08-12 11:57
引用
引用第6樓凹凸曼于2016-08-12 10:27發(fā)表的  :

可能是程序?qū)懙牟粚ΑN疫@樣   LD M1000    DEMUL D0 K314 D4      DEDIV D4 K100 D2    DEMUL D2 K100 D6      DEDIV D6 K314 D0

不對啊,這樣我D2是一直占位的,在觸摸屏上是不能輸入的,D2和D3的數(shù)據(jù)處于占位狀態(tài),輸入不進去的
小飛哥
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 23 個
工控威望: 121 點
下載積分: 644 分
在線時間: 97(小時)
注冊時間: 2016-04-07
最后登錄: 2021-09-07
查看小飛哥的 主題 / 回貼
8樓  發(fā)表于: 2016-08-12 14:01
應該可以了。。
本帖最近評分記錄:
  • 下載積分:+1(凹凸曼) 真誠感謝!
    凹凸曼
    級別: 探索解密
    精華主題: 0
    發(fā)帖數(shù)量: 40 個
    工控威望: 141 點
    下載積分: 1170 分
    在線時間: 102(小時)
    注冊時間: 2015-10-16
    最后登錄: 2024-06-28
    查看凹凸曼的 主題 / 回貼
    9樓  發(fā)表于: 2016-08-12 14:37
    引用
    引用第8樓小飛哥于2016-08-12 14:01發(fā)表的  :
    應該可以了。。

    非常感謝,我試試。想的我頭都要炸了