Как общаться 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)
Другие вопросы по тегам