ZengTao
2023-12-07 d1758c1be9863a10d03928bf93a42ca1bf31d07b
Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes

# Conflicts:
# springboot-vue3/src/main/resources/config.properties
23个文件已修改
858 ■■■■■ 已修改文件
CanadaMes-ui/src/configuration/ManualJog.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/configuration/ServoManualone.json 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/configuration/parameter2.json 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/lang/locales/en-US.json 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/Action.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/ManualJog.vue 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/ManualonePosition.vue 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/Parameter1.vue 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/Parameter2.vue 99 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/Positioning1.vue 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/Positioning2.vue 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/ServoManualone.vue 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/Servomanual.vue 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/Sign.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/State.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/alarm.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java 86 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcServoManualone.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/resources/config.properties 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/configuration/ManualJog.json
@@ -164,7 +164,7 @@
    },
    {
      "button": {
        "name": "B02电磁阀",
        "name": "B02吹气",
        "value": 0,
        "address": "DB10.0",
        "state": 1
@@ -191,7 +191,7 @@
    },
    {
      "button": {
        "name": "B01电磁阀",
        "name": "B01吹气",
        "value": 0,
        "address": "DB10.0",
        "state": 1
CanadaMes-ui/src/configuration/ServoManualone.json
@@ -346,17 +346,7 @@
          }
          
    ]
    , [
      {
          "button": {
            "name": "急停后中止/继续选择",
            "value":0,
            "address":"DB10.0",
            "type":"66"
          }
        }
  ]
     
    
  ]
CanadaMes-ui/src/configuration/parameter2.json
@@ -320,4 +320,15 @@
      "value": 0
    }
  ]
  , [
    {
        "button": {
          "name": "急停后中止/继续选择",
          "value":0,
          "address":"DB10.0",
          "type":"66"
        }
      }
]
]
CanadaMes-ui/src/lang/locales/en-US.json
@@ -348,8 +348,8 @@
      "A02半自动": "A02 Semi-Auto",
      "A02半自动启动": "A02 Semi-Auto Start",
      "B01 所在格子": "B01 Current Grid",
      "B02 所在格子": "B02 Current Grid",
      "急停后中止/继续选择": "Abort/ResumeTasks"
      "B02 所在格子": "B02 Current Grid"
    },
    "langParameter1": {
@@ -386,7 +386,8 @@
          "A01当前格子": "A01 Current Grid",
          "A02所在格子": "A02 Current Grid",
          "B01所在格子": "B01 Current Grid",
          "B02所在格子": "B02 Current Grid"
          "B02所在格子": "B02 Current Grid",
          "急停后中止/继续选择": "Abort/ResumeTasks"
          },
          "langPositioning1": {
            "格子间距": "GridSpacing",
@@ -511,12 +512,12 @@
                "A02行走点动": "A02 SERVE TRAVEL",
                "B01行走点动": "B01 SERVE TRAVEL",
                "B02行走点动": "B02 SERVE TRAVEL",
                "B02翻转气缸": "B02 YV TURN",
                "B02翻转气缸": "B02 Solenoid TURN",
                "B02升降气缸": "B02 Solenoid UP DOWN",
                "B02电磁阀": "B02 Solenoid Gassing",
                "B02吹气": "B02 Solenoid Gassing",
                "B01翻转气缸": "B01 Solenoid TURN",
                "B01升降气缸": "B01 Solenoid UP DOWN",
                "B01电磁阀": "B01 Solenoid Gassing",
                "B01吹气": "B01 Solenoid Gassing",
                "A01输送反向": "A01 VFD conveyor reverse",
                "A02输送反向": "A02 VFD conveyor reverse",
                "A01注电泵": "A01 oil pump",
CanadaMes-ui/src/views/Electrical/Action.vue
@@ -12,7 +12,7 @@
      }}</router-link> -->
      <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
      }}</router-link>
       <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Servo Manual')
       <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
      }}</router-link>
    </el-breadcrumb>
    
CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue
@@ -12,37 +12,41 @@
      <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
      }}</router-link>
      <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{
        $t('ServoManual')
        $t('Parameter')
      }}</router-link>
    </el-breadcrumb>
    <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
      <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
     <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter2')
        }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning1')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('AutomaticParameterSetting')
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Automatic State')
      }}</router-link>
      <router-link to="/Electrical/ManualJog" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualJog')
      }}</router-link>
       <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
