Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Twido
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем
sana1985
Предупреждаю сразу- я только начинаю прогать. Тоже хочу научиться разбираться, как вы. Прочитал весь мануал по Twido. Много вещей для меня осталось загадкой. Во первых чему научился: научился лестницей и FBD строить простейшие схемы типа АВР или каскадного запуска двигателей через ПЧ. Более менее разобрался с компаратором.Сравнивал сигнал с модуля и заданный.Для этого использовал аналоговый модуль (с РТ100) и присвоил значение %KW, при котором первый двиг. должен запускаться. Теперь вопрос: зачем нужны остальные типа %MW, %MD, %MF и т.д.? Когда они необходимы? Если можно на примере.Объяснять, что это два, четыре байта и т.д не надо. Где это применить на практике? Могу почитать чего, если ссылку дадите.
starshoy2001
Теперь вопрос: зачем нужны остальные типа %MW, %MD, %MF и т.д.? Когда они необходимы?

есть мануал по программированию на русском языке-это первое.все остальное это находится в гугле или википедии.http://www.elmatik.ee/info/kasutusjuhendid/
san
%KW - это константы,
%I-дискретные входные сигналы, %IW - аналоговые входные, %Q - дискретные выходные, %QW аналговые выходные
%M - внутренние дискретные, %MW - внутренние целые, нужны для хранения промежуточных результатов. Так, например, для регулирования Вам нужно хранить настройки регуляторов, которые изменяются с панели опреатора, подключенной к Твидо. Это будут и не входы и не выходы Твидо, а внутренние переменные. Или нужно запомнить промежуточное расчетное значение.
Тобишь все что не физические входы и не выходы, хранится в внутренних переменных. Кроме того они используются для обмена по сети.
sana1985
Цитата(san @ 28.2.2011, 19:37) *
%KW - это константы,
%I-дискретные входные сигналы, %IW - аналоговые входные, %Q - дискретные выходные, %QW аналговые выходные
%M - внутренние дискретные, %MW - внутренние целые, нужны для хранения промежуточных результатов. Так, например, для регулирования Вам нужно хранить настройки регуляторов, которые изменяются с панели опреатора, подключенной к Твидо. Это будут и не входы и не выходы Твидо, а внутренние переменные. Или нужно запомнить промежуточное расчетное значение.
Тобишь все что не физические входы и не выходы, хранится в внутренних переменных. Кроме того они используются для обмена по сети.

Понимаю назначение всех вышеописанных вариаблов кроме % MW. Ладно. Попробую зайти по другому. Дайте плиз кто-нибудь задание, где бы использовались эти целые. Я попробую нарисовать и выложу результат. А вы проверите.
sana1985
И если мона еще вопрос: Не могу найти таблицу образа при симуляции. Где она не подскажете?
limite
напиши в контроллера а=а+1; (а-int или dint или real (тогда a=a+1.0))
запусти симулятор
увидишь что такое %MW
sana1985
Цитата(limite @ 1.3.2011, 11:26) *
напиши в контроллера а=а+1; (а-int или dint или real (тогда a=a+1.0))
запусти симулятор
увидишь что такое %MW

