Я хотел бы подключить свой Beckhoff CX5230 (Win10) к ПК с Linux через PyADS. Тема, которая обсуждалась здесь несколько раз, но пока ни одно решение мне не помогло.
Маршрутизация ПЛК Beckhoff в Linux
Соединение Pyads отклонено с Beckhoff под управлением Twincat 3
чтение и запись переменных в ПЛК (beckhoff CX9020) с помощью модуля Python pyads
Сначала я создал маршрут на ПЛК из моего Linux:
import pyads
SENDER_AMS = '5.97.120.143.1.1'
PLC_IP = '192.168.0.1'
PLC_USERNAME = 'Administrator'
PLC_PASSWORD = '1'
ROUTE_NAME = 'RouteToPC'
HOSTNAME = '192.168.0.1'
pyads.open_port()
pyads.set_local_address(SENDER_AMS)
pyads.add_route_to_plc(SENDER_AMS, HOSTNAME, PLC_IP, PLC_USERNAME, PLC_PASSWORD, route_name=ROUTE_NAME)
pyads.close_port()
Пока это работает достаточно хорошо. Я подключил монитор к Beckhoff и увидел, что был создан новый маршрут.
Мне также удалось установить ping от ПЛК к ПК и с ПК на ПЛК. Поэтому я предполагаю, что IP-адреса верны и соединение установлено.
Далее я пытаюсь установить маршрут от моего ПК к ПЛК:
import pyads
TARGET_AMS_ID = '5.97.120.143.1.1'
PLC_IP = '192.168.0.1'
plc = pyads.Connection(TARGET_AMS_ID, pyads.PORT_TC3PLC1, PLC_IP)
plc.open()
print(f"Connected?: {plc.is_open}")
print(f"Local Address? : {plc.get_local_address()}")
print(plc.read_state())
При запуске сценария возникает следующая ошибка:
2024-06-12T17:28:09+0000 Info: Connected to 192.168.0.1
Connected?: True
Local Address? :
Traceback (most recent call last):
File "pyads_test.py", line 24, in
print(plc.read_state())
File "/home/builder/.local/lib/python3.7/site-packages/pyads/connection.py", line 237, in read_state
return adsSyncReadStateReqEx(self._port, self._adr)
File "/home/builder/.local/lib/python3.7/site-packages/pyads/pyads_ex.py", line 510, in adsSyncReadStateReqEx
raise ADSError(error_code)
pyads.pyads_ex.ADSError: ADSError: timeout elapsed (1861).
2024-06-12T17:28:14+0000 Info: connection closed by remote
Я также попробовал эти инструкции здесь и создал маршрут вручную:
https://github.com/stlehmann/pyads/issu ... -956370290
По-прежнему появляется ошибка «Соединение закрыто удаленно»:
pyads.open_port()
CLIENT_AMS_NET_ID = "192.168.0.253.1.1"
pyads.set_local_address(CLIENT_AMS_NET_ID)
pyads.close_port()
TARGET_AMS_ID = "5.97.120.143.1.1"
TARGET_PC_ID = "192.168.0.1"
plc = pyads.Connection(TARGET_AMS_ID, pyads.PORT_TC3PLC1, TARGET_PC_ID)
plc.open()
plc.write_by_name("GVL.P1", True)
exit()
builder@user:~$ python3 pyads_test.py
2024-06-18T08:49:10+0000 Info: Connected to 192.168.0.1
2024-06-18T08:49:10+0000 Info: connection closed by remote
Подробнее здесь: https://stackoverflow.com/questions/786 ... with-pyads
Соединение между ПЛК Beckhoff и Linux с помощью PyADS ⇐ Python
Программы на Python
-
Anonymous
1728453701
Anonymous
Я хотел бы подключить свой Beckhoff CX5230 (Win10) к ПК с Linux через PyADS. Тема, которая обсуждалась здесь несколько раз, но пока ни одно решение мне не помогло.
Маршрутизация ПЛК Beckhoff в Linux
Соединение Pyads отклонено с Beckhoff под управлением Twincat 3
чтение и запись переменных в ПЛК (beckhoff CX9020) с помощью модуля Python pyads
Сначала я создал маршрут на ПЛК из моего Linux:
import pyads
SENDER_AMS = '5.97.120.143.1.1'
PLC_IP = '192.168.0.1'
PLC_USERNAME = 'Administrator'
PLC_PASSWORD = '1'
ROUTE_NAME = 'RouteToPC'
HOSTNAME = '192.168.0.1'
pyads.open_port()
pyads.set_local_address(SENDER_AMS)
pyads.add_route_to_plc(SENDER_AMS, HOSTNAME, PLC_IP, PLC_USERNAME, PLC_PASSWORD, route_name=ROUTE_NAME)
pyads.close_port()
Пока это работает достаточно хорошо. Я подключил монитор к Beckhoff и увидел, что был создан новый маршрут.
Мне также удалось установить ping от ПЛК к ПК и с ПК на ПЛК. Поэтому я предполагаю, что IP-адреса верны и соединение установлено.
Далее я пытаюсь установить маршрут от моего ПК к ПЛК:
import pyads
TARGET_AMS_ID = '5.97.120.143.1.1'
PLC_IP = '192.168.0.1'
plc = pyads.Connection(TARGET_AMS_ID, pyads.PORT_TC3PLC1, PLC_IP)
plc.open()
print(f"Connected?: {plc.is_open}")
print(f"Local Address? : {plc.get_local_address()}")
print(plc.read_state())
При запуске сценария возникает следующая ошибка:
2024-06-12T17:28:09+0000 Info: Connected to 192.168.0.1
Connected?: True
Local Address? :
Traceback (most recent call last):
File "pyads_test.py", line 24, in
print(plc.read_state())
File "/home/builder/.local/lib/python3.7/site-packages/pyads/connection.py", line 237, in read_state
return adsSyncReadStateReqEx(self._port, self._adr)
File "/home/builder/.local/lib/python3.7/site-packages/pyads/pyads_ex.py", line 510, in adsSyncReadStateReqEx
raise ADSError(error_code)
pyads.pyads_ex.ADSError: ADSError: timeout elapsed (1861).
2024-06-12T17:28:14+0000 Info: connection closed by remote
Я также попробовал эти инструкции здесь и создал маршрут вручную:
https://github.com/stlehmann/pyads/issues/281#issuecomment-956370290
По-прежнему появляется ошибка «Соединение закрыто удаленно»:
pyads.open_port()
CLIENT_AMS_NET_ID = "192.168.0.253.1.1"
pyads.set_local_address(CLIENT_AMS_NET_ID)
pyads.close_port()
TARGET_AMS_ID = "5.97.120.143.1.1"
TARGET_PC_ID = "192.168.0.1"
plc = pyads.Connection(TARGET_AMS_ID, pyads.PORT_TC3PLC1, TARGET_PC_ID)
plc.open()
plc.write_by_name("GVL.P1", True)
exit()
builder@user:~$ python3 pyads_test.py
2024-06-18T08:49:10+0000 Info: Connected to 192.168.0.1
2024-06-18T08:49:10+0000 Info: connection closed by remote
Подробнее здесь: [url]https://stackoverflow.com/questions/78614430/connection-between-beckhoff-plc-and-linux-with-pyads[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия