PDA

Просмотр полной версии : Основы подключения ПЛК к компу



drvlas
15.06.2012, 12:38
Здравстуйте, уважаемые коллеги!

Я разработал устройство на основе ПЛК100, такие устройства уже работают (автономно) несколько месяцев. Теперь пришла пора подумать о подключении к компу. А я в этом очень пльоха панимать. Прошу вас сориентировать меня в вопросе выбора интерфейса и организации взаимодействия.

Сейчас инетрфейсы ПЛК100 распределены так:
- Этернет свободен
- RS-232 DEBUG свободен
- USB свободен
- RS-485 работает по Модбасу с одним из модулей системы (ПЛК - мастер)
- RS-232 работает с ИП320 (ПЛК- слейв)

Меня интересуют 2 случая:

1) ПЛК расположен достаточно близко к компу.
2) ПЛК расположен достаточно далеко (200 метров и более), чтобы подключение по Этернету считать нежелательным - так мне сказали люди, занимающиеся сетями.

В любом случае интенсивность обмена между ПЛК и компом очень низка. Практически, никаких временнЫх ограничений. Передача нескольких параметров (возможно, только в одном направлении, но это уже если совсем туго с нормальным обменом) с периодом несколько секунд - это же черепаший трафик. Так?

Что касается организации обмена, то я планировал модбасовский подход. Предполагалось, что ПЛК будет сервером (или слейвом), в нем будет область ввода-вывода с необходимым числом регистров, доступных компу. Ничего из этого я не реализовал, но вот уже и пора.

Сразу хочу оговориться, что про СКАДы я только слышал, да и то вполуха. Как это все будет выглядеть со стороны компа - мне не очень и важно. Задача (как я ее сейчас вижу, может и неправильно) - создать в ПЛК такое аппаратно-програмное обеспечение, чтобы его регистры можно было вычитать и записать. Желательно - без привязки к конкретной системе автоматизации построения сетей. Или это я сейчас фигню сморозил?

Заранее спасибо!

IVM
15.06.2012, 12:46
Однозначно RS-485.

drvlas
15.06.2012, 12:53
дык... эта... А как? На 485-м висит модуль, причем ПЛК - мастер. Я не могу понять, как туда присобачить комп-мастер.
Или какой-то адаптер с этернета на 485-й?

Yegor
15.06.2012, 13:26
Какой-нибудь нормальный ethernet-свитч посередине, и всё — будет работать как повторитель. Можно именно повторитель и взять; промышленное исполнение по вкусу. А ещё существуют преобразователи Modbus RTU/ASCII в Modbus TCP — ставим такой рядом с контроллером и тянем 485 до компа, а у компа что-нибудь типа овеновского АС3 для конвертации 485 в 232. Но при наличии розеток на этих 200 метрах проще с эзернетом будет. А если бюджет не жмёт, то и на оптоволокно посмотрите (с учётом сказанного вами это стрельба из пушки по воробьям конечно же).
Задача (как я ее сейчас вижу, может и неправильно) - создать в ПЛК такое аппаратно-програмное обеспечение, чтобы его регистры можно было вычитать и записать. Желательно - без привязки к конкретной системе автоматизации построения сетей. Или это я сейчас фигню сморозил?Просто ПЛК ведомым сделайте по модбасу.

drvlas
15.06.2012, 15:32
Начнем с конца:

Просто ПЛК ведомым сделайте по модбасу.
Нет, там распределение ролей очень важно, ибо тот же модуль-слейв (АЦП) работает в других устройствах и он (модуль) должен быть серийным.


Какой-нибудь нормальный ethernet-свитч посередине
...
Можно именно повторитель и взять
...
А ещё существуют преобразователи Modbus RTU/ASCII в Modbus TCP

То есть, во всех этих решениях я использую этернетовский выход ПЛК - просто нахожу способы передать его на 200 метров. Так?
Какое решение самое бюджетное?

При этом возникает следующий вопрос: в Конфигураторе ПЛК я создаю еще одно Модбас-слейв устройство и в той штучке Modbus[FIX] выбираю ТСР. Так?
А вообще-то, попробовал только что Конфигуратор и вижу там также вариант Debug RS-232. Интересно, можно ли подключиться к компу по Модбасау через тот разъем? Каковы здесь недостатки или ограничения?

