0

我试图浏览帖子,看看我是否能找到任何东西,但还没有设法找到它。

我在本地主机上运行 SCADA BACnet 设备模拟器。我假设设备的 ip 是我的本地主机 ip,因为我能找到的唯一 IP 是在显示的deviceAddressBinding属性中192.168.x.xx

我正在浏览 bacpypes(bacnet 的 python 库)教程,SampleApplication当我第一次尝试运行该教程时,它指出我的.ini file ip is not a valid address in the context. 所以我尝试输入模拟器的设置来尝试连接到模拟器,现在它给了我一个Only one usage of each socket address (protocol/network address/port) is normally permitted错误。不太确定从这里去哪里,我可能错过了什么吗?

我的 .ini 文件:

[BACpypes]
objectName: Testing Device
address: 192.168.x.xx #tutorial came with 128.253.109.40/20
objectIdentifier: 123
maxApduLengthAccepted: 1024
segmentationSupported: segmentedBoth
vendorIdentifier: 123
foreignPort: 47808
foreignBBMD: 192.168.1.254
foreignTTL: 30

我的模拟器属性: 在此处输入图像描述

4

2 回答 2

0

这似乎是一个Windows问题。替换:

this_application = WhoIsIAmApplication(this_device, args.ini.address)

和:

this_application = WhoIsIAmApplication(this_device, ('', 47808))
于 2015-08-13T15:37:12.473 回答
0

您的示例应用程序和 BACnet 模拟器正在打开一个服务器套接字。看起来两者都使用相同的端口号。您可以更改 ini 文件中的端口号,如下所示

地址:192.168.1.22:47809

默认情况下,BACPypes 示例应用程序在 47808 端口号上运行,除非您在配置文件中明确提及。

于 2018-06-04T12:20:05.327 回答