Parcourir la source

添加标定压力传感器界面

guoqiang il y a 1 an
Parent
commit
05dd4d711f
6 fichiers modifiés avec 478 ajouts et 41 suppressions
  1. 367 0
      src/Calibration.qml
  2. 6 6
      src/ChooseValve.qml
  3. 16 16
      src/main.qml
  4. 65 0
      src/modbus.js
  5. 1 0
      src/qml.qrc
  6. 23 19
      src/valve_experiment.pro.user

+ 367 - 0
src/Calibration.qml

@@ -0,0 +1,367 @@
+import QtQuick 2.11
+import QtQuick.Controls 1.4
+import QtQuick.Layouts 1.14
+import "modbus.js" as ModbusJs
+
+Item {
+
+    Loader{
+        id:loader
+        anchors.fill: parent
+        anchors.margins: 5
+    }
+    function show(){
+        if(loader.sourceComponent  === null){
+            loader.sourceComponent  = componet
+        }
+        loader.item.show()
+    }
+
+    function exit(){
+        if(loader.sourceComponent  !== null){
+            loader.item.exit()
+        }
+    }
+
+    Component{
+        id:componet
+        GroupBox{
+            id:groupbox
+            x:width
+            title: "标定模式"
+            //property int  readPressure_index: 0;
+
+
+            Timer{
+                id:componetTimer
+                repeat: false
+                interval: 1000
+                onTriggered: {
+
+                    var ret = ModbusJs.checkModebusDevice(controlSerial,sensorSerial,log)
+                    if(ret === false)
+                        log.show("自检错误")
+                    else{
+                        log.show("自检正常")
+                        ModbusJs.closeAllValve(controlSerial)
+
+                        //打开三个传感阀
+                        ModbusJs.highPressureSensorCtrl(controlSerial,true)
+                        ModbusJs.lowPressureSensorCtrl(controlSerial,true)
+                        ModbusJs.negativePumpPowerCtrl(controlSerial,true)
+
+                        sensorTimer.start()
+                        //sensorTimer.running  = true
+                    }
+                    //1000 会造成启动慢 延迟赋值
+                    //gauge.maximumValue = 1
+                }
+            }
+
+
+
+
+
+            Timer{
+                id:sensorTimer
+                repeat: true
+                triggeredOnStart: false
+                interval: 1000
+                onTriggered: {
+                    var obj
+                    if(comboBox1.currentText === "低压传感器"){
+                        obj = ModbusJs.lowPressureSensorReadReq(sensorSerial)
+                        if(obj.ret === false){
+                            log.show("低压传感器"+"通讯错误")
+                        }
+                        else{
+                            gauge_low.value = parseInt(number)
+                            gauge_low.realValue = number
+                        }
+                    }else if(comboBox1.currentText === "高压传感器"){
+                        obj = ModbusJs.highPressureSensorReadReq(sensorSerial)
+                        if(obj.ret === false){
+                            log.show("高压传感器"+"通讯错误")
+                        }
+                        else{
+                            gauge_high.value = parseInt(number)
+                            gauge_high.realValue = number
+                        }
+                    }else if(comboBox1.currentText === "负压传感器"){
+                        obj = ModbusJs.negativePressureSensorReadReq(sensorSerial)
+                        if(obj.ret === false){
+                            log.show("负压传感器"+"通讯错误")
+                        }
+                        else{
+                            gauge_negative.value = parseInt(number)
+                            gauge_negative.realValue = number
+                        }
+                    }
+
+                }
+            }
+
+
+
+            function show(){
+                animationShow.running = true
+                componetTimer.start()
+            }
+
+            function exit(){
+                sensorTimer.stop()
+                animationExit.running = true
+                ModbusJs.closeAllValve(controlSerial)
+            }
+
+            //加载任务动画效果
+            NumberAnimation {
+                id: animationShow
+                target: groupbox
+                property: "x"
+                from: groupbox.x
+                to: 0
+                duration: 500
+            }
+            NumberAnimation {
+                id: animationExit
+                target: groupbox
+                property: "x"
+                from: groupbox.x
+                to: 1024
+                duration: 500
+            }
+
+
+            Column{
+                anchors.left: parent.left
+                anchors.leftMargin: 2
+                anchors.top: parent.top
+                anchors.topMargin: 10
+                spacing: 30
+
+                Rectangle{
+                    width: 980
+                    height: 75
+                    color: "white"
+                    radius: 6
+
+                    Row{
+                        //anchors.fill: parent
+                        anchors.centerIn: parent.Center
+                        spacing: 20
+
+                        Button{
+                            id:positive_relif
+                            text: "打开正压罐泄压阀"
+                            //anchors.horizontalCenter: parent.horizontalCenter
+                            onClicked: {
+                                ModbusJs.positivePressureTankOutputCtrl(controlSerial,true)
+                            }
+                        }
+
+                        Button{
+                            id:negitive_relif
+                            text: "打开负压罐泄压阀"
+                            //anchors.horizontalCenter: parent.horizontalCenter
+                            onClicked: {
+                                ModbusJs.negativePressureTankOutputCtrl(controlSerial,true)
+
+                            }
+                        }
+
+                        Row{
+                            spacing: 5
+                            Text {
+                                anchors.verticalCenter: parent.verticalCenter
+                                text: qsTr("读取压力值:")
+                                font.bold: true
+                                font.pixelSize: 13
+                            }
+                            UserComboBox{
+                                id:comboBox1
+                                anchors.verticalCenter: parent.verticalCenter
+                                width: 145
+                                height: 25
+                                bgColor:"#D2D5D9"
+                                model: ["不读取","高压传感器","低压传感器", "负压传感器"]
+
+                                onActivated: {
+                                    if(currentText === "不读取"){
+                                        low_zero.enabled = false;
+                                        high_zero.enabled = false;
+                                        neg_zero.enabled = false;
+                                    }else if(currentText === "高压传感器"){
+                                        low_zero.enabled = false;
+                                        high_zero.enabled = true;
+                                        neg_zero.enabled = false;
+                                    }else if(currentText === "低压传感器"){
+                                        low_zero.enabled = true;
+                                        high_zero.enabled = false;
+                                        neg_zero.enabled = false;
+                                    }else if(currentText === "负压传感器"){
+                                        low_zero.enabled = false;
+                                        high_zero.enabled = false;
+                                        neg_zero.enabled = true;
+                                    }
+
+                                }
+
+                            }
+                        }
+
+                    }
+                }
+
+
+                Row{
+                        x:-10
+
+                        spacing: 50
+                        anchors.horizontalCenter: parent.horizontalCenter
+
+                            Rectangle{
+                                width: 300*0.75
+                                height: 300
+                                color: "white"
+                                radius: 6
+                                anchors.verticalCenter: parent.verticalCenter
+
+                                Column{
+                                    anchors.fill: parent
+                                    spacing: 20
+
+                                    Button{
+                                        id:high_zero
+                                        text: "高压传感器标零"
+                                        enabled: false
+                                        anchors.horizontalCenter: parent.horizontalCenter
+                                        onClicked: {
+                                            if(ModbusJs.highPressureSetZeroReq(sensorSerial)){
+                                            }else{
+                                                log.show("高压传感器:"+"标零失败!")
+                                            }
+                                        }
+                                    }
+
+                                    Gauge {
+                                        id:gauge_high
+                                        width: parent.width
+                                        height: parent.width
+                                        //anchors.centerIn: parent
+                                        value: 0.0
+                                        //realValue:0.0
+                                        maximumValue: 1000
+                                        minimumValue: {
+                                            return 0
+                                        }
+
+
+                                        Behavior on value { NumberAnimation { duration: 1000 }}
+                                    }
+
+                                }
+                            }
+
+
+                        Rectangle{
+                            width: 300*0.75
+                            height: 300
+                            color: "white"
+                            radius: 6
+                            anchors.verticalCenter: parent.verticalCenter
+
+                            Column{
+                                anchors.fill: parent
+                                spacing: 20
+
+                                Button{
+                                    id:low_zero
+                                    text: "低压传感器标零"
+                                    enabled: false
+                                    anchors.horizontalCenter: parent.horizontalCenter
+                                    onClicked: {
+                                        if(ModbusJs.lowPressureSetZeroReq(sensorSerial)){
+                                        }else{
+                                            log.show("低压传感器:"+"标零失败!")
+                                        }
+                                    }
+                                }
+
+                                Gauge {
+                                    id:gauge_low
+                                    width: parent.width
+                                    height: parent.width
+                                    anchors.centerIn: parent
+                                    value: 0.0
+                                    //realValue:0.0
+                                    maximumValue: 1000
+                                    minimumValue: {
+                                        return 0
+                                    }
+
+
+                                    Behavior on value { NumberAnimation { duration: 1000 }}
+                                }
+
+                            }
+                        }
+
+                        Rectangle{
+                            width: 300*0.75
+                            height: 300
+                            color: "white"
+                            radius: 6
+                            anchors.verticalCenter: parent.verticalCenter
+
+                            Column{
+                                anchors.fill: parent
+                                spacing: 20
+
+                                Button{
+                                    id:neg_zero
+                                    text: "负压传感器标零"
+                                    enabled: false
+                                    anchors.horizontalCenter: parent.horizontalCenter
+                                    onClicked: {
+                                        if(ModbusJs.negativePressureSetZeroReq(sensorSerial)){
+                                        }else{
+                                            log.show("负压传感器:"+"标零失败!")
+                                        }
+                                    }
+                                }
+
+                                Gauge {
+                                    id:gauge_negative
+                                    width: parent.width
+                                    height: parent.width
+                                    anchors.centerIn: parent
+                                    value: 0.0
+                                    //realValue:0.0
+                                    maximumValue: 900
+                                    minimumValue: {
+                                         return -100
+                                    }
+
+
+                                    Behavior on value { NumberAnimation { duration: 1000 }}
+                                }
+
+                            }
+                        }
+
+                    }
+
+
+
+            }
+
+
+
+        }
+
+
+
+    }
+
+}