Так. Это был опыт №1. Что я понял? Ничего. Да, дурак. Но ругаться не надо. Получается,что в верхней ступеньке в момент пуска мы присваиваем внутреннему слову некое значение int (1000). При наличии I0.1 у нас выполняется уравнение
%mw6=%mw6+%kw (оно равно 1). Результат = 1001. Что мы из этого видим. Вы что-нибудь видите? Потому что я-ничего.
Получается, что слова нужны для того, чтобы выполнять какие-либо математические операции? Так что ли? Или нет? Тогда для чего? И почему нет какого-нить конфликта, ведь у нас два разных значения для %MW: вверху-1000, внизу- 1001. Это связано с тем что входы читаются сверху вниз?
san
Программа выполняется сверху-вниз, по-этому конфликты не возникают. Предназначение %M Вам понятны? Один из примеров использования %MW - это хранение промежуточных результатов математических операций.
Для примера:
1. нужно сравнить разницу температур с уставкой, и если она превышает допустимый диапазон - включить клапан подачи теплоагента.
%IW2.0 - температура1
%IW2.1 - температура2
%MW10 - темп1-темп2
%Q1.11 - выход на клпана теплоагента
Попробуйте решить это без %MW10, насколько я помню Twido по другому не даст
2. Доупстимый диапазон разсогласования задается с панели оператора, подключенного к Твидо по сети Modbus RTU. Тепрь величина рассогласования будет уже не константа а переменная типа %MW.
sana1985
Цитата(san @ 1.3.2011, 13:43) *
Программа выполняется сверху-вниз, по-этому конфликты не возникают. Предназначение %M Вам понятны? Один из примеров использования %MW - это хранение промежуточных результатов математических операций.
Для примера:
1. нужно сравнить разницу температур с уставкой, и если она превышает допустимый диапазон - включить клапан подачи теплоагента.
%IW2.0 - температура1
%IW2.1 - температура2
%MW10 - темп1-темп2
%Q1.11 - выход на клпана теплоагента
Попробуйте решить это без %MW10, насколько я помню Twido по другому не даст
2. Доупстимый диапазон разсогласования задается с панели оператора, подключенного к Твидо по сети Modbus RTU. Тепрь величина рассогласования будет уже не константа а переменная типа %MW.

%M как я понимаю, грубо говоря есть внутренняя катушка для хранения бинарного RLO, не имеющая физических выходов. Теперь насчет ошибки: ведь температура 2, как я понимаю, есть некое заданное значение, с которым надо сравнивать температуру1, поэтому для запуска теплоагента надо сделать так: опыт №2. Ну и если качество перех. процесса не требуется, ПИД не настраиваем. Но если требуется именно изменять диапазон, то без MW не обойтись получается, да? San, спасибо огромное! Более менее начинаю понимать. Только зачем менять диапазон? А Magelis подойдет как панель оператора?
limite
Цитата(sana1985 @ 1.3.2011, 11:17) *
Так. Это был опыт №1. Что я понял? Ничего. Да, дурак. Но ругаться не надо. Получается,что в верхней ступеньке в момент пуска мы присваиваем внутреннему слову некое значение int (1000). При наличии I0.1 у нас выполняется уравнение
%mw6=%mw6+%kw (оно равно 1). Результат = 1001. Что мы из этого видим. Вы что-нибудь видите? Потому что я-ничего.
Получается, что слова нужны для того, чтобы выполнять какие-либо математические операции? Так что ли? Или нет? Тогда для чего? И почему нет какого-нить конфликта, ведь у нас два разных значения для %MW: вверху-1000, внизу- 1001. Это связано с тем что входы читаются сверху вниз?


в любом контроллере программа читается сверху вниз, то есть если в первой строчке текста написать а=1, а в сотой строчке а=2....то на выходе программы значение регистра в контроллере которое соответствует а будет равно 2.
отсюда вывод:не присваивать значение одной и той же переменной дважды/трижды и т.д......если программа достаточно сложная, то будет очень трудно увидеть такого рода косяк

вообще уравнением а=а+1 я вам хотел показать как работает контроллер и внутренние регистры данных, если наберете это уравнение без всяких условий запуска, то оно будет выполняться в каждом цикле, то есть число а будет увеличиваться на 1 в каждом чикле...и так пока не дойдет до границы типа данных, потом перейдет в минус

память контроллера поделена на биты и регистры с совершенно определенными адресами (см. инструкцию) и соответственно с ограниченным количеством:
%M-в эти регистры записоваются битовые переменные (тип bool);
%MW-в эти регистры записоваются числовые переменные (тип int, dint, real и прочие), то есть ЛЮБЫЕ ПЕРЕМЕННЫЕ, КОНСТАНТЫ, ПАРАМЕТРЫ, ДЛЯ ВНУТРЕННЕГО ИЛИ ВНЕШНЕГО ПОЛЬЗОВАНИЯ...все что хотите.....

