Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

PLC для освоения

PLC, прочие контроллеры, промышленные компьютеры, операторские панели

Автор темы
Daes
здесь недавно
здесь недавно
Сообщения: 17
Зарегистрирован: 17 мар 2014, 13:54
Ф.И.О.: Контеев Дмитрий Никифорович

PLC для освоения

Сообщение Daes » 17 мар 2014, 14:00

Какой PLC выбрать для освоения программирования в стиле IEC ?
По цене и качеству устроят Delta Electronics, но LD низковат уровнем, а SC только для дорогих моделей.
"Говен" обсуждать не хочу.

Распространены ли PLC эконом-класса для программирования в стиле PC или они отжили свой век?

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: PLC для освоения

Сообщение san » 17 мар 2014, 14:06

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


Alexander
БАН
БАН
Сообщения: 642
Зарегистрирован: 03 июн 2010, 11:26
Ф.И.О.: Козин Александр Елисеевич
Благодарил (а): 2 раза
Поблагодарили: 5 раз
Забанен: Бессрочно

Re: PLC для освоения

Сообщение Alexander » 17 мар 2014, 14:14

Хм-м... И чем-же в Дельте LD низковат уровнем? Чего не хватает для счастья?


Автор темы
Daes
здесь недавно
здесь недавно
Сообщения: 17
Зарегистрирован: 17 мар 2014, 13:54
Ф.И.О.: Контеев Дмитрий Никифорович

Re: PLC для освоения

Сообщение Daes » 17 мар 2014, 14:19

Alexander писал(а):Хм-м... И чем-же в Дельте LD низковат уровнем? Чего не хватает для счастья?

LD примерно уровень ассемблера
san писал(а):Вы хотите себе купить только для освоения программирования? Если так, то лучше уж взять бесплатную среду програмирования ПЛК, имеющую в своем составе эмулятор ПЛК, и ничего покупать не прийдется. Как пример - CoDeSys.
Не только для освоения, в дальшейшем хочу использовать. на ST уже кое-что написал и почти разобрался (синтаксис близок к Паскалю), товарищи дали несколько бу говенов, но они не устраивают по принципиальным причинам, например внешние прерывания заменены опросом входов и т.д.

Аватара пользователя

VADR
администратор
администратор
Сообщения: 2405
Зарегистрирован: 25 июл 2008, 06:12
Ф.И.О.: Диев Александр Васильевич
Благодарил (а): 19 раз
Поблагодарили: 25 раз

Re: PLC для освоения

Сообщение VADR » 17 мар 2014, 14:21

Хм... В языках IEC есть обработка внешних прерываний? Не знал.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.


Alexander
БАН
БАН
Сообщения: 642
Зарегистрирован: 03 июн 2010, 11:26
Ф.И.О.: Козин Александр Елисеевич
Благодарил (а): 2 раза
Поблагодарили: 5 раз
Забанен: Бессрочно

Re: PLC для освоения

Сообщение Alexander » 17 мар 2014, 14:24

Есть обработка внешних прерываний. В Дельте, по крайней мере.

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: PLC для освоения

Сообщение san » 17 мар 2014, 15:06

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


Михайло
почётный участник форума
почётный участник форума
Сообщения: 2212
Зарегистрирован: 10 ноя 2009, 04:58
Ф.И.О.: Толмачев Михаил Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 22 раза
Контактная информация:

Re: PLC для освоения

Сообщение Михайло » 17 мар 2014, 15:43

Daes писал(а):для программирования в стиле PC или они отжили свой век?

Конечно отжили. Сейчас только МЭК и прежде всего LD! Это на практике, а в теории Вы можете программить "в стиле PC". :D
Извините за сарказм, но Вам следует изучать язык LD и только его, а потом уже рассуждать о низкоуровневостях.

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: PLC для освоения

Сообщение san » 17 мар 2014, 15:54

Михайло писал(а):Извините за сарказм, но Вам следует изучать язык LD и только его, а потом уже рассуждать о низкоуровневостях.
Я думаю он пришел в АСУТП с программеров, а значит надо будет сильно ламать свои стереотипы программирования для ПЛК.
Топикстартеру рекомендую познакомиться также с понятиями программирования в реальном времени.

Аватара пользователя