YuriBel
15.06.2012, 18:05
Осмелюсь посоветовать.
Не вдаваясь в дебри скачать, установить и попробовать МастерСКАДА и МастерOPC на 32 точки. Это абсолютно бесплатно, и вопросы по настройкам, если они появятся, можно задавать на этом форуме в соответствующем разделе, там представитель разработчиков отвечает регулярно. Заодно скачать видеопримеры, из которых многое становится ясно. И если у вас и кнтроллер и компьютер под рукой, то вы сможете сразу начать получать представление о том,то ли это, что вам нужно, или нет. Если 32 точек хватит, то и вопрос стоимости решения отпадает сам собой. По поводу ограничений RS 232 debug: какие-то ограничения есть, но не помню у сотого или у сто десятого семейства контроллеров, о чем написано в РЭ на контроллер, кстати в одной из недавних тем на форуме это упоминалось, можно поискать. А перейти на 485 проще всего через АС3 или АС4, но это можно сделать позже, для изучения СКАДА и ОРС можно соединиться по 232.

smk1635
15.06.2012, 19:36
Здравстуйте, уважаемые коллеги!

Сейчас инетрфейсы ПЛК100 распределены так:
- Этернет свободен
- RS-232 DEBUG свободен
- USB свободен
- RS-485 работает по Модбасу с одним из модулей системы (ПЛК - мастер)
- RS-232 работает с ИП320 (ПЛК- слейв)

Меня интересуют 2 случая:

1) ПЛК расположен достаточно близко к компу.
2) ПЛК расположен достаточно далеко (200 метров и более), чтобы подключение по Этернету считать нежелательным - так мне сказали люди, занимающиеся сетями.



Я то же считаю, что до сто метров лучше Ethernet. Все что свыше RS-485. Хотя большенство производителей оборудования и программного обеспечения ратуют за Ethernet (но это по тому что там программисты, а не КИПовцы.). Типа поставил свитч и порядок. Вот тут и начинается веселье как правило. В существующую сеть подключатся, это геморой с IT-отделами заказчика (им это нафиг не надо). Случись чего спрос не с них, а с нас. Новую сеть тянуть, вопрос где свич ставить (не везде поставишь, то температуры уличные, пыль, конденсат и т.д.). Опять же питание его. От куда брать? А если обесточат ? Вообщем RS-485 рулит. На 800 метров работает стабильно (проверено практикой).
Для задач подобно вашей отработал и применяю следующую архитектуру.
1. Работа по Модбасу.
2. На RS-485 модуль и ИП320 (ПЛК - мастер)
3. С RS-232 через АМ3-М ухожу на RS-485.
4. С RS-485 через АМ4 ухожу на комп (Скада - мастер)

Скаду делаю мастером т.к. у применяемых ОРС-серверов режим слейв не очень стабилен. У Лектуса точно. У Мастерскадовского сделали относительно не давно. Пробовать применять стал месяца два назад только, но результат то же не порадовал. Правда с ним не всё однозначно. Толи глючит, толи я ещё не разобрался. Времени не хватает. Но на реальных объектах пока воздержался эксперементировать.

Yegor
16.06.2012, 16:34
Нет, там распределение ролей очень важно, ибо тот же модуль-слейв (АЦП) работает в других устройствах и он (модуль) должен быть серийным.И что именно тут мешает оставить его ведущим в 485 и сделать ведомым в эзернете?
То есть, во всех этих решениях я использую этернетовский выход ПЛК - просто нахожу способы передать его на 200 метров. Так?
Какое решение самое бюджетное?Самое бюджетное — найти в шкафу сисадмина простенький свитч (коммутатор) и воткнуть его посередине. Чуть менее бюджетное — купить его же в магазине за 500 рублей. Ну, ещё провода, куда без них... Бухта неэкранированной витухи на 305 метров от 1200 рублей.

lara197a
16.06.2012, 16:41
Езернет вполне до 300м работает.

