当前位置: 首页 > news >正文

JRT连接希森美康出图

良好的设计源自实践,优秀的基础决定上限
上一篇用JRT连设备实现了比较有难度的Sebia绘图设备和TCP模式连接。这次连接最常见的检验设备(西森美康),读文件和图上传出图。

视频演示

结果格式
在这里插入图片描述
通道对应
在这里插入图片描述

接口设置
在这里插入图片描述

接口处理实现,JRT设备连接全部采用CMD驱动方式实现,所以需要客户端执行对应操作返回对应CMD即可。客户端对CMD负责,实现了对应的CMD执行器。
在这里插入图片描述

import JRT.Core.Dto.CmdDto;
import JRT.Core.Dto.OutValue;
import JRT.Core.Util.LogUtils;
import JRT.Core.Util.MakeCmdUtil;
import JRT.Model.Bussiness.Parameters;
import JRTBLLBase.BaseHttpHandlerMachine;
import JRTBLLBase.Helper;import java.util.ArrayList;
import java.util.List;/*** 希森美康XN9000仪器接口*/
public class miXN9000 extends BaseHttpHandlerMachine {/*** 流水号*/private static String dataEpis="";/*** 数据的日期*/private static int date=Helper.GetNowDate();/*** 数据的时间*/private static int time=Helper.GetNowTime();/*** 缓存结果*/private static String result="";/*** 保存仪器数据** @param Param   参数* @param Session* @param Output* @return* @throws Exception*/public String SaveData(Parameters Param, OutValue Session, OutValue Output) throws Exception {String mi = Param.P0;String data = Param.P1;String epis = Param.P2;String fileName = Param.P3;String DBColName = Param.P4;Trace(mi, data, "M->H");//读取文件到第几行数据int index = Helper.ValidParam(Param.P5, -1);//返回的数据List<CmdDto> cmdList = new ArrayList<>();try {String [] arr=data.split(",");//第一行解析流水号和结果日期时间if(arr[0].equals("0")){String dateStr=arr[1];date=Helper.DateToInt(dateStr);String timeStr=arr[2];time=Helper.TimeToInt(timeStr);dataEpis=arr[3];result="";}//解析结果else if(arr[0].equals("1")){String chl=arr[1];String res=arr[3];result+=chl+"\\"+res+",";}//解析图片else if(arr[0].equals("3")){String imgClass=arr[2];String imgPath=arr[3];//取图MakeCmdUtil.AddGetImageCmd(cmdList, dataEpis, imgClass, imgPath, "");//删图//MakeCmdUtil.AddRMCmd(cmdList,imgPath);}//最后一行保存结果if(index==-1&&!dataEpis.isEmpty()){Trace(mi, result, "解析结果");//处理数据Helper.GetBllMethodData("mi.miBase", "SaveResult", mi, dataEpis, result, date, time);}Trace(mi, "解析完成", "M->H");} catch (Exception ex) {LogUtils.WriteExceptionLog("解析XN9000仪器结果发生错误", ex);}return Helper.Object2Json(cmdList);}/*** 得到文件服务地址供接口上传图片** @param Param* @param Session* @param Output* @return* @throws Exception*/public String GetFileService(Parameters Param, OutValue Session, OutValue Output) throws Exception {String mi = Param.P0;String path = (String) Helper.GetBllMethodData("mi.miBase", "GetFileService", mi);//返回文件服务路径return path;}/*** 保存文件到数据库** @param Param* @param Session* @param Output* @return* @throws Exception*/public String SaveImage(Parameters Param, OutValue Session, OutValue Output) throws Exception {String mi = Param.P0;String epis = Param.P1;String ImageClass = Param.P2;String fileName = Param.P3;String fullName = Param.P4;String caption = "";String displayRatio = "";String width = "";String height = "";String sequence = "";Integer receiveDate = null;String ret = (String) Helper.GetBllMethodData("mi.miBase", "SaveImage", mi, epis, ImageClass, "", fileName, null, caption, displayRatio, width, height, sequence);return ret;}/*** 查询要上传的指令** @param Param* @param Session* @param Output* @return* @throws Exception*/public String QryUpdata(Parameters Param, OutValue Session, OutValue Output) throws Exception {String mi = Param.P0;//先写Log测试LogUtils.WriteDebugLog("mi:" + mi + ",调用上传查询");//返回的数据List<CmdDto> cmdList = new ArrayList<>();return Helper.Object2Json(cmdList);}/*** 设置上传指令执行状态** @param Param* @param Session* @param Output* @return* @throws Exception*/public String SetQryStatus(Parameters Param, OutValue Session, OutValue Output) throws Exception {String mi = Param.P0;String setStatusKey = Param.P1;//先写Log测试LogUtils.WriteDebugLog("mi:" + mi + ",setStatusKey:" + setStatusKey + "设置状态");return "";}}

效果
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这就是第二个仪器接口演示

相关文章:

JRT连接希森美康出图

良好的设计源自实践&#xff0c;优秀的基础决定上限 上一篇用JRT连设备实现了比较有难度的Sebia绘图设备和TCP模式连接。这次连接最常见的检验设备&#xff08;西森美康&#xff09;&#xff0c;读文件和图上传出图。 视频演示 结果格式 通道对应 接口设置 接口处理实现…...

UVa11604 General Sultan

UVa11604 General Sultan 题目链接题意分析AC 代码 题目链接 UVA - 11604 General Sultan 题意 给出一些0和1组成的模式串&#xff0c;问是否存在一个串使得有多种方案将这个串分解成模式串。    给一个包含n&#xff08;n≤100&#xff09;个符号的二进制编码方式&#xff…...

USB - ACK、NAK和STALL的含义

在 USB&#xff08;通用串行总线&#xff09;通信中&#xff0c;术语 ACK、NAK 和 STALL 指的是用于控制数据流和错误处理的握手数据包。下面是对每个术语的详细解释&#xff1a; ACK&#xff08;确认&#xff09;&#xff1a; ACK 数据包由接收方发送给发送方&#xff0c;以表…...

查看 WSL2 (Windows Subsystem for Linux 2) IP 地址

查看 WSL2 [Windows Subsystem for Linux 2] IP 地址 1. ipconfig2. ping $(hostname).local3. cat /etc/resolv.conf4. ip route show5. ip addrReferences 1. ipconfig Windows 系统上与 WSL2 (Windows Subsystem for Linux 2) 接口的地址 172.31.32.1。 Microsoft Windows…...

如何判断一个JavaScript对象是否为空?

在JavaScript的世界里,"空对象"这一术语的含义在不断演变。随着ECMA Script的更新和改进,判断一个对象是否为空变得更加复杂。本文将详细介绍如何判断一个JavaScript对象是否为空,并讨论各种解决方案的优缺点。 历史背景 在理解如何判断一个对象是否为空之前,我…...

小白跟做江科大32单片机之LED闪烁

原理介绍 原理介绍详见&#xff1a; 【STM32】江科大STM32学习笔记汇总(已完结)_stm32江科大笔记-CSDN博客https://blog.csdn.net/u010249597/article/details/134762513 项目准备 1.在项目文件夹中新建3-1 LED文件夹 2.keil新建项目&#xff0c;打开新建的3-1 LED&#xf…...

“世界酒中国菜”系列活动如何助推乡村振兴和文化交流?

"世界酒中国菜"系列活动如何助推乡村振兴和文化交流&#xff1f; 《经济参考报》&#xff08;2024年5月24日 第6版&#xff09; 新华社北京&#xff08;记者 张晓明&#xff09; “世界酒中国菜”系列活动自启动以来&#xff0c;已在国内外产生了广泛影响。这一国家…...

上位机图像处理和嵌入式模块部署(f407 mcu中fatfs中间件使用)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 前面我们已经实现了spi norflash的驱动&#xff0c;理论上这已经可以实现数据的持久化保存了。为什么还需要一个文件系统呢&#xff1f;主要原因还…...

LeetCode/NowCoder-栈和队列OJ练习

孜孜不倦&#xff1a;孜孜&#xff1a;勤勉&#xff0c;不懈怠。指工作或学习勤奋不知疲倦。&#x1f493;&#x1f493;&#x1f493; 目录 说在前面 题目一&#xff1a;括号匹配问题 题目二&#xff1a;用队列实现栈 题目三&#xff1a;用栈实现队列 题目四&#xff1a;设…...

VSCODE终端输出中文乱码 菱形问号?

问题现象 VSCODE终端输出中文乱码 菱形问号&#xff1f; 解决方法 方法一 设置系统环境变量 变量名&#xff1a;PYTHONIOENCODING 值&#xff1a;utf8 方法二 安装插件Code Runner插件在设置中搜索 code-runner.executorMap&#xff0c;再点击在setting.json中编辑&#x…...

域名绑定ip和端口的方法是什么?

在互联网世界中&#xff0c;域名绑定IP和端口是实现网站精准访问的关键步骤。域名是用户访问网站的直观标识&#xff0c;而IP地址和端口号则指明了服务器的具体位置和通信接口。本文将详细介绍域名绑定IP和端口的过程。 域名与IP地址的关系 域名是互联网上网站的人类可读地址…...

视频监控平台AS1000:通过网络SDK接入松下视频监控设备(Panasonic监控摄像机) 的源代码的函数和功能介绍及分享

目录 一、视频监控平台介绍 1、概述 2、视频接入能力介绍 3、功能介绍 二、PANASONIC网络摄像机 1、产品种类与定位 2、规格参数 3、功能特点 4、环境适应性 5、网络功能 6、其他特性 三、代码和解释 1、代码和注释 2、函数功能说明 &#xff08;1&#xff09;处…...

GitLab项目中添加用户,并设置其角色权限等

注意&#xff1a;创建用户(new user)&#xff0c;创建完用户然后再项目邀请用户&#xff0c;选择创建过的用户 一、以管理员身份登录GitLab的WebUI并创建用户 1>.使用管理员登录GitLab 使用管理员(root)用户登录成功后&#xff0c;点击如下图所示的小扳手&#xff0c;点击…...

asio之winsock的初始化

简介 asio中&#xff0c;winsock初始化工作是放在winsock_init类中来处理的 类结构 #mermaid-svg-aC4x3cdr8TKGhsnX {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-aC4x3cdr8TKGhsnX .error-icon{fill:#552222;}#…...

打造智能化未来:智能运维系统架构解析与应用实践

在数字化转型的大背景下&#xff0c;智能运维系统成为了企业提升效率、降低成本、增强安全性的关键利器。本文将深入探讨智能运维系统的技术架构&#xff0c;介绍其核心要素和应用实践&#xff0c;帮助读者全面了解智能运维系统的概念、优势和应用价值。 ### 1. 智能运维系统的…...

【GeoServer系列】——安装与发布shapefile数据

GeoServer是一个基于java的服务器&#xff0c;它允许用户查看和编辑地理空间数据。使用OGC制定的开放标准&#xff0c;GeoServer在地图创建和数据共享方面具有极大的灵活性。 功能概述&#xff1a; Open and Share Your Spatial Data GeoServer允许您向世界显示您的空间信息。G…...

Rust 第三方库创建和导入(cargo --lib)

前言 日常开发过程中&#xff0c;难免会有一些工具方法&#xff0c;多个项目之间可能会重复使用。 所以将这些方法集成到一个第三方包中方便后期维护和管理&#xff0c; 比如工具函数如果需要修改&#xff0c;多个项目可能每个都需要改代码&#xff0c; 抽离到单独的包中只需要…...

node-sass和sass-loader安装Error经验

一、问题 当前笔记本环境版本&#xff1a;node-v16.15.1&#xff1b;npm-8.11.0&#xff0c;在面对五年前vue项目的依赖sass-loader8.0.2&#xff0c;node-sass4.14.1的情况下&#xff0c;怎么参考大神们的安装教程&#xff0c;始终存在Error&#xff0c;经过坚持不懈的努力&a…...

LabVIEW车体静强度试验台测控系统

LabVIEW车体静强度试验台测控系统 开发了一种基于LabVIEW的车体静强度试验台测控系统&#xff0c;通过自动化技术提高试验的精度和效率。系统采用LabVIEW软件与S7-200 SMART PLC硬件平台相结合&#xff0c;实现了对液压缸作用力的精确控制和试验数据的实时采集及管理。 传统的…...

软件测试进阶

目录 一、自动化测试 1.概念 2.Selenium 2.1 概念 2.1.1 Selenium是什么&#xff1f; 2.1.2 Selenium特点 2.1.3 工作原理 2.2 SeleniumJava环境搭配 2.3 定位元素 2.3.1 CSS语法 2.3.2 XPath语法 2.4 应用 2.4.1 点击提交文本 2.4.2 模拟输入 2.4.3 清除文本 2…...

将字符串 “()“ ““ “|“ 条件组成的复杂表达式转换为ES查询语句

应用场景 "()" "&" "|" 这几个条件对于我们来说并不陌生, 其表达的逻辑非常明了, 又能通过很少的字符表达很复杂的嵌套关系, 在一些复杂的查询中会经常用到, 因此我最近也遇到了类似的问题,一开始觉得这类的工具应该挺常见的, 结果搜了半天…...

2024上半年软考 考试心得

考试的时候感觉选择题有点偏&#xff0c;很多概念题都不知道是什么&#xff0c;好像没怎么见过&#xff0c;什么拖库洗库&#xff0c;linux权限号不会&#xff0c;python也不确定&#xff0c;但也算顺利&#xff1b;下午题的数据库竟然没考主键外键&#xff0c;我的天哪&#x…...

【redis】set和zset常用命令

set 无序集合类型 sadd 和 smembers SADD&#xff1a;将一个或者多个元素添加到set中。注意,重复的元素无法添加到set中。 语法&#xff1a;SADD key member [member] 把集合中的元素,叫做member,就像hash类型中,叫做field类似. 返回值表示本次操作,添加成功了几个元素. 时间复…...

【面试题-006】java中的垃圾回算法有哪些?

Java中的垃圾回收&#xff08;Garbage Collection&#xff0c;简称GC&#xff09;是指自动内存管理的一种机制&#xff0c;用于回收不再使用的对象占用的内存。Java中的垃圾回收算法主要有以下几种&#xff1a; 标记-清除&#xff08;Mark-Sweep&#xff09;算法&#xff1a; …...

最小时间差

首先可以想到&#xff0c;可以计算出任意两个时间之间的差值&#xff0c;然后比较出最小的&#xff0c;不过这种蛮力方法时间复杂度是O(n^2)。而先将时间列表排序&#xff0c;再计算相邻两个时间的差值&#xff0c;就只需要计算n个差值&#xff0c;而排序阶段时间复杂度通常为O…...

动态SQL IF语句

IF语句学习 第一种写法(标准) 我们先来看以下标准写法: select * from .. <where> <if test""> and ....... <if test""> and ....... <where> 我们用了一个where标签 , 内嵌if语句 第二种写法: 这是第二种写法:不用where标…...

961题库 北航计算机 操作系统 附答案 选择题形式

有题目和答案&#xff0c;没有解析&#xff0c;不懂的题问大模型即可&#xff0c;无偿分享。 第1组 习题 计算机系统的组成包括&#xff08; &#xff09; A、程序和数据 B、处理器和内存 C、计算机硬件和计算机软件 D、处理器、存储器和外围设备 财务软件是一种&#xff…...

SylixOS 版本与 RealEvo-IDE 版本对应关系说明

SylixOS 版本与 RealEvo-IDE 版本对应关系说明 SylixOS 版本IDE 版本发布日期1.4.13.1.52017/01/171.5.23.5.12017/10/121.7.13.8.32018/06/221.8.33.9.52018/10/081.9.9-103.9.102020/01/021.11.63.10.22020/05/131.11.73.10.x2020/06/121.12.93.11.02020/09/111.12.11&#…...

linux命令:调试必备工具dmesg

在服务器上进行芯片调试时&#xff0c;我们会遇到各种各样的问题&#xff0c;很多问题与操作系统相关。此时就需要了解操作系统发生了哪些事件。 dmesg 是linux系统中用来打印或控制内核缓冲区内容的命令。这个环形缓冲区记录了系统启动以来发生的各种事件消息&#xff0c;包括…...

第三届大湾区算力大会丨暴雨开启数字未来新篇

5月30-31日&#xff0c;韶关市迎来主题为“算启新篇智创未来”的第三届粤港澳大湾区(广东)算力产业大会暨第二届中国算力网大会&#xff0c;活动由广东省人民政府主办&#xff0c;广东省政数局、韶关市人民政府共同承办。暴雨信息作为算力产业发展的重要构建者受邀赴会&#xf…...