Comments 45
Не пора ли добавить в ассортимент драйверы шаговиков?
Как то пытался по молодости делать такое на Atmega8
Сам драйвер ШД?
нет, саму систему разливайки. клапан был готовый, с приводом и контакнтым датчиком
Честно говоря, шаг был смелым. Вместо контроллера Delta с языком LD
нужно было перейти на Linux и Java Script (wb-rules). Но в современных
реалиях программистов на Java Script становится все больше, а на LD,
напротив, все меньше.
Беседовали с ПЛК-программистами нашего клиента на предмет поиска альтернативы решениям на базе Codesys.
Сменить Windows на Linux, а группу языков программирования МЭК на Си (для разработки пользовательских приложений под контроллеры под управлением ОС Linux) оказались неготовы.
Мах, к каким переменам готовы - перейти на Beremiz вместо Codesys. Но обязательно из под Windows.
Одна только необходимость держать на рабочих ПК и Windows (для сопровождения уже эксплуатирующихся систем), и Linux (для разработки новых), выливается в вагон издержек.
И я их понимаю, если честно. При переходе с LD на любой текстовый язык в штате прийдется держать еще и дежурного програмиста, который сможет посмотреть в программе почему же эта железяка не запускается.
Но меня удивляет почему не предлагают среды разработки что код написанный на LD не разлагал на тот же C, как в свое время делал тот же Step7 с STL.
Но ведь LD полюбому имеет по капотом упрощенное представление. Не хранит же среда графическое представление логических выражений, это было бы совсем тупо. В LDшном стиле можно и на С писать. Будет одно и то же, кроме внешнего вида.
В LD внешний вид как раз из одна из главных составляющих, так как код должен быть понятен электрику на ночном дежурстве.
Бесспорно, но я больше к тому, что преобразование из LD в выражение и обратно довольно просто делать.
Господа, у нас в АСУ ТП жесткая нехватка кадров из-за зарплатной политики. И если слесарь хоть как-то поймет в LAD, то диагностировать и отлаживать С он не в состоянии. Так что не нужно придумывать.
Кстати, господа разработчики, как у Вас с построчной отладкой кода? Есть ли подсветка и индикация значения переменных, точки останова? Как отлаживать то все это великолепие на мехатронной системе?
Сейчас сам пилю проект на C и уже изплевался весь, на S7-1200 и LAD все бы сделал за 2 дня красиво и понятно, а тут мракобесие и никакой графики. Я конечно понимаю, что уровень у меня не ахти, но каждый инструмент для своей задачи и незря есть МЭК-6-1131. Он как бы тоже кровью написан.
Вот я и предлагаю допилить среду с С до LAD с автоконвертацией в C. Как в Step7. Вот прям по аналогии презрев все копирайты, даже если они есть.
Господа, у нас в АСУ ТП жесткая нехватка кадров из-за зарплатной политики. И если слесарь хоть как-то поймет в LAD, то диагностировать и отлаживать С он не в состоянии. Так что не нужно придумывать.
Мы это слышим довольно давно, но вместе с тем всё больше организаций выбирает свободно программируемые контроллеры на Linux и традиционные языки программирования.
Если хочется языки МЭК — есть продукт MasterPLC от нашего партнёра IEK. Ставите его на контроллер и программируете в привычной среде.
Сами мы не планируем выпускать среду разработки на этих языках, а упомянутый тут в комментах Beremiz очень сырой для пром применения, к сожалению.
Кстати, господа разработчики, как у Вас с построчной отладкой кода? Есть ли подсветка и индикация значения переменных, точки останова? Как отлаживать то все это великолепие на мехатронной системе?
В штатном wb-rules пока никак, но можно использовать любой привычный язык программирования и отлаживаться так, как привыкли. У нас много клиентов, кто пишет универсальные или отраслевые решения на Си/Java в привычных средах разработки: ПК Энергия, Философт, ЦОДУМ, Integer, Techsensor и другие игроки рынка автоматизации и диспетчеризации.
Позволю себе не согласиться, по моему мнению, дежурный электрик и программист АСУ ТП - это несколько разные профессии.
Есть два способа реализации LD:
а) трансляция в IL;
б) наличие в памяти МК пула готовых блоков, для которых по данным диаграммы устанавливаются связи между блоками.
Вариант а) типичен для ПЛК, вариант б) для программируемых реле а-ля Siemens LOGO, SE ZelioLogic и т.п.
Что Beremiz, что OpenPLC используют matiec, преобразующий язык МЭК в С. Всё давно есть, кто в теме, тот знает.
А зачем на компьютере на котором идет разработка - тоже linux?
Одна только необходимость держать на рабочих ПК и Windows (для сопровождения уже эксплуатирующихся систем), и Linux (для разработки новых), выливается в вагон издержек.
А зачем Linux? JS везде одинаковый вроде.
Может лучше скооперироваться с китайцами, которые сименс-аналоги производят, какой нибудь Amsamotion? Они уже всё отреверсили. И можно будет дальше в Степ7 проекты делать, а как сименс вернётся, то просто снова купить лицензию, чтоб по международному было.
Может лучше скооперироваться с китайцами,
А в чём смысл? Мы предлагаем рынку продукт, его берут и внедряют. Кому он не подходит, берут другое оборудование. У нас (Wiren Board), как у разработчика, нет цели заменить какой-то бренд, мы просто делаем функциональные, недорогие и надёжные устройства, которые зарывают потребности наших пользователей.
Есть большой пласт клиентов, у которых уже всё на сименсе, к примеру, автомобилестроение, металлургия. Им что-то другое совсем не в кассу. А перейти с настоящего сименса на качественную реплику они бы с удовольствием.
а как сименс вернётся
Думаете?) И захочет ли бизнес снова связываться с поставщиками, которые в любой момент может уйти...
VirtualBox в помощь.
Мне в последнее время plc+linux зашло прям, а по итогу получается что fpga+plc+linux - ну готовый вариант использования хоть на беременном слоне типа много-осевой шлифовалки по заточке инструмента.
Некоторое время назад отсутствие высокоскоростных выходов для ШД и высокоскоростных входов для энкодеров как раз остановило меня в затее использования подобных решений в проектах промышленной автоматики. Хотя смотрел в частности на wiren board с большим любопытством. Мне, как человеку, в большей степени использующего высокоуровневые языки программирования, эти промышленные LD и FBD даются с болью и страданиями. Особенно, если проект приходится доделывать за кем-то, а не писать с нуля, так как на своей практике я пока не встречал людей из этой индустрии, которые рачительно относятся к чистоте и ясности кода на LD.
Некоторое время назад отсутствие высокоскоростных выходов для ШД
Расскажите, а чем не подошли многочисленные драйверы ШД с RS-485 и Модбасом?
В целом, по очень простым причинам: по возможности не плодить сущностей из разных комплектующих и обратной совместимости в виде значительного запаса купленных в сытое время "классических" драйверов ШД. Поэтому в проектах малой автоматизации очень интересно попробовать решения Wiren Board, но в текущих "больших" проектах сейчас использую продвинутую линейку от Delta - AS300 (пара асинхронных приводов с энкодерами на выходных валах, 5-7 ШД, 3 BLDC мотора, 10-15 пневмоцилиндров и ворох датчиков, термопар и прочих прелестей автоматики)
я пока не встречал людей из этой индустрии, которые рачительно относятся к чистоте и ясности кода на LD
Хороший, или хотя бы просто нормальный код на языках общего назначения, конечно, проще изменять и дополнять, чем лестничные диаграммы, но и возможности написать плохо или просто ужасно они предоставляют гораздо больше. Если ваши предшественники оставляют вам запутанный код на LD, где сама среда с одной стороны ограничивает полет фантазии разработчика, а с другой - предоставляет кучу готовых блоков вроде таймеров и элементов задержки, то представьте, как они развернутся программируя на С.
да есть вроде как варианты на рынке.
А мы давным давно используем для похожих задач QNX 6 с обычным РС и LPT а когда не хватает ставим платы расширения. Программы на С особых сложностей не вызывают
Вы серьезно? Опрос энкодера через шину Модбас с повышенной частотой(догадываюсь, с целью остановить шаговый двигатель в нужный момент) это промышленное решение?
Драйвер ШД с интерфейсом RS485 - полностью автономное устройство, которое выполняет движение по заранее заданным параметрам. Также, возможна опция обратной связи - энкодер. При ошибках, например при блокировке вала - драйвер самостоятельно останавливает двигатель. Речь о том, чтобы максимально быстро вывести появившуюся ошибку в интерфейс оператора. Хотя, стоит признать, что это не критично, чистый визуал.
Очень не грамотная статья.
-----------------------------
> Управление двигателями было через простые импульсы шаг/направление, можно было заменить драйвер на модель другого производителя, стоят они недорого. Сейчас такой возможности нет
Куда они делись? Их полно всяких на любой кошелёк. Может, вы не то и не там смотрите?
------------------------------
> Контроллер Delta поддерживал только Modbus-панели, порта Ethernet у него не было.
Шедевральная глупость, даже комментировать сложно. Есть Modbus/RTU, есть Modbus/TCP. Похоже, что у Дельты Modbus/RTU. Неужели Вареник настолько убог аппаратно, что у него не_нашлось ни EIA-485, ни EIA-232, чтобы подключиться к панели?
Вы если сами не сильны в предмете, то хотя бы давайте на вычитку вашим технарям, а то статья просто иллюстрирует подплинтусный уровень грамотности вашей компании.
Wiren Board шагает в промку — управление линией розлива и этикетирования