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

Таймеры в контроллерах

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

Автор темы
Большой Зелёный
здесь недавно
здесь недавно
Сообщения: 39
Зарегистрирован: 05 июл 2011, 15:03
Ф.И.О.: Леонов Александр Сергеевич

Таймеры в контроллерах

Сообщение Большой Зелёный » 16 окт 2012, 11:15

Мне вот вдруг стало интересно, какие промышленные контроллеры обладают самым высоким быстродействием?
У трехсотки сименса минимальный шаг счетчика, который я смог выставить, равен 100мс. Это же является минимальным временем исполнения среди операционных блоков (OB) с фиксированным интервалом. У четырехсотки минимальное время равно 10мс. Судя по всему, минимальный шаг таймера так же равен 10мс.
В связи с этим возникает два вопроса.
Первый вопрос: можно ли на трехсотке сименса использовать таймер с шагом менее 100мс, а так же есть ли в этом смысл?
Второй вопрос: какие промышленные контроллеры имеют более шустрые таймеры (а так же более быстрые аналоги OB у Siemens)?

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

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

Re: Таймеры в контроллерах

Сообщение TEB » 16 окт 2012, 11:20

Большой Зелёный писал(а):Первый вопрос: можно ли на трехсотке сименса использовать таймер с шагом менее 100мс, а так же есть ли в этом смысл?


Есть ли в этом смысл - это как раз Вам виднее. Нужна какая-то задача или процесс который нужно обрабатывать быстрее чем 10 раз в секунду. У Вас есть такие задачи?
По вопросам работы Форума можно обратиться ко мне, или по этим контактам.


Автор темы
Большой Зелёный
здесь недавно
здесь недавно
Сообщения: 39
Зарегистрирован: 05 июл 2011, 15:03
Ф.И.О.: Леонов Александр Сергеевич

Re: Таймеры в контроллерах

Сообщение Большой Зелёный » 16 окт 2012, 11:30

В данный момент таких задач нет. Интересуюсь для общего развития.


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

Re: Таймеры в контроллерах

Сообщение Alexander » 16 окт 2012, 12:01

Вот задач таких, в которых требуются счетчики по крайней мере 1 миллисекунда, и быстрее - пруд пруди. И чего-то я не понял, как неприемлющий Зименса, там действительно что-ль минимальное время 10 мсек, и даже у 400-ки? Бред какой-то. Даже у таких недорогих штук, как Дельта и Фатек самые обычные, т.е. не быстрые аппаратные счетчики и таймеры работают с интервалами 1 мсек (Если, конечно, цикл позволяет). Может что-то не так, непонятки какие-то?

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

dmitry
здесь недавно
здесь недавно
Сообщения: 44
Зарегистрирован: 15 авг 2012, 10:12
Ф.И.О.: Дмитрий

Re: Таймеры в контроллерах

Сообщение dmitry » 16 окт 2012, 12:27

Большой Зелёный писал(а):Мне вот вдруг стало интересно, какие промышленные контроллеры обладают самым высоким быстродействием?
У трехсотки сименса минимальный шаг счетчика, который я смог выставить, равен 100мс. Это же является минимальным временем исполнения среди операционных блоков (OB) с фиксированным интервалом. У четырехсотки минимальное время равно 10мс. Судя по всему, минимальный шаг таймера так же равен 10мс...

Не вводите людей в заблуждение. Вы путаете понятия OB c фиксированным интервалом вызова(прерывания по времени) - и OB1 который выполняется сразу же (ну почти) как закончил выполнятся. Конечно все зависит от сложности алгоритма и количества вычислений. Самая затратная с точки зрения производительности CPU считается математическая операция над числами с плавающей точкой.
К примеру:
...на контроллерах 31xC SFB 41 CONT_C выполняется (внимание!) 58 микросекунд, что немного меньше 5 миллисекунд. Всего на 2 прОцента, т.е. порядка:-) Таким образом, 45 PID контуров управления будут просчитываться меньше 3 мс...

А если говорить о задачах требующих более высокой производительности ( анализ какого-то высокочастотного импульсного сигнала - например инкрементального энкодера), то под такие задачи, обычно, выделяют отдельные функциональные модули (FM), которые имеют на борту свой, небольшой CPU. Они занимаются приемом и обработкой входных данных АСИНХРОННО с циклом основного CPU, и передают их уже обработанными, по какой-то внутренней шине данных.

