- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
PLC для освоения
-
- здесь недавно
- Сообщения: 17
- Зарегистрирован: 17 мар 2014, 14:54
- Имя: Контеев Дмитрий Никифорович
PLC для освоения
Какой PLC выбрать для освоения программирования в стиле IEC ?
По цене и качеству устроят Delta Electronics, но LD низковат уровнем, а SC только для дорогих моделей.
"Говен" обсуждать не хочу.
Распространены ли PLC эконом-класса для программирования в стиле PC или они отжили свой век?
По цене и качеству устроят Delta Electronics, но LD низковат уровнем, а SC только для дорогих моделей.
"Говен" обсуждать не хочу.
Распространены ли PLC эконом-класса для программирования в стиле PC или они отжили свой век?
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: PLC для освоения
Вы хотите себе купить только для освоения программирования? Если так, то лучше уж взять бесплатную среду програмирования ПЛК, имеющую в своем составе эмулятор ПЛК, и ничего покупать не прийдется. Как пример - CoDeSys.
-
- здесь недавно
- Сообщения: 17
- Зарегистрирован: 17 мар 2014, 14:54
- Имя: Контеев Дмитрий Никифорович
Re: PLC для освоения
LD примерно уровень ассемблераAlexander писал(а):Хм-м... И чем-же в Дельте LD низковат уровнем? Чего не хватает для счастья?
Не только для освоения, в дальшейшем хочу использовать. на ST уже кое-что написал и почти разобрался (синтаксис близок к Паскалю), товарищи дали несколько бу говенов, но они не устраивают по принципиальным причинам, например внешние прерывания заменены опросом входов и т.д.san писал(а):Вы хотите себе купить только для освоения программирования? Если так, то лучше уж взять бесплатную среду програмирования ПЛК, имеющую в своем составе эмулятор ПЛК, и ничего покупать не прийдется. Как пример - CoDeSys.
-
- администратор
- Сообщения: 4711
- Зарегистрирован: 25 июл 2008, 07:12
- Имя: Диев Александр Васильевич
- Страна: Россия
- город/регион: г. Сегежа, Карелия
- Благодарил (а): 192 раза
- Поблагодарили: 336 раз
Re: PLC для освоения
Хм... В языках IEC есть обработка внешних прерываний? Не знал.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: PLC для освоения
Внешние прерывания - это скорее особенность задачи нежели практика, когда задача должна выполнятся мгновенно по событию. Такие задачи в основном применимы для позиционирования, мгновенного аварийного срабатывания и т.д.
На счет Овена, КодеСис - это не Овен, а Овен - это не Кодесис. Да для программирования Овен используется Кодесис (старая версия). Но очень многие бренды взяли именно этот сфотлоджик для своих ПЛК.
Вобще странно выбирать себе ПЛК чтоб поучиться, но чтоб потом дальше с ним работать. Оипишите задачи, канальность, исполнение, потолок по цене и тогда уже будут предложения (хотя их там масса).
На счет Овена, КодеСис - это не Овен, а Овен - это не Кодесис. Да для программирования Овен используется Кодесис (старая версия). Но очень многие бренды взяли именно этот сфотлоджик для своих ПЛК.
Вобще странно выбирать себе ПЛК чтоб поучиться, но чтоб потом дальше с ним работать. Оипишите задачи, канальность, исполнение, потолок по цене и тогда уже будут предложения (хотя их там масса).
-
- почётный участник форума
- Сообщения: 3558
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 6 раз
- Поблагодарили: 253 раза
Re: PLC для освоения
Конечно отжили. Сейчас только МЭК и прежде всего LD! Это на практике, а в теории Вы можете программить "в стиле PC". :DDaes писал(а):для программирования в стиле PC или они отжили свой век?
Извините за сарказм, но Вам следует изучать язык LD и только его, а потом уже рассуждать о низкоуровневостях.
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: PLC для освоения
Я думаю он пришел в АСУТП с программеров, а значит надо будет сильно ламать свои стереотипы программирования для ПЛК.Михайло писал(а):Извините за сарказм, но Вам следует изучать язык LD и только его, а потом уже рассуждать о низкоуровневостях.
Топикстартеру рекомендую познакомиться также с понятиями программирования в реальном времени.
-
- администратор
- Сообщения: 17470
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 748 раз
- Поблагодарили: 1277 раз
Re: PLC для освоения
покажите, скриншотом можно. Интересно. :)Alexander писал(а):Есть обработка внешних прерываний. В Дельте, по крайней мере.
По вопросам работы Форума можно обратиться по этим контактам.
-
- БАН
- Сообщения: 642
- Зарегистрирован: 03 июн 2010, 12:26
- Имя: Козин Александр Елисеевич
- Страна: Украина
- город/регион: Одесса
- Поблагодарили: 4 раза
- Забанен: Бессрочно
Re: PLC для освоения
Если это так уж интересно - возьмите инструкцию по программированию. Там все внятно и доступно описано. Правда, на английском. Разделы External Interrupt, например, для ES2/EX2:
I000/I001(X0), I100/I101(X1), I200/I201(X2),
I300/I301(X3), I400/I401(X4), I500/I501(X5),
I600/I601(X6), I700/I701(X7)
I000/I001(X0), I100/I101(X1), I200/I201(X2),
I300/I301(X3), I400/I401(X4), I500/I501(X5),
I600/I601(X6), I700/I701(X7)
-
- почётный участник форума
- Сообщения: 5620
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 544 раза
- Поблагодарили: 706 раз
Re: PLC для освоения
А какая разница по какому событию процедуру вызывать? Почему бы и не по внешнему?VADR писал(а):Хм... В языках IEC есть обработка внешних прерываний? Не знал.
По таймеру, типа в порядке вещей, а по фронту дискретного входа - удивительно.
Пуркуа бы и не па, в самом деле!
Это тут начиная со стр. 134.Alexander писал(а):Если это так уж интересно - возьмите инструкцию по программированию.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- здесь недавно
- Сообщения: 17
- Зарегистрирован: 17 мар 2014, 14:54
- Имя: Контеев Дмитрий Никифорович
Re: PLC для освоения
А у говена входы мультиплексированы ( то ли сдвиговыми регистрами, то ли I2C SPI и по фронту будет очень удивительно ...)Ryzhij писал(а):А какая разница по какому событию процедуру вызывать? Почему бы и не по внешнему?VADR писал(а):Хм... В языках IEC есть обработка внешних прерываний? Не знал.
По таймеру, типа в порядке вещей, а по фронту дискретного входа - удивительно.
Пуркуа бы и не па, в самом деле!
-
- почётный участник форума
- Сообщения: 5620
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 544 раза
- Поблагодарили: 706 раз
Re: PLC для освоения
А что считать "фронтом"?
Вообще-то понятие "прерывание", даже для аппаратного уровня микропроцессора, это событие, по-любому, тактируемое частотой генератора. И только у некоторых микропроцессоров приоритетный сигнал немаскируемого прерывания типа RESET является до некоторой степени асинхронным.
Фронт "в чистом виде" остался достоянием асинхронной логики. Микропроцессоры не из этого класса.
И для "Дельты" разные быстрые входы, обладают различным быстродействием. И по прерыванию тоже.
Вообще-то понятие "прерывание", даже для аппаратного уровня микропроцессора, это событие, по-любому, тактируемое частотой генератора. И только у некоторых микропроцессоров приоритетный сигнал немаскируемого прерывания типа RESET является до некоторой степени асинхронным.
Фронт "в чистом виде" остался достоянием асинхронной логики. Микропроцессоры не из этого класса.
И для "Дельты" разные быстрые входы, обладают различным быстродействием. И по прерыванию тоже.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- частый гость
- Сообщения: 462
- Зарегистрирован: 31 июл 2010, 09:12
- Имя: Павел
- Страна: РФ
- Благодарил (а): 8 раз
- Поблагодарили: 13 раз
Re: PLC для освоения
Устройства "для программирования в стиле PC" свой век не отжили. Их очень много: от примитивных (i7188ex - кастрированная DOS-подобная ОС, процессор 8088) до навороченных одноплатных компьютеров, работающих под специализированными ОС жесткого реального времени. Но эти устройства не являются ПЛК. Все существующие на рынке решения предназначены для выполнения определенного круга задач. Если ваша задача завязана на обработку прерываний (т.е. нужно наносекундное время реакции на событие на каком-то входе, какия-то хитрая работа с ШИМами, аппаратными таймерами и т.д.), то, вероятно, вам нужен не ПЛК, а какое-то другое специализированное железо и софт. Работа с прерываниями реализована в ряде ПЛК по остаточному принципу, и гибкости, которую обеспечивает 100%-нативный код, в этом сегменте железа никогда не будет. И это правильно. Гвозди нужно забивать молотком, а инфузорией-валенком любоваться с помощью микроскопа. Даже если вы занимаетесь периодически и тем, и другим :DDaes писал(а): Распространены ли PLC эконом-класса для программирования в стиле PC или они отжили свой век?
Во-первых, LD - далеко не ассемблер. Во-вторых, если вы принципиально за работу через прерывания, почему вас смущает низкоуровневый язык?Daes писал(а):LD примерно уровень ассемблера
-
- эксперт
- Сообщения: 1023
- Зарегистрирован: 25 июл 2008, 10:06
- Имя: Леонид
- Страна: РФ
- Благодарил (а): 27 раз
- Поблагодарили: 103 раза
Re: PLC для освоения
Мне кажется, ТС путает LD и IL
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
-
- администратор
- Сообщения: 4711
- Зарегистрирован: 25 июл 2008, 07:12
- Имя: Диев Александр Васильевич
- Страна: Россия
- город/регион: г. Сегежа, Карелия
- Благодарил (а): 192 раза
- Поблагодарили: 336 раз
Re: PLC для освоения
Кстати, в редакции 2012 года IL уже нет. Зато появились зачатки ООП (http://ru.wikipedia.org/wiki/IEC_61131-3). Интересно будет посмотреть.leon78 писал(а):Мне кажется, ТС путает LD и IL
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
-
- освоился
- Сообщения: 233
- Зарегистрирован: 11 апр 2013, 13:22
- Имя: Вишневский Денис
- Благодарил (а): 10 раз
- Поблагодарили: 12 раз
Re: PLC для освоения
а в честь они так к IL то? на сименсе том же многое на нем можно вытворять, единственно что он не очень хорошо читаем.VADR писал(а):Кстати, в редакции 2012 года IL уже нет. Зато появились зачатки ООП (http://ru.wikipedia.org/wiki/IEC_61131-3). Интересно будет посмотреть.leon78 писал(а):Мне кажется, ТС путает LD и IL
а ЛД имхо - довольно громоздок, но самый простой для понимания, потому как по сути картинку рисуешь)))).
СТ особенно хорош при работе с массивами и прочей математикой, опять же имхо.
"- Знаешь, дружище, в чем истинный смысл второго закона термодинамики?
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)
-
- администратор
- Сообщения: 4711
- Зарегистрирован: 25 июл 2008, 07:12
- Имя: Диев Александр Васильевич
- Страна: Россия
- город/регион: г. Сегежа, Карелия
- Благодарил (а): 192 раза
- Поблагодарили: 336 раз
Re: PLC для освоения
Любой из языков хорош для своего применения. В LD очень красиво дискретная логика описывается, FBD - аналоговые регуляторы, SFC - для последовательностей. ST - в принципе, для любых целей, но менее нагляден, чем другие. А с учётом того, что можно делать свои блоки для FBD (причём не обязательно на FBD, можно и на ST) - получается всё более-менее универсально. И похоже, что решили-таки обойтись без IL.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
-
- администратор
- Сообщения: 17470
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 748 раз
- Поблагодарили: 1277 раз
Re: PLC для освоения
И тем не менее, не знаю как в новых PLC (не работал), а в не очень новых от шнайдера в ладдере были операнды для переднего восходящего и заднего нисходящего фронта дискретного входа (помимо простого операнда состояния входа).Ryzhij писал(а):Фронт "в чистом виде" остался достоянием асинхронной логики. Микропроцессоры не из этого класса.
Но с понятием "прерывание" это все равно не имеет ничего общего. Прерывание - это от ПиСих, где прерывание есть адрес вызова подпрограммы. Начнем с того что в IEC нет подпрограмм (механизмы реализации оной есть и можно сделать, но в чистом виде такого нет).
По вопросам работы Форума можно обратиться по этим контактам.
-
- администратор
- Сообщения: 17470
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 748 раз
- Поблагодарили: 1277 раз
Re: PLC для освоения
Оно и логично. Пожалуй, IL - наименее наглядный и наиболее близкий к обычному в ПиСишном понимании программированию, а PLC, когда создавался и до сих пор, как раз и отличается от ПиСих бОльшей наглядностью при разработке, он так и задумывался много лет тому.VADR писал(а):И похоже, что решили-таки обойтись без IL.
По вопросам работы Форума можно обратиться по этим контактам.
-
- администратор
- Сообщения: 4711
- Зарегистрирован: 25 июл 2008, 07:12
- Имя: Диев Александр Васильевич
- Страна: Россия
- город/регион: г. Сегежа, Карелия
- Благодарил (а): 192 раза
- Поблагодарили: 336 раз
Re: PLC для освоения
Обработка переднего и заднего фронтов - это реакция не не уровень сигнала (1 или 0), а на изменение этого сигнала в заданном направлении в течение цикла исполнения. Типичное применение (к примеру) - запуск каких-нибудь счётчиков. И да, к прерываниям это отношения не имеет, т.к. исполняется не асинхронно, а именно в текущем цикле исполнения. Вообще, асинхронные операции в промышленной автоматике - вещь потенциально опасная.TEB писал(а):И тем не менее, не знаю как в новых PLC (не работал), а в не очень новых от шнайдера в ладдере были операнды для переднего восходящего и заднего нисходящего фронта дискретного входа (помимо простого операнда состояния входа).Ryzhij писал(а):Фронт "в чистом виде" остался достоянием асинхронной логики. Микропроцессоры не из этого класса.
Но с понятием "прерывание" это все равно не имеет ничего общего. Прерывание - это от ПиСих, где прерывание есть адрес вызова подпрограммы. Начнем с того что в IEC нет подпрограмм (механизмы реализации оной есть и можно сделать, но в чистом виде такого нет).
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
-
- БАН
- Сообщения: 642
- Зарегистрирован: 03 июн 2010, 12:26
- Имя: Козин Александр Елисеевич
- Страна: Украина
- город/регион: Одесса
- Поблагодарили: 4 раза
- Забанен: Бессрочно
Re: PLC для освоения
Классическая реализация фронтов есть практически во всех современных контроллерах. Однако, они действительно с прерываниями никак не связаны, ибо воспринимаются только по завершению цикла обработки входов на очередном цикле программы. Более того, в некоторых контроллерах это реализовано весьма криво, и нужно использовать с осторожностью. Пример тому - Fatek.TEB писал(а):И тем не менее, не знаю как в новых PLC (не работал), а в не очень новых от шнайдера в ладдере были операнды для переднего восходящего и заднего нисходящего фронта дискретного входа (помимо простого операнда состояния входа).Ryzhij писал(а):Фронт "в чистом виде" остался достоянием асинхронной логики. Микропроцессоры не из этого класса.
Но с понятием "прерывание" это все равно не имеет ничего общего. Прерывание - это от ПиСих, где прерывание есть адрес вызова подпрограммы. Начнем с того что в IEC нет подпрограмм (механизмы реализации оной есть и можно сделать, но в чистом виде такого нет).
Что касается прерываний - это реализовано далеко не у всех. У Дельты - да, реализовано. И работает именно по фронту, или спаду сигнала, с вызовом соответствующей подпрограммы, и совершенно независимо от цикла выполнения программы. Других примеров просто не знаю (а они наверняка есть), т.к. последнее время работаю преимущественно с Дельтой.
-
- освоился
- Сообщения: 233
- Зарегистрирован: 11 апр 2013, 13:22
- Имя: Вишневский Денис
- Благодарил (а): 10 раз
- Поблагодарили: 12 раз
Re: PLC для освоения
"- Знаешь, дружище, в чем истинный смысл второго закона термодинамики?
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: PLC для освоения
1) Тема ушла в русло языков. Вобще уход от IL меня удивил. Но это еще проверить надо, так как Вики это не последняя инстанция. Наличие полноценного ST делает IL не нужным в принципе.
2) Аппаратные прерывания оформленны в многих ПЛК в виде отдельной задачи. Конфигурирется вызов задач по фронту сигнала, или достижению какого-то счетчика, сетевая телеграмма... Такой вызов нужен только для того, чтобы смочь отреагировать на событие молниеносно, не ожидая начала следущего цикла. Например, при достижении уставки какого-то 100кгц аппаратного счетчика нужно отключить двигатель. Но далеко не все процессы такого требуют. Так что топикстартеру надо понимать, что аппартные прерывания нужны только если циклический опрос входов (сегодня это как правило порядка десятков мс) не успевает за реакцией на изменение процесса.
2) Аппаратные прерывания оформленны в многих ПЛК в виде отдельной задачи. Конфигурирется вызов задач по фронту сигнала, или достижению какого-то счетчика, сетевая телеграмма... Такой вызов нужен только для того, чтобы смочь отреагировать на событие молниеносно, не ожидая начала следущего цикла. Например, при достижении уставки какого-то 100кгц аппаратного счетчика нужно отключить двигатель. Но далеко не все процессы такого требуют. Так что топикстартеру надо понимать, что аппартные прерывания нужны только если циклический опрос входов (сегодня это как правило порядка десятков мс) не успевает за реакцией на изменение процесса.