drvlas
16.06.2012, 20:27
Не вдаваясь в дебри скачать, установить и попробовать МастерСКАДА и МастерOPC на 32 точки
Скачал. Нужно еще изучать и изучать. С нуля-то все кажется таким сложным :)
Освою, конечно. В любом случае это у меня давно назревший вопрос.
Но пока для меня важно вот что понять:
Представьте себе, что я не создаю систему с моим ПЛК в качестве элемента, работающего с компом. Я должен только обеспечить возможность создания таких систем - в соответствии с нуждами разных пользователей моими устройствами на основе ПЛК100, а также в соответствии со вкусами их программистов (ясно же, что на вкус и цвет все фломастеры разные).
Тогда как? Что я должен обеспечить в самом ПО ПЛК и что я должен описать в РЭ на устройство, чтобы боль-мень грамотный программист прочел это и интегрировал мой ПЛК в свою систему, легко и просто.
Вот это как-то вообще мне слабо понятно. В своих старых устройствах мы описывали протокол, по которому к контроллеру можно было обратиться по RS-485, систему команд и набор параметров. И все. Тамошние программисты (без особой радости, ибо все это было самодельным и нестандартным) писали чевой-то для компа и контроллер включался в систему.
Переходя на ПЛК, я имел в планах и предоставление пользователю возможности простого интегрирования контроллера в АСУ. Конечно, в этом отношении даже ПЛК100 - верх мечтаний. Но нужно же что-то понимать в этой самой интеграции. А мои программисты уже далече... Вот откуда идут мои детские вопросы.

2 Yegor:
И что именно тут мешает оставить его ведущим в 485 и сделать ведомым в эзернете?
Так ведь речь шла о том, что сам порт 485-й занят общением с АЦП. Поэтому физической средой общения ПЛК с ПК на стороне ПЛК должен быть не 485-й. Похоже, что это и будет этернет.


2 lara197a и smk1635: хорошо, можно попробовать этернет безо всяких свичей. А как себя ведет этот самый этенрнет, когда данные передаются с ошибками? Там идет повтор посылок или как-то снижается скорость? Можно ли задать сразу черепашью скорость (если мы знаем, что траффик мизерный)?

А если этернет будет плохо работать, то ставим преобразователь с него на 485-й. Верно? А на стороне компа - назад в этернет или в 232-й?
И верно ли я понимаю, что в рассматриваемой задаче, при работе с Модбасом, для программы ПЛК не имеет значения канал передачи? Что мы просто в конфигураторе укажем то ли TCP, то ли RS-485, то ли RS-232 - и больше ничего не изменится.

ASo
16.06.2012, 20:59
А как себя ведет этот самый этенрнет, когда данные передаются с ошибками?А откуда ошибки?

Там идет повтор посылок или как-то снижается скорость? Можно ли задать сразу черепашью скорость (если мы знаем, что траффик мизерный)?Нет, скорость физического уровня - фиксирована. 10 или 100Мбит/с
Контроль весьма серьезный.
1. На уровне звена данных (сам ethernet)
2. На уровне IP
3. На уровне MODBUS TCP, если не отключите.

lara197a
16.06.2012, 21:02
При работе с ОРС по изернет Вам ничего указывать не нужно.
Поставьте Мастер-скаду, выделите переменные ОРС СоDeSys(см.инструкцию на диске), добавьте ОРС сервер и переменные в Мастер-скаду. Сразу увидите нужные значения в скаде.
Скорость изернет соединения постоянная и не регулируется. Про ошибки не беспокойтесь. Там все само собой образуется, на аппаратном и программном уровнях.

drvlas
16.06.2012, 21:10
А откуда ошибки?
Ну как же: допустим, длика кабеля 10 м, ошибок нет. Длина каблея 10 км - работа невозможна. Существует зона, в которой количество ошибок возрастает резко. Я так думаю.

Ну, в общем понял. Спасибо огромное всем за ответы. Пощупаю Мастер-СКАДА, почитаю, попробую увидеть из компа переменные в программе ПЛК, а там и новые вопросы появятся.

Жаль только, что пока не открылось мне видение того, как приготовить прибор к его интеграции в системы разного вида. Что ж, будем идти от простого к слоджному. Сначала научусь работать с ним от Мастер-СКАДА, а потом станет ясно, что еще надо (и надо ли).

