1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Помогите пожалуйста с LD

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

Автор темы
staff67
здесь недавно
здесь недавно
Сообщения: 2
Зарегистрирован: 16 май 2014, 12:18
Имя: Гаджимагомедов Артём Казимагомедович
Страна: Россия
город/регион: Кашира МО

Помогите пожалуйста с LD

Сообщение staff67 »

Доброго времени суток

Меня совсем с другой работы в силу определённых причин перевели в АСУТП
Знания имею самые начальные. Возникла необходимость научиться разбираться в программах ПЛК. Для обучения базе дали плк allen bredlay micro 810 я пробую писать и исполнять на нем простенькие программки. Работаю в среде connected component workbench

Ну и собственно вопрос:

Нужно, чтобы допустим, лампочка подключенная к выходу контроллера О0 включалась с кнопки на входе i0 работала и выключалась с этой же кнопки каким инструментом это можно реализовать. Прошу сильно не пинать, я только начал разбираться :)

Ну и за ранее :thankyou: за любую помощь
Аватара пользователя

doza
завсегдатай
завсегдатай
Сообщения: 539
Зарегистрирован: 05 ноя 2012, 07:38
Имя: Дозморов Владимир Владимирович
Страна: Россия
город/регион: Северск
Благодарил (а): 1 раз
Поблагодарили: 24 раза

Re: Помогите пожалуйста с LD

Сообщение doza »

Как-то так.
56.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Чебурашку видишь???? я тоже не вижу, а он есть.

Автор темы
staff67
здесь недавно
здесь недавно
Сообщения: 2
Зарегистрирован: 16 май 2014, 12:18
Имя: Гаджимагомедов Артём Казимагомедович
Страна: Россия
город/регион: Кашира МО

Re: Помогите пожалуйста с LD

Сообщение staff67 »

Спасибо большое за ответ!

agent_serg
здесь недавно
здесь недавно
Сообщения: 94
Зарегистрирован: 12 мар 2014, 16:43
Имя: Сергей
Поблагодарили: 1 раз

Re: Помогите пожалуйста с LD

Сообщение agent_serg »

staff67 писал(а):Нужно, чтобы допустим, лампочка подключенная к выходу контроллера О0 включалась с кнопки на входе i0 работала и выключалась с этой же кнопки каким инструментом это можно реализовать.
Мой кусочек выглядит практически также, как и представленный предыдущим участником. Смысл тот же, только в LD:
Image1.jpg
X11 - NO кнопка.
М109 - результат.
М1090 - временный триггер, устанавливающийся в единицу при нажатой кнопке.

M91 и X0 можете исключить перемкнув их.

P.S. В логических цепочках программы я никогда не использую непосредственно выходы. Оперирую с маркерами. А в отдельном блоке или цепи программы маркеры передают своё состояние выходам.
Правило: формировать выход только в одном-единственном месте программы. Тогда можно избежать некоторых проблем. Облегчается поиск ошибок в логике. Легко изменить физический адрес выхода на другой.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Fillipych
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 07 июн 2014, 08:31
Имя: Филлипов

Re: Помогите пожалуйста с LD

Сообщение Fillipych »

на LD удобно работать с циклами и косвенной адресаций (массивами) или это проблемно ?

Код: Выделить всё

//  принять входные переменные: размер массива 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 ();
}
Фрагменты кода обязательно следует постить с использованием тэга CODE - прим.администратора

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5620
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 544 раза
Поблагодарили: 706 раз

Re: Помогите пожалуйста с LD

Сообщение Ryzhij »

Fillipych писал(а):на LD удобно работать с циклами и косвенной адресаций (массивами) или это проблемно ?
По опыту работы в LD с Delta, с Allen-Bradley скажу - с этим проблем не возникало.
По-жизни кто к чему привык, тот на том языке и пишет - меньше ошибок в результате.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

