PDA

Просмотр полной версии : Программирование ПЛК 110 и ПЛК 304



allreadyexists
29.04.2020, 23:36
Добрый день!

Подскажите, можно ли программировать контроллеры (ПЛК 110, ПЛК 304) на я зыке с/с++? Если да - то где описан процесс заливки на контроллер программы? Есть ли описание SDK для написание программ и какой toolchain использовать?

melky
30.04.2020, 10:49
з.ы. не помню, кажется Овен когда-то торговал некоторыми ПЛК без рантайма Codesys с голым Linux по запросу. Но не уверен в данной инфе.

Евгений Кислов
30.04.2020, 11:02
Добрый день!

Подскажите, можно ли программировать контроллеры (ПЛК 110, ПЛК 304) на я зыке с/с++? Если да - то где описан процесс заливки на контроллер программы? Есть ли описание SDK для написание программ и какой toolchain использовать?

Добрый день.
Такой возможности нет.

allreadyexists
30.04.2020, 11:22
А каким образом я могу реализовывать специализированные протоколы для опроса устройств на шине RS-485? Или, например, реализовать МЭК-104 или OPC UA сервер на этих устройствах?

Евгений Кислов
30.04.2020, 12:16
А каким образом я могу реализовывать специализированные протоколы для опроса устройств на шине RS-485? Или, например, реализовать МЭК-104 или OPC UA сервер на этих устройствах?

Для реализации протоколов по RS-485 есть системные библиотеки CODESYS - например, CAA SerialCom или SysCom.

OPC UA и протоколы телемеханики реализовать не получится.
Если точнее - технически это можно сделать (через библиотеки можно работать с сокетами), но я не представляю задачу, в которой это будет целесообразно (затраченное на разработку время будет измеряться в человеко-годах).

На наших современных контроллерах (например, ПЛК210, СПК1хх [М01]) - OPC UA поддерживается из коробки.
Для задач телемеханики используются специальные контроллеры:
https://owen.ru/catalog/kontrolleri_dlya_dispetcherizatcii_telemehaniki_i_ ucheta_resursov

allreadyexists
30.04.2020, 13:20
Если точнее - технически это можно сделать (через библиотеки можно работать с сокетами), но я не представляю задачу, в которой это будет целесообразно (затраченное на разработку время будет измеряться в человеко-годах).
Да нет, от чего же. OPC UA - консорциум OPC Foundation предоставляет полностью открытую реализацию стека OPC UA - если не предполагается пром использования можно использовать. А МЭК-104 достаточно простой для реализации протокол.
Я не очень хорошо ориентируюсь в номенклатуре Ваших изделий. А есть ли у Вас сводобно программируемые контроллеры - т.е. открытый linux и возможность самостоятельно писать все необходимое мне ПО?

allreadyexists
30.04.2020, 14:33
Я не очень хорошо ориентируюсь в номенклатуре Ваших изделий. А есть ли у Вас сводобно программируемые контроллеры - т.е. открытый linux и возможность самостоятельно писать все необходимое мне ПО?
Без ответа остался вопрос

Евгений Кислов
30.04.2020, 14:35
А есть ли у Вас сводобно программируемые контроллеры - т.е. открытый linux и возможность самостоятельно писать все необходимое мне ПО?

Нет, у нас таких контроллеров нет.

melky
30.04.2020, 15:41
МЭК 104 будет сложно реализовать на CodeSys. У некоторых товарищей на ПЛК с CodeSys 3.5 данный протокол реализован как отдельная библиотека, типа "CAA там и прочая" на С а не в виде кода для CodeSys.

Вообще не совсем ясен замысел автора. Если вам нужно реализовать шлюз, ну так и возьмите промПК на Linux, хоть на ARM хоть на X86 архитектуре. Есть и с 2хEthernet при необходимости.

Евгений Кислов а шлюз на базе ПЛК304 для работы с SNMP разве имеет рантайм CodeSys ? или это была просто отдельная разработка под какой-то проект ?

Евгений Кислов
30.04.2020, 15:46
Евгений Кислов а шлюз на базе ПЛК304 для работы с SNMP разве имеет рантайм CodeSys ? или это была просто отдельная разработка под какой-то проект ?

Уточните, о каком шлюзе речь, пожалуйста, чтобы я мог дать корректный ответ.

melky
30.04.2020, 15:53
Мне когда-то давно присылали прошивку на 304-й для организации шлюза Modbus - SNMP. (если с ПЛК не ошибся). Но вроде на базе 304-го. С очень сложной настройкой, если сравнивать с готовыми шлюзами подобного рода. Стоило бы это решение подешевле, иногда имелся бы смысл...

Евгений Кислов
30.04.2020, 15:56
Мне когда-то давно присылали прошивку на 304-й для организации шлюза Modbus - SNMP. (если с ПЛК не ошибся). Но вроде на базе 304-го. С очень сложной настройкой, если сравнивать с готовыми шлюзами подобного рода. Стоило бы это решение подешевле, иногда имелся бы смысл...

Это были какие-то совсем экспериментальные прошивки, и да - там SNMP был реализован как внешняя библиотека для CODESYS.