TEB
специалист по DEIF
специалист по DEIF
Сообщения: 7879
Зарегистрирован: 17 июн 2008, 15:01
Ф.И.О.: Евгений свет Брониславович
Благодарил (а): 35 раз
Поблагодарили: 63 раза
Контактная информация:

Re: PLC для освоения

Сообщение TEB » 17 мар 2014, 16:20

Alexander писал(а):Есть обработка внешних прерываний. В Дельте, по крайней мере.

покажите, скриншотом можно. Интересно. :)
По вопросам работы Форума можно обратиться ко мне, или по этим контактам.


Alexander
БАН
БАН
Сообщения: 642
Зарегистрирован: 03 июн 2010, 11:26
Ф.И.О.: Козин Александр Елисеевич
Благодарил (а): 2 раза
Поблагодарили: 5 раз
Забанен: Бессрочно

Re: PLC для освоения

Сообщение Alexander » 17 мар 2014, 16:36

Если это так уж интересно - возьмите инструкцию по программированию. Там все внятно и доступно описано. Правда, на английском. Разделы 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)


Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 2555
Зарегистрирован: 07 окт 2011, 08:12
Ф.И.О.: Гаско Вячеслав Эриевич
Откуда: Рязань, Россия
Благодарил (а): 41 раз
Поблагодарили: 70 раз

Re: PLC для освоения

Сообщение Ryzhij » 17 мар 2014, 23:34

VADR писал(а):Хм... В языках IEC есть обработка внешних прерываний? Не знал.

А какая разница по какому событию процедуру вызывать? Почему бы и не по внешнему?
По таймеру, типа в порядке вещей, а по фронту дискретного входа - удивительно.
Пуркуа бы и не па, в самом деле!
Alexander писал(а):Если это так уж интересно - возьмите инструкцию по программированию.
Это тут начиная со стр. 134.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может». Жан-Поль Сартр


Автор темы
Daes
здесь недавно
здесь недавно
Сообщения: 17
Зарегистрирован: 17 мар 2014, 13:54
Ф.И.О.: Контеев Дмитрий Никифорович

Re: PLC для освоения

Сообщение Daes » 18 мар 2014, 00:03

Ryzhij писал(а):
VADR писал(а):Хм... В языках IEC есть обработка внешних прерываний? Не знал.

А какая разница по какому событию процедуру вызывать? Почему бы и не по внешнему?
По таймеру, типа в порядке вещей, а по фронту дискретного входа - удивительно.
Пуркуа бы и не па, в самом деле!

А у говена входы мультиплексированы ( то ли сдвиговыми регистрами, то ли I2C SPI и по фронту будет очень удивительно ...)


Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 2555
Зарегистрирован: 07 окт 2011, 08:12
Ф.И.О.: Гаско Вячеслав Эриевич
Откуда: Рязань, Россия
Благодарил (а): 41 раз
Поблагодарили: 70 раз

Re: PLC для освоения

Сообщение Ryzhij » 18 мар 2014, 04:37

А что считать "фронтом"?
Вообще-то понятие "прерывание", даже для аппаратного уровня микропроцессора, это событие, по-любому, тактируемое частотой генератора. И только у некоторых микропроцессоров приоритетный сигнал немаскируемого прерывания типа RESET является до некоторой степени асинхронным.
Фронт "в чистом виде" остался достоянием асинхронной логики. Микропроцессоры не из этого класса.
И для "Дельты" разные быстрые входы, обладают различным быстродействием. И по прерыванию тоже.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может». Жан-Поль Сартр

Аватара пользователя

MuadDib
не первый раз у нас
не первый раз у нас
Сообщения: 359
Зарегистрирован: 31 июл 2010, 08:12
Ф.И.О.: Журавлев Павел Евгеньевич
Поблагодарили: 1 раз

Re: PLC для освоения

Сообщение MuadDib » 18 мар 2014, 05:08

Daes писал(а):Распространены ли PLC эконом-класса для программирования в стиле PC или они отжили свой век?