Mein potatos
здесь недавно
здесь недавно
Сообщения: 26
Зарегистрирован: 04 июн 2014, 12:42
Имя: Никитин Эдуард

Re: Помогите пожалуйста с LD

Сообщение Mein potatos »

Ryzhij писал(а):
Fillipych писал(а):на LD удобно работать с циклами и косвенной адресаций (массивами) или это проблемно ?
По опыту работы в LD с Delta, с Allen-Bradley скажу - с этим проблем не возникало.
По-жизни кто к чему привык, тот на том языке и пишет - меньше ошибок в результате.
В LD такие прграммы изобилуют передачей управления по меткам, в том числе вверх.
Сравните две аналогичные процедуры - какая их них лучше структурирована и легче читается ?

первая:
1.jpg
то же самое на LD:
_LD01.jpg
_LD02.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Mein potatos
здесь недавно
здесь недавно
Сообщения: 26
Зарегистрирован: 04 июн 2014, 12:42
Имя: Никитин Эдуард

Re: Помогите пожалуйста с LD

Сообщение Mein potatos »

Хотел конвертировать из ST в LD на Delta ISPSoft, но не нашел преобразования. В каком меню оно спрятано ?
ST Delta..gif
У вас нет необходимых прав для просмотра вложений в этом сообщении.

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

Re: Помогите пожалуйста с LD

Сообщение Михайло »

Такая конвертация скорее всего невозможна в автоматическом режиме. Самому придется, ручками и головой. Возможна лишь конвертация LD <-> FBD <-> IL в силу единой структуры языков.

Mein potatos
здесь недавно
здесь недавно
Сообщения: 26
Зарегистрирован: 04 июн 2014, 12:42
Имя: Никитин Эдуард

Re: Помогите пожалуйста с LD

Сообщение Mein potatos »

Михайло писал(а):Такая конвертация скорее всего невозможна в автоматическом режиме. Самому придется, ручками и головой. Возможна лишь конвертация LD <-> FBD <-> IL в силу единой структуры языков.
... может быть не включен кросскомпилятор в меню. Из высшего языка всегда можно преобразовать в самый низший (ассемблер), а в некоторых случаях и в промежуточные (ST-->LD, ST-IL, ST->FBD ...) Структура языков не противоречит.
Из языка низкого уровня преобразование в высший не гарантируется тк сложно анализировать команды и заменять на конструкции высокого уровня.

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

Re: Помогите пожалуйста с LD

Сообщение Михайло »

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

Mein potatos
здесь недавно
здесь недавно
Сообщения: 26
Зарегистрирован: 04 июн 2014, 12:42
Имя: Никитин Эдуард

Re: Помогите пожалуйста с LD

Сообщение Mein potatos »

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

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5620
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 544 раза
Поблагодарили: 706 раз

Re: Помогите пожалуйста с LD

Сообщение Ryzhij »

Mein potatos писал(а):Производителю ПЛК невыгодно культивировать несовместимые коды и языки , неудобно ему быть унтерофицерской вдовой.
Коды (псевдокоды) совместимы, программу можно сложить из модулей на любых доступных языках обычно до 2-4 шт. Конвертация вниз возможна (в Дельте не нашел), в верх очень сложна или невозможна.
Конвертацией с языка на язык в Вашем понимании ни один производитель всерьёз не заморачивается. Зачем?
Продвинутые просто дают возможность включать в программу POU написанные на разных языках. С передачей управления проблем нет.
Если писать программу используя структурный подход, то на любом языке, и на LD тоже ;), получится вполне читабельный результат.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

Mein potatos
здесь недавно
здесь недавно
Сообщения: 26
Зарегистрирован: 04 июн 2014, 12:42
Имя: Никитин Эдуард

Re: Помогите пожалуйста с LD

Сообщение Mein potatos »

