与xmpro演示机的kep服务器通信的api

opc-app的Python项目详细描述


opc_应用程序

这是一个简单的api,它公开了一些从kep请求信息的路由

此应用程序将在以下位置提供路线:

http://<ip_address>:5000

根据路由器配置,您也可以从本地网络外部访问此网关,即,如果它是nat'd out。

路线

get/或/api

测试API是否有效

{"message":"opc http endpoint is alive"}

get/api/sensor/<;名称>;

获取要连接到的可用服务器列表
{"quality":"Good","time":"02/01/19 07:08:28","value":10614}

get/api/servers

获取要连接到的可用服务器列表
{"servers":["Kepware.KEPServerEX.V6"]}

get/api/nodes/<;node>;

获取节点列表
{"nodes":["_AdvancedTags","_ConnectionSharing","_CustomAlarms","_DataLogger","_EFMExporter","_IDF_for_Splunk","_IoT_Gateway","_LocalHistorian","_Redundancy","_Scheduler","_SecurityPolicies","_SNMP Agent","_System","Channel1","Data Type Examples","Simulation Examples","XMPro"]}

先决条件

确保安装的所有内容都是32位的(即使是在64位操作系统上)

git bash

安装git BASH。我们将使用这个终端模拟器运行我们的程序,将与plc服务器通信。

在安装过程中无需更改任何默认设置,但以下注意事项除外。

安装git bash时,安装程序将从命令行询问您希望如何使用它。选择与下图相同的选项。

git-bash-command-prompt

安装程序还将询问您要使用哪个终端模拟器,我们将使用winows的默认控制台。

git-bash-console-window

python 2.7

安装Python 2.7 32-bit(如果尚未安装)。

确保将python添加到path。确保Add python..exe to Path旁边的小符号没有交叉。

python-install-path

打开git bash并执行以下操作,检查安装是否正常。

python

预期产出。

python-command-check

Pywin32

为python 2.7安装32位版本的pywin32

打开OPC

安装OpenOPC库。

在安装过程中,将要求您选择要安装的组件。取消选中opc网关服务。

open-opc-gateway-uncheck

快速启动

在完成所有先决条件后,以下步骤应使api启动并运行

安装应用程序

打开git bash并运行以下命令来安装应用程序。

pip install opc-app

快跑!

xmpro-demo-app

第一次运行此程序时,windows可能会提示您允许python通过防火墙进行通信。我们希望允许传入连接,因此我们需要确保选中两个框,如下图所示。

windows-firewall

测试一下!

打开浏览器并浏览到任何路线。尝试浏览到http://localhost:5000/api,您将看到以下内容。

如果使用edge,则需要确保在web地址前面键入http://,否则可能无法工作。

check-edge

关上它!

您需要通过单击红十字会来关闭git bash。此时ctrl-c似乎不起作用。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java CXF和授权   java在网站中部署使用swing创建的表单   java为什么getHeaderField()返回一个字符串,其中getHeaderFields()返回HttpUrlConnection中的Map<String,List<String>>   java如何检测恶意数据包?   webview中的java网页为空   java SWT图像资源,用于将我的所有图像存储在一个位置   java计算数组的最大长度,使平均值小于给定值   java“发件人电话号码无效”和美国号码   将Swing组件作为内容的自定义Java工具提示不会显示   在并发HashMap中重新灰化期间的java检索   Java 7和Tomcat 7.0.64 ClassFormatException:常量池中的字节标记无效   使用JUnit的java assertNull因NullPointerException失败   java内存中的文件是否与文件系统中的文件大小相同?   循环内实例化的类型的java注入依赖项