你這個問題問的有一點點不嚴謹,你多半是想給一個定時器的時間值在wincc中賦值吧!
因為在wincc的輸入輸出域中是可以顯示日期/時間格式的,但是你又問的是輸入域,所以下邊的這個圖片的情況,應該不是你想要的:
這個圖片就是一個wincc的I/O域,資料格式選擇日期/時間,輸出格式選擇time時候,編輯頁面上就顯示一個時鐘時間值,這通常不是我們需要的!
而定時器的定時時間設定,卻是在實際專案中需要經常使用到的!先看一個動態圖吧:
這個動態圖上可以看到我在畫面上輸入值的時候,程式內部的時間值PT處的值是乘以1000的,畫面上時間單位是秒(s),程式中的值乘以1000是因為#open_dely這個定時器其實是SFB4 ton定時器,其時基單位是毫秒(ms),所以我想讓定時以s為單位執行的話,就要乘以1000!
這裡的1000倍的關係是可以透過wincc中的線性標定去實現的!
來看一下wincc中最終正確的設定是怎樣的?
這個圖片就是動態圖上最終的設定,輸入輸出域的資料格式是十進位制數,輸出格式沒有小數點。且這個變數的資料型別是32位的DW數值!當然你選擇32位的浮點數也沒有問題!
總之呢,在wincc上輸入時間值,需要參考程式中定時器的時基,同樣是上邊動態圖中的程式,如果在程式中給open_time_sp用move指令賦值的話,用T#1S和S5T#1S賦值,得到的數值是不一樣的。這裡只是點一下,和本次答案的實現方法沒有多的關係!
你這個問題問的有一點點不嚴謹,你多半是想給一個定時器的時間值在wincc中賦值吧!
因為在wincc的輸入輸出域中是可以顯示日期/時間格式的,但是你又問的是輸入域,所以下邊的這個圖片的情況,應該不是你想要的:
這個圖片就是一個wincc的I/O域,資料格式選擇日期/時間,輸出格式選擇time時候,編輯頁面上就顯示一個時鐘時間值,這通常不是我們需要的!
而定時器的定時時間設定,卻是在實際專案中需要經常使用到的!先看一個動態圖吧:
這個動態圖上可以看到我在畫面上輸入值的時候,程式內部的時間值PT處的值是乘以1000的,畫面上時間單位是秒(s),程式中的值乘以1000是因為#open_dely這個定時器其實是SFB4 ton定時器,其時基單位是毫秒(ms),所以我想讓定時以s為單位執行的話,就要乘以1000!
這裡的1000倍的關係是可以透過wincc中的線性標定去實現的!
來看一下wincc中最終正確的設定是怎樣的?
這個圖片就是動態圖上最終的設定,輸入輸出域的資料格式是十進位制數,輸出格式沒有小數點。且這個變數的資料型別是32位的DW數值!當然你選擇32位的浮點數也沒有問題!
總之呢,在wincc上輸入時間值,需要參考程式中定時器的時基,同樣是上邊動態圖中的程式,如果在程式中給open_time_sp用move指令賦值的話,用T#1S和S5T#1S賦值,得到的數值是不一樣的。這裡只是點一下,和本次答案的實現方法沒有多的關係!