我必须更新旧房屋自动化系统,并考虑使用西门子标识控制系统。要求是可以从c#应用程序中读取输入和输出端口的状态 由于某些徽标模块具有以太网端口,我认为它们可能支持通过http读取和写入端口状态。但是,我还没有找到有关此功能的信息。
是否有人在c#中读取和写入西门子徽标的端口状态?是否有文档化的API,希望是HTTP-API?或者有人可以推荐另一个自动化系统,它有这样的API吗?
答案 0 :(得分:12)
我是西门子标识自动化系统的新手。
如果它支持HTTP(不是HTTPS),并且您想对API进行反向工程,那么您可以嗅探发送到以太网接口的消息。
然而,这项任务是残酷的,至少你有足够的时间/耐心,我不会推荐它。
您在市场上有更多选择。任何支持X10(古代),Insteon或Z-Wave的东西都可能让你朝着正确的方向前进。
我有Insteon的经验。他们为SDK收取200美元的费用,有传言说SDK没有很好的文档记录,开发可能很麻烦,但是有一个免费的库,你可以到这里来。
http://soapboxautomation.com/support-2/fluentdwelling-support/
您只需要调制解调器COM / USB就可以控制X10和Insteon设备。
答案 1 :(得分:1)
查找“LOGO的应用示例!”,下载,阅读源代码。
也随机谷歌搜索“我找到了一个有用的工具来研究设置目录下的LOGO通讯协议Program Files \ Siemens \ LOGOComfort_V5 \ lib \ classes.jar ...”乍一看看起来不像HTTP甚至不清楚它是否基于tcp而不是udp,但它看起来确实是一个好的开始,尝试重新创建那个chap的开发环境,我觉得你很稳定。
假设您有相同的生成控制器,也在下面:
http://wiki.ibhsoftec.com/en/OPCServer:Variables_from_LOGO!_RCE
这里有一个库,据称支持C#:
答案 2 :(得分:1)
此功能不可用,据我所知,LOGO将无法使用。以太网并不意味着该产品具有Web服务器,电子邮件等。只是通过以太网层进行通信(状态)数据的可能性。例如Profinet IO。
LOGO是一个简单的plc,更像是一个时钟而不是PLC,它有一个简单的处理器。您应该根据自己的要求开始寻找比LOGO更强大/不同的产品。
答案 3 :(得分:1)
在具有内置Web服务器的最新徽标8上,这是可能的,甚至没有那么困难。
我在这里记录我的发现:https://github.com/jankeymeulen/siemens-logo-rest,也许有一天我会写一个包装器,但是使用它非常简单,例如使用Node-RED。
例如从I1读取状态:
curl 'http://192.168.1.100/AJAX' -H 'Security-Hint: ABCDEFGHIJKLMNOPQRSTUVWXYZ123456' --data-binary 'GETVARS:v1,129,0,0,1,1'
安全提示,您需要嗅探一次,但可以无限期地重用(从相同的IP地址)。
答案 4 :(得分:0)
西门子没有用于LOGO!的官方API。据我从其他用户那里了解到的,我不会提出一个。
但是您可以尝试使用此LOGO! API中间件服务器。
您的LOGO!需要可以通过互联网访问。
从I1-I4,M1-M4,AI1-AI4,AM1-AM4读取数据。 可以触发功能键F1-F4
数据包含的内容以及功能键触发的内容取决于您的LOGO!程序。
您可以创建一个LOGO密钥,并使用此格式从LOGO中检索数据! https://www.ambersys.net/api?logokey=(the创建了徽标键)