本应用作为一个多功能/跨平台的桌面软件,以新潮的web技术和美观的页面实现您需要的功能
- 使用web技术作为ui界面的编写框架
- 使用跨平台的electron平台开发框架,兼容linux/windows/macos
- 高性能的渲染/快速的冷启动
ishow通过多样化的插件提供丰富的功能
- 我们的插件之间是互相独立的,但是这些插件可以通过您的选择来组合出一套系统
- 您可以快速方便地安装插件
- 如果现有的插件/功能不能满足您的需要,您可以尝试联系我们
目前我们致力于:
- opcua等通信协议客户端
- 方便用户管理数据的操作界面
- 以及您想要的其他功能......
以下功能已经在计划中
- mqtt客户端
- modbus客户端
- 数据的图形化展示
接下来我将给您提供一个案例:
我们面临这样一个需求:1.订阅opcua服务器数据节点 2.然后将数据归档到数据库 3.最后每个月生成一份报告
- 首先我们使用以下插件:
- uaclient插件
- 通过opcua协议来通信/订阅/归档数据库
- easy-report插件
- 对接数据库生成报表并导出为excel
- 下一步从侧边栏启动uaclient
- 配置opcua连接属性
- 订阅您想要的节点
- 配置数据库选项
- 然后程序会从您所配置的opcua服务器上拉取数据并且归档到本地的sqlite数据库
- 然后您可以启动easy-report
- 选择报表模板(建议为excel)
- 然后选择数据来源/配置筛选器属性/添加聚类分析/选定tag对应的列
- 导入数据到报表
- 导出到excel
这样我们就实现了以上所说的3个需求,他们之间相互配合可以实现更多功能,详细可以查询对应插件的文档
介绍关于应用ui界面的使用手册教程,帮助您快速上手和认识本应用
这个部分放置了整个应用的主要菜单和按钮,通常您安装的插件所添加的按钮也在此处
注意:
这并不意味着主侧边栏只有这些按钮和菜单,除了以下介绍的之外,还取决于您安装的插件
- 点击之后出现的是本应用自身携带的和插件自主注册的菜单按钮,在这里,您可以快速访问您需要的菜单选项,例如:
- 创建项目
- 打开文件夹作为工作区
- ...
- 详细选项您可以阅读该选项对应的详细手册,例如:创建项目
- 本模块为您自动展现您上次打开或者本次使用过程中手动打开的文件夹,并提供对于该文件夹和文件夹下文件的浏览,请注意,此应用并不提供很多文件相关的操作,通常,您只可以查看有哪些文件
- 我想要操作文件?:那么您应该安装相关的插件,我们把这些操作全部放在了插件之中,例如我们制作的"uaclient"插件,就可以打开并操作后缀.opcua的文件,其他的类似,如果您想要操作它,那么必须安装对应的插件
- 或许您会感到麻烦,但是我们设计的初衷就是一个应用通过插件能解决您遇到的大部分问题,因此,这与即开即用是相违背的,当然,我们也预置了一些插件,方便您的使用
- 本模块为您展示本机已经安装的插件,并且可以在这里下载和安装您想要的插件,如果您希望寻找操作特定文件后缀的插件,那么请善用搜索功能
- 目前,下载模块使用的github作为下载源,大部分时间该网站对于国内用户是难以访问的,但是目前并无更优解决方案
- 本模块是此应用最重要的模块,通过这里您可以安装插件来解决您所遇到的问题
- 本模块为您展示此应用的教程和用户手册,同时也为您展示您所安装的插件的手册(如果该插件编写了手册)
- 我们尽可能详尽的为您编写用户手册,但是为了应用大小的考虑,我们并没有将所有教程和手册全部放在此处
- 您应该注意本文所给出的链接,如果您接入互联网,那么会在应用中加载视频和动图,如果并没有接入,那么请复制链接在您方便的设备和时间上访问互联网查看
这个部分是为了插件而准备,为了您能更好的利用屏幕宽度来展现更多的内容
完全取决于插件所注册的按钮:例如“uaclient”插件会为您提供一个查看“attributes”的右侧栏
我们并不清楚您会安装哪些插件和注册哪些功能按钮,所以如果您希望了解相关信息,请查看对应插件的手册,通常会给出解释
这个部分包含了对于大部分用户来说并不影响使用的功能,例如日志记录,所以它通常是隐藏的,当然您可以通过按钮打开它
- 对于日志我们设计了一个易于阅读和方便工程师调试的格式,下面给出案例
[2023-06-09T21:05:03.043] [INFO] client - Client created {
source: 'ClientService',
applicationName: 'NodeOPCUA-Client',
connectionStrategy: { initialDelay: 1000, maxRetry: 1 },
securityMode: 1,
keepSessionAlive: true,
securityPolicy: 'http://opcfoundation.org/UA/SecurityPolicy#None',
endpointMustExist: false
}
[2023-06-08T23:03:46.201] [ERROR] client - Exception occurred in server {
source: 'Server',
error: 'Error on typia.is(): no transform has been configured. Run "npx typia setup" command.',
stack: undefined
}-
如您所见,我们把日志分为5个部分
- 时间戳
- 信息等级:
- info | warn | error 分别对应了提示信息,警告和错误,信息和错误最为常见
- 日志来源:
- 默认client,如果插件也使用了log,那么就由插件决定:例如"easy-report"
- 简要提示:
- 本条记录的简要提示,例如:,Exception occurred in server,显然我们的应用在server中发生了一些错误
- 提示详细信息:
- 没有定式,由运行的程序决定
- 显而易见,本区域是展现内容的主要区域,除去教程和欢迎之外我们并不知晓此区域会显示哪些内容,显然:这是由插件决定的
考虑到不同用户的显示设备之间有尺寸和分辨率的差异,我们加入了应用全局缩放的功能,请按下**crtl和+来放大应用,相对的按下crtl和-**来缩小应用,您可以通过应用内的悬浮提示来了解当前缩放大小
- 按下一次缩放10%,不管是放大还是缩小都是这个比例
- 如果应用过于模糊,那么请试着缩小一点
这里所有的操作都不区分大小写,并且为了避免与常见的应用快捷键冲突,我们的设置可能和您常见的应用设置不尽相同
- Alt+D :打开调试工具
- Crtl 加 +:应用全局放大一次缩放为10%
- Crtl 加 -:应用全局缩小
本应用可以让您选择安装路径,您可以通过系统资源管理器访问并且选择安装路径
但是注意:
与您通常使用的软件不同,我们将缓存和默认的用户数据存储路径设置在了您安装软件的目录下的client.data文件夹,您可以手动指定新的存储路径,但是我们并不建议您这样做,以免一些不可预料的错误发生
如果您也像开发者一样痛恨应用侵占宝贵的c盘空间,那么您应该喜欢此设定
-
如果您感兴趣:我们使用了electron技术框架,这意味着此应用建立在JavaScript和V8引擎之上,为了避免应用启动缓慢,我们决定用空间换时间,将编译的字节码缓存在上面提到的client.data文件夹之下,通常他们会占用一定空间,但是并不会随着时间推移迎来巨大的文件体积
-
如果您不了解这些,我们希望您知道的是:
- client.data会占用一定的空间用于缓存,通常并不会占据过大的空间,而且我们并不希望您经常清理它,尽管这样不会造成过于严重的影响
- 缓存只是为了加快应用运行速度而设置的,它并不涉及您使用过程中产生的任何数据
- 项目路径是您手动指定的,用于存储数据或者运行结果的
- 这两者之间的差别正如以上所述
关于项目文件夹
- 每个被视为项目的文件夹都会有一个.project文件夹,当中存放了用户数据和初始化信息
- 如果您有相关的知识,或者有把握不会导致数据丢失,那么您可以编辑其中的文件和数据
- 除去.project之外,项目文件夹还保存着所有您的插件所需要的数据或者其他您手动存储的文件,我们并不会主动往项目文件夹之后添加任何文件或数据,所以项目文件夹并不会影响您对主应用的使用
- 通常,项目文件夹会为您存放例如数据库或者一些记录性数据
关于工作空间
- 将一个目录视为一个工作空间,会方便我们在该文件夹下初始化并创建项目
- 当然如果您并不在工作空间下工作,那么也不会影响插件和主应用的运行
现在我将向您简要介绍本应用目前所提供的基础服务,如果您不是技术人员,那么您大可选择跳过
如果您想要了解更多,请阅读:API文档
-
我们使用了log4js作为我们持久化日志文件的基础,并且创建了固定的数据结构来存储对应的日志数据,您不可以改变这种数据结构,而应当遵循我们的规定
-
Log文件会存放在client.data/logs文件夹下,您可以随意的移动/删除/备份,它并不会影响应用的运行,如果您看到log.1/log.2这样后缀的文件,请用记事本打开它:视为txt文件
- 这里我们使用了sequelize作为持久化存储的选项,并且原生默认支持sqlite,我们也推荐您使用sqlite作为持久化的首要选项,它免费又强大,便于您了解,以下是官网链接:SQLite Home Page
- 如果需要使用其他的数据库作为持久化选项,那么您需要另外下载驱动
- 考虑到我们首要目标是解决物联网/工业上的一些问题,并且用户对象的个人电脑配置不一而足,所以为了减轻IO压力和方便开发,我们创建了Broker模块,此模块是一个简单消息中间件的静态实例
- 注意,由于需要与主进程的渲染进程通信,所以您只能通过ipc的方式使用它
- 这个模块是为了方便您进行一些简单的存储,比如用户的配置文件或者一些初始化选项,它通过json来存储文件,并且将文件默认存储在client.data目录下(如果您不手动指定的话)
- 我们并不推荐您通过此模块来进行大量数据的存储,显而易见,这会拖累我们应用的运行速度
-
应用数据保存在哪?
- 通常在软件安装目录的client.data文件夹下
- 这里包含几乎所有的应用运行时数据:日志/配置/缓存
- 数据库例外
- 通常在软件安装目录的client.data文件夹下
-
应用窗口拖动?
- 点击左侧的主侧边栏/顶部tab栏空余部分
-
应用窗口模糊/太大/太小?
- 使用快捷键crtl + **+/-**来缩放应用窗口
-
- 查看日志,尝试寻找问题
- 联系我们