Устройства "для программирования в стиле PC" свой век не отжили. Их очень много: от примитивных (i7188ex - кастрированная DOS-подобная ОС, процессор 8088) до навороченных одноплатных компьютеров, работающих под специализированными ОС жесткого реального времени. Но эти устройства не являются ПЛК. Все существующие на рынке решения предназначены для выполнения определенного круга задач. Если ваша задача завязана на обработку прерываний (т.е. нужно наносекундное время реакции на событие на каком-то входе, какия-то хитрая работа с ШИМами, аппаратными таймерами и т.д.), то, вероятно, вам нужен не ПЛК, а какое-то другое специализированное железо и софт. Работа с прерываниями реализована в ряде ПЛК по остаточному принципу, и гибкости, которую обеспечивает 100%-нативный код, в этом сегменте железа никогда не будет. И это правильно. Гвозди нужно забивать молотком, а инфузорией-валенком любоваться с помощью микроскопа. Даже если вы занимаетесь периодически и тем, и другим :D

Daes писал(а):LD примерно уровень ассемблера

Во-первых, LD - далеко не ассемблер. Во-вторых, если вы принципиально за работу через прерывания, почему вас смущает низкоуровневый язык?


leon78
завсегдатай
завсегдатай
Сообщения: 565
Зарегистрирован: 25 июл 2008, 09:06
Ф.И.О.: U.L.A.
Благодарил (а): 1 раз
Поблагодарили: 4 раза
Контактная информация:

Re: PLC для освоения

Сообщение leon78 » 18 мар 2014, 07:50

Мне кажется, ТС путает LD и IL
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.

Аватара пользователя

VADR
администратор
администратор
Сообщения: 2405
Зарегистрирован: 25 июл 2008, 06:12
Ф.И.О.: Диев Александр Васильевич
Благодарил (а): 19 раз
Поблагодарили: 25 раз

Re: PLC для освоения

Сообщение VADR » 18 мар 2014, 08:07

leon78 писал(а):Мне кажется, ТС путает LD и IL

Кстати, в редакции 2012 года IL уже нет. Зато появились зачатки ООП (http://ru.wikipedia.org/wiki/IEC_61131-3). Интересно будет посмотреть.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.

Аватара пользователя

den_vish
осмотрелся
осмотрелся
Сообщения: 138
Зарегистрирован: 11 апр 2013, 12:22
Ф.И.О.: Вишневский Денис
Благодарил (а): 8 раз
Поблагодарили: 8 раз

Re: PLC для освоения

Сообщение den_vish » 18 мар 2014, 08:40

VADR писал(а):
leon78 писал(а):Мне кажется, ТС путает LD и IL

Кстати, в редакции 2012 года IL уже нет. Зато появились зачатки ООП (http://ru.wikipedia.org/wiki/IEC_61131-3). Интересно будет посмотреть.


а в честь они так к IL то? на сименсе том же многое на нем можно вытворять, единственно что он не очень хорошо читаем.

а ЛД имхо - довольно громоздок, но самый простой для понимания, потому как по сути картинку рисуешь)))).
СТ особенно хорош при работе с массивами и прочей математикой, опять же имхо.
"- Знаешь, дружище, в чем истинный смысл второго закона термодинамики?
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)

Аватара пользователя

VADR
администратор
администратор
Сообщения: 2405
Зарегистрирован: 25 июл 2008, 06:12
Ф.И.О.: Диев Александр Васильевич
Благодарил (а): 19 раз
Поблагодарили: 25 раз

Re: PLC для освоения

Сообщение VADR » 18 мар 2014, 08:55

Любой из языков хорош для своего применения. В LD очень красиво дискретная логика описывается, FBD - аналоговые регуляторы, SFC - для последовательностей. ST - в принципе, для любых целей, но менее нагляден, чем другие. А с учётом того, что можно делать свои блоки для FBD (причём не обязательно на FBD, можно и на ST) - получается всё более-менее универсально. И похоже, что решили-таки обойтись без IL.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.

Аватара пользователя

TEB
специалист по DEIF
специалист по DEIF
Сообщения: 7879
Зарегистрирован: 17 июн 2008, 15:01
Ф.И.О.: Евгений свет Брониславович
Благодарил (а): 35 раз
Поблагодарили: 63 раза
Контактная информация:

Re: PLC для освоения

Сообщение TEB » 18 мар 2014, 09:23

Ryzhij писал(а):Фронт "в чистом виде" остался достоянием асинхронной логики. Микропроцессоры не из этого класса.

И тем не менее, не знаю как в новых PLC (не работал), а в не очень новых от шнайдера в ладдере были операнды для переднего восходящего и заднего нисходящего фронта дискретного входа (помимо простого операнда состояния входа).

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

