上位機-倒計時器

2021-02-15 dotNet工控上位機

1. 設置窗口

在VS2019新建一個Windows窗體應用(.NET Framework)項目,新建之後出現一個可視化頁面(From1.cs[設計])設置窗口。

在左側的工具箱裡面拉拽控制項到操作面板上,按照自己的喜好擺放位置和調大小。

這裡要注意的是用到的分別是什麼控制項:

文本(label):定時時間,剩餘時間,0秒

下拉列表(comboBox):下拉列表選擇定時時間。

按鈕(bottom):開始計時,停止計時

進度條(progressBar):顯示計時了多少秒

定時器(timer):這是個沒有顯示在窗口而是在後臺默默數1、2、3……的控制項,類似於單片機的定時器。

接著設置控制項的屬性——選中單擊控制項,在界面的左下角就可以看到該控制項的屬性,尺寸啊,顏色啊,字體的,顯示內容啊什麼都有,按著自己喜歡一一設置就可以了。還是比較簡單的。

最後得到窗口如下:

2. 設置控制項功能設置控制項功能需要代碼來實現

1)下拉列表要能夠顯示1~99秒

雙擊解決資源方案管理器中的Form1.cs,就能看到剛才設置好的窗體的代碼。(自動生成這個功能我真的愛死它了)

找到Form1_Load(),這個函數對應的是整個窗口,也就是說各個控制項都是在窗口裡面的,所以我們可以在這裡面設置下拉列表的功能。comboBox1是下拉列表的名字,"."大致可以理解為中文的「的」,comboBox1.Items.Add();這個函數的意思「往這個下拉列表的集合中加入括號裡面的東西」。另外,VS2019的開發環境特別友好,會有提示,把滑鼠停在這個函數上面也會有對這個函數和函數參數的提示解釋。

代碼如下:

(2)開始計時&剩餘時間&進度條
讓我先來捋一捋按下「開始計時」之後會發生什麼樣的事:

對頭!這就是我們要做的事情
首先設置兩個全局變量,分別表示計時時間和定時時間

接著雙擊控制項「開始計時」,會自動生成這個控制項的函數,按下「開始計時」需要實現什麼功能就可以在這個函數裡面寫了。下面代碼實現了:剩餘時間=定時時間;進度條最大時間=定時時間

再接下來要實現剩餘時間和進度條的計時。眾所周知,剩餘時間和進度條的顯示是1秒鐘就變化1次的,所以要把他們寫進「定時器」這個控制項裡面。這個控制項的功能相當於定時器中斷,1秒鐘執行一次。代碼如下:

(3)停止計時
那可就相當簡單了

到這裡倒計時器就完成了。

3. 總結

這是我做的第一個上位機,還挺有成就感的。總的來說沒有遇到多大的問題,跟著教學視頻一步一步很順利。我覺得主要的難點就是在邏輯和類的使用上。平時用的多的還是C語言,所以對於類使用不太熟悉,以及他們的名字也太多太難記住了吧~但也不是不可以克服的!

最後,附上完整代碼:

