S7-1200,Snap7:异常:CLI:CPU拒绝功能(未知错误)

时间:2017-12-26 13:41:37

标签: python plc s7-1200 siemens tia-portal

使用Siemens S7-1200 PLC在python的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)

回溯错误:

  

找不到记录器“snap7.common”的处理程序   Traceback(最近一次调用最后一次):   文件“”,第1行,in   在read_area中输入文件“/usr/local/lib/python2.7/dist-packages/snap7/client.py”,第242行   check_error(result,context =“client”)   在check_error中输入文件“/usr/local/lib/python2.7/dist-packages/snap7/common.py”,第69行   提出Snap7Exception(错误)   snap7.snap7exceptions.Snap7Exception:CLI:CPU拒绝的功能(未知错误)

2 个答案:

答案 0 :(得分:2)

在TIA门户网站中,检查是否"优化块访问"对于要从​​中读取数据的数据块,属性处于关闭状态。而且,在CPU访问保护下;访问级别必须“满”,“连接机制”必须允许GET / PUT。有关更多详细信息,请参阅以下链接:

http://snap7.sourceforge.net/snap7_client.html#1200_1500

其次,您要访问哪个数据块?您应该在plc.read_area()方法调用中指定它。应该有一个方法参数指定"数据块"数字,因为你正在使用" 0x84"数据块区域代码。

答案 1 :(得分:0)

首先检查您所拥有的PLC的类型/型号,并检查您选择的固件版本(第一次修订或更新?)。如果有更早的固件版本,请使用Siemens或TIA门户软件在网站上查看。

尝试将plc重置为较早的固件版本,然后重新运行脚本并查看错误消息是否消失!

S7-1212C示例:固件版本4.1给出了上述错误。如果加载了固件版本4.0,则错误消失,您可以访问pcl ..

享受圣诞节第二次!