use*_*898 3 plc libnodave s7-1200 siemens
在检查s7nodave对S7-1200的EPICS设备支持时,我遇到了一个引用libnodave的问题.当我尝试读取PLC中的任何内存地址时,IOC控制台报告错误:
epics> 2014/05/19 14:20:41.964 Siemens-PLC error while reading 1 bytes from PLC address FB35. Status = context not supported. Step7 says:Function not implemented or error in telgram.
Run Code Online (Sandbox Code Playgroud)
这是libnodave状态代码0x8104.当我试图在网上搜索此错误代码时,所有结果都是参考S7-1500,而不是S7-1200.
我可以通过Siemens SDK访问这些内存块:它们存在并包含有效数据.
为什么S7-1200拒绝发送libnodave数据?有没有选项可以从网络中提供数据块?
我用EPICS版.3.14.12.4,s7nodave 1.03 build with asyn ver.4.11,boost ver.1.55.0.在PC和Virtualbox上尝试了各种版本.
我遇到了与libnodave完全相同的问题,也尝试过Snap7并在S71200上遇到了类似的错误
事实证明,这是一个新的安全选项,添加到TIA 12及更高版本,默认情况下不允许远程访问读取/更新块.如果没有此选项,只有西门子工具可以访问数据.
在TIA中,在CPU项目的属性下,选择"保护",有一个选项"允许来自远程伙伴的PUT/GET通信访问...."
Snap7的作者也在他的文档中对此进行了解释(使用TIA截图)
http://snap7.sourceforge.net/snap7_client.html