Я пытаюсь прочитать данные из Siemens PLC с помощью python snap7 (PLC 314-2 DP), но я сталкиваюсь с этой ошибкой. В чем здесь общая проблема и как ее решить?
import snap7.client as c
from snap7.util import *
from snap7.snap7types import *
def ReadMemory(plc,byte,bit,datatype):
result = plc.read_area(areas['MK'],0,byte,datatype)
if datatype==S7WLBit:
return get_bool(result,0,bit)
elif datatype==S7WLByte or datatype==S7WLWord:
return get_int(result,0)
elif datatype==S7WLReal:
return get_real(result,0)
elif datatype==S7WLDWord:
return get_dword(result,0)
else:
return None
if __name__ == "__main__":
plc = c.Client()
plc.connect('172.16.138.98',0,0)
print(ReadMemory(plc,0,0,S7WLReal))
Ошибка:
b'CLI : function refused by CPU (Unknown error)'
Traceback (most recent call last):
File "/home/m4hd1/PycharmProjects/MemoryRead/ReadMemory.py", line 33, in <module>
print(ReadMemory(plc,0,0,S7WLReal))
File "/home/m4hd1/PycharmProjects/MemoryRead/ReadMemory.py", line 6, in ReadMemory
result = plc.read_area(areas['MK'],0,byte,datatype)
File "/home/m4hd1/PycharmProjects/MemoryRead/venv/lib/python3.7/site-packages/snap7/client.py", line 256, in read_area
check_error(result, context="client")
File "/home/m4hd1/PycharmProjects/MemoryRead/venv/lib/python3.7/site-packages/snap7/common.py", line 65, in check_error
raise Snap7Exception(error)
snap7.snap7exceptions.Snap7Exception: b'CLI : function refused by CPU (Unknown error)'
Process finished with exit code 1