Большой Зелёный писал(а):...
Первый вопрос: можно ли на трехсотке сименса использовать таймер с шагом менее 100мс, а так же есть ли в этом смысл?
...

Формат S5Time подразумевает установку таймера с дискретностью 1 мс. Ограничения будут связаны со сложностью алгоритма. В Step 7 можно получить диагностическую информацию о времени цикла выполения. Среднестатистическая программа выполняется быстрее 5 мс. Например программа с сложной обработакой 1000 дискретных сигналов, 50 аналоговых, и 30 PID выполняется за 20-27 мс. CPU S7-315 2 PN/DP.

Большой Зелёный писал(а):...
Второй вопрос: какие промышленные контроллеры имеют более шустрые таймеры (а так же более быстрые аналоги OB у Siemens)?

Чтоб не не быть голословным: производительность линейки S7 - 300,скорость выполнения 1 опреации над числом с плавающей точкой

Изображение
Последний раз редактировалось dmitry 16 окт 2012, 15:01, всего редактировалось 5 раз.

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

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

Re: Таймеры в контроллерах

Сообщение san » 16 окт 2012, 12:46

300-ка 300-ке рознь. 100 мс (навсяк случай розшифрую - милисекунд) для 300-ки CPU 317 это очень большое время. Там ещё нужно постараться напиать такую БОЛЬШУЮ прогу, чтоб забить OB1 для такой длительности.


pike
не первый раз у нас
не первый раз у нас
Сообщения: 363
Зарегистрирован: 08 авг 2008, 09:43
Ф.И.О.: Щукин Андрей Александрович
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: Таймеры в контроллерах

Сообщение pike » 16 окт 2012, 12:49

У Омрона в CJ1/CS1/CJ2 есть таймеры TMHH и TMHHX с шагом в 1 мс, но это действительно больше касается точности таймера, а не производительности в общем. Использовал для определения "качества" работы определенных механизмов в зависимости от внешних и внутренних факторов.
Понятие быстродействия и производительности сильно привязано к реальной прикладной задачи: для одной это будет определяться возможностью провести кучу вычислений за заданое время, для другой быстрая реакция на дискретное событие с выполнением небольшого кол-ва логических действий, для третьей... На выходе получается, что по железу "счастья" нет: если что-то получается хорошо, то что-то другое плохо.
Авторы ТЗ, с которыми я работаю, не имеют права жаловаться на дороги, ЖКХ, бюрократию и правительство.


Автор темы
Большой Зелёный
здесь недавно
здесь недавно
Сообщения: 39
Зарегистрирован: 05 июл 2011, 15:03
Ф.И.О.: Леонов Александр Сергеевич

Re: Таймеры в контроллерах

Сообщение Большой Зелёный » 16 окт 2012, 13:10

dmitry писал(а):Не вводите людей в заблуждение. Вы путаете понятия OB c фиксированным интервалом вызова(прерывания по времени) - и OB1 который выполняется сразу же (ну почти) как закончил выполнятся. Конечно все зависит от сложности алгоритма и количества вычислений. Самая затратная с точки зрения производительности CPU считается математическая операция над числами с плавающей точкой.

Я не путаю, просто мне нравятся блоки с фиксированным временем выполнения.
dmitry писал(а):А если говорить о задачах требующих более высокой производительности ( анализ какого-то высокочастотного импульсного сигнала - например инкрементального энкодера), то под такие задачи, обычно, выделяют отдельные функциональные модули (FM), которые имеют на борту свой, небольшой CPU. Они занимаются приемом и обработкой входных данных АСИНХРОННО с циклом основного CPU, и передают их уже обработанными, по какой-то внутренней шине данных.

Да, модуль скоростного счета сам использовал, как раз для энкодера. А вот если надо, наоборот, выдавать сигналы с большой скоростью?
dmitry писал(а):Формат S5Time подразумевает установку таймера с дискретностью 1 мс. Ограничения будут связаны со сложностью алгоритма.

О, спасибо. Всегда использовал Memory Byte, устанавливаемый в HW Config, а на этот таймер не обращал внимания.
dmitry писал(а):В Step 7 можно получить диагностическую информацию о времени цикла выполнения. Среднестатистическая программа выполняется быстрее 5 мс.