Ryzhij писал(а):Конвертацией с языка на язык в Вашем понимании ни один производитель всерьёз не заморачивается. Зачем?
Продвинутые просто дают возможность включать в программу POU написанные на разных языках. С передачей управления проблем нет.
Если писать программу используя структурный подход, то на любом языке, и на LD тоже ;), получится вполне читабельный результат.
Конвертация не в моем понимании, это стандартное понятие для известных систем как CoDeSys (например Twincat от Beckhoff тоже CoDeSys ).
Что можно структурировать в языке низкого уровня ?
Посмотрите IL-эквивалент простейшей ST-программы. На IL она малочитаемая и длинная, а структуру не видно.
Стравните
- длина программы на ST 10 строк, из них последние 4 формальные маркеры окончания операторов.
- на IL то же самое занимает 47 строк

программа на LD по количеству строк компактнее IL, но на 1 экран не помещается

IL1.jpg
ST1.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.

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

Re: Помогите пожалуйста с LD

Сообщение Михайло »

Mein potatos
Хватит уже циклы в автоматизации, хватит! :D
Мы готовы привести кучу примеров кода, который в ST, мягко говоря, будет выглядеть провально. При чем эти коды более типичны для автоматизации.

Сложно повторить одну и ту же операцию 99 раз? Код будет выглядеть вообще замечательно! Вообще циклы не имеют никакого смысла, кроме случаев динамических циклов. Но в автоматизации таким не следует заниматься...

Mein potatos
здесь недавно
здесь недавно
Сообщения: 26
Зарегистрирован: 04 июн 2014, 12:42
Имя: Никитин Эдуард

Re: Помогите пожалуйста с LD

Сообщение Mein potatos »

Михайло писал(а):Mein potatos
Мы готовы привести кучу примеров кода, который в ST, мягко говоря, будет выглядеть провально. При чем эти коды более типичны для автоматизации.
Если готовы - приведите пример, в котором ST будет выглядеть провально по сравнению с LD или IL.

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

Re: Помогите пожалуйста с LD

Сообщение Михайло »

небольшой кусочек типичного кода, который я нашел в просторах интернета:
Изображение

Mein potatos
здесь недавно
здесь недавно
Сообщения: 26
Зарегистрирован: 04 июн 2014, 12:42
Имя: Никитин Эдуард

Re: Помогите пожалуйста с LD

Сообщение Mein potatos »

Михайло писал(а):небольшой кусочек типичного кода, который я нашел в просторах интернета
В чем провальность ST перед LD ?

Mein potatos
здесь недавно
здесь недавно
Сообщения: 26
Зарегистрирован: 04 июн 2014, 12:42
Имя: Никитин Эдуард

Re: Помогите пожалуйста с LD

Сообщение Mein potatos »

Михайло, так что с провальностью ST ?

ST:
CADENSE ST.jpg
LD:
CADENSE LD.jpg
IL:
CADENSE IL.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.

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

Re: Помогите пожалуйста с LD

Сообщение Михайло »

Mein potatos писал(а):В чем провальность ST перед LD ?
Попробуйте за 1 секунду, сказать, почему при нажатии на физическую кнопку ON_LE не включается MOT_LE. :ext_secret: На языке ST это никогда не получится...
А если будет схема, мягко говоря, посложнее...

Mein potatos
здесь недавно
здесь недавно
Сообщения: 26
Зарегистрирован: 04 июн 2014, 12:42
Имя: Никитин Эдуард

Re: Помогите пожалуйста с LD

Сообщение Mein potatos »

Михайло писал(а):
Mein potatos писал(а):В чем провальность ST перед LD ?
Попробуйте за 1 секунду, сказать, почему при нажатии на физическую кнопку ON_LE не включается MOT_LE. :ext_secret: На языке ST это никогда не получится...
А если будет схема, мягко говоря, посложнее...
В этой простой задаче ST проигрывает в наглядности...

