Как общаться Python с ПЛК Siemens с помощью Python-snap7?
Я пытаюсь установить связь Python с ПЛК CPU1212C (используя PLCSIM), но всегда возникает ошибка.
Код:
IP = '192.168.100.100'
RACK = 0
SLOT = 1
plc = snap7.client.Client()
plc.connect(IP, RACK, SLOT)
print(plc.get_cpu_state())
No handlers could be found for logger "snap7.common"
Traceback (most recent call last):
File "C:/Python27/Teste_Snap7.py", line 8, in plc.connect(IP, RACK, SLOT)
File "C:\Python27\lib\site-packages\snap7\client.py", line 25, in f check_error(code, context="client")
File "C:\Python27\lib\site-packages\snap7\common.py", line 65, in check_error raise Snap7Exception(error)
Snap7Exception: TCP : Connection timed out
Это проблема с Windows10?
Я использую 64-разрядную версию Windows10, Python 2.7.17, Snap7 1.1.0, Python-Snap7 0.10.
Я скопировал и вставил файлы snap7.dll и snap7.lib в папки System32, Python27, Python27 / site-packages / snap7. И я создал для каждой папки путь в переменных среды, чтобы попытаться работать.
Я следовал этому руководству: https://www.youtube.com/watch?v=BKnK4AT_WKs
4 ответа
Проверять:
- если ПЛК действительно пингует
- если на вашем ПК включен сервер Snap7
- если стойка и слот правильные, в соответствии с вашим ПЛК.
Руководство, поставляемое с snap7, очень исчерпывающее, обратитесь к нему.
Проверьте на портале tia: свойства> Защита и безопасность> механизм подключения> и отметьте «разрешить доступ с помощью PUT / GET ..»
Это не проблема, связанная с Windows, в сообщении об ошибке вы можете увидеть проблему:
Snap7Exception: TCP : Connection timed out.
Проверьте ваше физическое соединение с машиной, а затем проверьте IP-адрес клиента.
Обновите проверку кода, используя строки ниже, и у меня есть опыт в этом.
plc = snap7.client.Client()
plc.connect(plc_ip_address, rack, slot, 102)