Почему-то хочется фиксированного времени обработки программы, пускай даже большую часть времени контроллер будет "Простаивать".
dmitry писал(а):Чтоб не не быть голословным: производительность линейки S7 - 300,скорость выполнения 1 операции над числом с плавающей точкой

У меня картинка не грузится.


Автор темы
Большой Зелёный
здесь недавно
здесь недавно
Сообщения: 39
Зарегистрирован: 05 июл 2011, 15:03
Ф.И.О.: Леонов Александр Сергеевич

Re: Таймеры в контроллерах

Сообщение Большой Зелёный » 16 окт 2012, 13:13

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

Допустим, необходимо высокое быстродействие реакции системы, при этом в алгоритме нет использования сложной математики. Какие промышленные контроллеры посоветуете?

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

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

Re: Таймеры в контроллерах

Сообщение san » 16 окт 2012, 13:34

Во многих контроллерах есть прерывания, по которым можно заупскать задачи. Разве у Симатиков нет аппаратных OB? Как то никогда этим не интересовался, но думаю должны быть.


pike
не первый раз у нас
не первый раз у нас
Сообщения: 363
Зарегистрирован: 08 авг 2008, 09:43
Ф.И.О.: Щукин Андрей Александрович
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: Таймеры в контроллерах

Сообщение pike » 16 окт 2012, 14:34

Большой Зелёный писал(а):Допустим, необходимо высокое быстродействие реакции системы, при этом в алгоритме нет использования сложной математики. Какие промышленные контроллеры посоветуете?

В сфероконической ситуации я бы ориентировался на ОМРОН серию CJ2 и Митсубиши серию L. А так надо смотреть какой "пустой" цикл (сколько контроллер тратит на самого себя) получается у ЦПУ с данным набором вх/вых, сколько времени уходит на различные прерывания и обновления выходов. По разному бывает, иногда и моноблочный "малыш" делает модульных "тяжеловесов", только по тому что больше ни чего особо не умеет, кроме как релейку шерстить.
Авторы ТЗ, с которыми я работаю, не имеют права жаловаться на дороги, ЖКХ, бюрократию и правительство.

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

dmitry
здесь недавно
здесь недавно
Сообщения: 44
Зарегистрирован: 15 авг 2012, 10:12
Ф.И.О.: Дмитрий

Re: Таймеры в контроллерах

Сообщение dmitry » 16 окт 2012, 15:06

Большой Зелёный писал(а):...
У меня картинка не грузится...

Обновил.
san писал(а):...
Разве у Симатиков нет аппаратных OB?...

Кто сказал что нет? Конечно же есть. Просто у сименса каждая модель контроллера имеет свой набор OB (в т.ч. и прерываний). 400-я серия имеет наибольший набор. 300-я - немного меньший.

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

Serex
авторитет
авторитет
Сообщения: 875
Зарегистрирован: 15 авг 2011, 20:36
Ф.И.О.: Пупков Сергей Викторович
Благодарил (а): 7 раз
Поблагодарили: 12 раз

Re: Таймеры в контроллерах

Сообщение Serex » 16 окт 2012, 15:45

Что-то удивлен даже, что максимальная частота циклического OB c прерыванием у 315 - 100мс
1200 контроллер позволяет установить себе циклическое прерывание в 1мс :) кто-нибудь пробовал?

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

Serex
авторитет
авторитет
Сообщения: 875
Зарегистрирован: 15 авг 2011, 20:36
Ф.И.О.: Пупков Сергей Викторович
Благодарил (а): 7 раз
Поблагодарили: 12 раз

Re: Таймеры в контроллерах

Сообщение Serex » 16 окт 2012, 15:59

P.S. К прошлому сообщению. В трехсотом можно выставить циклический ОБ с прерыванием в 1 мс. Это делается в настройках конфигурации контроллера.

Если получиться так, что время выполнения такого ОБ будет больше, чем частота вызова, то произойдет вызов ОБ80, если он есть.


Eugene Sergejev
осмотрелся
осмотрелся
Сообщения: 165
Зарегистрирован: 28 июл 2008, 14:40
Ф.И.О.: Сергеев Евгений Викторович
Поблагодарили: 1 раз

