编辑
2025-09-30
C#
00

RabbitMQ

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。

是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑RabbitMQ是一个快递站,一个快递员帮你传递快件。RabbitMQ与快递站的主要区别在于,它不处理快件而是接收,存储和转发消息数据。

image.png

RabbitMQ的交换机类型共有四种

直连型交换机背后的路由算法很简单——消息会传送给绑定键与消息的路由键完全匹配的那个队列。 我们用直连交换机取代了只会无脑广播的扇形交换机,并且具备了选择性接收消息的能力。

image.png

这种配置下,我们可以看到有两个队列Q1、Q2绑定到了直连交换机X上。第一个队列用的是橘色(orange)绑定键,第二个有两个绑定键,其中一个绑定键是黑色(black),另一个绑定键是绿色(green)。在此设置中,发布到交换机的带有橘色(orange)路由键的消息会被路由给队列Q1。带有黑色(black)或绿色(green)路由键的消息会被路由给Q2。其他的消息则会被丢弃。

Fanout Exchange(扇型交换机)

image.png

编辑
2025-09-30
C#
00

什么是ZXing.Net

ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。而ZXing.Net是ZXing的端口之一。

开始一个项目

nuget安装SqlSugarCore

这里还需要做一个配制文件,用于保存一个配制信息,如数据库等等

安装Microsoft.Extensions.Configuration,用于读取配制文件,这是一个接口

安装Microsoft.Extensions.Configuration.Json

image.png

编辑
2025-09-30
C#
00

摘要

UA全称是unified architecture(统一架构)。为了应对标准化和跨平台的趋势,为了更好地推广OPC,OPC基金会近些年在之前OPC成功应用的基础上推出了一个新的OPC标准-OPC UA。OPC UA接口协议包含了之前的 A&E, DA,OPC XML DA or HDA,只使用一个地址空间就能访问之前所有的对象,而且不受WINDOWS平台限制,因为它是从传输层以上来定义的,导致了灵活性和安全性比之前的OPC都提升了。

正文

opc ua支持c/s模式,同时也支持类似mqtt的发布订阅模式,通常各种设备作为opc ua的服务端提供各种服务。

image.png

image.png

信息模型(Information model)

OPC UA 使用了对象(objects)作为过程系统表示数据和活动的基础。对象包含了变量,事件和方法,它们通过引用(reference)来互相连接。

OPC UA 信息模型是节点的网络(Network of Node),或者称为结构化图(graph),由节点(node)和引用(References)组成,这种结构图称之为OPC UA 的地址空间。这种图形结构可以描述各种各样的结构化信息(对象)。

地址空间要点:

  • 地址空间是用来给服务器提供标准方式,以向客户端表示对象。
  • 地址空间的实现途径是使用对象模型,通过变量和方法的对象,以及表达关系的对象。
  • 地址空间中模型的元素被称为节点,为节点分配节点类来代表对象模型的元素。
  • 对象及其组件在地址空间中表示为节点的集合,节点由属性描述并由引用相连。
  • OPC UA建模的基本在于节点和节点间的引用。
编辑
2025-09-30
C#
00

摘要


1. 读取功能

  • 同步读取
    • 单个地址读:允许用户读取指定地址上的数据。
    • 给定地址列表读:允许用户一次性读取多个指定地址上的数据。
    • 读全部:读取所有可用的数据项,通常用于初始化或状态监控。
  • 异步读取
    • 单个地址读:允许用户异步方式读取指定地址上的数据,以避免阻塞应用程序。
    • 给定地址列表读:通过异步操作,提高读取多个地址时的性能。
    • 读全部:同样以异步方式读取所有可用的数据项,用于高效的数据更新和监控。

2. 写入功能

  • 同步写
    • 单个写:将数据写入到指定的单个地址。
    • 多个写:将数据写入到多个指定地址,实现批量更新。
  • 异步写
    • 单个写:以异步方式写入数据至指定地址,提升响应速度。
    • 多个写:异步批量写入至多个地址,以提高写入性能并减小对应用程序主线程的影响。

3. 断开连接

  • 管理与 OPC DA 服务器的连接,确保能够安全断开,并进行必要的清理。

4. 连接服务器

  • 连接:负责与指定的 OPC DA 服务器建立连接。
  • 初始化属性:在建立连接后,初始化相关的通信属性和参数,以确保系统在使用时处于正常工作状态。
  • 绑定事件:将必要的事件处理程序绑定到 OPC DA 服务器事件,以处理数据变化、连接丢失等情况。

正文

image.png

编辑
2025-09-29
C#
00

摘要

OPC,全称OLE For Process Control,是一种工业标准,旨在解决不同供应商设备与应用程序之间的接口标准化问题。随着工业自动化和控制系统的不断发展,各种设备和应用程序不断涌现,其之间的通信变得越来越复杂。传统的设备和应用程序之间的通信主要依靠编程和调试,但这种方式效率低下、不灵活、成本高,也限制了应用程序的自由组合和开发。

OPC的出现正是为了解决这些问题。它采用一种简单的接口标准,允许不同的供应商设备和应用程序之间进行数据交换。通过使用OPC,应用程序可以自由地组合不同的设备和应用程序,从而实现更加灵活、高效和经济的工业自动化系统。

OPC标准包括一组接口规范和协议,可以被用于不同类型的设备和应用程序。OPC的接口规范包括以下几个部分:OPC控制器规范、OPC数据服务规范、OPC应用程序接口规范和OPC数据传输规范。这些规范提供了一种通用的接口,允许设备和应用程序之间进行数据交换。OPC的协议主要包括基于协议的和基于消息的两种方式。

基于协议的方式是通过协议规范定义的消息格式进行通信。每个设备和应用程序都可以使用OPC协议生成自己的消息格式,从而实现与其他设备和应用程序的通信。基于消息的方式则是通过定义消息的格式和目的地来进行通信。消息可以通过OPC服务器进行传输,服务器可以是本地的或者远程的。

OPC标准的实现依赖于OPC基金会,该基金会是一个非营利性的组织,致力于推广和发展OPC标准。基金会负责维护OPC标准,开发新的规范和协议,提供技术支持和培训等服务。OPC基金会的成员包括各种设备和应用程序的供应商、系统集成商、工程师和用户。

正文

利用驱动器的系统连接

image.png

利用 OPC 控制的系统组成