+ 6 - 6
src/ChooseValve.qml

@@ -44,12 +44,12 @@ MenuBar {
                     choose(text)
                 }
             }
-//            MenuItem {
-//                text: "人工模式"
-//                onTriggered: {
-//                    choose(text)
-//                }
-//            }
+            MenuItem {
+                text: "标定模式"
+                onTriggered: {
+                    choose(text)
+                }
+            }
         }
 
         Menu{

+ 16 - 16
src/main.qml

@@ -31,7 +31,7 @@ ApplicationWindow {
                 vacuoValve.exit()
                 peopleCoverHoleValve.exit()
                 tankValve.exit()
-                manualMode.exit()
+                calibrationMode.exit()
                 sealSelfTest.exit()
                 safeValve.show()
                 ModbusJs.closeAllValve(controlSerial)
@@ -41,7 +41,7 @@ ApplicationWindow {
                 vacuoValve.exit()
                 peopleCoverHoleValve.exit()
                 tankValve.exit()
-                manualMode.exit()
+                calibrationMode.exit()
                 sealSelfTest.exit()
                 breatheValve.show()
                 ModbusJs.closeAllValve(controlSerial)
@@ -51,7 +51,7 @@ ApplicationWindow {
                 breatheValve.exit()
                 peopleCoverHoleValve.exit()
                 tankValve.exit()
-                manualMode.exit()
+                calibrationMode.exit()
                 vacuoValve.show()
                 sealSelfTest.exit()
                 ModbusJs.closeAllValve(controlSerial)
@@ -61,7 +61,7 @@ ApplicationWindow {
                 breatheValve.exit()
                 vacuoValve.exit()
                 tankValve.exit()
-                manualMode.exit()
+                calibrationMode.exit()
                 sealSelfTest.exit()
                 peopleCoverHoleValve.show()
                 ModbusJs.closeAllValve(controlSerial)
@@ -71,7 +71,7 @@ ApplicationWindow {
                 breatheValve.exit()
                 vacuoValve.exit()
                 peopleCoverHoleValve.exit()
-                manualMode.exit()
+                calibrationMode.exit()
                 sealSelfTest.exit()
                 tankValve.show()
                 ModbusJs.closeAllValve(controlSerial)
@@ -81,20 +81,20 @@ ApplicationWindow {
                 breatheValve.exit()
                 vacuoValve.exit()
                 peopleCoverHoleValve.exit()
-                manualMode.exit()
+                calibrationMode.exit()
                 tankValve.exit()
                 sealSelfTest.show()
                 ModbusJs.closeAllValve(controlSerial)
             }
 
-//            else if(text === "人工模式"){
-//                safeValve.exit()
-//                breatheValve.exit()
-//                vacuoValve.exit()
-//                peopleCoverHoleValve.exit()
-//                tankValve.exit()
-//                manualMode.show()
-//            }
+            else if(text === "标定模式"){
+                safeValve.exit()
+                breatheValve.exit()
+                vacuoValve.exit()
+                peopleCoverHoleValve.exit()
+                tankValve.exit()
+                calibrationMode.show()
+            }
 
         }
     }
@@ -125,9 +125,9 @@ ApplicationWindow {
     }
 
 
-    ManualMode{
+    Calibration{
         anchors.fill: parent
-        id:manualMode
+        id:calibrationMode
     }
     Component.onCompleted: {
         breatheValve.show()

+ 65 - 0
src/modbus.js

@@ -505,6 +505,28 @@ function highPressureSensorReadReq(serial){
 
     return{ ret:ret,pressureNumber:pressureNumber}
 }
+
+//高压传感器 标零
+function highPressureSetZeroReq(serial){
+    var command = highPressureSensorAddress+" "+"06 00 1E 00 01"
+    var data = serial.serialWriteReponse(command)
+
+    var ret = false
+
+    if(data.length === 0)
+        data = serial.serialWriteReponse(command)
+    if(data.length === 0)
+        data = serial.serialWriteReponse(command)
+
+    if(data.length > 0){
+        if( data[1]===0x06 && data[2]=== 0x06){
+            ret =  true;
+        }
+    }
+
+    return ret
+}
+
 //低压传感器读取压力请求
 function lowPressureSensorReadReq(serial){
     var retry = 0
@@ -535,6 +557,28 @@ function lowPressureSensorReadReq(serial){
 
     return{ ret:ret,pressureNumber:pressureNumber}
 }
+
+//低压传感器 标零
+function lowPressureSetZeroReq(serial){
+    var command = lowPressureSensorAddress+" "+"06 00 1E 00 01"
+    var data = serial.serialWriteReponse(command)
+
+    var ret = false
+
+    if(data.length === 0)
+        data = serial.serialWriteReponse(command)
+    if(data.length === 0)
+        data = serial.serialWriteReponse(command)
+
+    if(data.length > 0){
+        if( data[1]===0x06 && data[2]=== 0x06){
+            ret =  true;
+        }
+    }
+
+    return ret
+}
+
 //负压传感器读取压力请求
 function negativePressureSensorReadReq(serial){
     var command = negativelowPressureSensorAddress+" "+"04 00 00 00 02"
@@ -565,6 +609,27 @@ function negativePressureSensorReadReq(serial){
     return{ ret:ret,pressureNumber:pressureNumber}
 }
 
+//负压传感器 标零
+function negativePressureSetZeroReq(serial){
+    var command = negativelowPressureSensorAddress+" "+"06 00 1E 00 01"
+    var data = serial.serialWriteReponse(command)
+
+    var ret = false
+
+    if(data.length === 0)
+        data = serial.serialWriteReponse(command)
+    if(data.length === 0)
+        data = serial.serialWriteReponse(command)
+
+    if(data.length > 0){
+        if( data[1]===0x06 && data[2]=== 0x06){
+            ret =  true;
+        }
+    }
+
+    return ret
+}
+
 
 
 

+ 1 - 0
src/qml.qrc

@@ -53,5 +53,6 @@
         <file>Step.qml</file>
         <file>SealSelfTestNstep.qml</file>
         <file>CarPlate.qml</file>
+        <file>Calibration.qml</file>
     </qresource>
 </RCC>

+ 23 - 19
src/valve_experiment.pro.user

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 8.0.0, 2023-11-23T10:53:52. -->
+<!-- Written by QtCreator 12.0.0, 2023-12-18T17:52:25. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
@@ -37,6 +37,7 @@
    <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
    <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
    <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+   <value type="int" key="EditorConfiguration.PreferAfterWhitespaceComments">0</value>
    <value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
    <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
    <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
@@ -54,6 +55,7 @@
    <value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
    <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
    <value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
+   <value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
   </valuemap>
  </data>
  <data>
@@ -75,6 +77,7 @@
     <value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
     <value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
     <value type="int" key="ClangTools.ParallelJobs">4</value>
+    <value type="bool" key="ClangTools.PreferConfigFile">false</value>
     <valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
     <valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
     <valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
@@ -95,7 +98,7 @@
    <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
     <value type="int" key="EnableQmlDebugging">0</value>
     <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">..\build\</value>
-    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">../build/</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">../build</value>
     <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
      <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
       <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@@ -108,8 +111,8 @@
       <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
      </valuemap>
      <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">构建</value>
      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
     </valuemap>
     <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
@@ -119,8 +122,8 @@
       <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
      </valuemap>
      <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">清除</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">清除</value>
      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
     </valuemap>
     <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
@@ -134,7 +137,7 @@
    </valuemap>
    <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
     <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">..\build\</value>
-    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">../build/</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">../build</value>
     <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
      <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
       <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@@ -147,8 +150,8 @@
       <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
      </valuemap>
      <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">构建</value>
      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
     </valuemap>
     <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
@@ -158,8 +161,8 @@
       <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
      </valuemap>
      <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">清除</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">清除</value>
      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
     </valuemap>
     <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
@@ -188,8 +191,8 @@
       <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
      </valuemap>
      <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">构建</value>
      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
     </valuemap>
     <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
@@ -199,8 +202,8 @@
       <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
      </valuemap>
      <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">清除</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">清除</value>
      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
     </valuemap>
     <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
@@ -218,8 +221,8 @@
    <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
     <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
      <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">部署</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">部署</value>
      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
     </valuemap>
     <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
@@ -235,12 +238,13 @@
     <valuelist type="QVariantList" key="CustomOutputParsers"/>
     <value type="int" key="PE.EnvironmentAspect.Base">2</value>
     <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:D:/Code/QTapps/IntegratedTestBench/src/valve_experiment.pro</value>
     <value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">D:/Code/QTapps/IntegratedTestBench/src/valve_experiment.pro</value>
-    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
     <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
     <value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
-    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
     <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
     <value type="QString" key="RunConfiguration.WorkingDirectory.default">D:/Code/QTapps/IntegratedTestBench/build</value>
    </valuemap>