Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Купил тут в пятницу ПЛК150
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9
Игорь Борисов
Цитата(Представитель ОВЕН @ 24.7.2007, 15:50) [snapback]148581[/snapback]
Но начали ведь, и остальному научимся. Дайте срок и поддержите, и будет всем счастье. И вот совсем не понятно при чем здесь повышение цены.....


Вставлю свои 5 копеек. У Вас есть измеритель 2х-канальный ТРМ 200, слава Богу что вышла компактная модель Щ2, но можно же хоть организовать гальваническую развязку входов, мне, к примеру - по одному входу нужно индицировать задание частотнику 0-10 в, а по второму смотреть 4-20 ма ОС. И как?

А вот если бы эта конструкция еще бы и товарный вид поимела - можно было бы отказаться от аналогичных измерителей JUMO, но пока мои Заки, за такой внешний вид вообще со мной работать не будут...
plazma
Цитата(Сергей Долганов @ 24.7.2007, 11:11) [snapback]148564[/snapback]
Хорошо сказано biggrin.gif
Хотя, мне думается , имелось ввиду что число зависит от разрядности установленного аналогового модуля. И число не называется в связи с тем, что модуль может быть чей угодно (читай "неизвестно скольки разрядный").

Эта фраза означает, нужно 10 В - выставляете число 10, нужно 5,34 мА, выставляете число 5,34
Привыкли к выводу в бинарном формате ЦАП, вот и вопросы такие.
Сергей Долганов
Я лично привык к формату "слово". Тоесть мне аналоговый сигнал ручками в токи наужно пересчитывать, я Вас правильно понял? Или у Вас блоки ПИД на выходе вольты выдают?
Abysmo
Цитата
Дайте срок и поддержите, и будет всем счастье. И вот совсем не понятно при чем здесь повышение цены.....


Как только пресловутая перемычка появится на поверхности, поддержу biggrin.gif wink.gif

Цена тут приводилась как пример того, что в Wago не 10 человек контроллер делали... Степень качественности изделия ~ степени вложенного в него труда ~ степени занятых над проектом человек. Грубо говоря, если у Вас не гении и трудоголики работают, то для того, что бы сделать что-нибудь уровня Wago придется или расширить штат, или очень долго делать...
Представитель ОВЕН
Цитата(Игорь Борисов @ 24.7.2007, 16:05) [snapback]148593[/snapback]
Вставлю свои 5 копеек. У Вас есть измеритель 2х-канальный ТРМ 200, слава Богу что вышла компактная модель Щ2, но можно же хоть организовать гальваническую развязку входов, мне, к примеру - по одному входу нужно индицировать задание частотнику 0-10 в, а по второму смотреть 4-20 ма ОС. И как?

А вот если бы эта конструкция еще бы и товарный вид поимела - можно было бы отказаться от аналогичных измерителей JUMO, но пока мои Заки, за такой внешний вид вообще со мной работать не будут...


На самом деле разрабатываем новую линейку. Дизайн планируется другой. Есть пожелания - кидайте ссылку на мыло, в личку. Спасибо
Хотя этот формат не плох. Из далека видно, хорошо и герметично крепится щит.

Цитата(Сергей Долганов @ 24.7.2007, 16:13) [snapback]148596[/snapback]
Я лично привык к формату "слово". Тоесть мне аналоговый сигнал ручками в токи наужно пересчитывать, я Вас правильно понял? Или у Вас блоки ПИД на выходе вольты выдают?


Ну в CoDeSys не проблема написать word_to_real или int_to_real
Представитель ОВЕН
Цитата(Abysmo @ 24.7.2007, 16:24) [snapback]148599[/snapback]
Как только пресловутая перемычка появится на поверхности, поддержу biggrin.gif wink.gif



Цена тут приводилась как пример того, что в Wago не 10 человек контроллер делали... Степень качественности изделия ~ степени вложенного в него труда ~ степени занятых над проектом человек. Грубо говоря, если у Вас не гении и трудоголики работают, то для того, что бы сделать что-нибудь уровня Wago придется или расширить штат, или очень долго делать...


Я все-таки считаю что о ней лучше забыть. Ибо как было сказано неча лазить в контроллер если он работает. А то, что финальная рабочая прошивка будет - не извольте сумневаться. Уже сейчас на сайте есть Лог файл в котором говорится какие изменения были внесены в прошивку. Если этиизменения Вам до лампочки - так зачем его перешивать?

Ну положим не трудоголики, но задатки гениев есть wink.gif К тому же мы расширяемся, учимся и двигаемси в перед.
Хотя по честному Wago и контроллер как то не очень честно звучит... Wago и корпуса, Beckhoff и контроллеры - так лучше. Хотя у каждого своя правда. cool.gif Приношу извинения если кого обидел. rolleyes.gif
Игорь Борисов
Цитата(Представитель ОВЕН @ 24.7.2007, 16:25) [snapback]148600[/snapback]
...Дизайн планируется другой.
Хотя этот формат не плох. Из далека видно, хорошо и герметично крепится щит.


Ыыыыыы.... о КАЧЕСТВЕ пластика и КАЧЕСТВЕ его обработки веду я речь... О как загнул... Изделие должно радовать глаз, как говорил мой наставник: "Качество определяется очень просто - посмотрел на девайс и прислушайся к ощущениям... Если хочется его сп***ить, значит хороший, если не хочется - значит не очень." Пока сп***ить ТРМ200 желание не возникает. biggrin.gif
Сергей Долганов
Цитата
Ну в CoDeSys не проблема написать word_to_real или int_to_real


Минуя DWORD? Иш как интересно. Это не ответ на вопрос про выход ПИДа.
Представитель ОВЕН
Цитата(Сергей Долганов @ 24.7.2007, 16:32) [snapback]148604[/snapback]
Минуя DWORD? Иш как интересно. Это не ответ на вопрос про выход ПИДа.


