psto před 2 roky
revize
315e968914

+ 8 - 0
.idea/.gitignore

@@ -0,0 +1,8 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml

+ 10 - 0
.idea/GetOpcApi.iml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="PYTHON_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$">
+      <excludeFolder url="file://$MODULE_DIR$/venv" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 17 - 0
.idea/inspectionProfiles/Project_Default.xml

@@ -0,0 +1,17 @@
+<component name="InspectionProjectProfileManager">
+  <profile version="1.0">
+    <option name="myName" value="Project Default" />
+    <inspection_tool class="DuplicatedCode" enabled="true" level="WEAK WARNING" enabled_by_default="true">
+      <Languages>
+        <language minSize="114" name="Python" />
+      </Languages>
+    </inspection_tool>
+    <inspection_tool class="PyPep8Inspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
+      <option name="ignoredErrors">
+        <list>
+          <option value="E402" />
+        </list>
+      </option>
+    </inspection_tool>
+  </profile>
+</component>

+ 6 - 0
.idea/inspectionProfiles/profiles_settings.xml

@@ -0,0 +1,6 @@
+<component name="InspectionProjectProfileManager">
+  <settings>
+    <option name="USE_PROJECT_PROFILE" value="false" />
+    <version value="1.0" />
+  </settings>
+</component>

+ 4 - 0
.idea/misc.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.11 (GetOpcApi)" project-jdk-type="Python SDK" />
+</project>

+ 8 - 0
.idea/modules.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/GetOpcApi.iml" filepath="$PROJECT_DIR$/.idea/GetOpcApi.iml" />
+    </modules>
+  </component>
+</project>

+ 0 - 0
README.md


+ 26 - 0
config/config.json

@@ -0,0 +1,26 @@
+{
+    "server_url": "opc.tcp://192.168.10.133:49320",
+    "redis_conf": {
+      "ip": "127.0.0.1",
+      "username": "",
+      "password": ""
+    },
+    "ns": 2,
+    "sys_conf": {
+      "jinjiaqu": {
+        "sys_key": "support",
+        "sys_name": "电液控",
+        "file_name": "support.json",
+        "path": "./config/jinjiaqu"
+      },
+      "wind_1": {
+        "sys_key": "wind_1",
+        "sys_name": "主通风系统",
+        "file_name": "wind_1.json"
+      },
+      "wind_2": {
+        "sys_key": "wind_2",
+        "sys_name": "东部主通风"
+      }
+    }
+}

+ 842 - 0
config/jinjiaqu/support.json

