组态软件网络OPC编程

简介: 组态软件网络OPC编程

多数流行的组态软件都支持OPC规范,国产软件组态王6.01以上版本具有网络OPC功能,组态王与组态王之间可以通过网络以OPC方式进行通信,同样其他OPC客户、OPC服务器也可以通过网络与组态王以OPC方式进行通信。组态王作为OPC Server时只能在NT/2000/XP上使用,其具体操作介绍如下。


配置充当OPC服务器的机器

配置充当OPC服务器的机器是指对dcomcnfg程序进行配置,win2000操作系统自己带有dcomcnfg程序,设置过程如下:

(1)打开dcomcnfg:在windows菜单“开始”中选择“运行”,在编辑框中输入“dcomcnfg”,如图

585e1d5fba9c4dc384f6cab436052a09.png

(2)定义属性:单击“确定”按钮后,弹出“分布式COM配置属性”对话框,如图

ea9db6c643b24e98866d3df0f7813c21.png

对“默认访问权限”

、“默认启动权限”和“默认配置权限”进行设置,将everyone用户设置为“允许访问”、“允许调用”和“完全控制”。然后选中“OpcEnum”,进行“属性”配置,弹出如图

01f6ced4235c4938a9a891774367ae4d.png

在“安全性”属性页中选中“使用自定义访问权限”

、“使用自定义启动权限”和“使用自定义配置权限”,并分别进行编辑,全部设置为“everyone”允许访问、允许设置和完全控制等。然后在“身份标识”属性页中选中“交互式用户”

585690b675264630923a8fc6f8973851.png

再回到“分布式COM配置属性”对话框中,选中“KingView.View”

然后再进行属性配置,同样,在“安全性”属性页中选中“使用自定义访问权限”、“使用自定义启动权限”和“使用自定义配置权限”,并分别进行编辑,全部设置为“everyone”允许访问、允许设置、完全控制等。然后在“身份标识”属性页中选中“交互式用户”。

在配置完成后,服务器端可以直接进入组态王运行系统,此时组态王作为OPC服务器。


组态软件作为OPC客户端与OPC服务器连接

由于越来越多的控制设备供应商都提供OPC DA服务器,因此,这里介绍组态软件与OPC服务器连接。首先介绍OPC服务器的配置。


某SCADA系统数据采集硬件配置如下:

(1)RS232-485转换模块I-7520,1个。

(2)模拟量输入模块I-7017,1个。

(3)模拟量输出模块I-7022,1个。

(4)数字量输入/输出模块I-7060,1个。


1)OPC服务器设置

这里,首先要对OPC服务器设置。泓格公司提供的OPC服务器软件是NAP7000OPCSvr。运行服务器软件,在服务器中创建3个服务器对象(模块)I-7017、I-7021和I-7060,它们分别对应3个硬件模块,如图4.19所示。然后分别设置每个模块的属性。图4.20所示为I-7017的属性设置窗口,在该窗口中可以设置和修改的参数包括模块名称、模块参数设置、通信参数设置和是否选用仿真I/O等。若选用仿真I/O,这样即使硬件模块没有连接或安装,也可以进行调试,这对离线调试十分有用。在这里要注意的是模块地址不能设置错误,否则,会出现地址冲突而导致工作不正常。不同模块的通信波特率可以不同,因为选用的RS232/485转换模块(I-7520)含有自适应芯片,它能自动转换不同的数据格式和速度。当然,最好把通信参数也设置得一样。

6e8907cb3d9e4cc3bc3d34557dcb4542.png

模块设置完成后,再在模块中创建组对象,如在模块I-7017中新建组对象AI,然后在该组对象中定义项目(Tag),本例中需定义5个项,以对应要采集的模拟量。在该窗口中设置好项的名称、描述、类型及通道地址。在该窗口中还有一标度变换命令,当选择标度变换设置后,将出现如图4.22所示的标度变换设置窗口,在该窗口中,可设置标度变换类型是线性变换还是二次方根变换,工程量的量程和单位等参数。

7b2c9b42751045359a387c64a8fb5c85.png

相关文章
|
1天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
1天前
|
Python
Python网络编程基础(Socket编程) 使用try-except处理网络错误
【4月更文挑战第11天】在网络编程中,错误处理和异常管理是非常重要的部分。网络操作经常因为各种原因而失败,比如网络断开、服务器无响应、地址不正确等。因此,学会如何使用Python的异常处理机制来捕获和处理这些错误,是编写健壮的网络应用的关键。
|
1天前
|
存储 Python
Python网络编程基础(Socket编程)UDP客户端编程
【4月更文挑战第9天】在UDP通信中,客户端负责发送数据到服务器,并接收来自服务器的响应。与服务器不同,客户端通常不需要绑定到特定的地址和端口,因为它可以临时使用任何可用的端口来发送数据。下面,我们将详细讲解UDP客户端编程的基本步骤。
|
1天前
|
Java Spring
【编程笔记】在 Spring 项目中使用 RestTemplate 发送网络请求
【编程笔记】在 Spring 项目中使用 RestTemplate 发送网络请求
97 0
|
1天前
|
机器学习/深度学习 算法 数据库
基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱
基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱
|
1天前
|
网络协议 Unix Python
Python编程-----网络通信
Python编程-----网络通信
8 1
|
1天前
|
网络协议 Unix 网络性能优化
网络编程 —— TCP 和 UDP 编程详解
网络编程 —— TCP 和 UDP 编程详解
网络编程 —— TCP 和 UDP 编程详解
|
1天前
|
网络协议 Java 网络安全
【计算机网络】—— Socket通信编程与传输协议分析
【计算机网络】—— Socket通信编程与传输协议分析
9 0
|
1天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver
|
1天前
|
SQL 安全 Java
Java安全编程:防范网络攻击与漏洞
【4月更文挑战第15天】本文强调了Java安全编程的重要性,包括提高系统安全性、降低维护成本和提升用户体验。针对网络攻击和漏洞,提出了防范措施:使用PreparedStatement防SQL注入,过滤和转义用户输入抵御XSS攻击,添加令牌对抗CSRF,限制文件上传类型和大小以防止恶意文件,避免原生序列化并确保数据完整性。及时更新和修复漏洞是关键。程序员应遵循安全编程规范,保障系统安全。

热门文章

最新文章