1. Нормально включается, долой фантазии.
2. А если будет схема посложнее, то для LD станет трудночитаемой . Для сложных задачи нужно использовать ST, а удел LD - мелочь типа этой упрощенной задачки.
В общем случае такая задача переключения направления движения (MOT_LE - движение влево , MOT_RI движение вправо) должна предусматривать паузу между переключениями направления. Не важно - это двигатель, линейный привод, автомобильный светофор или пассажирский поток, все равно нужна пауза.
В этом случае LD моментально потеряет наглядность.


Вы еще писали в прошлых постах про провальность ST перед IL. Посмотрим это на приведенном вами примере ?

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

Re: Помогите пожалуйста с LD

Сообщение Михайло »

Не хочу с вами спорить, ибо у меня все задачки ГОРАЗДО сложнее, чем я привел примерчик. Тренировка восприятия языка LD излечивает все. Выдержки времени - это вообще чудо языка LD.
Про язык IL я ничего не говорил, этот язык по своему смысловому насыщению очень близок к другим логическим языкам LD и FBD, но текстовость лишает его всех прелестей наглядности. Очень подходит для новичков, которые не всегда четко понимают тонкости графических элементов языка LD.
Также могу показать недостатки языка FBD по сравнению с LD.
Язык ST, конечно, имеет право на жизнь, но очень неспецифичен для автоматизации. Все эти циклы for... Это для обработки каких таких матриц и табличных значений?

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5620
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 544 раза
Поблагодарили: 706 раз

Re: Помогите пожалуйста с LD

Сообщение Ryzhij »

Похоже, что уважаемый Mein potatos ещё ни разу не участвовал в ПНР.
Ему про наглядность и удобства эксплуатации, а он про работоспособность...

Про заявленный "удел LD", так это даже не холивар, а просто некомпетентность и отсутствие опыта.
"Про провальность ST перед IL" даже рассуждать глупо - бессмысленно сравнивать язык высокого уровня с низкоуровневым.

Если кто подзабыл, напоминаю, языки программирования не исключают, а дополняют друг-друга.
Поэтому-то хорошие проекты содержат POU на разных языках. Ибо обсчитывать удобнее часто на одном, а реализовывать результаты расчётов на другом, управлять процессом "в целом" - на третьем.
Вы же не спорите о том, что нужнее - автобус или грузовик.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

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

Re: Помогите пожалуйста с LD

Сообщение Михайло »

Ryzhij писал(а):Если кто подзабыл, напоминаю, языки программирования не исключают, а дополняют друг-друга.
... но при этом LD - самый первый из равных. :D

Mein potatos
здесь недавно
здесь недавно
Сообщения: 26
Зарегистрирован: 04 июн 2014, 12:42
Имя: Никитин Эдуард

Re: Помогите пожалуйста с LD

Сообщение Mein potatos »

Ryzhij писал(а):Похоже, что уважаемый Mein potatos ещё ни разу не участвовал в ПНР.
Ему про наглядность и удобства эксплуатации, а он про работоспособность...

Про заявленный "удел LD", так это даже не холивар, а просто некомпетентность и отсутствие опыта.
"Про провальность ST перед IL" даже рассуждать глупо - бессмысленно сравнивать язык высокого уровня с низкоуровневым.

Если кто подзабыл, напоминаю, языки программирования не исключают, а дополняют друг-друга.
Поэтому-то хорошие проекты содержат POU на разных языках. Ибо обсчитывать удобнее часто на одном, а реализовывать результаты расчётов на другом, управлять процессом "в целом" - на третьем.
Вы же не спорите о том, что нужнее - автобус или грузовик.
в ПНР участвовал и участвую и простые релейные схемы проще описывать на LD, я с этм не спорил
из вашего поста мне ясно, что некомпетентность и старое мышление именно у вас
обсуждали удобства написания программ с циклами и массивами на LD, он для этого неудобен и не приспособлен
Ответить

Вернуться в «Средний уровень автоматизации (управляющий)»