пример (адреса взяты произвольные)
%MW1:=%MW1+1; (*пока запущенна программа идет отсчет*)
IF %MW1>1000 THEN (*в 999 цикле включится 1-ых выход контроллера*)
%Q1:=1;
END_IF;
IF %MW1>10000 THEN (*в 9999 цикле 1-ый выход выключится, отсчет начнется заново*)
%Q1:=0;
%MW1:=0;
END_IF;
san
Цитата(sana1985 @ 1.3.2011, 11:32) *
%M как я понимаю, грубо говоря есть внутренняя катушка для хранения бинарного RLO, не имеющая физических выходов.

Совершенно верно.

Цитата(sana1985 @ 1.3.2011, 11:32) *
Теперь насчет ошибки: ведь температура 2, как я понимаю, есть некое заданное значение, с которым надо сравнивать температуру1

я имел ввиду именно внешний сигнал температуры2, например темпеартура1 - в одной камере, температура2 - во ввторой. Сейчас на ум не приходит более менее реальная задача. Но в даном примере интересует разница двох температур и сравнение ее с заданым значением.

Цитата(sana1985 @ 1.3.2011, 11:32) *
Ну и если качество перех. процесса не требуется, ПИД не настраиваем. Но если требуется именно изменять диапазон, то без MW не обойтись получается, да?

Если мы уже про ПИД поговорим, то там без %MW тяжело обойтись, особенно если надо каскад организовать. А вобще в автоматизированных системах, нужно предвидеть возможность настройки регулятора извне, так что тут тоже без %MW никак.

Цитата(sana1985 @ 1.3.2011, 11:32) *
А Magelis подойдет как панель оператора?

Шнейдер Електрик именно ее и предлагает в дополнение к ПЛК.
sana1985
Цитата(limite @ 1.3.2011, 14:32) *
пример (адреса взяты произвольные)
%MW1:=%MW1+1; (*пока запущенна программа идет отсчет*)
IF %MW1>1000 THEN (*в 999 цикле включится 1-ых выход контроллера*)
%Q1:=1;
END_IF;
IF %MW1>10000 THEN (*в 9999 цикле 1-ый выход выключится, отсчет начнется заново*)
%Q1:=0;
%MW1:=0;
END_IF;

Limite, благодарю. Теперь понял.
sana1985
Понял, спасибо. Про ПИД я еще не все прочитал. Потом буду спрашивать.Это я так просто, выпендриться. Вопрос про аналоговые модули: вычитал, что что они 12 разрядные! Почему не 16? Ведь получается, что они уменьшают точность ТП?
(Надеюсь, что понятно изложил). Еще вопрос: читаю книжку по Simatic и параллельно в Step 7 тоже пытаюсь чего-нибудь нарисовать. Так вот, там главная программа строится вообще на базе различных блоков: функцион., блоков данных, которые вызывают друг друга. Почему такое принципиальное отличие? Какой из них быстрее: twido или siemens.
san
Цитата(sana1985 @ 1.3.2011, 12:23) *
Понял, спасибо. Про ПИД я еще не все прочитал. Потом буду спрашивать.Это я так просто, выпендриться. Вопрос про аналоговые модули: вычитал, что что они 12 разрядные! Почему не 16? Ведь получается, что они уменьшают точность ТП?
(Надеюсь, что понятно изложил). Еще вопрос: читаю книжку по Simatic и параллельно в Step 7 тоже пытаюсь чего-нибудь нарисовать. Так вот, там главная программа строится вообще на базе различных блоков: функцион., блоков данных, которые вызывают друг друга. Почему такое принципиальное отличие? Какой из них быстрее: twido или siemens.