<router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Address parameter settings')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('Speed parameter settings')
      }}</router-link>
    </el-breadcrumb>
    <el-row :gutter="20">
CanadaMes-ui/src/views/Electrical/ManualJog.vue
@@ -12,37 +12,41 @@
      <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
      }}</router-link>
      <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{
        $t('ServoManual')
        $t('Parameter')
      }}</router-link>
    </el-breadcrumb>
    <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
      <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter2')
        }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning1')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('AutomaticParameterSetting')
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Automatic State')
      }}</router-link>
      <router-link to="/Electrical/ManualJog" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualJog')
      }}</router-link>
       <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
<router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Address parameter settings')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('Speed parameter settings')
      }}</router-link>
    </el-breadcrumb>
    <el-row :gutter="1">
CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
@@ -12,37 +12,40 @@
      <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
      }}</router-link>
      <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{
        $t('ServoManual')
        $t('Parameter')
      }}</router-link>
    </el-breadcrumb>
    <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
      <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter2')
      }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning1')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('AutomaticParameterSetting')
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Automatic State')
      }}</router-link>
      <router-link to="/Electrical/ManualJog" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualJog')
      }}</router-link>
       <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
<router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Address parameter settings')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('Speed parameter settings')
      }}</router-link>
    </el-breadcrumb>
    <el-row :gutter="10">
CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
@@ -12,37 +12,41 @@
      <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
      }}</router-link>
      <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{
        $t('ServoManual')
        $t('Parameter')
      }}</router-link>
    </el-breadcrumb>
    <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
      <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
     <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter2')
        }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning1')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('AutomaticParameterSetting')
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Automatic State')
      }}</router-link>
      <router-link to="/Electrical/ManualJog" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualJog')
      }}</router-link>
       <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
<router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Address parameter settings')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('Speed parameter settings')
      }}</router-link>
    </el-breadcrumb>
    <el-row :gutter="20">
CanadaMes-ui/src/views/Electrical/Parameter1.vue
@@ -12,36 +12,41 @@
      <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
      }}</router-link>
      <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{
        $t('ServoManual')
        $t('Parameter')
      }}</router-link>
    </el-breadcrumb>
    <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
      <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter2')
      }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning1')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('AutomaticParameterSetting')
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Automatic State')
      }}</router-link>
      <router-link to="/Electrical/ManualJog" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualJog')
      }}</router-link>
       <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
<router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Address parameter settings')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('Speed parameter settings')
      }}</router-link>
    </el-breadcrumb>
    <el-row :gutter="18" class="card">
CanadaMes-ui/src/views/Electrical/Parameter2.vue
@@ -11,33 +11,41 @@
        }}</router-link> -->
        <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
        }}</router-link>
         <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Servo Manual')
         <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
        }}</router-link>
      </el-breadcrumb>
  
      <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
        <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" @click="closeSocket()" active-class="blue-button">{{ $t('Servomanualone')
        }}</router-link>
          <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
          }}</router-link>
         <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter2')
          }}</router-link>
            <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{ $t('Positioning1')
          }}</router-link>
            <router-link to="/Electrical/Positioning2" tag="el-button" type="text"  active-class="blue-button">{{ $t('Positioning2')
          }}</router-link>
           <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('AutomaticParameterSetting')
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Automatic State')
      }}</router-link>
      <router-link to="/Electrical/ManualJog" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualJog')
      }}</router-link>
       <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
<router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Address parameter settings')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('Speed parameter settings')
      }}</router-link>
    </el-breadcrumb>
  
    <el-row :gutter="40">
@@ -86,7 +94,7 @@
  <script>
  import LanguageMixin from '../../lang/LanguageMixin'
  import data from '../../configuration/parameter2'
  import { throttle } from 'lodash';
  // import { throttle } from 'lodash';
  let socket;
  // window.onload=function(){
@@ -167,7 +175,7 @@
  // 将得到的值添加到 data 数组中
  data2.push(resetButtonValues.flat());
  data2.push([]);
  // 在 data2 数组前面添加两个空数组
 
