pythonplcs7-1200siemenstia-portal

S7-1200, Snap7: Exception: CLI : function refused by CPU (Unknown error)


Running below snap7 client script for python using Siemens S7-1200 PLC shows the below common CLI refusal error. What is here the common problem and how to solve it?

Script:

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)

Traceback error:

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)


Solution

  • First of all check which type/model of PLC you've got and check which firmware version you selected (first revision or newer?). Check on the website with Siemens or TIA portal software if there are earlier firmware versions available.

    Try to reset your plc to an earlier firmware version and rerun the script and see if the error message is gone!

    S7-1212C Example: firmware version 4.1 gives above described error. If firmware version 4.0 is loaded then the error vanishes and you get access to the pcl..

    Enjoy Christmas second!