ASo
16.06.2012, 21:30
Жаль только, что пока не открылось мне видение того, как приготовить прибор к его интеграции в системы разного вида.Вам про это уже говорили. Так же, как это сделано с контроллерами ОВЕН с жесткой прошивкой и протоколом MODBUS. В РЭ достаточно указать номера регистров и их описание.
Сторонний разработчик подхватит MODBUS TCP или напрямую (описание протокола открытое) или через OPС сервер, коих для данного протокола - как у собаки блох. А с OPC - через стандартный COM/DCOM API. В девичестве - DDE, OLE. Есть примеры считывания в Эксель.

ASo
16.06.2012, 21:31
Ну как же: допустим, длика кабеля 10 м, ошибок нет. Длина каблея 10 км - работа невозможна. Существует зона, в которой количество ошибок возрастает резко. Я так думаю.Кабель проверяется специальным тестером. Скажем - на категорию 3 для 10 Мбитного езернета. В принципе, данный тестер можно найти на время.

drvlas
16.06.2012, 21:47
Кабель проверяется специальным тестером. Скажем - на категорию 3 для 10 Мбитного езернета.
Да нет, я имел в виду другое: есть реальный объект, на котором пользователь решил подключить наш ПЛК к компу - исключительно для того, чтобы пару раз в день вычитывать парочку регистров (суммарный учет продукции). Тамошний спец меня и спрашивает: как? Говорит, что расстояние будет метров 200.
Вот ему-то сейчас и надо рассказать, как физически подключить ПЛК, а также что с этим потом делать, чтобы увидеть те регистры. Вы пишете "будет работать", а как мы узнаем потом в жизни? Очевидно, количество ошибок будет или меньше некоей критической величины, или больше. Никто же там тестер не будет искать. Глушь...
Ну, а программный уровень, как я понял, у меня не готов совершенно. Нужно выделить регистры (переменные), которые могут интересовать пользователя, как-то их обозвать ОРС СоDeSys переменными и что? - предлагать тому пацану ставить Мастер СКАДА? А есть ли более простой для него путь увидеть значения одной-двух переменных ПО ПЛК?
Вот этого я пока не знаю.

ASo
16.06.2012, 22:15
1. Если расстояние 200м, то по кабелю - 250..300. Вариантов 2:
1.1. Взять бухту Кат.5, проверить тестером на Кат.3 на разработке, в Киеве Вы точно тестер найдете, если проходят все тесты, кроме длинны линии - монтировать этим кабелем. Если нет, то
1.2. Купить пару VDSL модемов, соединить по любой телефонной паре.
2. Забудьте про CDS OPC!!! Он ну не для этого предназначен. Выведите необходимые регистры через стандартный ОВЕНовский механизм. Пропишите в РЭ.
3. Настройте на своем столе бесплатный OPC от Инсата. Сохраните файл конфигурации.
4. Подключите тэги этого ОPС в любую программу, которая может быть DDE клиентом. Хоть в тот же Эксель. Передайте, как пример.
4.1. Если пару раз в день, с рычной записью в гроссбух, то можете схалтурить и настроить любой OPC бесплатный клиент, скажем, от Матрикона, СофтвареТулбокс, ... Да хоть бесплатную базовую версию СКАДЫ ТрэйсМоде - она час работает и в Акцесовский файл запишет ;)

Yegor
17.06.2012, 11:28
Езернет вполне до 300м работает.Тянул как-то на 150 — работало, но довольно лажово, то бишь с выпаданиями до нескольких секунд. Переделал на два участка по 100 тем же проводом (скрутка на втором с ещё одним отрезком) — сразу заиграло.
Так ведь речь шла о том, что сам порт 485-й занят общением с АЦП. Поэтому физической средой общения ПЛК с ПК на стороне ПЛК должен быть не 485-й. Похоже, что это и будет этернет.Вот и будет на эзернете слейв висеть. Ок?
А есть ли более простой для него путь увидеть значения одной-двух переменных ПО ПЛК?Если нужно просто «увидеть», то пишется консольная прога длиной в десяток-другой строк, которая и будет показывать один-два регистра — обращайтесь, сделаю за спасибо на телефон.