@@ -181,6 +189,35 @@
 
 
}
if (currentButtonName === 'Abort/ResumeTasks' || currentButtonName === '急停后中止/继续选择') {
  const data3 = [];
  const resetButtonValues3 = [this.jsonData[13][0].button.value];
  // 将得到的值添加到 data 数组中
  data3.push(resetButtonValues3.flat());
  data3.unshift([]);
  // 在 data3 数组前面添加两个空数组
  // 创建 jsonObject3 对象,并添加 data3 属性
  const jsonObject3 = { data: data3 };
  // 提交数据到后端
  const jsonString3 = JSON.stringify(jsonObject3);
  console.log('急停后中止/继续选择:', jsonString3);
  socket?.send(jsonString3);
  // setTimeout(()=>
  //   window.location.reload(),2000
  // )
}
},
    initWebSocket () {
 
@@ -221,12 +258,16 @@
  const handleMouseMove = throttle(function(event) {
  const inputBox = document.querySelectorAll('.action-button');
  const target = event.target;
  // const handleMouseMove = throttle(function(event) {
  // const inputBox = document.querySelectorAll('.id');
  // const target = event.target;
  if (parms && inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
//清除id
  // if (parms && inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
//急停按钮
    jsonData2[13][0].button.value = obj.jiting[0][0];
    //清除id
      for (let i = 0; i < jsonData2.length; i++) {
  let arr = jsonData2[i];
@@ -345,11 +386,11 @@
  }
//  console.log(jsonData2);
}, 50);
// }, 50);
        
document.addEventListener('mouseover', handleMouseMove);
// document.addEventListener('mouseover', handleMouseMove);
  
};
// };
CanadaMes-ui/src/views/Electrical/Positioning1.vue
@@ -12,36 +12,41 @@
      <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
      }}</router-link>
      <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{
        $t('ServoManual')
        $t('Parameter')
      }}</router-link>
    </el-breadcrumb>
    <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
      <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter2')
      }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning1')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('AutomaticParameterSetting')
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Automatic State')
      }}</router-link>
      <router-link to="/Electrical/ManualJog" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualJog')
      }}</router-link>
       <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
<router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Address parameter settings')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('Speed parameter settings')
      }}</router-link>
    </el-breadcrumb>
    <el-row :gutter="18" class='card'>
CanadaMes-ui/src/views/Electrical/Positioning2.vue
@@ -12,36 +12,41 @@
      <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
      }}</router-link>
      <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{
        $t('ServoManual')
        $t('Parameter')
      }}</router-link>
    </el-breadcrumb>
    <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
      <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter2')
      }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning1')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('AutomaticParameterSetting')
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Automatic State')
      }}</router-link>
      <router-link to="/Electrical/ManualJog" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualJog')
      }}</router-link>
       <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
<router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Address parameter settings')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('Speed parameter settings')
      }}</router-link>
    </el-breadcrumb>
   <el-row :gutter="18" class='card'>
CanadaMes-ui/src/views/Electrical/ServoManualone.vue
@@ -11,34 +11,41 @@
        }}</router-link> -->
        <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
        }}</router-link>
         <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Servo Manual')
         <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
        }}</router-link>
      </el-breadcrumb>
      <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
        <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{ $t('Servomanualone')
      }}</router-link>
        <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
        }}</router-link>
           <router-link to="/Electrical/Parameter2" tag="el-button" type="text"  @click="closeSocket()" active-class="blue-button">{{ $t('Parameter2')
        }}</router-link>
          <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{ $t('Positioning1')
          }}</router-link>
            <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ $t('Positioning2')
          }}</router-link>
           <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('AutomaticParameterSetting')
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Automatic State')
      }}</router-link>
      <router-link to="/Electrical/ManualJog" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualJog')
      }}</router-link>
       <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
<router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Address parameter settings')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('Speed parameter settings')
      }}</router-link>
    </el-breadcrumb>
    <el-row :gutter="26">