Аватара пользователя

TEB
специалист по DEIF
специалист по DEIF
Сообщения: 7879
Зарегистрирован: 17 июн 2008, 15:01
Ф.И.О.: Евгений свет Брониславович
Благодарил (а): 35 раз
Поблагодарили: 63 раза
Контактная информация:

Re: PLC для освоения

Сообщение TEB » 18 мар 2014, 09:26

VADR писал(а):И похоже, что решили-таки обойтись без IL.

Оно и логично. Пожалуй, IL - наименее наглядный и наиболее близкий к обычному в ПиСишном понимании программированию, а PLC, когда создавался и до сих пор, как раз и отличается от ПиСих бОльшей наглядностью при разработке, он так и задумывался много лет тому.
По вопросам работы Форума можно обратиться ко мне, или по этим контактам.

Аватара пользователя

VADR
администратор
администратор
Сообщения: 2405
Зарегистрирован: 25 июл 2008, 06:12
Ф.И.О.: Диев Александр Васильевич
Благодарил (а): 19 раз
Поблагодарили: 25 раз

Re: PLC для освоения

Сообщение VADR » 18 мар 2014, 09:39

TEB писал(а):
Ryzhij писал(а):Фронт "в чистом виде" остался достоянием асинхронной логики. Микропроцессоры не из этого класса.

И тем не менее, не знаю как в новых PLC (не работал), а в не очень новых от шнайдера в ладдере были операнды для переднего восходящего и заднего нисходящего фронта дискретного входа (помимо простого операнда состояния входа).

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

Обработка переднего и заднего фронтов - это реакция не не уровень сигнала (1 или 0), а на изменение этого сигнала в заданном направлении в течение цикла исполнения. Типичное применение (к примеру) - запуск каких-нибудь счётчиков. И да, к прерываниям это отношения не имеет, т.к. исполняется не асинхронно, а именно в текущем цикле исполнения. Вообще, асинхронные операции в промышленной автоматике - вещь потенциально опасная.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.


Alexander
БАН
БАН
Сообщения: 642
Зарегистрирован: 03 июн 2010, 11:26
Ф.И.О.: Козин Александр Елисеевич
Благодарил (а): 2 раза
Поблагодарили: 5 раз
Забанен: Бессрочно

Re: PLC для освоения

Сообщение Alexander » 18 мар 2014, 09:47

TEB писал(а):
Ryzhij писал(а):Фронт "в чистом виде" остался достоянием асинхронной логики. Микропроцессоры не из этого класса.

И тем не менее, не знаю как в новых PLC (не работал), а в не очень новых от шнайдера в ладдере были операнды для переднего восходящего и заднего нисходящего фронта дискретного входа (помимо простого операнда состояния входа).

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


Классическая реализация фронтов есть практически во всех современных контроллерах. Однако, они действительно с прерываниями никак не связаны, ибо воспринимаются только по завершению цикла обработки входов на очередном цикле программы. Более того, в некоторых контроллерах это реализовано весьма криво, и нужно использовать с осторожностью. Пример тому - Fatek.
Что касается прерываний - это реализовано далеко не у всех. У Дельты - да, реализовано. И работает именно по фронту, или спаду сигнала, с вызовом соответствующей подпрограммы, и совершенно независимо от цикла выполнения программы. Других примеров просто не знаю (а они наверняка есть), т.к. последнее время работаю преимущественно с Дельтой.

Аватара пользователя

den_vish
осмотрелся
осмотрелся
Сообщения: 138
Зарегистрирован: 11 апр 2013, 12:22
Ф.И.О.: Вишневский Денис
Благодарил (а): 8 раз
Поблагодарили: 8 раз

Re: PLC для освоения

Сообщение den_vish » 18 мар 2014, 10:08

[spoiler=Возможно ОФФ]
TEB писал(а):
VADR писал(а):И похоже, что решили-таки обойтись без IL.

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


господа, я малость не пойму, а почему вы так настойчиво разделяете программирование для ПК и программирование для ПЛК? и в чем все таки на ваш взгляд разница?[/spoiler]
"- Знаешь, дружище, в чем истинный смысл второго закона термодинамики?
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: PLC для освоения

Сообщение san » 18 мар 2014, 10:16

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


Вернуться в «Средний уровень автоматизации»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей