RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑RabbitMQ是一个快递站,一个快递员帮你传递快件。RabbitMQ与快递站的主要区别在于,它不处理快件而是接收,存储和转发消息数据。

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

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

ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。而ZXing.Net是ZXing的端口之一。
nuget安装SqlSugarCore
这里还需要做一个配制文件,用于保存一个配制信息,如数据库等等
安装Microsoft.Extensions.Configuration,用于读取配制文件,这是一个接口
安装Microsoft.Extensions.Configuration.Json

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的服务端提供各种服务。


信息模型(Information model)
OPC UA 使用了对象(objects)作为过程系统表示数据和活动的基础。对象包含了变量,事件和方法,它们通过引用(reference)来互相连接。
OPC UA 信息模型是节点的网络(Network of Node),或者称为结构化图(graph),由节点(node)和引用(References)组成,这种结构图称之为OPC UA 的地址空间。这种图形结构可以描述各种各样的结构化信息(对象)。
地址空间要点:

OPC,全称OLE For Process Control,是一种工业标准,旨在解决不同供应商设备与应用程序之间的接口标准化问题。随着工业自动化和控制系统的不断发展,各种设备和应用程序不断涌现,其之间的通信变得越来越复杂。传统的设备和应用程序之间的通信主要依靠编程和调试,但这种方式效率低下、不灵活、成本高,也限制了应用程序的自由组合和开发。
OPC的出现正是为了解决这些问题。它采用一种简单的接口标准,允许不同的供应商设备和应用程序之间进行数据交换。通过使用OPC,应用程序可以自由地组合不同的设备和应用程序,从而实现更加灵活、高效和经济的工业自动化系统。
OPC标准包括一组接口规范和协议,可以被用于不同类型的设备和应用程序。OPC的接口规范包括以下几个部分:OPC控制器规范、OPC数据服务规范、OPC应用程序接口规范和OPC数据传输规范。这些规范提供了一种通用的接口,允许设备和应用程序之间进行数据交换。OPC的协议主要包括基于协议的和基于消息的两种方式。
基于协议的方式是通过协议规范定义的消息格式进行通信。每个设备和应用程序都可以使用OPC协议生成自己的消息格式,从而实现与其他设备和应用程序的通信。基于消息的方式则是通过定义消息的格式和目的地来进行通信。消息可以通过OPC服务器进行传输,服务器可以是本地的或者远程的。
OPC标准的实现依赖于OPC基金会,该基金会是一个非营利性的组织,致力于推广和发展OPC标准。基金会负责维护OPC标准,开发新的规范和协议,提供技术支持和培训等服务。OPC基金会的成员包括各种设备和应用程序的供应商、系统集成商、工程师和用户。
利用驱动器的系统连接

利用 OPC 控制的系统组成