@@ -56,8 +63,8 @@
      </el-row>
      <div class="button-row" style="display: flex; justify-content: space-between;">
        <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex">
          <el-button v-if="item.button && language === 'en-US' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === 'Fault' && item.button.value === 1,'error-button2': item.button.name === 'NotZero' && item.button.value === 0,'fuwei': item.button.name === 'Reset' && item.button.value === 1,'huiling': item.button.name === 'Home' && item.button.value === 1,'qidong': item.button.name === 'A01 Semi-Auto' && item.button.value === 1,'qidong2': item.button.name === 'A02 Semi-Auto' && item.button.value === 1,'qidong3': item.button.name === 'A01 Semi-Auto Start' && item.button.value === 1,'qidong4': item.button.name === 'A02 Semi-Auto Start' && item.button.value === 1,'qidong5': item.button.name === 'A02 Semi-Auto Start' && item.button.value === 1}" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
          <el-button v-if="item.button && language === 'zh-CN' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === '故障' && item.button.value === 1,'error-button2': item.button.name === '未回零' && item.button.value === 0,'fuwei': item.button.name === '复位' && item.button.value === 1,'huiling': item.button.name === '回零' && item.button.value === 1,'qidong': item.button.name === 'A01半自动' && item.button.value === 1,'qidong2': item.button.name === 'A02半自动' && item.button.value === 1,'qidong3': item.button.name === 'A01半自动启动' && item.button.value === 1,'qidong4': item.button.name === 'A02半自动启动' && item.button.value === 1,'qidong5': item.button.name === 'A02半自动' && item.button.value === 1  }" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
          <el-button v-if="item.button && language === 'en-US' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === 'Fault' && item.button.value === 1,'error-button2': item.button.name === 'NotZero' && item.button.value === 0,'fuwei': item.button.name === 'Reset' && item.button.value === 1,'huiling': item.button.name === 'Home' && item.button.value === 1,'qidong': item.button.name === 'A01 Semi-Auto' && item.button.value === 1,'qidong2': item.button.name === 'A02 Semi-Auto' && item.button.value === 1,'qidong3': item.button.name === 'A01 Semi-Auto Start' && item.button.value === 1,'qidong4': item.button.name === 'A02 Semi-Auto Start' && item.button.value === 1,'qidong5': item.button.name === 'A02 Semi-Auto Start' && item.button.value === 1,'jiting': item.button.name === 'Abort/ResumeTasks' && item.button.value === 1}" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
          <el-button v-if="item.button && language === 'zh-CN' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === '故障' && item.button.value === 1,'error-button2': item.button.name === '未回零' && item.button.value === 0,'fuwei': item.button.name === '复位' && item.button.value === 1,'huiling': item.button.name === '回零' && item.button.value === 1,'qidong': item.button.name === 'A01半自动' && item.button.value === 1,'qidong2': item.button.name === 'A02半自动' && item.button.value === 1,'qidong3': item.button.name === 'A01半自动启动' && item.button.value === 1,'qidong4': item.button.name === 'A02半自动启动' && item.button.value === 1,'qidong5': item.button.name === 'A02半自动' && item.button.value === 1,'jiting': item.button.name === '急停后中止/继续选择' && item.button.value === 1  }" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
        </div>
      </div>
    </el-card>
@@ -260,6 +267,33 @@
  // )
}
// if (currentButtonName === 'Abort/ResumeTasks' || currentButtonName === '急停后中止/继续选择') {
//   const data3 = [];
//   const resetButtonValues3 = this.jsonData.map(item => {
//     const buttonItem3 = item.find(subItem => subItem.button && ['Abort/resumeTasks', '急停后中止/继续选择'].includes(subItem.button.name));
//     return buttonItem3 ? buttonItem3.button.value : null;
//   }).filter(value => value !== null);
//   // 将得到的值添加到 data 数组中
//   data3.push(resetButtonValues3.flat());
//   // 在 data3 数组前面添加两个空数组
//   data3.push([], [], [],[], [], [], [],[]);
//   // 创建 jsonObject3 对象,并添加 data3 属性
//   const jsonObject3 = { data: data3 };
//   // 提交数据到后端
//   const jsonString3 = JSON.stringify(jsonObject3);
//   console.log('急停后中止/继续选择:', jsonString3);
//   socket?.send(jsonString3);
//   // setTimeout(()=>
//   //   window.location.reload(),2000
//   // )
// }
//A01半自动提交
@@ -434,7 +468,7 @@
  }
  let obj = JSON.parse(msg.data);
  // console.log(obj)
   console.log(obj)
const weihuiling=obj.weihuiling;
  const jsonData2 = this.jsonData;