相關焦點

  • 非常有用的並發控制-倒計時器CountDownLatch
    CountDownLatch見名思義,即倒計時器,是多線程並發控制中非常有用的工具類,它可以控制線程等待,直到倒計時器歸0再繼續執行
  • 一款倒計時器幫你精準把握時間
    這個TED倒計時器是與TED會議中使用的倒計時器完全相同,它可以用於排練和定時自己的演講、培訓和會議發言!要啟動計時器,請選擇講話的持續時間(選擇2至18分鐘內的任意長度)。接下來點擊「立即開始」立即開始倒計時,或者「10秒內開始」,讓自己準備好時間。
  • 什麼是上位機?上位機的開發軟體有哪些?
    什麼是上位機?怎麼自己編程做一個上位機程序?這種概念問題還是建議大家百度之後,然後在知乎@電子菌,要不然問題太多,公子回復不過來!
  • 什麼是上位機,什麼是下位機?
    上位機是指可以直接發出操控命令的計算機,一般是PC/host computer/master computer/upper computer,屏幕上顯示各種信號變化(液壓,水位,溫度等)。工具/原料方法/步驟概述: 上位機發出的命令首先給下位機,下位機再根據此命令解釋成相應時序信號直接控制相應設備。
  • 連載丨手把手教你winform上位機系列一:認識winform上位機
    一般上位機分為工控機(Wincc,組態王,力控工業組態軟體),觸控螢幕(威綸通,臺達,西門子HMI等),和Windows桌面應用。今天要講的是Windows系統下的Winform桌面應用作為上位機,大家是不是用觸模屏和組態軟體是總是想實現一些特殊功能但是組態軟體本身不支持該功能,但是Winform可以做到你想做的一切,Winform是微軟Visual Studio IDE開發平臺下的桌面應用開發,我們可以充分利用C#高級語言的優勢和靈活性以及高擴展性來開發我們的上位機監控界面,先來個簡單
  • Qt 串口上位機開發《Rice 上位機 學習開發》
    前幾天分享了一個使用C#開發的串口上位機,那麼今天教你如何100行QT代碼實現一個串口上位機。
  • 上位機難?那分享下我的經歷
    記得我畢業工作的第六個月,公司安排給我了我自己單獨負責的第一個工程,那是在雲南的一個項目,項目不大,一共三個s7200的plc,三個觸控螢幕,還有一臺上位機。當時的我不會上位機,我一個人用了兩個月(後來因為項目小,但花了兩個月,導致後面我不被重用)把這個項目推到了尾聲,但上位機一直放在一邊,之前聊過,由於我的公司不正規,沒有正兒八經的培訓,一切靠自己。
  • 如何使用Python開發串口通訊上位機(一)
    用Python開發串口通訊型上位機,其實並非最優解,本系列更新只為個人學習與總結。如果有C語言底子,嵌入式層面的上位機開發,C++ Builder,C#才是更加好用的利器。什麼是上位機從事過嵌入式軟體開發或者工控機開發的,對上位機應該都不陌生。
  • 上位機儀錶盤實時顯示機器人速度
    後臺留言,大家一起支持原創,推動機器人使用和發展本公眾號對各類ABB機器人應用,仿真,畢業設計提供技術支持,詳細後臺留言本公眾號誠摯希望與各機器人培訓機構,機器人使用單元合作,提供技術支持,詳細後臺留言點擊文章最後的閱讀原文,即可獲得完整上位機儀錶盤實時顯示機器人速度
  • BLE的Android上位機開發(上)
    上篇BLE的Android開發小技巧(見帖:BLE4.0安卓上位機開發小技巧),但因為當時Android上位機還沒有完全開發完畢,BleLib開源包也用的不太熟練,因此沒有詳細的代碼說明。隨後就是漫長的出差,天天忙忙碌碌的沒時間弄。然而,就在昨天,就在昨天~我的Android上位機全部開發完畢啦~~(真是個舉國歡慶的日子啊。。)別的不多扯了,進入主題聊聊Blelib這個包怎麼用吧。
  • Matlab上位機開發(五)Matlab串口通信
    這裡我設置的函數名為callbcak,回調函數自己實現即可:function callback(s,event,handles)推薦閱讀:Matlab上位機開發(一) 了解上位機Matlab上位機開發(二) HelloWorldMatlab上位機開發(三) 波形顯示Matlab上位機開發(四)Matlab獲取自帶攝像頭或者USB攝像頭數據
  • C#上位機專題課程,計劃2月21號啟動
    應大部分學員要求,硬體家園啟動C#上位機專題教學。
  • C#做一個簡單的進行串口通信的上位機
    上位機相當於一個軟體系統,可以用於接收數據、控制數據。上位機可以接收下位機的信號。下位機是一個控制器,是直接控制設備獲取設備狀況的計算機。上位機發出的命令首先給下位機,下位機再根據此命令解釋成相應時序信號直接控制相應設備。下位機不時讀取設備狀態數據(一般為模擬量),轉換成數位訊號反饋給上位機。上位機不可以單獨使用,而下位機可以單獨使用。2、串口通信        串口相當於硬體類型的接口。
  • Modbus TCP協議及上位機軟體編寫
    響應:MBAP 功能碼 數據長度 數據(一個地址的數據為1位)如:00 01 00 00 00 06 01 01 00 02 00 08 在從站0x01中,讀取開始地址為0x0002的線圈數據,讀0x0008位回:00 01 00 00 00 04 01 01 01 01數據長度為0x01個字節,數據為0x01,第一個線圈為ON,其餘為OFF三、上位機編寫
  • 【C#上位機必看】你們想要的練手項目來了
    ,似乎學到了很多知識,但是不知道怎麼應用,因此我找了一個真實的上位機小項目,讓大家來練練手。        單片機MCU的使用分為兩種,一種是單片機開發,就是嵌入式開發,一般採用C語言編程,另一種是單片機應用,比如和單片機進行通信控制,而作為上位機開發人員,我們更多偏向於後者,上位機按照既定的協議對單片機實現控制。
  • 使用Vehicle Spy圖形面板快速搭建上位機
    Vehicle Spy的Graphical Panels工具與應用程式的圖形化用戶界面(GUI)類似,我們可以使用它來輕鬆創建自己的上位機。工程師可以創建一些圖形面板的集合併將其分發至其他人員。這樣不熟悉Vehicle Spy的工程師也可以使用面板進行測試和控制工作。
  • 上位機基於C#通過TCP/IP和庫卡機器人通訊
    這裡將庫卡機器人作為客戶端,上位機作為伺服器進行通訊。xml的通訊,其實可以分解為幾個步驟:機器人發送到上位機:機器人程序將變量或者數值寫入xml的元素中→機器人將xml發送通過服務端發送到上位機的服務端→服務端接受到數據,按照xml的格式解析其中元素。
  • 這樣學上位機,是不是有意思多了
    收錄於話題 #上位機開發實踐
  • 手把手教你用Labview寫一個串口上位機
    但是在我們的開發過程中,肯定不能時刻都有一個設備供我們調試使用,藉助VSPD軟體,可以在電腦上創建一對內部連接的虛擬串口。大家在安裝完VSPD後肯定也發現了,通過VSPD添加的埠總是成對出現的,如COM1、COM2。這兩個埠是內部連接的。如果向COM1發送數據,則會在COM2收到,既這兩個埠是可以相互通信的。
  • 連載丨手把手教你winform上位機系列二:PLC編寫及配置
    上一節我們已經搭建好了winform上位機的界面顯示部分,現在我們需要做的事情如下:1.PLC程序編寫及通信配置