From a38a0f95420725d313526df032208a382f7b0d7f Mon Sep 17 00:00:00 2001 From: sige Date: Sat, 27 Apr 2024 14:37:12 +0800 Subject: [PATCH] 1 --- app.db | Bin 704512 -> 733184 bytes doc/MQTT.pdf | Bin 0 -> 118677 bytes emergency-stop.txt | 1 + .../underframework/UfActuatorCmdExecutor.java | 80 +++++++++++++++++++++ .../underframework/UfCmdSnippetExecutor.java | 24 +++++++ .../connection/UfZcancmderWebsocket.java | 13 ++-- src/main/resources/application-dev.yml | 7 +- src/main/resources/application-test.yml | 3 +- 8 files changed, 118 insertions(+), 10 deletions(-) create mode 100644 doc/MQTT.pdf create mode 100644 emergency-stop.txt diff --git a/app.db b/app.db index 5fed90823af1b4b66ca33f84dd86a062e34077aa..6bc7619aa5ffa8a15117fb94b20a3f255149a4da 100644 GIT binary patch delta 13554 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 J*&T@e{|%G)R!IN= delta 2599 zcmYjTX>b(R5uTa%=DsBEa0+{bw4f0)d(EycEQ}F04h6WDI3S2-XLgBm2th(|+JeY{ zlNgW?@Wg2&#Cz}EaX?T`i~%R*3Zz$tD&|L5_w?8O`gMQr z%`E9CTC!wB;{diVMN#{k@YP#cbv)J@i#FV=E8ysRh% zF@6q+U(Y?Vt=`EgbUizj_9Lzt_bty1`^kuzv_0R9+fLL6Mrvb41^r(V*- z)C}q@P1mxskgd*E0z#owE-w?d)3@oDm{M(~vWQ!S7bp*y1Bj9 zpqbXg9f}10DNHFPOUNc#Bi)}2Z=_=-_`cLBJkWY`tCR~;FSd&-(~b-0wF+^Ac!wRt zwkU1#K`G6)OXd6(C}gmH2sQB2pz!TvZzDahhhD^8Q_jf$QTxgl@m=Ax_`~MhynHfI zka4{egoy;x5!3OUpc!@}mg)L#+O*O!&vC=?s1IO3s2Pq$9W&{= zj_LUk$4aGQwjWK;$O8Si6O6=Ct{DqPBW5^d$4%F9JTvM=Jjaf?!LSvYo&{R2=hO$i zv~Bu!G6X4|h#60(EXeDmQ!zK0vO=lq?zQ8NVFPPaWfM3L+PMxMZyupXosTnPG%qf+9z9^SbEFuwS6Rsr6zV^%`}S;zentdJ;HUfG2Wg zOeuc_xP27(_XY5>m%5(%O6rt6{hC;%9|AtqvSaCi%0{LK%sLJST05UwYkDP*v3bO%?~ zf;zKXojry&NX}No5(eXkWOf_C2eFW~@)2Xuvq>I-B#n!qhMy5STSM;+XgGr;rU$Htx>*<$s~RD7m%{LO$T3q?ub$fFJ>1AQxI;jgGb8`0IQK zT}WQpi~{*`h#DIAW2vz3IHnU$!uTC825gRbrf0`O@c>FNq-i`dIBI3LPR~IGL#-hH zY=MeK?gDXjBZxDbK^%Aw4aeQ6O>?uTCFEb5VL?sC`B zDpH~00M>3$fo8kbAgeX}TJ}PkOt$?4de4IzAVUv8OJX|yDS2FsMH-Qz&4%H0(TwGSsO$0 zUSu&jJW?J`wr+<${lNt7i|x>?O3=QYL!O%L%O=7NfBI(W1<4>M+R&750Zrck;V4qR z1MML>#d0wz4M3KPozSCuMRGoQcP9++SU?Vt8#|w}ta1V}$nOdvV>jt?r-He37h3$p zEP+<1x;?cUvBCP?>VUDd!Ft{5_3r>lU2>AfX6Dbk(HNTC&Z?vKq7yW+M#@j}{N-b0 zWVY=`YZYqbPF6rdCda^-Ec2 zseTDh{A~_ir#~}kBg=;p^1pp3a5M+gIi-?G^{3vU^dIxz)2?Wv)!k|@rCz=xPoalM z?bJJB3->Yl8m|xqwlBL&n9n(MhNU^mv;0V&DSb+R zB9)7K#9qQY{yIN}JHr*STUZspiEbm8xxsj_>D9Ehw6F0rckkXJsg$5sehGG2%d+f9 zCK1Fh^J?y}rRsR;382{4d%4Y45 zLHg|zp3nShkKoc7gJIvGMZS&Nkq8tltsTgqtu%Kx~%fAPhk^%r}ZSG*1%Q$ P+;^p-OxXnK^z8owy9CLb diff --git a/doc/MQTT.pdf b/doc/MQTT.pdf new file mode 100644 index 0000000000000000000000000000000000000000..097da21378e5e7c4f6eec9bc80e4c42c3ec35b11 GIT binary patch literal 118677 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%0Dqg`=QrYKJr^Yw%7uC0LcNtcIn! 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 + UfCmdSnippetExecutor.execute("EmergencyStop"); + var restoreCheckThread = new Thread(UfActuatorCmdExecutor::emergencyStopRestoreCheck); + restoreCheckThread.start(); + synchronized ( UfActuatorCmdExecutor.emergencyStopRestoreLock ) { + try { + UfActuatorCmdExecutor.emergencyStopRestoreLock.wait(); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + UfCmdSnippetExecutor.execute("EmergencyStopRestore"); + return true; + } + + // 急停恢复 + public static void emergencyStopRestoreCheck() { + do { + UfCommon.delay(1000); + String filePath = UfApplication.getApp().getEnv().getProperty("app.emergency-stop-file-path"); + assert filePath != null; + try { + String state = Files.readString(Path.of(filePath)); + if ( "1".equals(state) ) { + break; + } + } catch (IOException e) { + throw new RuntimeException(e); + } + } while ( true ); + LOG.warn("急停恢复"); + synchronized ( UfActuatorCmdExecutor.emergencyStopRestoreLock ) { + UfActuatorCmdExecutor.emergencyStopRestoreLock.notify(); + } + } } diff --git a/src/main/java/com/iflytop/digester/underframework/UfCmdSnippetExecutor.java b/src/main/java/com/iflytop/digester/underframework/UfCmdSnippetExecutor.java index 92edf69..666ef8c 100644 --- a/src/main/java/com/iflytop/digester/underframework/UfCmdSnippetExecutor.java +++ b/src/main/java/com/iflytop/digester/underframework/UfCmdSnippetExecutor.java @@ -26,6 +26,25 @@ public class UfCmdSnippetExecutor { private final UfMdbSnippet snippet; // params private final Map params; + // emergency mode state + private Boolean emergencyModeEnable = false; + + // 紧急模式运行 + static public void emergencyExecute( String snippetKey ) { + Boolean logEnabled = UfMdbOption.getBoolean("DeviceCommandSnippetLogEnable", true); + if ( Boolean.TRUE.equals(logEnabled) ) { + LOG.info("*EMERGENCY* [Snippet Execute] : {}", snippetKey); + } + + var snippet = UfActiveRecord.findOne(UfMdbSnippet.class, Map.of("key", snippetKey)); + if (null == snippet) { + throw new RuntimeException("无效的片段KEY : " + snippetKey); + } + + var executor = new UfCmdSnippetExecutor(snippet, new HashMap<>()); + executor.setEmergencyModeEnable(true); + executor.run(); + } /** * execute snippet @@ -61,6 +80,11 @@ public class UfCmdSnippetExecutor { this.params = params; } + // set emergency mode + public void setEmergencyModeEnable( Boolean enable ) { + this.emergencyModeEnable = enable; + } + // execute snippet public void run() { ObjectMapper jsonMapper = new ObjectMapper(); diff --git a/src/main/java/com/iflytop/digester/underframework/connection/UfZcancmderWebsocket.java b/src/main/java/com/iflytop/digester/underframework/connection/UfZcancmderWebsocket.java index 684de69..f491e06 100644 --- a/src/main/java/com/iflytop/digester/underframework/connection/UfZcancmderWebsocket.java +++ b/src/main/java/com/iflytop/digester/underframework/connection/UfZcancmderWebsocket.java @@ -119,15 +119,15 @@ public class UfZcancmderWebsocket extends UfConnectionBase { } } + if ( null != this.responseError ) { + throw new RuntimeException(this.responseError); + } + if ( null == this.response ) { var actuator = UfActiveRecord.findOne(UfMdbActuator.class, actuatorCmd.actuatorId); throw new RuntimeException(String.format("设备 [%s] 响应超时: %s", actuator.name, actuatorCmd.cmdKey)); } - if ( null != this.responseError ) { - throw new RuntimeException(this.responseError); - } - var responseLength = this.response.capacity(); if ( 8 == responseLength ) { return ""; @@ -284,8 +284,9 @@ public class UfZcancmderWebsocket extends UfConnectionBase { private void handleOnTextErrorMessage(ByteBuffer message) { Integer errorCode = message.getInt(8); String errorMessage = switch (errorCode) { - case 3 -> "操作不支持"; - case 14 -> "参数数量不匹配"; + case 3 -> "操作不支持(koperation_not_support)"; + case 11 -> "子设备超时(ksubdevice_overtime)"; + case 14 -> "参数数量不匹配(kcmd_param_num_error)"; default -> "未知"; }; diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 0874f30..ce538da 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -14,11 +14,11 @@ device: key : zcancmder enable : true type : ZcancmderWebsocket -# uri: ws://192.168.8.10:19005 - uri : ws://127.0.0.1:19005 + uri: ws://192.168.8.10:19005 +# uri : ws://127.0.0.1:19005 - name : modbus key : modbus - enable : false + enable : true type : ModbusRTUOverTCP host: 192.168.8.10 port: 20000 @@ -30,3 +30,4 @@ app : opencv-library-path: D:/ProgramFiles/OpenCV/opencv/build/java/x64/opencv_java490.dll pylon-library-path: D:/ProgramFiles/Pylon5/Runtime/x64/PylonC_v5_2.dll pylon-wrapper-path: D:/Sige5193/digester/src/main/java/com/iflytop/digester/camera/x64/Debug/baslerCamera.dll + emergency-stop-file-path : D:/Sige5193/digester/emergency-stop.txt diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index 3bb7c52..6421297 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -28,4 +28,5 @@ app : bucketVolumeCheckEnable: false opencv-library-path: /userdata/rootfs_overlay/usr/lib/jni/libopencv_java420.so pylon-library-path: /opt/pylon/lib/libpylonc.so.7.2 - pylon-wrapper-path: /app/basler-camera-java-wrapper/libpylonc-wrapper.so \ No newline at end of file + pylon-wrapper-path: /app/basler-camera-java-wrapper/libpylonc-wrapper.so + emergency-stop-file-path: /sys/class/gpio/gpio102/value \ No newline at end of file