allreadyexists
30.04.2020, 16:05
Замысел автора прост - хотелось надежную и не большую систему для возможности опроса всякого разного оборудования. Что бы можно было всё писать самому. Посоветуйте промышленного уровня открытые контроллеры, если вы в курсе. Я имею в виду не поделки типа малинки, а действительно надёжные системы.

capzap
30.04.2020, 16:56
Замысел автора прост - хотелось надежную и не большую систему для возможности опроса всякого разного оборудования. Что бы можно было всё писать самому. Посоветуйте промышленного уровня открытые контроллеры, если вы в курсе. Я имею в виду не поделки типа малинки, а действительно надёжные системы.

чем всё же не устраивает язык МЭК, паскалеподобный, оперировать байтами битами можно, указатели имеются, если бы был на руках плк, то уже можно было написать несложный протокол, раньше чем от момента создания темы

melky
30.04.2020, 17:17
allreadyexists Moxa, ICO (кажется Axiomtek), да их масса всяких для пром применения. Как выше писал, есть и на ARM проце, есть и на x86 архитектуре. порты RS485, 232, Ethernet на борту. Любой каприз как говорится за ваши деньги...

allreadyexists
01.05.2020, 17:56
чем всё же не устраивает язык МЭК, паскалеподобный, оперировать байтами битами можно, указатели имеются, если бы был на руках плк, то уже можно было написать несложный протокол, раньше чем от момента создания темы
Раз уж в контроллере есть linux, хочется писать на удобном/привычном языке , пользоваться большим количеством готовых библиотек, а не быть втиснутым в набор стандартных языков PLC. Вероятно когда речь идет о АСУ ТП - это удобно, но если я хочу сделать АСКУЭ - то уж точно не на языках МЭК. Вот захочется мне MQTT - то наверняка есть готовые либы на С/С++, а есть ли они на языках МЭК?

allreadyexists
01.05.2020, 18:04
allreadyexists Moxa, ICO (кажется Axiomtek), да их масса всяких для пром применения. Как выше писал, есть и на ARM проце, есть и на x86 архитектуре. порты RS485, 232, Ethernet на борту. Любой каприз как говорится за ваши деньги...

Вот ПЛК 304 - температурный диапазон и интерфейсы и форм фактор удобный, еще бы программировать его на С/С++ - было бы просто супер.

Евгений Кислов
01.05.2020, 18:39
Когда-то такая модификация была доступна для приобретения, но уже спустя пару лет ее сняли с продажи.
Спрос на устройства подобного типа - довольно низкий, а оказывать поддержку крайне затруднительно (надо понимать, что даже если человек хочет программировать промышленные контроллеры на С/C++ - это не значит, что он готов к этому).

Надо сказать, у CODESYS был платный плагин, который позволял использовать С - спустя три года его перестали продавать и закрыли.
Причины те же самые - мало кому надо, а поддержка требует значительных ресурсов.

P.S - MQTT есть.
И протоколы телемеханики тоже есть - просто их, как верно заметили выше, исторически разрабатывают и интегрируют с CODESYS сами производители оборудования.
В самом CODESYS их нет, потому что, опять же, поддержать подобный протокол - дорого и сложно, а целесообразность не слишком очевидна.
У нас же, как я писал выше, под телемеханику/АСКУЭ доступна отдельная линейка контроллеров.

melky
01.05.2020, 19:00
allreadyexists еще раз - возьмите промПК, и температурные диапазоны и наличие интерфейсов и формфактор. ребром на DIN рейку точно ставятся.

allreadyexists
01.05.2020, 19:19
allreadyexists еще раз - возьмите промПК, и температурные диапазоны и наличие интерфейсов и формфактор. ребром на DIN рейку точно ставятся.
Да просто у меня в наличии плк304. Хотели опросить с его помощью сэт-4тм, меркурий-230 и ещё несколько типов приборов. А передать в систему верхнего уровня по своему закрытому протоколу и по мэк104. Но похоже придется это делать на чем-то другом.

ASo
01.05.2020, 19:30
Так УСПД - на рынке как грязи. И никакого программирования. Ну, придется пожертвовать своим протоколом.

melky
01.05.2020, 20:03
allreadyexists СЭТ-4ТМ и Меркурий 230 на языке ST не проблема для CodeSys
МЭК104 под вопросом, он и для ПК сложен в реализации.

В общем все, что с последовательным интерфейсом в режиме мастер-слейв проблемой не должно являться.

allreadyexists
01.05.2020, 20:10
allreadyexists СЭТ-4ТМ и Меркурий 230 на языке ST не проблема для CodeSys
МЭК104 под вопросом, он и для ПК сложен в реализации.

В общем все, что с последовательным интерфейсом в режиме мастер-слейв проблемой не должно являться.

Промышленную реализацию(работающую в реальной системе) МЭК104 для ПК я делал - особых сложностей не было.

melky
01.05.2020, 23:13
allreadyexists только клиент-серверную вариацию ? хотя не помню там нюансов. на С делали или на чем другом ?

allreadyexists
02.05.2020, 10:02
allreadyexists только клиент-серверную вариацию ? хотя не помню там нюансов. на С делали или на чем другом ?

И сервер, и клиент. Для клиента ещё несколько спец расширений реализовывал, для передачи архивов данных. Писал на c#, язык тут не особо имеет значение.