libnodave error while reading from Siemens s7-1200 (0x8104)

£可爱£侵袭症+ 提交于 2019-12-01 22:55:27

问题


While checking s7nodave's EPICS device support for S7-1200 I've encountered a problem that refers to libnodave. When I'm try to read any memory address in PLC, IOC console reports an error:

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.

That is libnodave status code 0x8104. When I've tried to search the web for this error code, all results were referencing to S7-1500, not S7-1200.

I can access those memory blocks through Siemens SDK: they exist and contain valid data.

Why does S7-1200 refuse to send libnodave the data? Is there any option to make data blocks available from network?

I used EPICS ver. 3.14.12.4, s7nodave 1.03 build with asyn ver. 4.11, boost ver. 1.55.0. Tried various versions both on PC and Virtualbox.


回答1:


I ran into the exact same issue with libnodave, also tried Snap7 and got a similar error on the S71200

It turned out to be a new security option that was added to TIA 12 and higher that by default disallows remote access to read/update blocks. without this option, only Siemens tools have access to the data.

In TIA, under the properties for the CPU project, select "Protection" there is an option for "Permit access with PUT/GET communications from remote partner...."

The author of Snap7 also has an explanation of this in his documentation (with TIA screenshots)

http://snap7.sourceforge.net/snap7_client.html




回答2:


Read out data from a Function Block? Don't you mean Data Block? S7-1200 has indirect access on by default. Check if Optimised Block access is disabled.



来源:https://stackoverflow.com/questions/23745407/libnodave-error-while-reading-from-siemens-s7-1200-0x8104

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!