从零开始搭建web组态

 成果展示:by组态[web组态插件]


一、技术选择


目前只有两种选择,canvas和svg

Canvas: 是一个基于像素的渲染引擎,使用JavaScript API在画布上绘制图像,它的优点包括:

  • Canvas渲染速度快,适合处理大量图像和高度动态的图像。
  • 可以直接操作像素,能够创建高质量、流畅的动画效果。
  • Canvas可用于实现复杂的游戏、3D效果等。

SVG: 是一种基于矢量的图形格式,可以使用XML和JavaScript API在浏览器中绘制图像,它的优点包括:

  • SVG是基于矢量的图形格式,图像可以无限放大而不失真。
  • 可以为SVG图像添加事件处理器,实现交互效果。
  • 可以通过CSS进行样式控制,使得SVG图像更加灵活。
  • SVG图像可以直接嵌入到HTML文档中,不需要另外下载。

但它也存在一些缺点:

  • SVG渲染速度较慢,适合处理少量图像和少量动态的图像。
  • SVG图像在处理复杂图形时可能会导致性能问题。
  • 由于SVG是基于矢量的图形格式,它的复杂度比较高,可能会导致文件大小较大。

        根据个人喜好选择,一般来说canvas的性能要不svg好的多,对于组态画面,实时性要求要高,我们选择canvas。对canvas的开发,都需要选择一款框架,底层开发太难了,选择框架一定要选择文档全面,例子多的,konva.js是非常不错的。

ui框架自行选择,都行。

二、 konva.js简介


        konva 是一个对 canvas API 做了封装增强的 JavaScript 库。

        HTML 原生的 canva 提供的 API 比较底层,用法上像是操纵一支画笔进行各种操作,画完就结束了。

        canvas 本身不维护图形树,你也无法操作修改已被绘制的图形。

        而 konva 能够像我们操作 DOM 树一样去绘制和维护元素,它会额外维护图形构成的树,并能在绘制后,对特定图形进行样式的修改。

        你还可以在上面添加事件,比如鼠标滑入某图形时,图形变大一点。此外还支持方便的变形、动画、拖拽等高级能力。

        konvas提供商了所有组态的基础功能,如,点,线,面,拖拽,变化,放大缩小,事件等等,只要你想到的,他都有,我们要做的就是一点一点的吧这些功能堆起来,形成一个完整的组态工具。技术上并不难,就是花点时间。

三、 组态功能


        我们做一个最简单的功能,其他的功能自己慢慢堆,下面是功能列表

        组态图元: 变量组件(可根据后台推送的数据显示到画布上),属性(文字颜色)

        后台通讯:websocket

        画面保存:画面要能以字符串的形式保存到后台数据库,或者生成文件,查看画面的时候在字符串拿出来,在还原为画面

        实时数据渲染:后台来数据后要及时呈现到画布上

四、 需求分析


        我们做的组件是一个一个的,组件要方便存储,这样后续才能方便添加,一个组件里面包含该组件所有的属性。这是最重要的,否则后面扩展及其困难

        konva可以将单个的组件,序列化为字符串。这样就方便了我们做一个一个组件。

五、成功案例

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: OSHMI是一种开放源码的Web工具,用于设计和创建现代化的人机界面。它是基于Web技术开发的,使用HTML、CSS和JavaScript等前端技术实现页面的布局和交互。OSHMI具有较高的灵活性和可扩展性,可以针对不同的应用需求进行定制和修改。 与传统的Web工具相比,OSHMI具有一些明显的优势。首先,由于采用了开放源码的模式,任何人都可以在所遵循的许可证下自由地使用、修改和分发OSHMI。这使得OSHMI具有更广泛的应用和更快的发展速度。 其次,由于基于Web技术,OSHMI具备了良好的跨平台性。用户可以在任何操作系统和设备上通过常见的Web浏览器访问和使用OSHMI。这样可以提高用户的工作效率和便利性,并且可以减少系统的维护和升级成本。 此外,OSHMI支持实时数据的展示和动交互。它可以与各种数据源进行连接,通过在页面上展示实时数据的方式,实时显示设备或过程的状。用户可以通过直观的界面进行交互,操作设备或系统以达到目标。 总的来说,OSHMI是一种先进的Web工具,通过使用开放源码和现代化的Web技术,可以为用户提供更好的用户体验和更高的工作效率。它具备良好的可扩展性和跨平台性,可以满足不同应用场景的需求。 ### 回答2: OSHMI(基于Open Industrial Interoperability Standard)是一种基于Web技术的工业组软件,用于监视和控制工业过程。它允许用户通过Web浏览器访问和操作远程设备,并实时可视化工业过程。 首先,OSHMI具有跨平台的优势。由于它是基于Web技术开发的,所以可以在多种操作系统(如Windows、Linux等)和设备上运行,无需安装额外的客户端软件。这使得用户可以轻松地通过任何支持Web浏览器的设备访问工业过程,提高了灵活性和便利性。 其次,OSHMI具有可扩展性。它基于开放工业互操作标准,可以与各种设备和系统集成,包括传感器、PLC、SCADA系统等。用户可以自定义和扩展系统功能,以适应不同的工业场景和要求。 此外,OSHMI提供了丰富的可视化功能。用户可以通过图表、曲线、仪表盘等界面实时显示和监视工业过程数据。它还支持报警和事件处理,用户可以定义报警规则并接收实时通知,及时处理异常情况。 最后,OSHMI具有安全性能。它支持用户身份验证和权限管理,确保只有授权用户才能访问和操作工业过程。同时,数据传输采用加密技术,防止数据泄露和未授权访问。 综上所述,OSHMI是一种基于Web的工业组软件,具有跨平台、可扩展、可视化和安全的特点。它为用户提供了方便、灵活和高效的工业过程监视和控制解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BY组态

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值