Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 深夜福利一区二区,中文字幕曰韩一区二区不卡,一级全黄60分钟免费

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          Qt編寫控件屬性設計器7-串口采集

          Qt編寫控件屬性設計器7-串口采集

          、前言

          數據源是組態軟件的核心靈魂,少了數據源,組態就是個花架子沒卵用,一般數據源有三種方式獲取,串口、網絡、數據庫,至于數據規則是什么,這個用戶自己指定,本設計器全部采用第一個字節作為數據來演示。

          串口通信在大量的工業控制領域用的最多,就因為穩定兩個字,長期霸占了幾十年的通信規則,現在還有大量的工業控制設備使用的就是串口通信,Qt5以后封裝了串口通信的類,不過據說不大好用,也不大穩定,本人在早期的Qt版本比如Qt5.3時代用過幾次,是有點莫名其妙的問題,后面索性就不在用自帶的了,而是用的第三方開源的qextserialport,主要還是因為本人做過的硬件設備上面大量的還是Qt4.8的Qt版本,沒法用Qt5,還沒升級到Qt5可能也是考慮到穩定性的原因。

          二、實現的功能

          1. 自動加載插件文件中的所有控件生成列表,默認自帶的控件超過120個。

          2. 拖曳到畫布自動生成對應的控件,所見即所得。

          3. 右側中文屬性欄,改變對應的屬性立即應用到對應選中控件,直觀簡潔,非常適合小白使用。

          4. 獨創屬性欄文字翻譯映射機制,效率極高,可以非常方便拓展其他語言的屬性欄。

          5. 所有控件的屬性自動提取并顯示在右側屬性欄,包括枚舉值下拉框等。

          6. 支持手動選擇插件文件,外部導入插件文件。

          7. 可以將當前畫布的所有控件配置信息導出到xml文件。

          8. 可以手動選擇xml文件打開控件布局,自動根據xml文件加載控件。

          9. 可拉動滑動條、勾選模擬數據復選框、文本框輸入,三種方式來生成數據應用所有控件。

          10. 控件支持八個方位拉動調整大小,自適應任意分辨率,可鍵盤上下左右微調位置。

          11. 打通了串口采集、網絡采集、數據庫采集三種方式設置數據。

          12. 代碼極其精簡,注釋非常詳細,可以作為組態的雛形,自行拓展更多的功能。

          13. 純Qt編寫,支持任意Qt版本+任意編譯器+任意系統。

          三、效果圖

          四、核心代碼

          void frmData::initServer()
          {
           //實例化串口類,綁定信號槽
           com=new QextSerialPort(QextSerialPort::EventDriven, this);
           connect(com, SIGNAL(readyRead()), this, SLOT(readDataCom()));
           //實例化網絡通信客戶端類,綁定信號槽
           tcpClient=new QTcpSocket(this);
           connect(tcpClient, SIGNAL(readyRead()), this, SLOT(readDataClient()));
           //實例化網絡通信服務端類,綁定信號槽
           tcpSocket=NULL;
           tcpServer=new QTcpServer(this);
           connect(tcpServer, SIGNAL(newConnection()), this, SLOT(newConnection()));
           //開啟定時器讀取數據庫采集數據
           timer=new QTimer(this);
           connect(timer, SIGNAL(timeout()), this, SLOT(readDataDb()));
           timer->setInterval(1000);
          }
          void frmData::on_btnOpenCom_clicked()
          {
           if (ui->btnOpenCom->text()=="打開") {
           com->setPortName(App::PortName);
           bool ok=com->open(QIODevice::ReadWrite);
           if (ok) {
           com->setBaudRate((BaudRateType)App::BaudRate);
           setEnable(ui->btnOpenCom, false);
           ui->btnOpenCom->setText("關閉");
           }
           } else {
           com->close();
           setEnable(ui->btnOpenCom, true);
           ui->btnOpenCom->setText("打開");
           }
          }
          void frmData::readDataCom()
          {
           QByteArray data=com->readAll();
           if (data.length() <=0) {
           return;
           }
           //默認取第一個字節解析,可以自行更改
           quint8 value=data.at(0);
           ui->txtValue->setText(QString::number(value));
           append(1, data.toHex());
          }
          
          

          五、控件介紹

          1. 超過150個精美控件,涵蓋了各種儀表盤、進度條、進度球、指南針、曲線圖、標尺、溫度計、導航條、導航欄,flatui、高亮按鈕、滑動選擇器、農歷等。遠超qwt集成的控件數量。

          2. 每個類都可以獨立成一個單獨的控件,零耦合,每個控件一個頭文件和一個實現文件,不依賴其他文件,方便單個控件以源碼形式集成到項目中,較少代碼量。qwt的控件類環環相扣,高度耦合,想要使用其中一個控件,必須包含所有的代碼。

          3. 全部純Qt編寫,QWidget+QPainter繪制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等編譯器,支持任意操作系統比如windows+linux+mac+嵌入式linux等,不亂碼,可直接集成到Qt Creator中,和自帶的控件一樣使用,大部分效果只要設置幾個屬性即可,極為方便。

          4. 每個控件都有一個對應的單獨的包含該控件源碼的DEMO,方便參考使用。同時還提供一個所有控件使用的集成的DEMO。

          5. 每個控件的源代碼都有詳細中文注釋,都按照統一設計規范編寫,方便學習自定義控件的編寫。

          6. 每個控件默認配色和demo對應的配色都非常精美。

          7. 超過130個可見控件,6個不可見控件。

          8. 部分控件提供多種樣式風格選擇,多種指示器樣式選擇。

          9. 所有控件自適應窗體拉伸變化。

          10. 集成自定義控件屬性設計器,支持拖曳設計,所見即所得,支持導入導出xml格式。

          11. 自帶activex控件demo,所有控件可以直接運行在ie瀏覽器中。

          12. 集成fontawesome圖形字體+阿里巴巴iconfont收藏的幾百個圖形字體,享受圖形字體帶來的樂趣。

          13. 所有控件最后生成一個動態庫文件(dll或者so等),可以直接集成到qtcreator中拖曳設計使用。

          14. 目前已經有qml版本,后期會考慮出pyqt版本,如果用戶需求量很大的話。

          15. 自定義控件插件開放動態庫使用(永久免費),無任何后門和限制,請放心使用。

          16. 目前已提供26個版本的dll,其中包括了qt5.12.3 msvc2017 32+64 mingw 32+64 的。

          17. 不定期增加控件和完善控件,不定期更新SDK,歡迎各位提出建議,謝謝!

          18. Qt入門書籍推薦霍亞飛的《Qt Creator快速入門》《Qt5編程入門》,Qt進階書籍推薦官方的《C++ GUI Qt4編程》。

          19. 強烈推薦程序員自我修養和規劃系列書《大話程序員》《程序員的成長課》《解憂程序員》,受益匪淺,受益終生!

          力/光伏電站箱變測控裝置華世智能HS2002概述:

          一、華世智能HS2002箱變測控裝置的基本參數:

          ?交流電壓:100V、315V、480V、520V、690V、800V自適應

          ?交流電流:5A或1A

          ?交、直流裝置電源:220V或110V

          ?頻率:50Hz

          二、華世智能HS2002箱變測控裝置的適用范圍:

          適用于風電或光伏箱變低壓側、光伏分裂變壓器低壓側的模擬量采集、電量保護、非電量保護、遠方控制和通訊功能;實現升壓站對風電或光伏箱變的遠程管理和自動化監控,滿足“無人值班,少人值守”運行管理要求

          三、華世智能HS2002箱變測控裝置的主要特點:

          3.1、全密封設計,精心設計的抗干擾組件,讓抗振和抗電磁干擾能力得到很大提高,以適應惡劣環境。其可分散安裝于開關柜上運行

          3.2、工業級集成電路,保障裝置的穩定性和可靠性

          3.3、高性能處理器ARM和高分辨率A/D轉換器,能就地實時完成電流、電壓、有功功率、無功功率、功率因數、頻率、電度等的計算;可實時完成保護、測量等

          3.4、保護功能完全不依賴通訊網,網絡癱瘓與否,不影響保護正常運行

          3.5、軟硬件雙看門狗功能,系統同時具有較高的測量精度和抗干擾能力

          3.6、友好的人機界面,全漢化大屏幕液晶顯示,跳閘報告,告警報告,遙信,遙測,定值整定等,都可在液晶上有明確的漢字標識,便于用戶使用和掌握

          3.7、RS-485通信、以太網通信、光纖通信接口(選配);組網經濟方便:RS485口可接入匯流箱、逆變器等智能設備,并可完成規約轉換;具CPU插件自有串口,向外提供規約接口;以太網通訊RJ45口,以太網光口(選配)可組成自愈式光纖環網

          光伏電站故障位置信號集中報警裝置HS-MFA系列▼

          天焊好了之前設計的一塊板子,打算燒錄上程序看看效果。

          因為之前設計的方案是用串口作為信號輸出,所以燒完了就直接接在pc上看串口繪圖了,可是竟然一個數也沒有


          打開串口監視器發現它發來的全是一串又一串的亂碼。

          我找來了好多之前在別的板子上跑過沒問題的程序,燒錄,發現輸出都變成了亂碼,而這些程序在原有的板子上工作的及其正常。

          我用仿真器進了debug,watch window里面的數幾乎每個都正常,直到串口發出的前一刻,每次運算都在我的計劃之中。

          那至少可以初步猜測單片機工作應該是正常的,問題出在了串口模塊上。

          我首先懷疑了波特率,不過不管是我的單片機程序還是接受的上位機,波特率都是115200,毫無差錯

          我又把程序改成了不同的幾個波特率,從9600、14400到56000,都沒有解決掉亂碼的問題。

          難道我遇到傳說中的電磁兼容問題了嗎?應該不會啊就這么簡單的板子,頻率也不高,不過我還是換了更短的串口線,而且在看串口的時候斷掉了仿真器,防止有什么我不知道的干擾,甚至還讓它離電腦遠了一些

          當然了,毫無作用。

          整個一上午大概就是這樣在反復的嘗試中消失掉的。

          臨近下班的時候,我問工程師大哥這種串口亂碼的問題一般要怎么解決,不管是收還是發,獲得的都是亂碼。大哥和我說,這一般是波特率的問題,我講我已經檢查過了,波特率都是匹配的,而且我也換過好幾種了。

          大哥讓我把tx和rx短接起來,看看自發自收的效果。


          下午來了之后,我嘗試了短接,最簡單的串口收發程序,發現是可以的,watch window里面接受的消息和發送的消息完美的匹配。

          那真的是波特率的問題嗎?難道是電壓不穩晶振的頻率不對了?

          我換用了更穩定的電源,后來又嘗試自己手動一點一點的改波特率,看看能不能碰出來它現在的波特率是多少。

          很遺憾沒有成功。

          我幾乎想要放棄,重新弄塊板子了,準備最后看下晶振是不是虛焊


          就在這個時候,隨手拿起來板子我的發現了異常!




          上面寫的是12M而不是我一直使用的8M!!!




          謎題豁然開朗,我按8M外部時鐘設計的115200Hz的波特率,實際上在12M時鐘的驅動下變成了172800Hz,果然最終還是波特率不匹配的問題,只是引起波特率變化的地方在硬件上。

          好嘛,原來是我早上焊晶振的時候順手拿的晶振是12Mhz包里面的,直接給我整懵了半天。。。


          再吐槽一波焊接的事情

          我的焊接水平是太差了

          焊單片機的時候那引腳上的錫死活去不掉,張工都教我好多次了,最后還是勞煩張工給我焊好的



          (貼片單片機太難焊了啊)


          當然了,之前非常愚蠢的先焊接上的幾個直插件因為礙事先取掉了,孔里留著錫。

          我要重新焊上自然得先把孔通了




          于是就得用上這個大寶貝——吸錫器

          我看人家老哥用的賊熟練,烙鐵一燙,然后吸錫器砰的一聲孔就通了,干干凈凈,我尋思我也試試


          誒怎么錫沒動啊,誒怎么又沒動,啊我這焊盤怎么都看不見了

          反反復復終于通了幾個孔,但是也有好幾個孔焊盤讓我給干廢了

          焊上元件以后拿萬用表一量,得嘞,果然不通。

          不通咋辦呢,飛線唄




          還把電位器的塑料封裝焊壞了一塊。

          都弄完了好好測試一下吧

          發現單片機使能ad的引腳是懸空的

          仔細看了看發現對應采樣電阻的焊盤是一點沒剩

          好嘛,這要從單片機的引腳飛線嗎

          飛唄,還能咋地

          當然我這愚蠢的手藝肯定不能只連一個腳上,不過還好旁邊那個引腳沒用,就這樣吧

          啊我的這塊板子也太丑了,看著自己造的丑陋怪物真是無語凝噎。。。。


          主站蜘蛛池模板: 日本丰满少妇一区二区三区| 精品一区二区三区四区| 老湿机一区午夜精品免费福利| 久久精品一区二区三区中文字幕| 精品不卡一区二区| 内射女校花一区二区三区| 日本在线视频一区二区三区| 91福利视频一区| 中文字幕一区二区在线播放| 国产精品视频无圣光一区| 波多野结衣久久一区二区| 国产AV一区二区三区无码野战| 一区二区三区中文字幕| 国产凸凹视频一区二区| 在线精品一区二区三区电影 | 免费萌白酱国产一区二区| 亚洲福利视频一区二区三区| 性无码免费一区二区三区在线| 国产综合无码一区二区辣椒| 久久毛片免费看一区二区三区| 视频一区二区在线观看| 美女视频一区二区三区| 亚洲国产一区明星换脸| 亚洲国产成人久久一区久久 | 精品人妻系列无码一区二区三区 | 国产乱码一区二区三区| 日韩一区二区超清视频| 在线成人一区二区| 成人H动漫精品一区二区| 精品视频在线观看一区二区| 国产成人一区二区三区电影网站| 日韩精品久久一区二区三区| 国产精品一区二区无线| 精品不卡一区中文字幕| 国产一区二区三区高清视频| 文中字幕一区二区三区视频播放| 亚洲综合在线成人一区| 在线视频一区二区日韩国产| 狠狠爱无码一区二区三区| 真实国产乱子伦精品一区二区三区 | 日本精品一区二区久久久|