Re: Таймеры в контроллерах

Сообщение Eugene Sergejev » 17 окт 2012, 09:01

А в чём глубокий философичесикй смысл делать цикл опроса меньше, чем постоянная времени фильтра дискретного входа? Оно ж не динг ан зих, мы не в формулу 1 на контроллерах играем...
Конкретно, по поводу самого быстрого - щупал в своё время СайюБургресс, по потрохам - сименс совместимое, только раз в 50 пошустрее. Пытались на нём управление каким-то шустрым процессом сделать, но не срослось.
Да, и во время оно ( лет 20 назад ) было модным лепить на борту контроллера т.н. "быстрые входы", и, гораздо реже "быстрые выходы" - т.е. сигнал ТТЛ голой задницей выставлять наружу. Предполагалось, что пользователь сможет подключать к ним какие-то свои наколенные устройства. Не очень хорошая идея была, помех это добро сосало только в путь, да и горело в полевых условиях как спички...
ИМХО, надо смотреть по процессу.
Последний раз, когда я ловил микросекунды, произошёл лет 8 назад, когда была попытка синхронизировать два двигателя с помощью самописной ФАПЧ. На Контрол Техниксе. Попытка удалась, но в проект не пошла.
пдпс скрщна по трбвнию мдратра


pike
не первый раз у нас
не первый раз у нас
Сообщения: 363
Зарегистрирован: 08 авг 2008, 09:43
Ф.И.О.: Щукин Андрей Александрович
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: Таймеры в контроллерах

Сообщение pike » 17 окт 2012, 09:39

Eugene Sergejev писал(а):А в чём глубокий философичесикй смысл делать цикл опроса меньше, чем постоянная времени фильтра дискретного входа? Оно ж не динг ан зих, мы не в формулу 1 на контроллерах играем...

Именно в неё и играем, в машиностроении. Классические задачи "метка" и "выход в ноль". И быстрые входы, и быстрые выходы сейчас и 24 В, и RS422 - проблем с помехами не много.
Авторы ТЗ, с которыми я работаю, не имеют права жаловаться на дороги, ЖКХ, бюрократию и правительство.


Автор темы
Большой Зелёный
здесь недавно
здесь недавно
Сообщения: 39
Зарегистрирован: 05 июл 2011, 15:03
Ф.И.О.: Леонов Александр Сергеевич

Re: Таймеры в контроллерах

Сообщение Большой Зелёный » 17 окт 2012, 12:06

dmitry писал(а):Формат S5Time подразумевает установку таймера с дискретностью 1 мс.

Решил проверить этот таймер на контроллере CPU315-2PN/DP. Дискретность таймера оказалась вовсе не 1мс, а всего 10мс, то есть в десять раз больше. При попытке выставить время менее 10мс таймер записывал себе на вход нулевую уставку. А при запуске такой программы всё зависало.

Решил проверить точность этого таймера. Заполнял импульс продолжительностью в 10 секунд импульсами частотой 100Гц. На выходе счетчика ожидал увидеть 1000, однако так было не всегда. Значения варьировались от 998 до 1000 :amazement:

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

Serex
авторитет
авторитет
Сообщения: 875
Зарегистрирован: 15 авг 2011, 20:36
Ф.И.О.: Пупков Сергей Викторович
Благодарил (а): 7 раз
Поблагодарили: 12 раз

Re: Таймеры в контроллерах

Сообщение Serex » 17 окт 2012, 16:31

Глупо делать быстродействующий процесс на PLC. Ибо использовать таймеры изначально неправильно.
Любой микропроцессор или контроллер живет тактами, задаваемые генератором на кварце. Поэтому все промежутки времени измеряются тактами и другого не дано. Если хочется получить реальное быстродействие, то надо использовать тактовые импульсы контроллера и из этого строить логику. Но такой подход требует низкоуровневого аппаратно-зависимого программирования, поэтому и существует только в специализированных контроллерах.

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

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

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

Re: Таймеры в контроллерах

Сообщение san » 17 окт 2012, 16:55

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

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

Serex
авторитет
авторитет
Сообщения: 875
Зарегистрирован: 15 авг 2011, 20:36
Ф.И.О.: Пупков Сергей Викторович
Благодарил (а): 7 раз
Поблагодарили: 12 раз