@@ -0,0 +1,842 @@
+{
+  "sys_id": "support",
+  "sys_name": "电液控系统",
+  "sys_point": {
+    "support": [
+      {
+        "key": "t1.d1.e2",
+        "name": "风压",
+        "unit": "Mpa",
+        "val": ""
+      },
+      {
+        "key": "t1.d1.e2",
+        "name": "风速",
+        "unit": "m/s",
+        "val": ""
+      },
+      {
+        "key": "TMDA.电液控.支架集.001.立柱压力.前柱压力",
+        "name":"1号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.002.立柱压力.前柱压力",
+        "name":"2号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.003.立柱压力.前柱压力",
+        "name":"3号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.004.立柱压力.前柱压力",
+        "name":"4号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.005.立柱压力.前柱压力",
+        "name":"5号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.006.立柱压力.前柱压力",
+        "name":"6号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.007.立柱压力.前柱压力",
+        "name":"7号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.008.立柱压力.前柱压力",
+        "name":"8号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.009.立柱压力.前柱压力",
+        "name":"9号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.010.立柱压力.前柱压力",
+        "name":"10号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.011.立柱压力.前柱压力",
+        "name":"11号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.012.立柱压力.前柱压力",
+        "name":"12号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.013.立柱压力.前柱压力",
+        "name":"13号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.014.立柱压力.前柱压力",
+        "name":"14号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.015.立柱压力.前柱压力",
+        "name":"15号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.016.立柱压力.前柱压力",
+        "name":"16号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.017.立柱压力.前柱压力",
+        "name":"17号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.018.立柱压力.前柱压力",
+        "name":"18号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.019.立柱压力.前柱压力",
+        "name":"19号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.020.立柱压力.前柱压力",
+        "name":"20号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.021.立柱压力.前柱压力",
+        "name":"21号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.022.立柱压力.前柱压力",
+        "name":"22号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.023.立柱压力.前柱压力",
+        "name":"23号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.024.立柱压力.前柱压力",
+        "name":"24号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.025.立柱压力.前柱压力",
+        "name":"25号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.026.立柱压力.前柱压力",
+        "name":"26号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.027.立柱压力.前柱压力",
+        "name":"27号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.028.立柱压力.前柱压力",
+        "name":"28号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.029.立柱压力.前柱压力",
+        "name":"29号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.030.立柱压力.前柱压力",
+        "name":"30号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.031.立柱压力.前柱压力",
+        "name":"31号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.032.立柱压力.前柱压力",
+        "name":"32号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.033.立柱压力.前柱压力",
+        "name":"33号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.034.立柱压力.前柱压力",
+        "name":"34号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.035.立柱压力.前柱压力",
+        "name":"35号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.036.立柱压力.前柱压力",
+        "name":"36号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.037.立柱压力.前柱压力",
+        "name":"37号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.038.立柱压力.前柱压力",
+        "name":"38号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.039.立柱压力.前柱压力",
+        "name":"39号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.040.立柱压力.前柱压力",
+        "name":"40号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.041.立柱压力.前柱压力",
+        "name":"41号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.042.立柱压力.前柱压力",
+        "name":"42号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.043.立柱压力.前柱压力",
+        "name":"43号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.044.立柱压力.前柱压力",
+        "name":"44号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.045.立柱压力.前柱压力",
+        "name":"45号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.046.立柱压力.前柱压力",
+        "name":"46号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.047.立柱压力.前柱压力",
+        "name":"47号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.048.立柱压力.前柱压力",
+        "name":"48号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.049.立柱压力.前柱压力",
+        "name":"49号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.050.立柱压力.前柱压力",
+        "name":"50号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.051.立柱压力.前柱压力",
+        "name":"51号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.052.立柱压力.前柱压力",
+        "name":"52号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.053.立柱压力.前柱压力",
+        "name":"53号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.054.立柱压力.前柱压力",
+        "name":"54号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.055.立柱压力.前柱压力",
+        "name":"55号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.056.立柱压力.前柱压力",
+        "name":"56号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.057.立柱压力.前柱压力",
+        "name":"57号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.058.立柱压力.前柱压力",
+        "name":"58号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.059.立柱压力.前柱压力",
+        "name":"59号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.060.立柱压力.前柱压力",
+        "name":"60号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.061.立柱压力.前柱压力",
+        "name":"61号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.062.立柱压力.前柱压力",
+        "name":"62号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.063.立柱压力.前柱压力",
+        "name":"63号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.064.立柱压力.前柱压力",
+        "name":"64号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.065.立柱压力.前柱压力",
+        "name":"65号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.066.立柱压力.前柱压力",
+        "name":"66号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.067.立柱压力.前柱压力",
+        "name":"67号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.068.立柱压力.前柱压力",
+        "name":"68号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.069.立柱压力.前柱压力",
+        "name":"69号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.070.立柱压力.前柱压力",
+        "name":"70号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.071.立柱压力.前柱压力",
+        "name":"71号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.072.立柱压力.前柱压力",
+        "name":"72号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.073.立柱压力.前柱压力",
+        "name":"73号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.074.立柱压力.前柱压力",
+        "name":"74号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.075.立柱压力.前柱压力",
+        "name":"75号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.076.立柱压力.前柱压力",
+        "name":"76号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.077.立柱压力.前柱压力",
+        "name":"77号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.078.立柱压力.前柱压力",
+        "name":"78号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.079.立柱压力.前柱压力",
+        "name":"79号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.080.立柱压力.前柱压力",
+        "name":"80号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.081.立柱压力.前柱压力",
+        "name":"81号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.082.立柱压力.前柱压力",
+        "name":"82号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.083.立柱压力.前柱压力",
+        "name":"83号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.084.立柱压力.前柱压力",
+        "name":"84号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.085.立柱压力.前柱压力",
+        "name":"85号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.086.立柱压力.前柱压力",
+        "name":"86号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.087.立柱压力.前柱压力",
+        "name":"87号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.088.立柱压力.前柱压力",
+        "name":"88号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.089.立柱压力.前柱压力",
+        "name":"89号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.090.立柱压力.前柱压力",
+        "name":"90号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.091.立柱压力.前柱压力",
+        "name":"91号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.092.立柱压力.前柱压力",
+        "name":"92号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.093.立柱压力.前柱压力",
+        "name":"93号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.094.立柱压力.前柱压力",
+        "name":"94号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.095.立柱压力.前柱压力",
+        "name":"95号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.096.立柱压力.前柱压力",
+        "name":"96号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.097.立柱压力.前柱压力",
+        "name":"97号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.098.立柱压力.前柱压力",
+        "name":"98号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.099.立柱压力.前柱压力",
+        "name":"99号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.100.立柱压力.前柱压力",
+        "name":"100号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.101.立柱压力.前柱压力",
+        "name":"101号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.102.立柱压力.前柱压力",
+        "name":"102号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.103.立柱压力.前柱压力",
+        "name":"103号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.104.立柱压力.前柱压力",
+        "name":"104号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.105.立柱压力.前柱压力",
+        "name":"105号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.106.立柱压力.前柱压力",
+        "name":"106号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.107.立柱压力.前柱压力",
+        "name":"107号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.108.立柱压力.前柱压力",
+        "name":"108号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.109.立柱压力.前柱压力",
+        "name":"109号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.110.立柱压力.前柱压力",
+        "name":"110号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.111.立柱压力.前柱压力",
+        "name":"111号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.112.立柱压力.前柱压力",
+        "name":"112号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.113.立柱压力.前柱压力",
+        "name":"113号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.114.立柱压力.前柱压力",
+        "name":"114号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.115.立柱压力.前柱压力",
+        "name":"115号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.116.立柱压力.前柱压力",
+        "name":"116号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.117.立柱压力.前柱压力",
+        "name":"117号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.118.立柱压力.前柱压力",
+        "name":"118号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.119.立柱压力.前柱压力",
+        "name":"119号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.120.立柱压力.前柱压力",
+        "name":"120号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.121.立柱压力.前柱压力",
+        "name":"121号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.122.立柱压力.前柱压力",
+        "name":"122号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.123.立柱压力.前柱压力",
+        "name":"123号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.124.立柱压力.前柱压力",
+        "name":"124号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.125.立柱压力.前柱压力",
+        "name":"125号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.126.立柱压力.前柱压力",
+        "name":"126号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.127.立柱压力.前柱压力",
+        "name":"127号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.128.立柱压力.前柱压力",
+        "name":"128号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.129.立柱压力.前柱压力",
+        "name":"129号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.130.立柱压力.前柱压力",
+        "name":"130号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.131.立柱压力.前柱压力",
+        "name":"131号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.132.立柱压力.前柱压力",
+        "name":"132号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.133.立柱压力.前柱压力",
+        "name":"133号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.134.立柱压力.前柱压力",
+        "name":"134号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.135.立柱压力.前柱压力",
+        "name":"135号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.136.立柱压力.前柱压力",
+        "name":"136号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      },
+{
+        "key": "TMDA.电液控.支架集.137.立柱压力.前柱压力",
+        "name":"137号立柱压力",
+        "unit": "Mpa",
+        "val": ""
+      }
+    ]
+  }
+}

+ 8 - 0
first_run_linux.sh

@@ -0,0 +1,8 @@
+#bash!
+
+pip install json
+pip install redis
+pip install flask
+pip install logging
+pip install asyncio
+pip install asyncua

+ 6 - 0
first_run_windwos.bat

@@ -0,0 +1,6 @@
+pip install json
+pip install redis
+pip install flask
+pip install logging
+pip install asyncio
+pip install asyncua

+ 124 - 0
main.py

@@ -0,0 +1,124 @@
+import asyncio
+import json
+import redis
+import logging
+
+from flask import Flask, request, render_template
+from asyncua import Client
+from datetime import datetime
+
+
+class SubHandler(object):
+    r = None
+    pool = None
+    config = None
+
+    def __init__(self):
+        self.config = get_conf()
+        redis_conf = self.config['redis_conf']
+        ip = redis_conf['ip']
+        self.pool = redis.ConnectionPool(host=ip, password='')
+        self.r = redis.Redis(connection_pool=self.pool)
+
+    async def datachange_notification(self, node, val, data):
+        print("Python: New data change event", node, val)
+
+    def event_notification(self, event):
+        print("Python: New event", event)
+
+
+app = Flask(__name__)
+
+
+# route
+@app.route("/get/", methods=['GET', 'POST'])
+def get():
+    # 矿名key
+    sys_key = request.values.get('sys_key')
+    # 自动化系统key
+    sys_name = request.values.get('sys_name')
+    # 参数判断
+    if sys_key is None or len(sys_key) == 0 or sys_name is None or len(sys_name) == 0:
+        return "参数错误"
+    # 获取对应配置
+    base_conf = get_conf()
+    # 获取opc服务地址
+    sys_url = base_conf["server_url"]
+    # 获取配置文件名
+    sys_file_path = base_conf['sys_conf'][sys_key]['path']
+    sys_file_name = base_conf['sys_conf'][sys_key]['file_name']
+    # 获取点位数组
+    point_conf = get_conf(sys_file_name, sys_file_path)
+    # 取到配置
+    point_base_dic = point_conf['sys_point']
+    point_arr = []
+    # 取点位数据
+    # print(point_base_dic)
+    for group in point_base_dic:
+        for item in point_base_dic[group]:
+            point_arr.append(item['key'])
+
+    # 根据服务地址获取Opc数据
+    data = asyncio.run(get_opc_data(sys_url, point_arr, 2))
+    get_request_ip()
+
+    for group in point_base_dic:
+        for item in point_base_dic[group]:
+            try:
+                key = item['key']
+                point_val = data[key]
+                item['val'] = point_val
+            finally:
+                continue
+
+    return point_base_dic
+
+
+def get_conf(file_name="config.json", file_path="./config"):
+    path = f"{file_path}/{file_name}"
+    with open(path, "r", encoding="utf-8") as f:
+        content = json.load(f)
+        f.close()
+        return content
+
+
+async def get_opc_data(sys_url, point_arr, ns=2):
+    if sys_url is None or point_arr is None:
+        return
+    url = sys_url
+    async with Client(url=url) as client:
+        handler = SubHandler()
+        r = handler.r
+        i = 0
+        result_arr = {}
+        print(datetime.now().strftime('Start_time:%Y-%m-%d %H:%M:%S.%f'))
+        while i < len(point_arr):
+            node = f"ns={ns};s={point_arr[i]}"
+            tag = client.get_node(node)
+            sub = await client.create_subscription(500, handler)
+            value = None
+            try:
+                value = await tag.read_value()
+                #redis值
+                r.set(str(node), str(value))
+                #获取点位key
+                arr_key = node.split("=")
+                result_arr[arr_key[2]] = value
+                # print(f"tag1 is: {tag} with value {value} ")
+                i += 1
+                if i == len(point_arr):
+                    print("Get Data Success")
+            finally:
+                i += 1
+                continue
+        print(datetime.now().strftime('End_time:%Y-%m-%d %H:%M:%S.%f'))
+        return result_arr
+
+
+def get_request_ip():
+    ip = request.remote_addr
+    logging.debug(ip)
+
+
+if __name__ == '__main__':
+    app.run()