Выход блока ПИД регулятора от ОВЕН - в формате real от -100 до +100 (мощность в процентах, сразу и для холодильника и для нагревателя).
Лично я делаю так:
Abysmo
Цитата
Wago и корпуса, Beckhoff и контроллеры - так лучше.


Собственно, какая разница smile.gif
Представитель ОВЕН
Цитата(Abysmo @ 24.7.2007, 17:38) [snapback]148624[/snapback]
Собственно, какая разница smile.gif


Для успокоения собственной совести laugh.gif (то бишь моей).
Kass
Цитата(plazma @ 24.7.2007, 13:23) [snapback]148482[/snapback]
При правильном проектировании не ужас, и разработку легко распаралелить между отд. людьми.


Т.е. на те проекты, где прекрасно справляется один человек надо распаралелить между людьми? Нет уж, увольте. Сами паралельте.

Цитата(plazma @ 24.7.2007, 13:23) [snapback]148482[/snapback]
Уже были запросы от людей, к-м не хватило 1 МБайта кода и 128 КБайт данных.


Это говорит лишь об оптимальности кода. При такой его "оптимальности" тогда понятно к чему такая мощность. Все пять языков поди транслируются в бейсик и работают в его интерпритаторе... У меня самый большой алгоритм в откомпелированном виде занимает 15 кбайт. Я не знаю, что надо еще сделать, что бы увеличить его хотя бы вдвое. В нем есть все.

Цитата(plazma @ 24.7.2007, 13:23) [snapback]148482[/snapback]
Цикл 1 мкс - может через 15-20 лет, когда процессоры будут маленькими, а частоты большими. Таких циклов даже на больших PC нет сейчас.


Есть. В блоках управления ДВС такие стоят. Понимаете ли в чем дело. Длина цикла зависит от среднего времени выполнения команды процессора и максимального количества команд, определяемое как правило размером памяти. Если у вас 4 Мбайт программа, то разумеется, что время малым быть не модет. А вот если бы код был оптимальным, и максимальный размер алгоритма был бы 50 кбайт, то время цикла могло быть 1 мксек. Просто вы погнались за мелочью и потеряли в главном. Не правильно расставлены приоритеты.

Цитата(plazma @ 24.7.2007, 13:23) [snapback]148482[/snapback]
Вы готовы брать 100 штук в месяц - тогда можно менять эл. схему и поддержать 10 кОм. Простой перепрошивкой такие вещи не решить.

Тут уже смеялись над такой формулировкой ответа. Я вот очень сомневаюсь, что человек, который ставил ТЗ на разработку контроллера купит когда то хоть один контроллер. А 100 штук в месяц вы еще сделайте. Мне при разработке ОПС 25 кОм мало, а с вашими диапазонами вообще лучше такие проекты не затевать. А значит диапазон применения вашего контроллера резко снижается. А говорить о разработке на его основе комплексных систем интеллектуального здания вообще глупо. Хотя за эти будущее. Поэтому мне вообще странно, на кого вы ориентируетесь на рынке, если на АВОКе в отношении вашей продукции никто слово доброго не скажет? Наверное надо менять вам подход к потенциальным покупателям, и делать не то, что удобно вам, а то, что удобно нам.

Цитата(Представитель ОВЕН @ 24.7.2007, 15:50) [snapback]148581[/snapback]
Но начали ведь, и остальному научимся. Дайте срок и поддержите, и будет всем счастье.

Дык вы к нам задом не поворачивайтесь, и мы вас поддержим. smile.gif Дело то вы делаете хорошее, только вот поболе коньюктуры от нас вдохнуть в изделие надо.
Kass
Цитата(Представитель ОВЕН @ 24.7.2007, 16:52) [snapback]148609[/snapback]
Выход блока ПИД регулятора от ОВЕН - в формате real от -100 до +100 (мощность в процентах, сразу и для холодильника и для нагревателя).
Лично я делаю так:

Понятие "положительной мощьности" - это сильно. Откуда на выходе ПИДа отрицательная мощность? Надо же столько заморочек сделать? Посмотрите как просто на рисунке снизу. Прицепил ПИД на выход и голову не ломаешь. Выход ПИДа в процентах от 0 до 100, но выход сам его конфигурирует в свои диапазоны. Если выход 0-10В или 4-20 мА, то так оно и будет. Как же все просто. Почему так не сделать?
Kass
Цитата(plazma @ 24.7.2007, 13:52) [snapback]148499[/snapback]
Уважаемый Kass.
А почему нельзя написать FB на ST - запросто.


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

Цитата(plazma @ 24.7.2007, 13:52) [snapback]148499[/snapback]
Разрядность АЦП - 16 бит - надо ли больше?


Что то мне помнится про 10 бит. wink.gif Мне бы 16-ти наверное хватило.

Цитата(plazma @ 24.7.2007, 13:52) [snapback]148499[/snapback]
Где вы видели контроллер ДВС на ПЛК - там жесткий алгоритм. Основная проблема с циклом ПЛК - большие накладные расходы, идущие на обслуживание программы ПЛК - расплата за надежность, устойчивость и перепрограммирование на лету. Не меняя концепции ПЛК, от этих накладных расходов не избавится.
Цикл программы не зависит от её размера. Просто может быть 1000 и мал. тележка состояний в 10-ке машин состояний, но за 1 цикл обрабатывается 1 состояние - цикл крошечный. Если это не так - выгоните программиста, написавшего это!


ДВС на ПЛК от APEXY. Есть куча тюненговых мозгов, которые по сути являются ПЛК, на которых лепят мозги к тюненговым моторам. Вы наверное не раз могли видеть или слышать о продаже прошивок к машинам. Это и есть скомпилированные прошивки, сделанные в среде разработки. Цикл программы не зависит от размера конкретной программы, но он зависит от максимального размера программы, заложенной в контроллере. Ведь за время цикла проц должен успеть выполнить определенное количество команд. Вы сравнивали АРМ9 с Пнем 3 500 мегагерц, который за 1 микросекунду выполняет от 500 до 1000 команд процессора. Значит, если бы я не раздувал цепь команд более 500, то цикл был бы 1 мкс.

