哈密市网站建设_网站建设公司_外包开发_seo优化
2026/1/12 18:37:00 网站建设 项目流程

QT_c++和C#工业MES上位机9套源码 清单: 1)QT5(WY_DJ)智能点胶系列 2)QT5(WF_TRACE3)MES现场数据追溯 3)QT5(PRV)工业自动扫码追溯 4)QT5(LZLN_HE_PLUS)工业气体标定 5)C#2019(WF8063)工业自动压装机 6)C#2019(WF_PRESS_OFSET)工业自动化 7)C#2019(FKSZ)多工位工业自动化 8)C#2019(20158090B)新能源工业 9)C#2019(ZetQPressFitting)MODBUS工业自动化 10)升版两套(_for_dx16和for_dx_2022) 全部都是现场应用。 1,C#多工位力位移监控! 完整应用,vs2015开发,用到dx控件,我会赠送。 这是一个工业应用上位机,下位机为plc。 设备启动后上下位机通信完成全自动动作。 tcpip扫码,监控曲线,存数据,导数据。 根据不同场景部署不同数据库,大致3类,sqlserver,mysql,access。 2,基于qt5工业生产追溯! : 这是一个汽车部件制造企业的一条厂线追溯,由本人单独完成。 设计技术众多,C++,PLC,OPC,工业以太网(扫码枪),串口扫码枪,多种数据库(多台设备)无缝连接与切换。 与该其他MES无缝链接。 根据用户场景不同,应用不同的数据库,sqlserver,mysql,access。 如果有盆友需要外包业务的,也可以谈哦,机械,电器,软件上位机,mes,wms等都是可以的。 参数如下: ----------------------------- 1)编程语言:C++ (11或以上); ----------------------------- 2)编程环境:QT5.14; ----------------------------- 3)编程工具1:qss ; ----------------------------- 4)编译器:msvc ;(没有就完整安装2019,一定要选msvc,或 安装 WIN10 SDK) ----------------------------- 5)数据库:access, mysql, sqlserver ; ----------------------------- 6)如何加载pro文件文件->打开文件或项目; 在Build&Run 下选择 Qt 5.14.2 msvc2017(或2015) 左侧边栏点击项目,右边概要下的Shadow build 不用勾选; ----------------------------- 7) SDK需要安装win10SDK(编译或调试要用) ----------------------------- 8) 构建记得先qtmake, 再点击重新构建 -----------------------------

工业上位机开发这潭水,玩过的都知道水深火热。下位机PLC的脾气得摸透,数据库得见人说人话,现场设备动不动就给你玩心跳。最近整理了几套实战源码,都是产线里摸爬滚打出来的真家伙,咱们挑两个典型场景掰扯掰扯。

C#这头老司机玩转多工位

就拿那个力位移监控系统来说,TCP/IP和PLC的通信是基本功。看这段握手代码:

var plc = new Sharp7Client(); if (!plc.ConnectTCP("192.168.1.10", 102, 0)) { MessageBox.Show("PLC大爷今天没上工?"); return; } byte[] buffer = new byte[12]; plc.DBRead(1, 0, 12, buffer);

这可不是实验室里的HelloWorld,产线上设备掉线就得自动重连三次,还得记黑名单。DX控件画曲线时遇到过个坑——坐标轴刷新频率太高直接卡成PPT。后来用双缓冲+异步加载才搞定,想看源码的私聊。

数据库切换这活儿得玩成川剧变脸。我封装了个工厂模式:

public IDBAdapter CreateDB(string type) { switch(type.ToLower()) { case "sqlserver": return new SqlServerAdapter(_connStr); case "mysql": return new MySqlAdapter(_connStr.Replace(";", " ")); case "access": return new OleDbAdapter(_connStr); default: throw new Exception("这数据库俺们村不认!"); } }

产线工人切换数据库比换电视频道还溜,三种数据库字段兼容性处理才是真魔鬼细节。

QT那边玩的是全厂通吃

汽车零部件追溯系统里,OPC通信是重头戏。看这段读取PLC数据的操作:

QOpcUaNode *node = client->node("ns=2;s=Device1.Pressure"); node->readAttributes(QOpcUa::NodeAttribute::Value); connect(node, &QOpcUaNode::attributeRead, [=](QOpcUa::NodeAttributes attrs){ if(attrs & QOpcUa::NodeAttribute::Value) { qDebug() << "当前压力:" << node->attribute(QOpcUa::NodeAttribute::Value).value.toString(); } });

遇到过扫码枪同时发TCP和串口的需求,最后用了个双通道监听队列,哪个先响应就用哪个的数据。数据库切换更刺激——不同设备可能用不同库类型,搞了个热切换方案:

void DBManager::switchDB(DbType type) { _currentDB->disconnect(); delete _currentDB; switch(type) { case MySQL: _currentDB = new MySqlWrapper(_config); break; case SQLServer: _currentDB = new SQLServerWrapper(_config); break; case Access: _currentDB = new AccessWrapper(_config); break; } emit dbReconnected(_currentDB->ping()); }

QSS美化界面这事得提一嘴,曾经被甲方吐槽界面丑得像Win98。后来用渐变+动画帧翻身:

QProgressBar { border: 2px solid #1E90FF; border-radius: 5px; background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #F0F8FF, stop:1 #E6E6FA); } QProgressBar::chunk { background-color: #00BFFF; width: 10px; }

现在这界面运行起来,产线大妈都说有科技感。

开发环境配置有几个坑得提醒新人:QT5.14装msvc编译器时容易漏装Windows SDK,C#项目升级到VS2019记得把.NET Framework版本锁死。构建顺序别乱来——先qmake再重建是保命口诀,Shadow build勾选必死无疑。源码里那些看似多余的日志输出,关键时刻能救你狗命。

(合作接单这事悄悄说:机械臂联调、WMS系统对接这些硬菜咱都下过厨,有项目需求直接甩需求文档过来,咖啡管够就能开工)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询