Engee与Prosys OPC仿真服务器通过OPC UA进行数据交换的示例
导言
此示例演示如何使用Prosys OPC UA Simulation Server的示例,在Engee中的模型与外部OPC UA server之间通过OPC UA协议组织数据交换。\的
场景演示双向操作:
-从Engee中的OPC UA服务器读取值;
-将值从Engee模型写回服务器。
标准Prosys仿真服务器用作测试数据源,Engee使用OPCUA客户端块,该块连接到服务器并读取变量 Triangle 并将值写入变量 MyVar.
此示例可用作将Engee模型与工业系统、控制器、SCADA和其他支持OPC UA的数据源/接收器集成的基本模板。
简要参考
什么是OPC UA?
**OPC UA(开放平台通信统一架构)**是一种工业数据交换协议,旨在实现各种程序和设备之间的可靠和标准化交互。
OPC UA的主要特点:
-平台独立性;
-客户端-服务器架构;
-存在具有节点的地址空间(节点);
-支持阅读,写作,订阅更改;
-内置安全机制。
在这个例子中,交换是如何工作的
在所考虑的例子中:
-Prosys OPC UA仿真服务器充当服务器;
-工程师担任OPC UA的客户;
-工程中的OPCUA客户区块:
-从服务器节点接收数据 Triangle;
-向服务器节点发送数据 MyVar.
节点和节点Id
OPC UA服务器上的每个变量都有一个节点标识符NodeID。
该示例使用以下节点:
-阅读用:
Trianglens=3;i=1006
-记录在案:MyVarns=3;i=2
这里:
ns-命名空间索引;i-节点的数字ID。
模型的逻辑
Engee模型实现了一个典型的方案:
- 正在形成用于写入OPC UA的输入数据总线;
- 在战场上
MyVar正在记录测试信号; - OPCUA客户端块将此值发送到服务器;
- 从服务器读取的变量是从块的输出总线中提取的
Triangle; - 结果进一步根据方案显示以供观察。
Prosys OPC UA仿真服务器
提供一组模拟变量的测试OPC UA服务器。
在启动时,服务器生成并使用类似的连接地址:
opc.tcp://alexevs:53530/OPCUA/SimulationServer
主机名和端口在特定系统上可能不同。
对于您自己的启动,您需要使用Prosys OPC UA Simulation Server窗口中显示的地址。
设置的描述
1. 配置Prosys OPC UA仿真服务器
首先,启动Prosys OPC UA仿真服务器并检查其状态。
发射后可以看出:
*服务器处于运行状态;
*UA TCP协议用于连接;
*连接地址:
opc.tcp://alexevs:53530/OPCUA/SimulationServer.
您还可以在服务器对象树中的文件夹中看到测试变量。 Simulation,其中可用,例如:
ConstantCounterMyVarRandomSawtoothSinusoidSquareTriangle
对于一个变量 Triangle 可见:
NodeId = ns=3;i=1006
-数据类型:Double
对于一个变量 MyVar 可见:
NodeId = ns=3;i=2
在参数选项卡中 Triangle 可以看出,该信号为三角形型,其范围和周期设置在仿真服务器侧。
2. 在Engee中配置OPCUA客户端块
将OPCUA客户端块添加到Engee模型并打开其参数。
为了正确操作,必须设置以下基本块设置:
连接参数
-服务器地址: opc.tcp://alexevs:53530/OPCUA/SimulationServer
-安全政策: None
-讯息保安: None
-超时,s: 2.0
设置阅读
设置了一本字典供阅读 Read variables,将变量添加到其中:
Triangle→("ns=3;i=1006", Float64)
也就是说,块应该读取节点值。 Triangle 作为数字类型 Float64.
录音设置
设置了一个用于记录的字典 Write variables,在指定的地方:
MyVar→("ns=3;i=2", Float64)
这意味着节点 MyVar 来自模型的值将被传输到服务器。
轮胎名称
总线名称也用于块参数中。:
-输出总线名称: OPCOutputBus
-输入总线名称: OPCInputBus
这允许您通过结构化总线方便地组织一组变量的交换。
3. 在Engee中配置仿真和连接参数
以下建模参数在模型的属性中定义:
-使用固定间距;
-求解器:欧拉;
-整合步骤: 1e-3 秒数;
-模拟时间: 30 几秒钟。
要在Engee和服务器之间建立连接,安装PC并[Engee.Integration。](https://engee.com/helpcenter/stable/ru/engee-hardware/engee-integrations.html)
4. 在Engee中组装电路
下面的结构被组装在模型中用于测试通信。
形成用于记录的输入总线
首先,创建轮胎空白:
-使用形式的转换 convert(OPCInputBus, …) 以形成所需类型的轮胎;
-然后应用总线分配块(BusAssignment),其中选择字段:
MyVar
来自发生器的测试信号记录在该字段中。
OPCUA客户端块
备好的轮胎 OPCInputBus 连接到OPCUA客户端块的输入。
块同时执行两个功能:
-接受写入服务器的数据;
-形成输出总线 OPCOutputBus 用从服务器读取的值。
提取读取值
在OPCUA客户端块之后,安装了一个BusSelector,其中选择了信号:
Triangle
该值沿着电路进一步馈送以用于显示或分析。
工作过程的描述
第1步。 启动OPC UA服务器
首先,启动Prosys OPC UA仿真服务器。
它检查服务器是否处于活动状态,并且模拟变量在对象树中可用。
在这个阶段,马上看很方便。:
-服务器连接地址;
-必要的变量;
"他们 NodeId;
-数据类型。
示例使用节点:
Triangle阅读用;MyVar记录在案。
第二步。 连接Engee到服务器
在Engee中,服务器地址在OPCUA客户端中指定块参数和安全设置配置。
由于演示使用本地测试服务器,因此选择了以下选项:
Security policy = NoneMessage security = None
之后,将以下内容添加到块中:
-可读变量 Triangle;
-可记录变量 MyVar.
第三步。 生成用于记录的数据
在模型内部创建一个测试信号,并将其记录在现场。 MyVar 输入总线 OPCInputBus.
因此,Engee开始将其自己的计算值传输到OPC UA服务器。
第四步。 从服务器读取数据
与此同时,OPCUA客户端块读取变量的值 Triangle 从服务器并通过输出总线输出 OPCOutputBus.
然后BusSelector块提取字段 Triangle 以在模型中单独使用。
第五步。 启动模型
运行模拟后,Engee建立与服务器的连接。
在Engee客户端程序中。将显示成功连接状态以进行集成:
-与服务器的连接已建立;
-客户端重新连接/连接到Engee;
-之后,模型切换到执行模式。
第六步。 检查数据交换
开始仿真后Prosys OPC UA仿真服务器窗口显示变量值的变化。
在模拟过程中,你可以注意到。 什么:
-对于变量 Triangle 电流值根据三角信号变化;
-对于变量 MyVar 从Engee写入的实际值也出现。;
-操作状态为成功。
这证实了交易所的双向运作。:
-服务器→Engee:阅读 Triangle;
-Engee→服务器:记录 MyVar.
此外,该过程支持在飞行中改变数据的能力-改变用于在服务器上产生三角形信号的参数导致Engee中显示的信号的相应变化。
结论
作为配置的结果,Engee和OPC UA服务器之间的工作双向交换已经实现。:
-Engee成功连接Prosys OPC UA仿真服务器;
-读取节点值 Triangle;
-生成并将值写入节点 MyVar;
-使用轮胎 OPCInputBus 和 OPCOutputBus 进行结构化交换。
此示例可用作更复杂任务的基础。:
-连接到真正的OPC UA服务器;
-在同一时间交换多个变量;
-Engee模型与外部自动化系统的集成;
-在仿真数据上测试控制算法。
该示例演示了将Engee与OPC UA集成的基本和可视化场景。
它的关键价值在于它显示了整个周期。:
- 启动和检查OPC UA服务器;
- 搜索必要的变量及其
NodeId; - 在Engee中配置OPCUA客户端块;
- 阅读和写作的巴士组织;
- 运行模型并验证实际交换。
对于培训和演示任务,此示例非常方便,因为Prosys OPC Simulation Server已经包含一组现成的测试变量,这意味着您可以专注于通过OPC UA连接和交换数据的机制。