- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Помогите пожалуйста с LD
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 2
- Зарегистрирован: 16 май 2014, 12:18
- Имя: Гаджимагомедов Артём Казимагомедович
- Страна: Россия
- город/регион: Кашира МО
Помогите пожалуйста с LD
Доброго времени суток
Меня совсем с другой работы в силу определённых причин перевели в АСУТП
Знания имею самые начальные. Возникла необходимость научиться разбираться в программах ПЛК. Для обучения базе дали плк allen bredlay micro 810 я пробую писать и исполнять на нем простенькие программки. Работаю в среде connected component workbench
Ну и собственно вопрос:
Нужно, чтобы допустим, лампочка подключенная к выходу контроллера О0 включалась с кнопки на входе i0 работала и выключалась с этой же кнопки каким инструментом это можно реализовать. Прошу сильно не пинать, я только начал разбираться :)
Ну и за ранее за любую помощь
Меня совсем с другой работы в силу определённых причин перевели в АСУТП
Знания имею самые начальные. Возникла необходимость научиться разбираться в программах ПЛК. Для обучения базе дали плк allen bredlay micro 810 я пробую писать и исполнять на нем простенькие программки. Работаю в среде connected component workbench
Ну и собственно вопрос:
Нужно, чтобы допустим, лампочка подключенная к выходу контроллера О0 включалась с кнопки на входе i0 работала и выключалась с этой же кнопки каким инструментом это можно реализовать. Прошу сильно не пинать, я только начал разбираться :)
Ну и за ранее за любую помощь
-
- завсегдатай
- Сообщения: 545
- Зарегистрирован: 05 ноя 2012, 07:38
- Имя: Дозморов Владимир Владимирович
- Страна: Россия
- город/регион: Северск
- Благодарил (а): 1 раз
- Поблагодарили: 28 раз
Re: Помогите пожалуйста с LD
Как-то так.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Чебурашку видишь???? я тоже не вижу, а он есть.
-
- здесь недавно
- Сообщения: 2
- Зарегистрирован: 16 май 2014, 12:18
- Имя: Гаджимагомедов Артём Казимагомедович
- Страна: Россия
- город/регион: Кашира МО
-
- здесь недавно
- Сообщения: 94
- Зарегистрирован: 12 мар 2014, 16:43
- Имя: Сергей
- Поблагодарили: 1 раз
Re: Помогите пожалуйста с LD
Мой кусочек выглядит практически также, как и представленный предыдущим участником. Смысл тот же, только в LD:staff67 писал(а):Нужно, чтобы допустим, лампочка подключенная к выходу контроллера О0 включалась с кнопки на входе i0 работала и выключалась с этой же кнопки каким инструментом это можно реализовать.
X11 - NO кнопка.
М109 - результат.
М1090 - временный триггер, устанавливающийся в единицу при нажатой кнопке.
M91 и X0 можете исключить перемкнув их.
P.S. В логических цепочках программы я никогда не использую непосредственно выходы. Оперирую с маркерами. А в отдельном блоке или цепи программы маркеры передают своё состояние выходам.
Правило: формировать выход только в одном-единственном месте программы. Тогда можно избежать некоторых проблем. Облегчается поиск ошибок в логике. Легко изменить физический адрес выхода на другой.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 07 июн 2014, 08:31
- Имя: Филлипов
Re: Помогите пожалуйста с LD
на LD удобно работать с циклами и косвенной адресаций (массивами) или это проблемно ?
Фрагменты кода обязательно следует постить с использованием тэга CODE - прим.администратора
Код: Выделить всё
// принять входные переменные: размер массива maxindex, index2, указатели на массивы
// заполнить массивы
void fill_test( int maxindex, int index2, int* destin1, int * destin2, int * source )
{
int buf
for (i=0; i<=maxindex ; i++)
{
destin1[i]=i;
if (i <= index2) buf = i^2;
else buf= source[i];
destin2[i]=buf;
}
return ();
}
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 841 раз
Re: Помогите пожалуйста с LD
По опыту работы в LD с Delta, с Allen-Bradley скажу - с этим проблем не возникало.Fillipych писал(а):на LD удобно работать с циклами и косвенной адресаций (массивами) или это проблемно ?
По-жизни кто к чему привык, тот на том языке и пишет - меньше ошибок в результате.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 04 июн 2014, 12:42
- Имя: Никитин Эдуард
Re: Помогите пожалуйста с LD
В LD такие прграммы изобилуют передачей управления по меткам, в том числе вверх.Ryzhij писал(а):По опыту работы в LD с Delta, с Allen-Bradley скажу - с этим проблем не возникало.Fillipych писал(а):на LD удобно работать с циклами и косвенной адресаций (массивами) или это проблемно ?
По-жизни кто к чему привык, тот на том языке и пишет - меньше ошибок в результате.
Сравните две аналогичные процедуры - какая их них лучше структурирована и легче читается ?
первая: то же самое на LD:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 04 июн 2014, 12:42
- Имя: Никитин Эдуард
Re: Помогите пожалуйста с LD
Хотел конвертировать из ST в LD на Delta ISPSoft, но не нашел преобразования. В каком меню оно спрятано ?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
Re: Помогите пожалуйста с LD
Такая конвертация скорее всего невозможна в автоматическом режиме. Самому придется, ручками и головой. Возможна лишь конвертация LD <-> FBD <-> IL в силу единой структуры языков.
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 04 июн 2014, 12:42
- Имя: Никитин Эдуард
Re: Помогите пожалуйста с LD
... может быть не включен кросскомпилятор в меню. Из высшего языка всегда можно преобразовать в самый низший (ассемблер), а в некоторых случаях и в промежуточные (ST-->LD, ST-IL, ST->FBD ...) Структура языков не противоречит.Михайло писал(а):Такая конвертация скорее всего невозможна в автоматическом режиме. Самому придется, ручками и головой. Возможна лишь конвертация LD > FBD > IL в силу единой структуры языков.
Из языка низкого уровня преобразование в высший не гарантируется тк сложно анализировать команды и заменять на конструкции высокого уровня.
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
Re: Помогите пожалуйста с LD
Не могу утверждать про Дельту конкретно, но чисто теоретически такая конвертация невозможна в любом направлении для любого кода, только для совместимого кода.
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 04 июн 2014, 12:42
- Имя: Никитин Эдуард
Re: Помогите пожалуйста с LD
Производителю ПЛК невыгодно культивировать несовместимые коды и языки , неудобно ему быть унтерофицерской вдовой.Михайло писал(а):Не могу утверждать про Дельту конкретно, но чисто теоретически такая конвертация невозможна в любом направлении для любого кода, только для совместимого кода.
Коды (псевдокоды) совместимы, программу можно сложить из модулей на любых доступных языках обычно до 2-4 шт. Конвертация вниз возможна (в Дельте не нашел), в верх очень сложна или невозможна.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 841 раз
Re: Помогите пожалуйста с LD
Конвертацией с языка на язык в Вашем понимании ни один производитель всерьёз не заморачивается. Зачем?Mein potatos писал(а):Производителю ПЛК невыгодно культивировать несовместимые коды и языки , неудобно ему быть унтерофицерской вдовой.
Коды (псевдокоды) совместимы, программу можно сложить из модулей на любых доступных языках обычно до 2-4 шт. Конвертация вниз возможна (в Дельте не нашел), в верх очень сложна или невозможна.
Продвинутые просто дают возможность включать в программу POU написанные на разных языках. С передачей управления проблем нет.
Если писать программу используя структурный подход, то на любом языке, и на LD тоже ;), получится вполне читабельный результат.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 04 июн 2014, 12:42
- Имя: Никитин Эдуард
Re: Помогите пожалуйста с LD
Конвертация не в моем понимании, это стандартное понятие для известных систем как CoDeSys (например Twincat от Beckhoff тоже CoDeSys ).Ryzhij писал(а):Конвертацией с языка на язык в Вашем понимании ни один производитель всерьёз не заморачивается. Зачем?
Продвинутые просто дают возможность включать в программу POU написанные на разных языках. С передачей управления проблем нет.
Если писать программу используя структурный подход, то на любом языке, и на LD тоже ;), получится вполне читабельный результат.
Что можно структурировать в языке низкого уровня ?
Посмотрите IL-эквивалент простейшей ST-программы. На IL она малочитаемая и длинная, а структуру не видно.
Стравните
- длина программы на ST 10 строк, из них последние 4 формальные маркеры окончания операторов.
- на IL то же самое занимает 47 строк
программа на LD по количеству строк компактнее IL, но на 1 экран не помещается
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
Re: Помогите пожалуйста с LD
Mein potatos
Хватит уже циклы в автоматизации, хватит! :D
Мы готовы привести кучу примеров кода, который в ST, мягко говоря, будет выглядеть провально. При чем эти коды более типичны для автоматизации.
Сложно повторить одну и ту же операцию 99 раз? Код будет выглядеть вообще замечательно! Вообще циклы не имеют никакого смысла, кроме случаев динамических циклов. Но в автоматизации таким не следует заниматься...
Хватит уже циклы в автоматизации, хватит! :D
Мы готовы привести кучу примеров кода, который в ST, мягко говоря, будет выглядеть провально. При чем эти коды более типичны для автоматизации.
Сложно повторить одну и ту же операцию 99 раз? Код будет выглядеть вообще замечательно! Вообще циклы не имеют никакого смысла, кроме случаев динамических циклов. Но в автоматизации таким не следует заниматься...
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 04 июн 2014, 12:42
- Имя: Никитин Эдуард
Re: Помогите пожалуйста с LD
Если готовы - приведите пример, в котором ST будет выглядеть провально по сравнению с LD или IL.Михайло писал(а):Mein potatos
Мы готовы привести кучу примеров кода, который в ST, мягко говоря, будет выглядеть провально. При чем эти коды более типичны для автоматизации.
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
Re: Помогите пожалуйста с LD
небольшой кусочек типичного кода, который я нашел в просторах интернета:
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 04 июн 2014, 12:42
- Имя: Никитин Эдуард
Re: Помогите пожалуйста с LD
В чем провальность ST перед LD ?Михайло писал(а):небольшой кусочек типичного кода, который я нашел в просторах интернета
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 04 июн 2014, 12:42
- Имя: Никитин Эдуард
Re: Помогите пожалуйста с LD
Михайло, так что с провальностью ST ?
ST: LD: IL:
ST: LD: IL:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
Re: Помогите пожалуйста с LD
Попробуйте за 1 секунду, сказать, почему при нажатии на физическую кнопку ON_LE не включается MOT_LE. На языке ST это никогда не получится...Mein potatos писал(а):В чем провальность ST перед LD ?
А если будет схема, мягко говоря, посложнее...
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 04 июн 2014, 12:42
- Имя: Никитин Эдуард
Re: Помогите пожалуйста с LD
В этой простой задаче ST проигрывает в наглядности...Михайло писал(а):Попробуйте за 1 секунду, сказать, почему при нажатии на физическую кнопку ON_LE не включается MOT_LE. На языке ST это никогда не получится...Mein potatos писал(а):В чем провальность ST перед LD ?
А если будет схема, мягко говоря, посложнее...
1. Нормально включается, долой фантазии.
2. А если будет схема посложнее, то для LD станет трудночитаемой . Для сложных задачи нужно использовать ST, а удел LD - мелочь типа этой упрощенной задачки.
В общем случае такая задача переключения направления движения (MOT_LE - движение влево , MOT_RI движение вправо) должна предусматривать паузу между переключениями направления. Не важно - это двигатель, линейный привод, автомобильный светофор или пассажирский поток, все равно нужна пауза.
В этом случае LD моментально потеряет наглядность.
Вы еще писали в прошлых постах про провальность ST перед IL. Посмотрим это на приведенном вами примере ?
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
Re: Помогите пожалуйста с LD
Не хочу с вами спорить, ибо у меня все задачки ГОРАЗДО сложнее, чем я привел примерчик. Тренировка восприятия языка LD излечивает все. Выдержки времени - это вообще чудо языка LD.
Про язык IL я ничего не говорил, этот язык по своему смысловому насыщению очень близок к другим логическим языкам LD и FBD, но текстовость лишает его всех прелестей наглядности. Очень подходит для новичков, которые не всегда четко понимают тонкости графических элементов языка LD.
Также могу показать недостатки языка FBD по сравнению с LD.
Язык ST, конечно, имеет право на жизнь, но очень неспецифичен для автоматизации. Все эти циклы for... Это для обработки каких таких матриц и табличных значений?
Про язык IL я ничего не говорил, этот язык по своему смысловому насыщению очень близок к другим логическим языкам LD и FBD, но текстовость лишает его всех прелестей наглядности. Очень подходит для новичков, которые не всегда четко понимают тонкости графических элементов языка LD.
Также могу показать недостатки языка FBD по сравнению с LD.
Язык ST, конечно, имеет право на жизнь, но очень неспецифичен для автоматизации. Все эти циклы for... Это для обработки каких таких матриц и табличных значений?
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 841 раз
Re: Помогите пожалуйста с LD
Похоже, что уважаемый Mein potatos ещё ни разу не участвовал в ПНР.
Ему про наглядность и удобства эксплуатации, а он про работоспособность...
Про заявленный "удел LD", так это даже не холивар, а просто некомпетентность и отсутствие опыта.
"Про провальность ST перед IL" даже рассуждать глупо - бессмысленно сравнивать язык высокого уровня с низкоуровневым.
Если кто подзабыл, напоминаю, языки программирования не исключают, а дополняют друг-друга.
Поэтому-то хорошие проекты содержат POU на разных языках. Ибо обсчитывать удобнее часто на одном, а реализовывать результаты расчётов на другом, управлять процессом "в целом" - на третьем.
Вы же не спорите о том, что нужнее - автобус или грузовик.
Ему про наглядность и удобства эксплуатации, а он про работоспособность...
Про заявленный "удел LD", так это даже не холивар, а просто некомпетентность и отсутствие опыта.
"Про провальность ST перед IL" даже рассуждать глупо - бессмысленно сравнивать язык высокого уровня с низкоуровневым.
Если кто подзабыл, напоминаю, языки программирования не исключают, а дополняют друг-друга.
Поэтому-то хорошие проекты содержат POU на разных языках. Ибо обсчитывать удобнее часто на одном, а реализовывать результаты расчётов на другом, управлять процессом "в целом" - на третьем.
Вы же не спорите о том, что нужнее - автобус или грузовик.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
Re: Помогите пожалуйста с LD
... но при этом LD - самый первый из равных. :DRyzhij писал(а):Если кто подзабыл, напоминаю, языки программирования не исключают, а дополняют друг-друга.
-
- здесь недавно
- Сообщения: 26
- Зарегистрирован: 04 июн 2014, 12:42
- Имя: Никитин Эдуард
Re: Помогите пожалуйста с LD
в ПНР участвовал и участвую и простые релейные схемы проще описывать на LD, я с этм не спорилRyzhij писал(а):Похоже, что уважаемый Mein potatos ещё ни разу не участвовал в ПНР.
Ему про наглядность и удобства эксплуатации, а он про работоспособность...
Про заявленный "удел LD", так это даже не холивар, а просто некомпетентность и отсутствие опыта.
"Про провальность ST перед IL" даже рассуждать глупо - бессмысленно сравнивать язык высокого уровня с низкоуровневым.
Если кто подзабыл, напоминаю, языки программирования не исключают, а дополняют друг-друга.
Поэтому-то хорошие проекты содержат POU на разных языках. Ибо обсчитывать удобнее часто на одном, а реализовывать результаты расчётов на другом, управлять процессом "в целом" - на третьем.
Вы же не спорите о том, что нужнее - автобус или грузовик.
из вашего поста мне ясно, что некомпетентность и старое мышление именно у вас
обсуждали удобства написания программ с циклами и массивами на LD, он для этого неудобен и не приспособлен