Re: Таймеры в контроллерах

Сообщение Serex » 17 окт 2012, 17:29

А можно взять ПЛИС систему. Та вообще жутко быстрая

http://ru.wikipedia.org/wiki/%CF%CB%C8%D1

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

dmitry
здесь недавно
здесь недавно
Сообщения: 44
Зарегистрирован: 15 авг 2012, 10:12
Ф.И.О.: Дмитрий

Re: Таймеры в контроллерах

Сообщение dmitry » 17 окт 2012, 20:30

Большой Зелёный писал(а):Решил проверить этот таймер на контроллере CPU315-2PN/DP. Дискретность таймера оказалась вовсе не 1мс, а всего 10мс, то есть в десять раз больше. ...

Все верно. Приношу извенения что ввел в заблуждение:
Изображение

Но в любом случае это не 100 мс, как предполагалось изначально...


Eugene Sergejev
осмотрелся
осмотрелся
Сообщения: 165
Зарегистрирован: 28 июл 2008, 14:40
Ф.И.О.: Сергеев Евгений Викторович
Поблагодарили: 1 раз

Re: Таймеры в контроллерах

Сообщение Eugene Sergejev » 18 окт 2012, 10:36

Именно в неё и играем, в машиностроении. Классические задачи "метка" и "выход в ноль". И быстрые входы, и быстрые выходы сейчас и 24 В, и RS422 - проблем с помехами не много.

ИМХО, все эти вещи в станочных приводах реализованы отдельно. Или вы станочный привод на ПЛК общего примения делаете?
пдпс скрщна по трбвнию мдратра


Владимир Кузнецов
не первый раз у нас
не первый раз у нас
Сообщения: 321
Зарегистрирован: 31 авг 2011, 21:14
Ф.И.О.: Кузнецов Владимир Сергеевич

Re: Таймеры в контроллерах

Сообщение Владимир Кузнецов » 20 окт 2012, 17:34

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


LoginovAD
здесь недавно
здесь недавно
Сообщения: 28
Зарегистрирован: 20 авг 2012, 16:31
Ф.И.О.: Логинов

Re: Таймеры в контроллерах

Сообщение LoginovAD » 24 окт 2012, 20:55

Большой Зелёный писал(а):Мне вот вдруг стало интересно, какие промышленные контроллеры обладают самым высоким быстродействием?
У трехсотки сименса минимальный шаг счетчика, который я смог выставить, равен 100мс. Это же является минимальным временем исполнения среди операционных блоков (OB) с фиксированным интервалом. У четырехсотки минимальное время равно 10мс. Судя по всему, минимальный шаг таймера так же равен 10мс.
В связи с этим возникает два вопроса.
Первый вопрос: можно ли на трехсотке сименса использовать таймер с шагом менее 100мс, а так же есть ли в этом смысл?
Второй вопрос: какие промышленные контроллеры имеют более шустрые таймеры (а так же более быстрые аналоги OB у Siemens)?


По поводу второго вопроса, таймеры в контроллерах DL вроде как имеют таймер 1мс, глазом измерить не могу)))) но в программе таймера все работает идельно.


pike
не первый раз у нас
не первый раз у нас
Сообщения: 363
Зарегистрирован: 08 авг 2008, 09:43
Ф.И.О.: Щукин Андрей Александрович
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: Таймеры в контроллерах

Сообщение pike » 25 окт 2012, 08:36

Eugene Sergejev писал(а):ИМХО, все эти вещи в станочных приводахреализованы отдельно. Или вы станочный привод на ПЛК общего примения делаете?

Машиностроение - это только станкостроение? Что такое станочный привод и чем он принципиально отличается от общепромышленного ПЧ или серво? Более того в части задач у меня используется не электропривод. И зачем мне отдельно реализованые куски, когда мне все надо связать в единый алгоритм работы, при том что "метка" и "летучий нож" реализованые в приводах, дай бог нормально работают только в половине случаев?
А так я использую ПЛК с функциями контроллера позиционирования или управления движением ака machine controller.
Авторы ТЗ, с которыми я работаю, не имеют права жаловаться на дороги, ЖКХ, бюрократию и правительство.


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



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

Сейчас этот форум просматривают: Camcon, Google Adsense [Bot] и 1 гость