凹凸曼
級別: 探索解密
![]() |
我在觸摸屏上做了兩個(gè)輸入值顯示,一個(gè)是直徑,一個(gè)周長(cháng)。觸摸屏上輸入直徑然后周長(cháng)根據程序運算變化,同時(shí)如果改變周長(cháng),直徑也會(huì )根據程序運算變化。但是現在只能輸入直徑周長(cháng)跟著(zhù)變化,反過(guò)來(lái)就不行了 |
---|---|
|
laihuaxun200
級別: 略有小成
![]() |
可能通過(guò)宏指令實(shí)現啊,條件設為顯示元件輸入后執行。要做兩個(gè)不同宏指令,一個(gè)是直徑轉換為周長(cháng)的,當輸入直徑后,把計算出的周長(cháng)傳送給周長(cháng)顯示元件;一個(gè)是周長(cháng)轉換為直徑的,當輸入周長(cháng)后把計算出的直徑傳送給直徑顯示元件。這兩個(gè)宏指令分別對應相應的顯示輸入元件。 |
---|---|
|
laihuaxun200
級別: 略有小成
![]() |
沒(méi)用宏指令的話(huà),可以通過(guò)PLC來(lái)執行轉換程序。 |
---|---|
|
凹凸曼
級別: 探索解密
![]() |
我是程序里寫(xiě)了直徑換算周長(cháng)的程序,還有周長(cháng)逆推直徑的程序。但是觸摸屏的設置監控地址和寫(xiě)入地址是分開(kāi)設置的。比如直徑的寫(xiě)入地址是D0 監控地址是D1 周長(cháng)的寫(xiě)入地址是D2,監控地址是D3. 我輸入直徑D0是60,監控地址沒(méi)有變化還是0 周長(cháng)的監控地址D3是188.4 寫(xiě)入地址d2 是0. 反過(guò)來(lái)再輸入周長(cháng)寫(xiě)入地址d2為300,周長(cháng)監控地址D3沒(méi)有變還是188.4, 直徑的監控地址D1是95.4 寫(xiě)入地址D0還是60.。這些數據無(wú)法整合,數據混亂的 |
---|---|
|
凹凸曼
級別: 探索解密
![]() |
宏指令沒(méi)用過(guò),不會(huì ),我就是想通過(guò)程序的轉換來(lái)實(shí)現,但是現在不能達到數據的同步 |
---|---|
|
laihuaxun200
級別: 略有小成
![]() |
1、監控地址和寫(xiě)入址用一個(gè)就好了,沒(méi)有必要另外搞一個(gè)監控地址。這樣數據太多,容易把自己搞暈。 2、觸摸屏如果輸入的是32位數據,你的PLC的D寄存器應該是每?jì)蓚(gè)為一個(gè)雙字節數據。單個(gè)D寄存器是16位的。浮點(diǎn)數的話(huà)是32位的,一個(gè)數據要占用兩個(gè)D寄存器。如:D0,D1只能表示一個(gè)小數的數據。 你只需要設定直徑為D0 ,周長(cháng)為D2,觸摸屏輸入直徑后后把D0,的數據轉換后傳送給D2,觸摸屏輸入周長(cháng)后,把D2的數據轉換后傳送給D0就好了,要用DMOV指令。 |
---|---|
|
凹凸曼
級別: 探索解密
![]() |
可能是程序寫(xiě)的不對。我這樣 LD M1000 DEMUL D0 K314 D4 DEDIV D4 K100 D2 DEMUL D2 K100 D6 DEDIV D6 K314 D0 |
---|---|
|
凹凸曼
級別: 探索解密
![]() |
不對啊,這樣我D2是一直占位的,在觸摸屏上是不能輸入的,D2和D3的數據處于占位狀態(tài),輸入不進(jìn)去的 |
---|---|
|