S7-1200、Snap7:异常:CLI:函数被 CPU 拒绝(未知错误)
S7-1200, Snap7: Exception: CLI : function refused by CPU (Unknown error)
运行 下面的 python 使用西门子 S7-1200 PLC 的 snap7 客户端脚本显示了以下常见的 CLI 拒绝错误。这里的常见问题是什么,如何解决?
脚本:
import snap7
from snap7.util import *
import struct
import snap7.client
from snap7.snap7types import S7AreaDB
plc=snap7.client.Client()
plc.connect('192.168.0.69',0,1)
area = 0x84
start = 0
length = 1
bit = 0
byte= plc.read_area(area,0,start,length)
回溯错误:
No handlers could be found for logger "snap7.common"
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python2.7/dist-packages/snap7/client.py", line 242, in read_area
check_error(result, context="client")
File "/usr/local/lib/python2.7/dist-packages/snap7/common.py", line 69, in check_error
raise Snap7Exception(error)
snap7.snap7exceptions.Snap7Exception: CLI : function refused by CPU (Unknown error)
首先检查你有哪个 type/model 的 PLC,并检查你选择的固件版本(第一版还是更新版?)。如果有可用的早期固件版本,请使用西门子或 TIA 门户软件检查网站。
尝试将您的 plc 重置为较早的固件版本并重新运行脚本,看看错误消息是否消失了!
S7-1212C 示例:固件版本 4.1 出现上述错误。如果加载固件版本 4.0,则错误消失,您可以访问 pcl..
享受第二个圣诞节!
在 TIA portal 中,检查 "optimized block access" 属性 是否关闭了您要从中读取数据的数据块。此外,在 CPU 访问保护下;访问级别必须是“完全”并且“连接机制”必须允许 GET/PUT。有关更多详细信息,请参阅以下 link:
http://snap7.sourceforge.net/snap7_client.html#1200_1500
其次,您要访问哪个数据块?您应该在 plc.read_area() 方法调用中指定。应该有一个指定 "Data Block" 数字的方法参数,因为您使用的是“0x84”数据块区域代码。
运行 下面的 python 使用西门子 S7-1200 PLC 的 snap7 客户端脚本显示了以下常见的 CLI 拒绝错误。这里的常见问题是什么,如何解决?
脚本:
import snap7
from snap7.util import *
import struct
import snap7.client
from snap7.snap7types import S7AreaDB
plc=snap7.client.Client()
plc.connect('192.168.0.69',0,1)
area = 0x84
start = 0
length = 1
bit = 0
byte= plc.read_area(area,0,start,length)
回溯错误:
No handlers could be found for logger "snap7.common" Traceback (most recent call last): File "", line 1, in File "/usr/local/lib/python2.7/dist-packages/snap7/client.py", line 242, in read_area check_error(result, context="client") File "/usr/local/lib/python2.7/dist-packages/snap7/common.py", line 69, in check_error raise Snap7Exception(error) snap7.snap7exceptions.Snap7Exception: CLI : function refused by CPU (Unknown error)
首先检查你有哪个 type/model 的 PLC,并检查你选择的固件版本(第一版还是更新版?)。如果有可用的早期固件版本,请使用西门子或 TIA 门户软件检查网站。
尝试将您的 plc 重置为较早的固件版本并重新运行脚本,看看错误消息是否消失了!
S7-1212C 示例:固件版本 4.1 出现上述错误。如果加载固件版本 4.0,则错误消失,您可以访问 pcl..
享受第二个圣诞节!
在 TIA portal 中,检查 "optimized block access" 属性 是否关闭了您要从中读取数据的数据块。此外,在 CPU 访问保护下;访问级别必须是“完全”并且“连接机制”必须允许 GET/PUT。有关更多详细信息,请参阅以下 link:
http://snap7.sourceforge.net/snap7_client.html#1200_1500
其次,您要访问哪个数据块?您应该在 plc.read_area() 方法调用中指定。应该有一个指定 "Data Block" 数字的方法参数,因为您使用的是“0x84”数据块区域代码。