@@ -515,22 +549,27 @@
//未回零更新
for (let i = 3; i < jsonData2.length; i++) {
  let arr2 = jsonData2[i];
  for (let j = 3; j < arr2.length; j++) {
    let obj3 = arr2[j];
    if(obj3.button){
      if (obj3.button && (obj3.button.name === "未回零" || obj3.button.name === "NotZero" )) {
      obj3.button.value = weihuiling[0][i];
      //  console.log(obj3.button.value)
    }
jsonData2[2][3].button.value = weihuiling[0][0];
jsonData2[3][3].button.value = weihuiling[0][1];
jsonData2[4][4].button.value = weihuiling[0][2];
jsonData2[5][4].button.value = weihuiling[0][3];
    }
// for (let i = 3; i < jsonData2.length; i++) {
//   let arr2 = jsonData2[i];
//   for (let j = 3; j < arr2.length; j++) {
//     let obj3 = arr2[j];
//     if(obj3.button){
//       if (obj3.button && (obj3.button.name === "未回零" || obj3.button.name === "NotZero" )) {
//       obj3.button.value = weihuiling[0][i];
//       //  console.log(obj3.button.value)
//     }
//     }
   
  }
//   }
     
}
// }
// console.log(jsonData2)
//进片id
jsonData2.forEach((item) => {
@@ -548,25 +587,12 @@
    }
  });
});
//急停
for (let i = 0; i < jsonData2.length; i++) {
  let arr2 = jsonData2[i];
  for (let j = 0; j < arr2.length; j++) {
    let obj3 = arr2[j];
    if(obj3.button){
      if (obj3.button && (obj3.button.name === "急停后中止/继续选择" || obj3.button.name === "Abort/ResumeTasks" )) {
      obj3.button.value = obj.resumeTasks[0][i];
     console.log(obj3.button.value)
    }
    }
  }
}
@@ -687,4 +713,7 @@
.huiling {
  background-color: green;
}
.jiting{
  background-color: green;
}
</style>
CanadaMes-ui/src/views/Electrical/Servomanual.vue
@@ -12,38 +12,42 @@
      <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
      }}</router-link>
      <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{
        $t('ServoManual')
        $t('Parameter')
      }}</router-link>
    </el-breadcrumb>
    <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
      <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter2')
      }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning1')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('AutomaticParameterSetting')
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Automatic State')
      }}</router-link>
      <router-link to="/Electrical/ManualJog" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualJog')
      }}</router-link>
       <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</router-link>
<router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
        $t('Servomanualone')
      }}</router-link>
      <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link>
      <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Address parameter settings')
      }}</router-link>
      <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link>
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link>
      <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('Speed parameter settings')
      }}</router-link>
    </el-breadcrumb>
CanadaMes-ui/src/views/Electrical/Sign.vue
@@ -13,7 +13,7 @@
      }}</router-link> -->
      <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
      }}</router-link>
 <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Servo Manual')
 <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
        }}</router-link>
    </el-breadcrumb>
CanadaMes-ui/src/views/Electrical/State.vue
@@ -13,7 +13,7 @@
      }}</router-link> -->
      <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
      }}</router-link>
 <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Servo Manual')
 <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
        }}</router-link>
    </el-breadcrumb>
    <div>{{ $t('State') }}</div>
CanadaMes-ui/src/views/Electrical/alarm.vue
@@ -8,7 +8,7 @@
      <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action') }}</router-link>
      <!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter') }}</router-link> -->
    <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign') }}</router-link>
    <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Servo Manual')
    <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
        }}</router-link>
    </el-breadcrumb>
    <div>{{ $t('Alarm') }}</div>
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java
@@ -252,6 +252,7 @@
                }
                // 写入新的位值列表
                S7control.getinstance().WriteBit(A01start, a01startval);
                System.out.println("a01startval " + a01startval + " written to PLC at address " + A01start);
              }
springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java
@@ -122,6 +122,17 @@
      List<String> addressList3 = new ArrayList<>();
      addressList3.add("DB103.256");
      addressList3.add("DB103.270");
      List<String> niuanaddressList3 = new ArrayList<>();
      niuanaddressList3.add("DB101.10.4");
      List<Boolean> anniuread = S7control.getinstance().readBits(niuanaddressList3);
      List<String> data3 = S7control.getinstance().readStrings(addressList3);
// A01 A02 B01 B02
      List<String> addresses4 = new ArrayList<>();
@@ -161,11 +172,18 @@
        params[i] = value ? (short) 1 : (short) 0;
      }
      short[] anniuparams = new short[anniuread.size()];
      for (int i = 0; i < anniuread.size(); i++) {
        boolean value = anniuread.get(i);
        anniuparams[i] = value ? (short) 1 : (short) 0;
      }
      jsonObject.append("params", params);
      jsonObject.append("params", paramlist);
      jsonObject.append("params", data);
      jsonObject.append("params", data3);
      jsonObject.append("params", data4);
      jsonObject.append("jiting", anniuparams);
      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter2");
@@ -195,31 +213,57 @@
        if (!messages.isEmpty()) {
          // 将最后一个消息转换为整数类型的列表
          String lastMessage = messages.get(messages.size() - 1);
          System.out.println("messages:" + messages);
          String[] parts = lastMessage.split(",");
          List<Integer> messageValues = new ArrayList<>();
          for (String part : parts) {
            try {
              // 使用正则表达式清除非数字字符
              String cleanedPart = part.replaceAll("[^0-9-]", "");
              Integer value = Integer.parseInt(cleanedPart.trim());
              messageValues.add(value);
            } catch (NumberFormatException e) {
              // 如果无法解析为整数类型,则忽略该部分
//              e.printStackTrace();
//        System.out.println("lastMessage:" + lastMessage);
          JSONArray messageArray = new JSONArray(lastMessage);
          if (messageArray.getJSONArray(0).size() > 0) {
            JSONArray jsonArray3 = messageArray.getJSONArray(0);
            List<Boolean> sValue3 = new ArrayList<>();
            for (int i = 0; i < jsonArray3.size(); i++) {
              Object value = jsonArray3.get(i);
              if (value != null && !value.toString().equals("null")) {
                try {
                  String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
                  boolean val = "1".equals(cleanedValue.trim());
                  sValue3.add(val);
                  System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
                } catch (NumberFormatException e) {
                  // 如果无法解析为 boolean 类型,则忽略该部分
                  System.err.println("Could not parse value: " + value);
                }
              }
            }
            if (!sValue3.isEmpty()) {
              S7control.getinstance().WriteBit(addressList, sValue3);
              System.out.println("Values " + sValue3 + " written to PLC at address " + sValue3);
            }
          }
          // 将布尔列表写入 PLC
          if (messageArray.getJSONArray(1).size() > 0) {
            JSONArray jsonArray3 = messageArray.getJSONArray(1);
            List<Boolean> sValue3 = new ArrayList<>();
            for (int i = 0; i < jsonArray3.size(); i++) {
              Object value = jsonArray3.get(i);
              if (value != null && !value.toString().equals("null")) {
                try {
                  String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
                  boolean val = "1".equals(cleanedValue.trim());
                  sValue3.add(val);
                  System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
                } catch (NumberFormatException e) {
                  // 如果无法解析为 boolean 类型,则忽略该部分
                  System.err.println("Could not parse value: " + value);
                }
              }
            }
            if (!sValue3.isEmpty()) {
              S7control.getinstance().WriteBit(niuanaddressList3, sValue3);
              System.out.println("Values " + sValue3 + " written to PLC at address " + sValue3);
            }
          }
          // 将消息值转换为布尔列表
          List<Boolean> messageBooleans = new ArrayList<>();
          for (Integer value : messageValues) {
            messageBooleans.add(value == 1 ? true : false);
          }
          // 将布尔列表写入 PLC
    S7control.getinstance().WriteBit(addressList, messageBooleans);
          System.out.println("messageValues:" + messageBooleans);
          System.out.println("addressList:" + addressList);
          // 清空消息列表
          webSocketServer.clearMessages();
        }
springboot-vue3/src/main/java/com/example/springboot/component/PlcServoManualone.java
@@ -154,6 +154,12 @@
        params2[i] = value ? (short) 1 : (short) 0;
      }
//急停中止按钮
      short[] resumeTask = new short[resumeTasks.size()];
      for (int i = 0; i < resumeTasks.size(); i++) {
        boolean value = resumeTasks.get(i);
        resumeTask[i] = value ? (short) 1 : (short) 0;
      }
      List<Boolean> Reset1 = S7control.getinstance().readBits(Reset);
    //  System.out.println(Reset1);
@@ -225,7 +231,7 @@
      jsonObject.append("qupianid", queueid2);
      jsonObject.append("fuwei", rReset);
      jsonObject.append("qidong", combinedBinaryShortArray);
      jsonObject.append("resumeTasks", resumeTasks);
      jsonObject.append("resumeTasks", resumeTask);
@@ -441,29 +447,29 @@
            }
          }
          if (messageArray.getJSONArray(8).size() > 0) {
            JSONArray jsonArray5 = messageArray.getJSONArray(8);
            List<Boolean> sValueb5 = new ArrayList<>();
            for (int i = 0; i < jsonArray5.size(); i++) {
              Object value = jsonArray5.get(i);
              if (value != null && !value.toString().equals("null")) {
                try {
                  String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
                  boolean val = "1".equals(cleanedValue.trim());
                  sValueb5.add(val);
                  System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
                } catch (NumberFormatException e) {
                  // 如果无法解析为 boolean 类型,则忽略该部分
                  System.err.println("Could not parse value: " + value);
                }
              }
            }
            if (!sValueb5.isEmpty()) {
              S7control.getinstance().WriteBit(abortresumeTasks, sValueb5);
              System.out.println("Values " + sValueb5 + " written to PLC at address " + A02Bstart);
            }
          }
//          if (messageArray.getJSONArray(8).size() > 0  ) {
//            JSONArray jsonArray5 = messageArray.getJSONArray(8);
//            List<Boolean> sValueb5 = new ArrayList<>();
//            for (int i = 0; i < jsonArray5.size(); i++) {
//              Object value = jsonArray5.get(i);
//              if (value != null && !value.toString().equals("null")) {
//                try {
//                  String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
//                  boolean val = "1".equals(cleanedValue.trim());
//                  sValueb5.add(val);
//                  System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
//                } catch (NumberFormatException e) {
//                  // 如果无法解析为 boolean 类型,则忽略该部分
//                  System.err.println("Could not parse value: " + value);
//                }
//              }
//            }
//            if (!sValueb5.isEmpty()) {
//
//              S7control.getinstance().WriteBit(abortresumeTasks, sValueb5);
//              System.out.println("Values " + sValueb5 + " written to PLC at address " + A02Bstart);
//            }
//          }
          // 清空消息列表
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -72,24 +72,24 @@
            List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo();
            jsonObject.append("alarmmg", alarmmg);
            // 读去Plc进片车与出片车位置W
            // List<String> addressList = new ArrayList<String>();
            // addressList.add("DB106.12");
            // addressList.add("DB106.0");
            // List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
            // if (paramlist != null) {
            // jsonObject.append("params", paramlist);
            // }
            // // 获取进片车状态
            // List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
            // 1);// 获取进片车状态
            // boolean exist1 = datas1ListState.contains((short) 0);
            // jsonObject.append("zhuangtai", exist1);
            // //获取进片玻璃信息
            // List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
            // if (inglassInfo != null) {
            // if (inglassInfo.size() > 0)
            // jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
            // }
             List<String> addressList = new ArrayList<String>();
             addressList.add("DB106.12");
             addressList.add("DB106.0");
             List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
             if (paramlist != null) {
             jsonObject.append("params", paramlist);
             }
             // 获取进片车状态
             List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
             1);// 获取进片车状态
             boolean exist1 = datas1ListState.contains((short) 0);
             jsonObject.append("zhuangtai", exist1);
             //获取进片玻璃信息
             List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
             if (inglassInfo != null) {
             if (inglassInfo.size() > 0)
             jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
             }
            
            // 伍 获取进是否有待确认的玻璃id
            String queid = spianMapper.Selectqueueid();
springboot-vue3/src/main/resources/config.properties
@@ -16,8 +16,9 @@
# 复位按钮地址
resetButtonAddresses=DB101.4.0,DB101.4.3,DB101.3.6,DB101.4.1,DB101.4.4,DB101.4.6
# 所有未回零按钮地址
notHomedButtonAddresses=DB104.9.0,DB104.9.1,DB104.9.0,DB104.9.1,DB104.9.4,DB104.9.5
notHomedButtonAddresses=DB104.9.0,DB104.9.1,DB104.9.4,DB104.9.5
# 进片id地址
inputGlassIdAddress=DB100.148
# 存片id地址
outputGlassIdAddress=DB100.162
@@ -50,3 +51,7 @@
mlp2.A02start=DB101.2.1
#A01start
mlp2.A01start=DB101.2.0
#PLCManualJog--------------------------