ПЛК S7 300/400 и ПЛК Twido это все-равно что сравнивать грузовик VOLVO и седан Wolkswagen: разные мощности и разные платформы. ПЛК S7 300/400 более мощнее чем Твидо. Если сравнивать с ПЛК Шнейдер Электрик, то S7 300 можно сравнивать с M340 и TSX Premium, а S7400 с Quantum. Twido наверное можно сравнивать где-то с Сименовской 200-кой.
Организация программы в разных ПЛК устроена по разному. Но во всех (по крайней мере известных мне) присутствует основная цилически вызываемая задача (зачастую одна), которая начинается со считывания входных данных и заканчивается записью выходных. Языки же более-менее схожие, поскольку определены в МЕК 61131-3: LAD, FBD, IL, ST и SFC. Наличие хотя бы одного из них для ПЛК является обязательным, чтоб ссылаться на этот стандарт. Для Step7 и Twido - это язык LAD, хотя "диалекты" разные.
Что касается разрядности - 16-битная разрядность далеко не для всех задач нужна, а денег стоит побольше. Вы попробуйте еще датчик найти с таким высоким класом точности.
starshoy2001
Цитата(sana1985 @ 1.3.2011, 13:23) *
Понял, спасибо. Про ПИД я еще не все прочитал. Потом буду спрашивать.Это я так просто, выпендриться. Вопрос про аналоговые модули: вычитал, что что они 12 разрядные! Почему не 16? Ведь получается, что они уменьшают точность ТП?
(Надеюсь, что понятно изложил). Еще вопрос: читаю книжку по Simatic и параллельно в Step 7 тоже пытаюсь чего-нибудь нарисовать. Так вот, там главная программа строится вообще на базе различных блоков: функцион., блоков данных, которые вызывают друг друга. Почему такое принципиальное отличие? Какой из них быстрее: twido или siemens.

вы прям многостаночник.разберитесь сначала в одном и освойте нормально а потом возьметесь за другое те паче что это разные платформы и подходы при программировании тоже
sana1985
Цитата(starshoy2001 @ 2.3.2011, 0:01) *
вы прям многостаночник.разберитесь сначала в одном и освойте нормально а потом возьметесь за другое те паче что это разные платформы и подходы при программировании тоже

Так в том-то и дело. Начал изучать twido, потому что мы работаем на оборудовании Schneider, но столкнулся с малым количеством информации по программированию( по крайней мере для меня). В основном только перевожу help. Поэтому возникла необходимость в дополнительной информации. Нашел книгу по Step 7. Вот поэтому и приходится читать эту книжку, а экспериментировать с twido. Вот такая ситуация. Поэтому я и задавал вопрос специалисту "san" про такие кардинальные отличия в методах программирования двух этих ПЛК.

Цитата(san @ 1.3.2011, 17:47) *
ПЛК S7 300/400 и ПЛК Twido это все-равно что сравнивать грузовик VOLVO и седан Wolkswagen: разные мощности и разные платформы. ПЛК S7 300/400 более мощнее чем Твидо. Если сравнивать с ПЛК Шнейдер Электрик, то S7 300 можно сравнивать с M340 и TSX Premium, а S7400 с Quantum. Twido наверное можно сравнивать где-то с Сименовской 200-кой.
Организация программы в разных ПЛК устроена по разному. Но во всех (по крайней мере известных мне) присутствует основная цилически вызываемая задача (зачастую одна), которая начинается со считывания входных данных и заканчивается записью выходных. Языки же более-менее схожие, поскольку определены в МЕК 61131-3: LAD, FBD, IL, ST и SFC. Наличие хотя бы одного из них для ПЛК является обязательным, чтоб ссылаться на этот стандарт. Для Step7 и Twido - это язык LAD, хотя "диалекты" разные.
Что касается разрядности - 16-битная разрядность далеко не для всех задач нужна, а денег стоит побольше. Вы попробуйте еще датчик найти с таким высоким класом точности.

San, спасибо за объяснение
Filipp_1
Попробуйте поискать Описание по ПО TwidoSoft (в нете существует как минимум 2 документа на русском языке soft и hard wear)
ПО немного отличается, но принцип одинаковый. Желаю удачи!!!
sana1985
Цитата(Filipp_1 @ 2.3.2011, 14:37) *
Попробуйте поискать Описание по ПО TwidoSoft (в нете существует как минимум 2 документа на русском языке soft и hard wear)
ПО немного отличается, но принцип одинаковый. Желаю удачи!!!

Большое спасибо. Нашел. Оказывается что сейчас есть twido suite, а раньше было twido soft. Начинаю читать
Filipp_1
Цитата(sana1985 @ 2.3.2011, 11:51) *
Большое спасибо. Нашел. Оказывается что сейчас есть twido suite, а раньше было twido soft. Начинаю читать

Сейчас актуальная версия софта для программирования Twido это TwidoSuite (все новые патчи выпускаются для TwidoSuite).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.