- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
ПО для перевода в подходящий формат файла для ПЛК
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 17 мар 2023, 15:58
- Имя: Арсений
- Благодарил (а): 6 раз
ПО для перевода в подходящий формат файла для ПЛК
Всем добрый день! Я - Арсений, студент БФУ им. Иммануила Канта. Пишу дипломную работу о создании программы, которая будет переводить код, написанный в открытой среде разработки, в формат, подходящий для ПЛК, причем изначально в среде разработки не будет возможность писать код сразу в подходящем формате для ПЛК. Вопрос следующий: есть ли примерные аналоги такого приложения? Может кто работал с такой темой и сталкивался с ПО, которое переводит один формат кода в другой, нужный для ПЛК? Если да, поделитесь, пожалуйста, ссылками или другое информацией, так как сам пока ничего подобного не нашел. Спасибо!
-
- И жнец, и чтец...
- Сообщения: 1180
- Зарегистрирован: 26 май 2022, 09:48
- Имя: Кирилл
- Страна: РФ
- город/регион: Москва
- Благодарил (а): 323 раза
- Поблагодарили: 296 раз
ПО для перевода в подходящий формат файла для ПЛК
Здравствуйте Арсений.
уточните пожалуйста
Подходящий формат для ПЛК - это компилированный машинный код, именно поэтому
уточните пожалуйста
какие именно среды и форматы Вы имеете ввиду?
Подходящий формат для ПЛК - это компилированный машинный код, именно поэтому
- так и поступают в большинстве случаев: пишут в среде разработки функциональную программу, компилируют, загружают в ПЛК. Задача не очень понятна.
Зри в корень!
-
- эксперт
- Сообщения: 1035
- Зарегистрирован: 25 июл 2008, 10:06
- Имя: Леонид
- Страна: РФ
- Благодарил (а): 34 раза
- Поблагодарили: 110 раз
ПО для перевода в подходящий формат файла для ПЛК
Почитайте про Open PLC
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
-
- эксперт
- Сообщения: 2092
- Зарегистрирован: 15 авг 2011, 21:36
- Имя: Пупков Сергей Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 135 раз
- Поблагодарили: 174 раза
ПО для перевода в подходящий формат файла для ПЛК
Я задачу понял так: Берешь самый дешевый PLC, кодишь на 1С с лексемами из русского языка или в экселе. Потом с помощью чудо софта это соединяешь и получаешь PLC со временем цикла 100 мкс.
![здоlово :ges_up:](./images/smilies/ges_up.gif)
![здоlово :ges_up:](./images/smilies/ges_up.gif)
-
- почётный участник форума
- Сообщения: 3577
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 6 раз
- Поблагодарили: 271 раз
ПО для перевода в подходящий формат файла для ПЛК
Для коммерческих целей такой подход не годится, поэтому ничего подобного и не попадалось.
Нужно программировать ПЛК в нормальной (специально предназначенной для этого) среде разработки: нужно не сколько код генерировать, сколько настраивать, конфигурировать, загружать, выгружать, наблюдать состояние в реальном времени...
-
- администратор
- Сообщения: 17594
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 826 раз
- Поблагодарили: 1654 раза
ПО для перевода в подходящий формат файла для ПЛК
Всё верно. Много лет уже этой идее, разговоры не прекращаются по сей день. Но доселе таких механизмов не существует. Потому и не существует, что бестолково и гиперсложно.
Крупнейшие корпорации мира бьются над задачей перевода произвольного языка в формально определённый, и от решения задачи они далеки как от соседней галактики. Пример - всевозможные голосовые помощники и боты.
А тут - студенту БФУ ставят такую же задачу. :) "Галантерейщик и Кардинал - это Сила! Мы спасём Францию!" (с)
Но ничто не запрещает продолжать пытаться это сделать. :) И задачу решать надо. Я даже не знаю в какую сторону автора направить. Для начала, видимо, нужно конкретизировать задачу. Формализовать "неподходящий язык". Затем поднять МЭК611131 часть 3 и изучить описанные там языки. После этого задача сводится просто к созданию транслятора с одного языка на другой. Сколько языков - столько трансляторов. И на всё это - два с небольшим месяца.
По вопросам работы Форума можно обратиться по этим контактам.
-
- И жнец, и чтец...
- Сообщения: 1180
- Зарегистрирован: 26 май 2022, 09:48
- Имя: Кирилл
- Страна: РФ
- город/регион: Москва
- Благодарил (а): 323 раза
- Поблагодарили: 296 раз
ПО для перевода в подходящий формат файла для ПЛК
Нормальное дело - прорывы совершает тот, кто шагнул за рамки предрассудков. В своии года я "велосипеды изобретал", велосипедов не получилось, но расширение навыков это дало, так что как минимум в качестве образовательной задачи проба может дать толк.
Зри в корень!
-
- администратор
- Сообщения: 17594
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 826 раз
- Поблагодарили: 1654 раза
ПО для перевода в подходящий формат файла для ПЛК
Уточняющий вопрос автору. У Вас опыт программирования есть? На каких языках? Это, возможно, облегчит постановку задачи.
По вопросам работы Форума можно обратиться по этим контактам.
-
- почётный участник форума
- Сообщения: 3930
- Зарегистрирован: 20 янв 2010, 22:23
- Имя: Никита
- Страна: РФ
- город/регион: Мурманск
- Благодарил (а): 20 раз
- Поблагодарили: 220 раз
ПО для перевода в подходящий формат файла для ПЛК
Лучше сразу матом - компактнее получится ).
Вопрос более глобальный - в каком виде представляется изначальная программа?
Основная задача программиста не написание инструкций на том или ином языке, а перевод с того же матерного или устных хотелок того, как оно должно работать, в четкий набор алгоритмов для исполнения. Т.е. из "сюда иди" в "налево, два шага впереж щагом марш". А на русском, английском, китайском, C++, питоне или МЭК 1131 - уже вопрос техники, тут особого ума не надо.
Поэтому и вопрос - как видится программа в открытой среде. Если можно сформулировать задачу как "поддерживать температуру 78..80 на канале 2 по пид-закону управляя выходом 15", а нужные блоки программа сама выберет - это одно, а если нужно формулу вбивать сразу с коэффициентами - то практический смысл затеи какой?
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "
-
- администратор
- Сообщения: 4743
- Зарегистрирован: 25 июл 2008, 07:12
- Имя: Диев Александр Васильевич
- Страна: Россия
- город/регион: г. Сегежа, Карелия
- Благодарил (а): 225 раз
- Поблагодарили: 397 раз
ПО для перевода в подходящий формат файла для ПЛК
Я почему-то по-другому увидел задачу. Предполагается некоторая открытая среда разработки, в которой инженер на понятном ему языке составляет прграмму. Причём язык - не обязательно русский/английский/китайский, а вполне себе может быть один из МЭК61131-3 (они там все довольно понятно описаны). И надо это дело перевести в язык, понятный контроллеру, причём непосредственно в языке контроллера тот инженер программировать не может. Для аналогии - как в Симатиках перевод из SCL в STL, если бы к последнему не было доступа. Ну, то есть, от ТС хотят компилятор. Arseniy, так?
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
-
- завсегдатай
- Сообщения: 575
- Зарегистрирован: 04 фев 2014, 08:41
- Имя: Тарас Валерьевич
- Страна: Россия
- город/регион: Екатеринбург
- Благодарил (а): 78 раз
- Поблагодарили: 95 раз
ПО для перевода в подходящий формат файла для ПЛК
Буквально на прошлой неделе был тред на сайте Пикабу на эту тему. Человек писал, что разрабатывает подобную программу и у него уже есть некий прототип, умеющий переводить программу в код для нескольких типов процессоров. Он пытается написать свой компилятор универсального ассемблера. Поищите там. Он предлагал всем желающим общаться на данную тему.
Взгляд знатока намного уже кругозора неуча. Ю.Базылев
-
- администратор
- Сообщения: 17594
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 826 раз
- Поблагодарили: 1654 раза
ПО для перевода в подходящий формат файла для ПЛК
У человека диплом, значит времени мало.
Поэтому я Выше написал. В первую очередь надо формализовать задачу, то есть определить входной язык и что на выходе. Универсальный код под ПЛК - мне кроме Кодесиса на выходе ничего на ум не приходит.
И второе, очень важное уточнение. Что нужно превратить в код? На входе код уже написанной программы, просто на другом языке? Либо на входе алгоритм в том или ином представлении, который надо ещё формализовать и только потом в код превратить? Это существенная разница.
Например, гн.Шалыто в своё время докторскую написал на тему "Алгоритмизация конечных автоматов", где на входе различное представление конечных автоматов как описания логических алгоритмов, а на выходе - код на С. В книге даже примеры были с подробным объяснением.
И ещё была книга его, возможно даже у меня где-то есть в бумаге.
Ещё вот, в конце список литературы, и в статье примеры есть, но это опять же конечные автоматы (которые лично мне по душе, но это всё-таки частность): https://is.ifmo.ru/books/_book.pdf
Товарищи, не забывайте что время автора поджимает, не до сарказма.
Поэтому я Выше написал. В первую очередь надо формализовать задачу, то есть определить входной язык и что на выходе. Универсальный код под ПЛК - мне кроме Кодесиса на выходе ничего на ум не приходит.
И второе, очень важное уточнение. Что нужно превратить в код? На входе код уже написанной программы, просто на другом языке? Либо на входе алгоритм в том или ином представлении, который надо ещё формализовать и только потом в код превратить? Это существенная разница.
Например, гн.Шалыто в своё время докторскую написал на тему "Алгоритмизация конечных автоматов", где на входе различное представление конечных автоматов как описания логических алгоритмов, а на выходе - код на С. В книге даже примеры были с подробным объяснением.
И ещё была книга его, возможно даже у меня где-то есть в бумаге.
Ещё вот, в конце список литературы, и в статье примеры есть, но это опять же конечные автоматы (которые лично мне по душе, но это всё-таки частность): https://is.ifmo.ru/books/_book.pdf
Товарищи, не забывайте что время автора поджимает, не до сарказма.
По вопросам работы Форума можно обратиться по этим контактам.
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 17 мар 2023, 15:58
- Имя: Арсений
- Благодарил (а): 6 раз
ПО для перевода в подходящий формат файла для ПЛК
Всем добрый день! Прошу прощения, что не отвечал на выходных - работал над проектом. Во-первых - спасибо всем большое за отзывчивость, не думал, что встречу такую помощь. Во-вторых - распишу задачу по диплому конкретнее, чтобы было понятно, с чем имею дело.
В моей работе я буду использовать программное обеспечение компании IDEC, а именно инструмент программирования WindLDR. На ней будет писаться начальный код для ПЛК. ПЛК, на который нужно будет загружать код предоставляется компанией АСУ ПРО и называется «КАПП-82-168». В промежутке между средой разработки (WindLDR) и ПЛК (КАПП-82-168) будет находиться программа, которую я должен разработать. Её основная задача будет заключаться в переводе написанного кода в WindLDR в подходящий формат файла для ПЛК «КАПП-82-168»
Опыт в разработке АСУ ТП у меня есть, но небольшой. Писал программы в CODESYS на FBD и ST языках, но несложные. С Python, Javascript и С++ знаком лучше, на них часто программировал.
На данный момент у меня две проблемы:
1. Я не знаю как подступиться к разработке моего прототипа. В первую очередь, полагаю, нужно поработать с ПЛК КАПП-82-168, посмотреть, какие сигналы он принимает. Затем проверить файл кода, написанного в WindLDR, и придумать, как его преобразовать в подходящий формат для КАПП-82-168. Вот думаю, правильно ли наметил шаги развития.
2. Хочу посмотреть на аналоги, которые создавали. Спасибо большое, уже немного подсказали в треде, буду искать, смотреть.
Отправлено спустя 9 минут 25 секунд:
Отправлено спустя 1 минуту 7 секунд:
Отправлено спустя 1 минуту 19 секунд:
В моей работе я буду использовать программное обеспечение компании IDEC, а именно инструмент программирования WindLDR. На ней будет писаться начальный код для ПЛК. ПЛК, на который нужно будет загружать код предоставляется компанией АСУ ПРО и называется «КАПП-82-168». В промежутке между средой разработки (WindLDR) и ПЛК (КАПП-82-168) будет находиться программа, которую я должен разработать. Её основная задача будет заключаться в переводе написанного кода в WindLDR в подходящий формат файла для ПЛК «КАПП-82-168»
Опыт в разработке АСУ ТП у меня есть, но небольшой. Писал программы в CODESYS на FBD и ST языках, но несложные. С Python, Javascript и С++ знаком лучше, на них часто программировал.
На данный момент у меня две проблемы:
1. Я не знаю как подступиться к разработке моего прототипа. В первую очередь, полагаю, нужно поработать с ПЛК КАПП-82-168, посмотреть, какие сигналы он принимает. Затем проверить файл кода, написанного в WindLDR, и придумать, как его преобразовать в подходящий формат для КАПП-82-168. Вот думаю, правильно ли наметил шаги развития.
2. Хочу посмотреть на аналоги, которые создавали. Спасибо большое, уже немного подсказали в треде, буду искать, смотреть.
Отправлено спустя 9 минут 25 секунд:
Да, верно.VADR писал(а): ↑20 мар 2023, 00:08 Я почему-то по-другому увидел задачу. Предполагается некоторая открытая среда разработки, в которой инженер на понятном ему языке составляет прграмму. Причём язык - не обязательно русский/английский/китайский, а вполне себе может быть один из МЭК61131-3 (они там все довольно понятно описаны). И надо это дело перевести в язык, понятный контроллеру, причём непосредственно в языке контроллера тот инженер программировать не может. Для аналогии - как в Симатиках перевод из SCL в STL, если бы к последнему не было доступа. Ну, то есть, от ТС хотят компилятор. Arseniy, так?
Отправлено спустя 1 минуту 7 секунд:
Программировал на ST, FBD, но немного. Больше опыта есть в Python, Javascript, и C++
Отправлено спустя 1 минуту 19 секунд:
Здравствуйте, ответил чуть выше в общем сообщенииkirillio писал(а): ↑17 мар 2023, 17:17 Здравствуйте Арсений.
уточните пожалуйстакакие именно среды и форматы Вы имеете ввиду?
Подходящий формат для ПЛК - это компилированный машинный код, именно поэтому- так и поступают в большинстве случаев: пишут в среде разработки функциональную программу, компилируют, загружают в ПЛК. Задача не очень понятна.
-
- администратор
- Сообщения: 17594
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 826 раз
- Поблагодарили: 1654 раза
ПО для перевода в подходящий формат файла для ПЛК
Насколько сузилась задача. То есть нужно экспортировать во что-то проект из WindLDR и скомпилировать под КАПП-82-168. Нужен просто сторонний компилятор.
Отправлено спустя 3 минуты 53 секунды:
Только ещё по-хорошему надо бы сделать средство проверки правильности получившеося алгоритма. Ибо если код скомпилировался и загрузился в контроллер без ошибок то это ещё не значит что получился правильный алгоритм. одни и те же операции на разных ПЛК могут иметь нюансы.
И результат компиляции должен быть в формате, готовом к загрузке в КАПП-82-168, то есть как происходит загрузка в него - тоже ещё надо изучить. А эта информация как правило нигде не доступна, это ноу-хау каждого производителя контроллеров. Как максимум, есть софт под ПЛК, который открывает файлы проектов и что-то может импортировать. Соответственно результат должен быть в том формате, который может быть импортирован или подцеплен загрузчиком.
Отправлено спустя 3 минуты 53 секунды:
Только ещё по-хорошему надо бы сделать средство проверки правильности получившеося алгоритма. Ибо если код скомпилировался и загрузился в контроллер без ошибок то это ещё не значит что получился правильный алгоритм. одни и те же операции на разных ПЛК могут иметь нюансы.
И результат компиляции должен быть в формате, готовом к загрузке в КАПП-82-168, то есть как происходит загрузка в него - тоже ещё надо изучить. А эта информация как правило нигде не доступна, это ноу-хау каждого производителя контроллеров. Как максимум, есть софт под ПЛК, который открывает файлы проектов и что-то может импортировать. Соответственно результат должен быть в том формате, который может быть импортирован или подцеплен загрузчиком.
По вопросам работы Форума можно обратиться по этим контактам.
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 17 мар 2023, 15:58
- Имя: Арсений
- Благодарил (а): 6 раз
ПО для перевода в подходящий формат файла для ПЛК
Спасибо большое за комментарии, учту все это. Касательно информации о работе ПЛК, ее мне предоставят, поэтому "начинку" я буду знать.Jackson писал(а): ↑20 мар 2023, 21:30 Насколько сузилась задача. То есть нужно экспортировать во что-то проект из WindLDR и скомпилировать под КАПП-82-168. Нужен просто сторонний компилятор.
Отправлено спустя 3 минуты 53 секунды:
Только ещё по-хорошему надо бы сделать средство проверки правильности получившегося алгоритма. Ибо если код скомпилировался и загрузился в контроллер без ошибок то это ещё не значит что получился правильный алгоритм. одни и те же операции на разных ПЛК могут иметь нюансы.
И результат компиляции должен быть в формате, готовом к загрузке в КАПП-82-168, то есть как происходит загрузка в него - тоже ещё надо изучить. А эта информация как правило нигде не доступна, это ноу-хау каждого производителя контроллеров. Как максимум, есть софт под ПЛК, который открывает файлы проектов и что-то может импортировать. Соответственно результат должен быть в том формате, который может быть импортирован или подцеплен загрузчиком.
Можете подсказать, пожалуйста, если знаете, с чего именно стоит начать разработку стороннего компилятора? Может у кого был опыт разработки, знают нюансы, на каком языке лучше кодить и тд. Ну или может работы какие либо уже выгружены в интернет, с удовольствием бы почитал. Просто пока ищу - не сталкивался с подобным. Еще раз, спасибо
-
- эксперт
- Сообщения: 2092
- Зарегистрирован: 15 авг 2011, 21:36
- Имя: Пупков Сергей Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 135 раз
- Поблагодарили: 174 раза
ПО для перевода в подходящий формат файла для ПЛК
Надо с памятью разбираться. Если в WindLDR косвенная адресация на "кожена", а КАПП-82-168 поддерживается только абсолютная, то задачка для компилятора получается не тривиальная. Ибо архитектуру процессоров не просто так создают и их совместимость - это очень сложная задача, по крайней мере с точки зрения оптимальности полученного кода.
-
- авторитет
- Сообщения: 817
- Зарегистрирован: 16 ноя 2016, 11:33
- Имя: Максим Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 16 раз
- Поблагодарили: 211 раз
ПО для перевода в подходящий формат файла для ПЛК
Самое интересное, что КАПП-82-168 (по крайней мере актуальная версия на сайте производителя) дружит с Codesys v3 с соответствующей поддержкой МЭКовских языков)Serex писал(а): ↑20 мар 2023, 21:48 И результат компиляции должен быть в формате, готовом к загрузке в КАПП-82-168, то есть как происходит загрузка в него - тоже ещё надо изучить. А эта информация как правило нигде не доступна, это ноу-хау каждого производителя контроллеров. Как максимум, есть софт под ПЛК, который открывает файлы проектов и что-то может импортировать
-
- почётный участник форума
- Сообщения: 3577
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 6 раз
- Поблагодарили: 271 раз
ПО для перевода в подходящий формат файла для ПЛК
То есть более перспективная работа - конвертация из WindLDR в Codesys.
-
- администратор
- Сообщения: 17594
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 826 раз
- Поблагодарили: 1654 раза
ПО для перевода в подходящий формат файла для ПЛК
С точной постановки задачи
По вопросам работы Форума можно обратиться по этим контактам.
-
- администратор
- Сообщения: 17594
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 826 раз
- Поблагодарили: 1654 раза
ПО для перевода в подходящий формат файла для ПЛК
Parliament74 писал(а): ↑21 мар 2023, 00:40 Самое интересное, что КАПП-82-168 (по крайней мере актуальная версия на сайте производителя) дружит с Codesys v3 с соответствующей поддержкой МЭКовских языков)
Тоже сразу об этом и подумал.
И вот я всё пытаюсь понять: зачем это всё. :) А без понимания назначения нет и понимания, как делать.
По вопросам работы Форума можно обратиться по этим контактам.