Добро пожаловать! Игровой форум WLUX.NET - Игры, Читы, Скрипты, Статьи, Софт, Курсы.

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. После регистрации и входа в систему вы сможете создавать темы, публиковать ответы на существующие темы, повышать репутацию участников, скачивать вложения и файлы и многое, многое другое. Так чего же вы ждете?

Добро пожаловать гость!

Приветствуем вас на нашем форуме! Мы очень рады вас видеть и с большим удовольствием поделимся всей информацией нашего форума!

Мы уважаем своих пользователей и так же ждем от вас приятного общения.

Система наград, ежедневное пополнения тем!

Общайся, получай награды.

Статьи, гайды, софт

У нас вы можете скачать бесплатно читы для игр. Полезные гайды на любые темы и схемы заработка. Есть раздел халявы!

FAQ по форуму

Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

  • Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываються в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки работают только с Администрацией форума

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

python Гайд PLC Allen Bradley подключение с помощью Python

Kreet Оффлайн

Kreet

Участник
LV
0
 
19.12.2023
5
0
7

Репутация:

Привет, уважаемый читатель!
Хочу немного поведать тебе как через Python в локальной сети можно подключиться к PLC от Allen Bradley.
В свое время перепробовал кучу разных библиотек, но в один прекрасный день нашлась та самая "pycomm3".

И так, PyComm3 имеет три драйвера: SLCDriver, LogixDriver и универсальный CIPDriver. (Почти все семейства контроллеров общаются по CIP, чтобы понять какой драйвер вам нужен, можно прочитать документацию на

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

)
Мне повезло и мое семейство контроллеров общалась на "LogixDriver".

Первое что необходимо сделать, установить библиотеку PyComm3 через pip:
Далее создаем наш документ main.py и импортируем в него нашу библиотеку:
Python:
from pycomm3 import LogixDriver

Создаем переменную PLC и присваиваем ей параметры подключения в следующем виде - LogixDriver('IP нашего плк в локальной сети')
Python:
plc = LogixDriver('192.168.0.1')

Затем создаем функцию подключения к нашему PLC:
Python:
def Connection_to_plc():
    try:
        plc.open() #Открываем подключение
        print(plc) #Выводим информацию об PLC
    except:
        print('Error')
        pass

Если мы вызовем функцию Connection_to_plc() и у нас правильно указан IP-адрес, мы получим следующий ответ (Имя программы и редакцию):
Program Name: CONTROL_8510, Revision: {'major': 32, 'minor': 11}

ВАЖНО!
Для опроса конкретных тегов вам нужен проект от PLC и понимание того, что вы делаете!
Не пытайтесь менять значение тегов если вы не уверены в последствиях!

Создадим функцию опроса тэга:
Python:
def PollingTag():
    resultRead = plc.read('AL_POS[17].6')
    result = resultRead[1]
При ее вызове в "resultRead" мы получим список вида:
(value=TRUE,tag='AL_POS[17].6', type='BOOL', error=None)
Для построения какой либо логики нас интересует значение "value", его мы получаем выдергивая первый элемент из списка.
Если мы выполним:
Код:
print(result)
Мы получим значение "TRUE"!

В целом, этого базиса должно быть достаточно для понимания основ.
Код целиком:
Python:
from pycomm3 import LogixDriver
import time
plc = LogixDriver('IP твоего PLC')

def Connection_to_plc():
    try:
        plc.open()
        print(plc)
        time.sleep(10)
    except:
        print('Error')
        pass

def PollingTag():
    resultRead = plc.read('Вставь свой тег сюда!')
    result = resultRead[1]
    print(result)
    time.sleep(10)

def main():
    Connection_to_plc()
    while True:
        PollingTag()

main()

Данную библиотеку можно использовать для построения аналитики работы оборудование, очень удобно использовать совместно с ТГ ботом.
При помощи функции "plc.write" можно менять значение тегов в зависимости от типов данных и удаленно управлять оборудованием если это необходимо.
Спасибо за прочтение!
 
colddry Оффлайн

colddry

Участник
LV
3
 
11.08.2023
6
0
25
Награды
3
21

Репутация:

есть чему поучиться, спасибо
 
A Оффлайн

aayykk

Местный
Участник
LV
2
 
23.12.2023
52
0
30
Награды
3
36

Репутация:

от души за такую инфу
 
for_freedom Оффлайн

for_freedom

Местный
Участник
LV
1
 
16.12.2024
65
0
18
Награды
3
46
Пол
Муж.

Репутация:

Спасибо за интересный контент
 
for_freedom Оффлайн

for_freedom

Местный
Участник
LV
1
 
16.12.2024
65
0
18
Награды
3
46
Пол
Муж.

Репутация:

Спасибо за данный гайд
 

Поиск по форуму

shape1
shape2
shape3
shape4
shape7
shape8
Верх