drvlas
17.06.2012, 20:26
4.1. Если пару раз в день, с рычной записью в гроссбух, то можете схалтурить и настроить любой OPC бесплатный клиент, скажем, от Матрикона, СофтвареТулбокс, ... Да хоть бесплатную базовую версию СКАДЫ ТрэйсМоде - она час работает и в Акцесовский файл запишет ;)
Вот здесь, плз, подскажите еще: если мне нравится Инсатовская Мастер СКАДА, я даже надеюсь ее освоить - то стоит ли сейчас думать об этих трейсмодах всяких? Ведь Вы же упомянули их только в том смысле, что есть богатство выбора?

Что касаемо расстояния, то тут другой вопросик. Коллега Yegor пишет о странном способе увеличения дальнодействия: разрезать кабель на 2 части? Или я не въехал?

И все же, можете назвать конкретный пример преобразователя, который я могу поставить возле ПЛК, воткнуть в его етернетное гнездо и повести 485-й к компу? А там, соответственно, все наоборот, перейти от 485-го к этернету (тем же преобразователем, как я понимаю?). Ознакомившись с описанием такого преобразователя, я бы понял кое-что.
Смотрю ОВЕНовские ЕКОН131 и 134 - это не понял: среда передачи этернет, а девайсы с 485-м. Так это не для дальней связи, а для интегрирования в этернет приборов с 485-м? Или я уже совсем заумничал?

Вижу еще ОВЕНовский АС4. Вроде бы этот можно?

Yegor
17.06.2012, 20:34
разрезать кабель на 2 части? Или я не въехал?100 метров ~~~ коммутатор за 500 рублей из ближайшего компьютерного магазина ~~~ ещё 100 метров. Про скрутку зря сказал — только запутал.

capzap
17.06.2012, 20:43
:) если уже сами позабыли, что у Вас плк мастер в сети 485, то берите АС4 и если на компе будет СОМ-порт, то можно и АС3-М. Организуете на ПК слейв, поверте для каждого языка программирования существует подобная библиотека. И по изменению регистров, складываете данные в файл или выводите на визуализацию.
А если не хотите расставаться с мастером на ПЛК, то пользуйте локальную сеть и пусть это будет головная боль заказчика, как её протянут, в близи покажете что все волшебно и красиво и ни куда заказчик не денется, проведет всё как нужно, кабелем или радиомодемом, уже будет не важно

drvlas
17.06.2012, 20:47
коммутатор за 500 рублей
Понял.
Вот первый попавшийся (http://belkashop.com.ua/index.php?categoryID=237&model=switch_netgear_fs605-300pes&p=6079). Такой подойдет? Во всяком случае, такого плана, думаю. Главная идея, что на 200 грн можно удлинить этернет минимум на 100 м и не задумываться над преобразователями интерфейсов.

Т.е. с расстоянием поборолись. С программой я буду бороться чуть позже. Мастер СКАДА... Здорово будет!
Но последняя неделя перед отпуском задавила другими задачами.

Большое спасибо!

ASo
17.06.2012, 20:49
Вот здесь, плз, подскажите еще: если мне нравится Инсатовская Мастер СКАДА, я даже надеюсь ее освоить - то стоит ли сейчас думать об этих трейсмодах всяких? Ведь Вы же упомянули их только в том смысле, что есть богатство выбора? Я упомянул только в плане решения. Если нужно списывать 3 параметра 2 раза в сутки - достаточно панели и нечего огород городить. А приведенная СКАДА - бесплатна, впрочем, как МАСТЕР-СКАДА на 32 точки.

И все же, можете назвать конкретный пример преобразователя, который я могу поставить возле ПЛК, воткнуть в его етернетное гнездо и повести 485-й к компу? А там, соответственно, все наоборот, перейти от 485-го к этернету (тем же преобразователем, как я понимаю?). Ознакомившись с описанием такого преобразователя, я бы понял кое-что.
Смотрю ОВЕНовские ЕКОН131 и 134 - это не понял: среда передачи этернет, а девайсы с 485-м. Так это не для дальней связи, а для интегрирования в этернет приборов с 485-м? Или я уже совсем заумничал?

Вижу еще ОВЕНовский АС4. Вроде бы этот можно?Угу. Я бы выбрал 2 варианта:
1. MGate MB3180 (~8000руб.) Переходим с Ethernet MODBUS TCP в RS-485 MODBUS RTU, а на компе любой преобразователь в 485, пусть и АС4
2. VDSL модемы. К сожалению, почти не осталось промышленных (не операторских). Можно предложить Зелакс М-30Б (по 2 парам) или Micronet SP3501BM/SP3510BS (в паре), но второе - поискать.

drvlas
17.06.2012, 20:50
А если не хотите расставаться с мастером на ПЛК, то пользуйте локальную сетьНу да, к этому и пришел.

И ничего я не забыл :) Мой 485-й порт на ПЛК занят жестко. Там самый главный обмен с АЦП идет. Никаких изменений туда вносить не рискну.

lara197a
17.06.2012, 21:39
преобразователи 485-изернет стоят дорого.
Проще посередине свитч воткнуть.
Если уж совсем не удобно кабель ложить, то 2 радиомодема поставьте(кEтайских). http://www.compel.ru/2012/05/04/radiomoduli-433-i-868-mgts-c-prozrachnyim-uart-rs-485/?utm_source=mailpress&utm_medium=email_link&utm_content=compel-mp-2__185&utm_campaign=2012-05-07T05:10:10+00:00
Цена вопроса 2х900р. Работают и RS485 и с RS232.

Yegor
19.06.2012, 08:23
Вот первый попавшийся. Такой подойдет?Да. На Яндекс.Маркете (http://market.yandex.ru/guru.xml?CMD=-RR=0,0,0,0-VIS=78-CAT_ID=922278-EXC=1-PG=10&hid=91088&filter=&num=&greed_mode=false) можно ещё повыбирать, но рекомендую зайти в первый попавшийся компьютерный магазин и сказать: «Дайте мне самый простой пятипортовый коммутатор (свитч)». Меньше пяти портов не бывает, а больше не нужно, т.к. вы задействуете лишь два.

akubik
22.06.2012, 16:11
Есть еще вариант Switch Power ower Ethernet в качестве повторителя на расстоянии 100 м. почемуто про него не вспомнили. в герметичную коробку, получается посередине

drvlas
23.06.2012, 11:29
Есть еще вариант Switch Power ower Ethernet в качестве повторителя на расстоянии 100 м.
Почитал про это. Не совсем ясно, нужно ли дополнительное устройство, подающее энергию в кабель? Каков общий состав устройств в моем случае, когда есть один ПЛК100 и есть комп, с которым его нужно всязать на расстоянии 200 м, - можно узнать?

IVM
23.06.2012, 19:32
Почитал про это. Не совсем ясно, нужно ли дополнительное устройство, подающее энергию в кабель? Каков общий состав устройств в моем случае, когда есть один ПЛК100 и есть комп, с которым его нужно всязать на расстоянии 200 м, - можно узнать?
Для варианта с RS-485 дополнительно необходимы преобразователь интерфейса АС3-М на стороне ПЛК, преобразователь интерфейса АС4 на стороне ПК, 200м кабеля типа "витая пара" и ничего более. У Вас будет две сети RS-485.

Slazonger
25.06.2012, 04:47
Осмелюсь посоветовать.
Не вдаваясь в дебри скачать, установить и попробовать МастерСКАДА и МастерOPC на 32 точки.

Осмелюсь спросить - что такое 32 точки? Это количество переменных или объектов со своими переменными?

SCADAMaster
25.06.2012, 10:59
Осмелюсь спросить - что такое 32 точки? Это количество переменных или объектов со своими переменными?
32 точки это:
1) Все добавленные в дерево системы ОРС переменные
2) Все задействованные выходы функциональных блоков.
Также учитываются связи между компьютерами, но для версии на 32 точки это не актуально.
Итоговая лицензия считается по максимальному значению, то есть можно сделать проект с 30 ОРС переменными и задействовать 25 выходов ФБ, итоговое количество точек будет 30, то есть версии MSRT32 будет достаточно.
http://www.insat.ru/products/faq_scada_opc/?q=masterscada#MS3
Количество используемых объектов, трендов, журналов, отчетов, мнемосхем не ограничивается.

Slazonger
02.07.2012, 06:49
Ясно, спасибо