凹凸曼
級別: 探索解密
|
我在觸摸屏上做了兩個輸入值顯示,一個是直徑,一個周長。觸摸屏上輸入直徑然后周長根據(jù)程序運算變化,同時如果改變周長,直徑也會根據(jù)程序運算變化。但是現(xiàn)在只能輸入直徑周長跟著變化,反過來就不行了 |
---|---|
|
laihuaxun200
級別: 略有小成
|
可能通過宏指令實現(xiàn)啊,條件設(shè)為顯示元件輸入后執(zhí)行。要做兩個不同宏指令,一個是直徑轉(zhuǎn)換為周長的,當(dāng)輸入直徑后,把計算出的周長傳送給周長顯示元件;一個是周長轉(zhuǎn)換為直徑的,當(dāng)輸入周長后把計算出的直徑傳送給直徑顯示元件。這兩個宏指令分別對應(yīng)相應(yīng)的顯示輸入元件。 |
---|---|
|
laihuaxun200
級別: 略有小成
|
沒用宏指令的話,可以通過PLC來執(zhí)行轉(zhuǎn)換程序。 |
---|---|
|
凹凸曼
級別: 探索解密
|
我是程序里寫了直徑換算周長的程序,還有周長逆推直徑的程序。但是觸摸屏的設(shè)置監(jiān)控地址和寫入地址是分開設(shè)置的。比如直徑的寫入地址是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ù)混亂的 |
---|---|
|
凹凸曼
級別: 探索解密
|
宏指令沒用過,不會,我就是想通過程序的轉(zhuǎn)換來實現(xiàn),但是現(xiàn)在不能達(dá)到數(shù)據(jù)的同步 |
---|---|
|
laihuaxun200
級別: 略有小成
|
1、監(jiān)控地址和寫入址用一個就好了,沒有必要另外搞一個監(jiān)控地址。這樣數(shù)據(jù)太多,容易把自己搞暈。 2、觸摸屏如果輸入的是32位數(shù)據(jù),你的PLC的D寄存器應(yīng)該是每兩個為一個雙字節(jié)數(shù)據(jù)。單個D寄存器是16位的。浮點數(shù)的話是32位的,一個數(shù)據(jù)要占用兩個D寄存器。如:D0,D1只能表示一個小數(shù)的數(shù)據(jù)。 你只需要設(shè)定直徑為D0 ,周長為D2,觸摸屏輸入直徑后后把D0,的數(shù)據(jù)轉(zhuǎn)換后傳送給D2,觸摸屏輸入周長后,把D2的數(shù)據(jù)轉(zhuǎn)換后傳送給D0就好了,要用DMOV指令。 |
---|---|
|
凹凸曼
級別: 探索解密
|
可能是程序?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),輸入不進(jìn)去的 |
---|---|
|