Цитата(plazma @ 24.7.2007, 13:52) [snapback]148499[/snapback]
С кнопкой - разрабатываем вариант, когда будет можно её отключить/переназначить как обычный дискретный вход.

Это радует. Никому эта кнопка не нужна.
a11oleg
Цитата(Kass @ 24.7.2007, 19:42) [snapback]148674[/snapback]
Понятие "положительной мощьности" - это сильно. Откуда на выходе ПИДа отрицательная мощность? Надо же столько заморочек сделать? Посмотрите как просто на рисунке снизу. Прицепил ПИД на выход и голову не ломаешь. Выход ПИДа в процентах от 0 до 100, но выход сам его конфигурирует в свои диапазоны. Если выход 0-10В или 4-20 мА, то так оно и будет. Как же все просто. Почему так не сделать?

Некоторые используют ПИД не как нагреватель, а как холодильник. А некоторые и так и так (одновременно).
Обычный ПИД преобразует невязвку, dT, и накопленный интеграл в мощность через коэффициенты. Соотвественно, при отрицательной невязке и значительном накопленном (отрицателном) интеграле, мощность на выходе ПИДа отрицательна. Я не вижу в этом проблемы. Если в Вашем примере ПИД заточен под нагреватель - не значит что все ПИДы такие. Во всяком случае в ТАУ имено так.
З.Ы.
понятие нагреватель и холодильник - условные и взяты для простоты - если хотите замените на насос и клапан сброса (и т.п.)
a11oleg
Цитата(Kass @ 24.7.2007, 19:32) [snapback]148667[/snapback]
Т.е. на те проекты, где прекрасно справляется один человек надо распаралелить между людьми? Нет уж, увольте. Сами паралельте.
Это говорит лишь об оптимальности кода. При такой его "оптимальности" тогда понятно к чему такая мощность. Все пять языков поди транслируются в бейсик и работают в его интерпритаторе... У меня самый большой алгоритм в откомпелированном виде занимает 15 кбайт. Я не знаю, что надо еще сделать, что бы увеличить его хотя бы вдвое. В нем есть все.

Несколько обидно (за немцев tomato.gif )слушать такие вещи. Все ШЕСТЬ (ИЕК+CFC) языков транслируются в машинный код и используют прямые компиляторы с ИЕК машинный код. Без промежуточного "C" smile.gif
Компилятор вполне оптимальный, другое дело что а ARM - RISK процессор и быстродействие сделано за счет довольно простых команд. И все команды - 32 разрядные (т.е. компилятор не создает 16 разрядный THUMB код)

Расскажите, пожалуйста, насчет большого алгоритма - просто стало интересно - что значит "там есть все"??? Сколько там функциональных блоков и что он выполняет.
vladun
интересно мы таки узнаем какое "слово" надо пиать в регистр аналовыхода ? smile.gif smile.gif smile.gif
plazma
Цитата(Сергей Долганов @ 24.7.2007, 12:32) [snapback]148604[/snapback]
Минуя DWORD? Иш как интересно. Это не ответ на вопрос про выход ПИДа.



Учитывая практически безграничные ресурсы, рекомендую все внутренние преобразования делать в формате REAL (Под это и заточено всё в контроллере), а только на входах и выходах, если это требуется, преобразовывать в WORD, BYTE и пр.
И ПИД тоже REAL - чтобы при неск. преобразованиях не уткнуться в ошибки округления для WORD-а. Контроллеры с ограниченной памятью, с 8-16 битными процессорами не позволяют так легко манипулировать числами с плавающей точкой.
Kass
Цитата(a11oleg @ 25.7.2007, 10:37) [snapback]148819[/snapback]
Некоторые используют ПИД не как нагреватель, а как холодильник. А некоторые и так и так (одновременно).


ПИД не "заточен" не под нагреватель, не под холодильник. Посмотрите формулу ПИД регулирования. Там нет ни нагревателей, ни холодильников. Там есть просто процесс: воздействие и реакция. Если диапазон выходных значений -100...+100, то просто отсечь нижнюю половину как то не верно. Это как в двухкаскадном усилителе режима В выбросить отрицательный полупериод. Тогда вы не получите ту самую синусоиду на выходе. Вам по сути надо в двое снизить коэффициент усиления и придать смещение по постоянке, как в усилителе А. ИМХО в процентах выход самое то, т.к. отражает процент подаваемой мощности, будь то нагрев или холодильник. Но самое главное, что преобразование выхода в 0...10 или 4...20 явно не программиста забота.

Цитата(a11oleg @ 25.7.2007, 10:49) [snapback]148832[/snapback]
Компилятор вполне оптимальный, другое дело что а ARM - RISK процессор и быстродействие сделано за счет довольно простых команд. И все команды - 32 разрядные (т.е. компилятор не создает 16 разрядный THUMB код)


Оптимален? Да вы хоть понимаете, что откомпилированный алгоритм на 1 МБайт - это уже сродни ядра Виндов, написанного тысячей программистов. Тут что то не так.

Цитата(a11oleg @ 25.7.2007, 10:49) [snapback]148832[/snapback]
Расскажите, пожалуйста, насчет большого алгоритма - просто стало интересно - что значит "там есть все"??? Сколько там функциональных блоков и что он выполняет.

Оценивать объем кода по количеству ФБ не корректно, т.к. разные блоки генерят разный объем кода. Разница может быть в сотни и тысячи раз.
Вот откопал самый большой по коду - 20.9 кБайт (остальные все менее 15). Посчитать общее количество блоков сложно, т.к. много уровней вложения (используются комплексные блоки. В контроллере две приточно-вытяжные системы тепло-холод, с полностью автоматическими режимами (тепло-холод, зима-лето, прогрев-непрогрев), функции мастера сети, контроля фаз, пожарный шлейф, планировщик, и межсетевой обмен помимо диспетчеризации (в другом контроллере управление частотниками этих приточек по датчику диффдавления). Предусмотрены все возможные защиты калориферов и защиты ККБ по таймерам включения и отключения. Контроль всех датчиков, и управление (кнопки, лампочки и с диспетчерского пульта, контроль и управление пожарными клапанами... Заняты все до одного входы и выходы.
a11oleg
Цитата(Kass @ 25.7.2007, 11:15) [snapback]148857[/snapback]
ПИД не "заточен" не под нагреватель, не под холодильник. Посмотрите формулу ПИД регулирования. Там нет ни нагревателей, ни холодильников. Там есть просто процесс: воздействие и реакция. Если диапазон выходных значений -100...+100, то просто отсечь нижнюю половину как то не верно. Это как в двухкаскадном усилителе режима В выбросить отрицательный полупериод. Тогда вы не получите ту самую синусоиду на выходе. Вам по сути надо в двое снизить коэффициент усиления и придать смещение по постоянке, как в усилителе А. ИМХО в процентах выход самое то, т.к. отражает процент подаваемой мощности, будь то нагрев или холодильник. Но самое главное, что преобразование выхода в 0...10 или 4...20 явно не программиста забота.

Как я уже говорил - не суть важно как вы называете активное и реактивное воздействие ( см. пред пост холод. или нагр. введено для простоты).
ПИД и двухкаскадный услитель сильно разные вещи. "Смещение по постоянке" ,если Вы хотите, как раз и дает накопленный интеграл.

Конечно, здесь мы видим, что выход ПИД в 0..10, 4..20 автоматически преобразуются. А вход с термосопротивления тоже сразу температуру дает или ,все же, надо подставить функц. блок?? Сорри, но в ПЛК150 не нужен для этого доп. функц. блок - на входе сразу видим температуру.

Цитата(Kass @ 25.7.2007, 11:15) [snapback]148857[/snapback]
Оптимален? Да вы хоть понимаете, что откомпилированный алгоритм на 1 МБайт - это уже сродни ядра Виндов, написанного тысячей программистов. Тут что то не так.
Оценивать объем кода по количеству ФБ не корректно, т.к. разные блоки генерят разный объем кода. Разница может быть в сотни и тысячи раз.
Вот откопал самый большой по коду - 20.9 кБайт (остальные все менее 15). Посчитать общее количество блоков сложно, т.к. много уровней вложения (используются комплексные блоки. В контроллере две приточно-вытяжные системы тепло-холод, с полностью автоматическими режимами (тепло-холод, зима-лето, прогрев-непрогрев), функции мастера сети, контроля фаз, пожарный шлейф, планировщик, и межсетевой обмен помимо диспетчеризации (в другом контроллере управление частотниками этих приточек по датчику диффдавления). Предусмотрены все возможные защиты калориферов и защиты ККБ по таймерам включения и отключения. Контроль всех датчиков, и управление (кнопки, лампочки и с диспетчерского пульта, контроль и управление пожарными клапанами... Заняты все до одного входы и выходы.


Ок - на ОВЕН ПЛК примерно такой проект,
Сеть - не мастер, а слейв, но есть индикация примерно 74 кБ.

Вопрос не в том как писать - а что писать.Нажмите для просмотра прикрепленного файла
plazma
Цитата(Kass @ 24.7.2007, 15:32) [snapback]148667[/snapback]
Т.е. на те проекты, где прекрасно справляется один человек надо распаралелить между людьми? Нет уж, увольте. Сами паралельте.

Т.е. 1 человек прекрасно справляется с сетью из 100 контроллеров? Где вы делаете гениев? Продайте парочку!

Цитата(Kass @ 24.7.2007, 15:32) [snapback]148667[/snapback]
Это говорит лишь об оптимальности кода. При такой его "оптимальности" тогда понятно к чему такая мощность. Все пять языков поди транслируются в бейсик и работают в его интерпритаторе... У меня самый большой алгоритм в откомпелированном виде занимает 15 кбайт. Я не знаю, что надо еще сделать, что бы увеличить его хотя бы вдвое. В нем есть все.

Все языки компилируются в машинный код, довольно эффективно. По качеству компиляторов CoDeSys весьма неплох. А то, что система управления сколь-нибудь сложным объектом со ВСЕМИ! проверками, защитой от дурака, отказов, диспечеризацией и пр. 15 кБайт - не верю.

Цитата(Kass @ 24.7.2007, 15:32) [snapback]148667[/snapback]
Есть. В блоках управления ДВС такие стоят. Понимаете ли в чем дело. Длина цикла зависит от среднего времени выполнения команды процессора и максимального количества команд, определяемое как правило размером памяти. Если у вас 4 Мбайт программа, то разумеется, что время малым быть не модет. А вот если бы код был оптимальным, и максимальный размер алгоритма был бы 50 кбайт, то время цикла могло быть 1 мксек. Просто вы погнались за мелочью и потеряли в главном. Не правильно расставлены приоритеты.

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

plazma
Цитата(Kass @ 24.7.2007, 15:58) [snapback]148679[/snapback]
Что то мне помнится про 10 бит. wink.gif Мне бы 16-ти наверное хватило.

Прочтите инструкцию.

Цитата(Kass @ 24.7.2007, 15:58) [snapback]148679[/snapback]
ДВС на ПЛК от APEXY. Есть куча тюненговых мозгов, которые по сути являются ПЛК, на которых лепят мозги к тюненговым моторам. Вы наверное не раз могли видеть или слышать о продаже прошивок к машинам. Это и есть скомпилированные прошивки, сделанные в среде разработки. Цикл программы не зависит от размера конкретной программы, но он зависит от максимального размера программы, заложенной в контроллере. Ведь за время цикла проц должен успеть выполнить определенное количество команд. Вы сравнивали АРМ9 с Пнем 3 500 мегагерц, который за 1 микросекунду выполняет от 500 до 1000 команд процессора. Значит, если бы я не раздувал цепь команд более 500, то цикл был бы 1 мкс.
Это радует. Никому эта кнопка не нужна.


Я уже отвечал, но добавлю. Вы сравниваете скомпилированную прошивку, к-я не может быть модифицированна, к примеру, не останавливая двигатель внутреннего сгорания, и ПЛК т.е. совокупностью ядра ПЛК и программы пользователя. Для ПЛК есть такие возможности, как отладка в реальном времени, смена программы без остановки производства, расширенные возможности трассировки, визуализация и пр. Именно это все и жрет ресурсы.
А если написать программу на СИ, скомпилировать, прошить программатором чип - работать будет просто очень быстро, но изменить без перепрошивки чипа ничего нельзя.

И не путайте цикл ПЛК, т.е. цикл чтение входов - выполнение программы - запись выходов с скоростью выполнения программы ПЛК.
При 200 мГц за 1 цикл ПЛК может быть выполнено до 150-200 тысяч команд!

Цитата(vladun @ 25.7.2007, 6:57) [snapback]148842[/snapback]
интересно мы таки узнаем какое "слово" надо пиать в регистр аналовыхода ? smile.gif smile.gif smile.gif


Надо выдать 10 В - записываете в канал модуля аналогового входа число 10, 9В - число 9, и т.д. smile.gif
ggg__ggg
В нормальных PLC время цикла устанавливается ПРОГРАММНО ! Есть стандартная диагностика - вылет за пределы цикла. Есть обработчики таких ситуаций . Время цикла определяется размером ПОЛЬЗОВАТЕЛЬСКОЙ программы ( системный цикл практически постоянен). Чтение входов, буферизация I/O (есть и ПРЯМАЯ запись из цикла - для промконтроллеров - НОРМА), сетевой обмен - это отдельная песня. Но ВЫ вправе менять время цикла и смотреть - ну и как, проскочило? Многие программы имеют кучу ветвлений, поэтому размер- не показатель.
Кстаи, по поводу ПИД - один экземпляр ПИД для нагрева и охлаждения - можно, но как-то вычурно. Проше иметь простейшую параметризацию блока или просто менять знак у коэфф. усиления ( для программистов tongue.gif ).
В авто стоят "кремниевые" обработчики. А меняете Вы их параметры .
plazma
Цитата(ggg__ggg @ 25.7.2007, 8:59) [snapback]148919[/snapback]
В нормальных PLC время цикла устанавливается ПРОГРАММНО ! Есть стандартная диагностика - вылет за пределы цикла. Есть обработчики таких ситуаций . Время цикла определяется размером ПОЛЬЗОВАТЕЛЬСКОЙ программы ( системный цикл практически постоянен). Чтение входов, буферизация I/O (есть и ПРЯМАЯ запись из цикла - для промконтроллеров - НОРМА), сетевой обмен - это отдельная песня. Но ВЫ вправе менять время цикла и смотреть - ну и как, проскочило? Многие программы имеют кучу ветвлений, поэтому размер- не показатель.
Кстаи, по поводу ПИД - один экземпляр ПИД для нагрева и охлаждения - можно, но как-то вычурно. Проше иметь простейшую параметризацию блока или просто менять знак у коэфф. усиления ( для программистов tongue.gif ).
В авто стоят "кремниевые" обработчики. А меняете Вы их параметры .

О, вы описали ОВЕН ПЛК. Цикл ПЛК может задаваться от 1 до 1000 мкс.
a11oleg
Цитата(ggg__ggg @ 25.7.2007, 12:59) [snapback]148919[/snapback]
В нормальных PLC время цикла устанавливается ПРОГРАММНО ! Есть стандартная диагностика - вылет за пределы цикла. Есть обработчики таких ситуаций . Время цикла определяется размером ПОЛЬЗОВАТЕЛЬСКОЙ программы ( системный цикл практически постоянен). Чтение входов, буферизация I/O (есть и ПРЯМАЯ запись из цикла - для промконтроллеров - НОРМА), сетевой обмен - это отдельная песня. Но ВЫ вправе менять время цикла и смотреть - ну и как, проскочило? Многие программы имеют кучу ветвлений, поэтому размер- не показатель.
Кстаи, по поводу ПИД - один экземпляр ПИД для нагрева и охлаждения - можно, но как-то вычурно. Проше иметь простейшую параметризацию блока или просто менять знак у коэфф. усиления ( для программистов tongue.gif ).
В авто стоят "кремниевые" обработчики. А меняете Вы их параметры .

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

И еще - для ОВЕН ПЛК, если необходимость - ставим тип задачи freeweeling и получаем цикл порядка 4кГц. Только он будет "плавать". Для циклической задачи 1 мс гарантируется отсутствие джиттера с точностью до 100нс
ggg__ggg
Но есть БАА-ЛЬШАЯ ложка дегтя - обмен с переферией.
plazma
Цитата(ggg__ggg @ 25.7.2007, 9:20) [snapback]148932[/snapback]
Но есть БАА-ЛЬШАЯ ложка дегтя - обмен с переферией.


А конкретнее что за ложка?
ggg__ggg
Ограничение цикла biggrin.gif
Lex
To Kass
Цитата
В контроллере две приточно-вытяжные системы тепло-холод, с полностью автоматическими режимами (тепло-холод, зима-лето, прогрев-непрогрев), функции мастера сети, контроля фаз, пожарный шлейф, планировщик, и межсетевой обмен помимо диспетчеризации (в другом контроллере управление частотниками этих приточек по датчику диффдавления). Предусмотрены все возможные защиты калориферов и защиты ККБ по таймерам включения и отключения. Контроль всех датчиков, и управление (кнопки, лампочки и с диспетчерского пульта, контроль и управление пожарными клапанами...

Ну ведь вр... фантазируете, скажем так.
Ну не хватит у одного МС8 входов и выходов на все это....
Или к нему подцеплены модули расширения ?
Kass
Цитата(plazma @ 25.7.2007, 12:32) [snapback]148896[/snapback]
Все языки компилируются в машинный код, довольно эффективно. По качеству компиляторов CoDeSys весьма неплох. А то, что система управления сколь-нибудь сложным объектом со ВСЕМИ! проверками, защитой от дурака, отказов, диспечеризацией и пр. 15 кБайт - не верю.

Я не знаю как вам доказать. Приезжайте в гости, я вам покажу откомпилированные прошивки. Для примера высылаю скриншот. Вы видите прошивку МС8, который управляет двумя частотниками приточек по датчикам диффдавления. 9кБайт. Значит не все языки компилируются эффективно.
plazma
Цитата(ggg__ggg @ 25.7.2007, 10:01) [snapback]148953[/snapback]
Ограничение цикла biggrin.gif

? Можно расшифровать?

Цитата(Kass @ 25.7.2007, 10:17) [snapback]148961[/snapback]
Я не знаю как вам доказать. Приезжайте в гости, я вам покажу откомпилированные прошивки. Для примера высылаю скриншот. Вы видите прошивку МС8, который управляет двумя частотниками приточек по датчикам диффдавления. 9кБайт. Значит не все языки компилируются эффективно.


Лучше бы проектик показать, какие где защиты, какой сложности логика и т.д. Задача видится простой.
Kass
Цитата(plazma @ 25.7.2007, 12:42) [snapback]148905[/snapback]
Я уже отвечал, но добавлю. Вы сравниваете скомпилированную прошивку, к-я не может быть модифицированна, к примеру, не останавливая двигатель внутреннего сгорания, и ПЛК т.е. совокупностью ядра ПЛК и программы пользователя. Для ПЛК есть такие возможности, как отладка в реальном времени, смена программы без остановки производства, расширенные возможности трассировки, визуализация и пр. Именно это все и жрет ресурсы.
А если написать программу на СИ, скомпилировать, прошить программатором чип - работать будет просто очень быстро, но изменить без перепрошивки чипа ничего нельзя.

А мне и не надо менять прошивки не останавливая ДВС. На каждый ДВС идет своя прошивка. Менять я могу и меняю параметры и внутренние переменные не глуша ДВС. Прошивки то мне зачем менять??? И если не брать Кодесис с его заморочками, то ПЛК имеет среду разработки, которая переводит все в Си и отправляет на стандартный компилятор. Получается "жесткая" и быстрая прошивка. Мне не нужен в микроконтроллере всякий хлам типа смены программы не оснанавливая ДВС, встроенная отладка с остановами. После останова ДВС можно выбросить. Все отладки я привык делать в эмуляторах. Практически для большинства микроконтроллеров существуют эмуляторы. Грузишь в них откомпилированный код и отлаживаешь. Это повелось еще с тех времен, когда прошивки писал в 573РФ2 и стирал только УФ лампой. Зачем мне в микроконтроллере разный хлам, который жрет его ресурсы? Вот вы и получили на быстром ядре медленный контроллер.

Цитата(a11oleg @ 25.7.2007, 12:08) [snapback]148884[/snapback]
А вход с термосопротивления тоже сразу температуру дает или ,все же, надо подставить функц. блок?? Сорри, но в ПЛК150 не нужен для этого доп. функц. блок - на входе сразу видим температуру.


А если это давление или влажность? Как же ПЛК знает, что подано на вход??? biggrin.gif Вот и нужен блок, который милливольты на входе АЦП переводит в подаваемую величину. Это заменить не возможно.

Цитата(a11oleg @ 25.7.2007, 12:08) [snapback]148884[/snapback]
Ок - на ОВЕН ПЛК примерно такой проект,
Сеть - не мастер, а слейв, но есть индикация примерно 74 кБ.

Вот вам и оптимальность кода, почти в 4 раза больше. Но как у вас кому то не хватает 1 МБайта?
ggg__ggg
Модули расширения. Внутренняя шина - какой-никакой, а протокол есть. Он и "тормозит". Для внешней шины это вообще основной "тормоз".
Kass
Цитата(plazma @ 24.7.2007, 13:23) [snapback]148482[/snapback]
Цикл 1 мкс - может через 15-20 лет, когда процессоры будут маленькими, а частоты большими. Таких циклов даже на больших PC нет сейчас.

...
Цитата(plazma @ 25.7.2007, 13:12) [snapback]148924[/snapback]
О, вы описали ОВЕН ПЛК. Цикл ПЛК может задаваться от 1 до 1000 мкс.

Вот смотрю на эти два поста и как то в толк взять не могу, Овен ПЛК на 15-20 лет опережает конкурентов?

Цитата(plazma @ 25.7.2007, 14:19) [snapback]148963[/snapback]
Лучше бы проектик показать, какие где защиты, какой сложности логика и т.д. Задача видится простой.

Ну какой еще проектик, если я вам сказал, что самый большой размер прошивки я откопал в 20.9 кбайт! Вы придумайте для вас настолько сложную задачу, что бы она у меня съела хотя бы 30 кбайт. Мне пока не удалось, хотя за простые проекты я вообще не берусь. Наверное мне надо пойти вашим путем и залить в контроллер всякий хлам, типа пошаговой отладки или чего еще. smile.gif
ggg__ggg
Ну, например я высаживал S7-414, PXC-64, TAC 401 "до железки", борьба шла за байты. Билли, который Гейтс, написал интерпритатор Бейсика,
влезавший в 4К. Пробовал повторить - сдался. Но, блин, сколько "жрет" Винда, особенно Виста? Как им удалось? Ответ -легко!!!. При Гарвардской
схеме как правило, не хватает пространства под данные. Но и код тоже может вырасти прилично.
plazma
Цитата(ggg__ggg @ 25.7.2007, 10:30) [snapback]148969[/snapback]
Модули расширения. Внутренняя шина - какой-никакой, а протокол есть. Он и "тормозит". Для внешней шины это вообще основной "тормоз".


С этого места поподробнее. Время реакции модуля на 485 - 5 мс макс. Для ModBus TCP модулей можно достигнуть и 1-2 мс (в выделенной сети).
Без сомнения, ETHERCAT даст и большую скорость обмена и задержки значительно меньше. И цену в килобаксах smile.gif
Но невозможно сделать устройство, удовлетворяющее всем нишам. Для задач автоматизации, в к-х крутится ОВЕН 5 мс - очень мало. Да, если подключить 100 модулей расширения, опрос всех займет секунды, но разве нужно каждый опрашивать часто? А использование ModBusTCP с неск. мастерами, работающими параллельно ускоряет обмен в 10-ки раз.
Я не предлагаю сравнивать наш ПЛК с крейтовыми - он им проиграет по скорости периферии.
Внутренняя шина - а причём тут она? Её частота 66 МГц - мало???
Представитель ОВЕН
Цитата(Kass @ 25.7.2007, 14:29) [snapback]148967[/snapback]
А если это давление или влажность? Как же ПЛК знает, что подано на вход??? biggrin.gif Вот и нужен блок, который милливольты на входе АЦП переводит в подаваемую величину. Это заменить не возможно.


Если это давление или влажность - то для универсальных входов предусмотрены 2 параметра - соответствие нижнему значению (например 4мА) и соответствие верхнему (например 20мА). Дальше линеаризацию контроллер проводит сам.
Если же Вы сумеете найти датчик с универсальным выходом с нелинейной функцией (в чем я сомневаюсь) можно произвести дополнительную коррекцию линеаризации по 3-м точкам.
Вроде как я Вам это даж показывал... dry.gif

ЦИКЛ варьируется 1-1000 мс. (опечатка).
Естественно, что стоит watch dog, который это контролирует. По этому его и можно менять rolleyes.gif
ggg__ggg
Внутренняя шина - то, что Вы называете "крейтовой". У некоторых производителей (например, ТАС) модули расширения сажаются на внешнюю шину
(LON) и конкурируют в доступе к контроллеру с остальными устройствами сети. Не знаю, как у ОВЕН, но если модуль сидит на общей шине сети,
то тут сложно судить о циклах. Количество модулей, навешанных на контроллер, определяется ценой контроллера и типом задачи (ну, не красиво
разносить управление чем-либо на несколько контроллеров, даи головная боль возрастает немерянно). Я сталкивался с широким диапазоном потребности в I/O для АВОК, максимально ( но не предельно!!!!) - 30 DI, 30 DO, 20 AI, 20 AO ( ИТП). Не знаю, сколько надо модулей расширения для ОВЕН - посчитайте сами biggrin.gif . Далее, если время мониторинга РАЗДЕЛЬНО для каждого порта модуля расширения - это круто, но маловероятно.
Да, идеально разнести сигналы по модулям так, чтобы время их мониторинга было одинаково. Но кто это делал?
Если время мониторинга велико, нафига малое время цикла? Цикл и должен быть в два раза короче времени мониторинга ( счетчики не берем - там
отдельная песня - кстати, как у ОВЕН со счетчиками?).
Представитель ОВЕН
For Kass:
Ну давайте не будем цепляться к словам.
По моему ни от одного из 3-х представителей ОВЕН ничего плохого в сторону МЗТА не сыпется... Нам на самом деле интересно Ваше мнение и мнение остальных специалистов, иначе нас бы здесь просто небыло.
Да и рекламой голой "читай черным пиаром" здесь никого уже не удивишь - не получится, по моему.
Давайте больше конструктива.
А если охота похохмить - давайте заведем отдельную ветку и будем на отдельно оговоренную тему хохмить, да хоть над друг дружкой.

"... Чувство юмора человека определяется не тем, как он смеется над другими, а тем, насколько он способен посмеяться над собой..."
plazma
Цитата(ggg__ggg @ 25.7.2007, 11:30) [snapback]149023[/snapback]
Внутренняя шина - то, что Вы называете "крейтовой". У некоторых производителей (например, ТАС) модули расширения сажаются на внешнюю шину
(LON) и конкурируют в доступе к контроллеру с остальными устройствами сети. Не знаю, как у ОВЕН, но если модуль сидит на общей шине сети,
то тут сложно судить о циклах. Количество модулей, навешанных на контроллер, определяется ценой контроллера и типом задачи (ну, не красиво
разносить управление чем-либо на несколько контроллеров, даи головная боль возрастает немерянно). Я сталкивался с широким диапазоном потребности в I/O для АВОК, максимально ( но не предельно!!!!) - 30 DI, 30 DO, 20 AI, 20 AO ( ИТП). Не знаю, сколько надо модулей расширения для ОВЕН - посчитайте сами biggrin.gif . Далее, если время мониторинга РАЗДЕЛЬНО для каждого порта модуля расширения - это круто, но маловероятно.
Да, идеально разнести сигналы по модулям так, чтобы время их мониторинга было одинаково. Но кто это делал?
Если время мониторинга велико, нафига малое время цикла? Цикл и должен быть в два раза короче времени мониторинга ( счетчики не берем - там
отдельная песня - кстати, как у ОВЕН со счетчиками?).


Если модули расширения сидят на разных портах интерфейсов, они, естественно, опрашиваются квазипараллельно (процессор один-то, но разница в сотню мкс). А портов то 4 (ПЛК100) или 3(ПЛК 150-154). Тем более Ethernet позволяет параллельно опрашивать много устройств.
А счетчики - есть быстрые счетчики/триггеры/энкодеры до 10 кГц (с произвольным назначением на входы). И ШИМ на любой выход/ы с разрешением до 100 мкс.
Также был проект реализации на ПЛК 100К 6-ти фазного фазового регулятора мощности. Тоже точность в 50-100 мкс.
Kass
Цитата(Представитель ОВЕН @ 25.7.2007, 15:21) [snapback]149012[/snapback]
Если это давление или влажность - то для универсальных входов предусмотрены 2 параметра - соответствие нижнему значению (например 4мА) и соответствие верхнему (например 20мА). Дальше линеаризацию контроллер проводит сам.


Так вот о чем и речь, то входы так или иначе надо прописывать. Ни один контроллер сам не определит, что ему дали, т.к. мы не можем на вход дать непосредственно влажность, давление или температуру. Вот и приходится преобразовывать вольты, амперы или омы в те самые физические величины. Та же температура может поступать и от термопары, от термисторов различных сопротивлений и характеристик. Нужно какое то преобразование в физические величины. На выходах проще. Если выход ПИДа 0-100%, то при подключении 0 приваязывается к нижнему пределу (0В или 4мА), а верхний к верхнему. К чему какие то преобразования?

Цитата(Представитель ОВЕН @ 25.7.2007, 15:21) [snapback]149012[/snapback]
ЦИКЛ варьируется 1-1000 мс. (опечатка).

ИМХО существенная разница. wink.gif
Представитель ОВЕН
Цитата(ggg__ggg @ 25.7.2007, 15:30) [snapback]149023[/snapback]
Внутренняя шина - то, что Вы называете "крейтовой". У некоторых производителей (например, ТАС) модули расширения сажаются на внешнюю шину
(LON) и конкурируют в доступе к контроллеру с остальными устройствами сети. Не знаю, как у ОВЕН, но если модуль сидит на общей шине сети,
то тут сложно судить о циклах. Количество модулей, навешанных на контроллер, определяется ценой контроллера и типом задачи (ну, не красиво
разносить управление чем-либо на несколько контроллеров, даи головная боль возрастает немерянно). Я сталкивался с широким диапазоном потребности в I/O для АВОК, максимально ( но не предельно!!!!) - 30 DI, 30 DO, 20 AI, 20 AO ( ИТП). Не знаю, сколько надо модулей расширения для ОВЕН - посчитайте сами biggrin.gif . Далее, если время мониторинга РАЗДЕЛЬНО для каждого порта модуля расширения - это круто, но маловероятно.
Да, идеально разнести сигналы по модулям так, чтобы время их мониторинга было одинаково. Но кто это делал?
Если время мониторинга велико, нафига малое время цикла? Цикл и должен быть в два раза короче времени мониторинга ( счетчики не берем - там
отдельная песня - кстати, как у ОВЕН со счетчиками?).


Для такой задачи понадобится 10 модулей УСО. Наших модулей. Как я уже говорил, это пока, сейчас мы расширяем линейку модулей как по интерфейсам, так и по протоколам.
10 модулей контроллер опросит за 1-2 секунды максимум (в зависимости от интерфейса). Это если опрос идет по одному порту.
Обмен может идти по всем портам (4 шт на ПЛК100) независимо.
Со счетчиками все интересно rolleyes.gif . Смотря что Вы имеете в виду. Если скорость опроса входов в режиме счетчика - у самого контроллера каждый вход порядка 10КГц. У модуля дискретного ввода - до 1КГц.
Kass
Цитата(Представитель ОВЕН @ 25.7.2007, 15:34) [snapback]149025[/snapback]
Нам на самом деле интересно Ваше мнение и мнение остальных специалистов, иначе нас бы здесь просто небыло.

Так и нам интересно, что бы Овен вырос до полнофункционального изделия. Вот мы и стараемся донести до вас даже то, от чего вы по разным причинам отнекиваетесь. Есть не столь далекие перспективы бума на комплексную автоматизацию зданий, и хотелось бы, что бы вы к тому моменту были бы конкурентоспособны, а у нас был выбор. smile.gif
ggg__ggg
Насчет Ethernet - модули расширения на нем сидят? Modbus ??? Или кинте ссылку - прочитаю подробнее.
Представитель ОВЕН
Цитата(Kass @ 25.7.2007, 15:45) [snapback]149035[/snapback]
Так вот о чем и речь, то входы так или иначе надо прописывать. Ни один контроллер сам не определит, что ему дали, т.к. мы не можем на вход дать непосредственно влажность, давление или температуру. Вот и приходится преобразовывать вольты, амперы или омы в те самые физические величины. Та же температура может поступать и от термопары, от термисторов различных сопротивлений и характеристик. Нужно какое то преобразование в физические величины. На выходах проще. Если выход ПИДа 0-100%, то при подключении 0 приваязывается к нижнему пределу (0В или 4мА), а верхний к верхнему. К чему какие то преобразования?


Ок, вот реальный способ посмотреть среды - давайте так- выложим скриншоты кто как задает градулировку датчика - я с CoDeSys вы со своей среды.
Ну к примеру ТСМ и 4-20 (давление от0 до 10МПа).

А если ШИМ?

Цитата(ggg__ggg @ 25.7.2007, 15:49) [snapback]149040[/snapback]
Насчет Ethernet - модули расширения на нем сидят? Modbus ??? Или кинте ссылку - прочитаю подробнее.


Контроллер поддерживает ModBus TCP . У нас таких модулей ПОКА нет, но мы работаем.
Да и любой протокол IP поднять можно - контроллер позволяет.
Как в общем то можно поднять любой протокол и по любому из других интерфейсов
Сергей Долганов
Не все контроллеры любят ТСМ.
Представитель ОВЕН
А наш любит. И термопары любит. cool.gif
Сергей Долганов
Ну термопары, так термопары
Сергей Долганов
Ну и еще один камень в Ваш огород, не раз уже тут сказано "наборы модулей ввода-вывода". Дискреты к примеру:
Kass
Цитата(Представитель ОВЕН @ 25.7.2007, 16:11) [snapback]149057[/snapback]
Ок, вот реальный способ посмотреть среды - давайте так- выложим скриншоты кто как задает градулировку датчика - я с CoDeSys вы со своей среды.
Ну к примеру ТСМ и 4-20 (давление от0 до 10МПа).

Ну это очень просто. Занимает пару секунд. Первый милливольты со входа АЦП в 4-20мА. Второй ток в давление.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.