PDA

Просмотр полной версии : ПЛК100 -работа с кнопкой Старт/Стоп ??



melky
14.05.2013, 18:05
В РЭ по прибору указано, что данную кнопку можно использовать как дополнительный дискретный сигнал.
Проблема совместить работу кнопки в качестве дискретного сигнала и функционал по умолчанию - Старт/Стоп программы.

Цель задачи, необходимо по команде стоп ставить программу на паузу с отключением всех выходом.
По умолчанию при Стоп включенный выход остается включенным.

Работа с кнопкой для ПЛК100 что-то нигде не описана.

YuriBel
14.05.2013, 18:38
Совместить не получится.
Или кнопка работает как старт/стоп (при этом ранее встречалось достаточно много случаев самопроизвольного перехода в СТОП), либо она превращается в еще один дискретный вход путем добавления модуля Button в конфигурацию. Я его добавляю всегда, дабы не искушать судьбу, чтобы никому из шибко любознательных не захотелось посмотреть, что будет, если нажать кнопку на контроллере.
А вообще, на мой вкус и цвет, остановка программы как штатное средство работы оборудования-неправильный прием. Для остановок нужно предусматривать внешние элементы управления, и программа должна сама останавливать оборудование в определенном состоянии, а аварийные остановы должны инициироваться аварийной кнопкой с аппаратным отключением и переводом в безопасное состояние всех механизмов. А кнопочка на контроллере при регулярном на нее нажатии довольно быстро выйдет из сторя, придется ее менять.

melky
14.05.2013, 18:58
YuriBel когда я забираю кнопку для использования в качестве дискретного входа, то у меня не получается сделать старт программы вообще.

1. надо добавлять в Конфигурацию задач в циклический вызов PLC_PRG ?
2. необходимо, чтобы программа была уже вшита в ПЛК ?

Потому что если вытполнить только 1-й пункт, не происходит ничего или я что-то делаю не так ?
Хотелось бы полностью освободить один дискретный вход и как аварийное отключение использовать именно кнопку на ПЛК. Лазить там никто не будет, и при выключении ПЛК как раз все оборудование должно работать. Включенный выход в моем случае означает "Исключить устройство из работы"

YuriBel
14.05.2013, 19:15
Если выполнить "Create boot project", то программа запишется на флэш в ПЛК и при включении питания будет загружаться в ОЗУ и запускаться, нигде ничего дополнительно прописывать не надо. И никакую кнопку нажимать не надо. Если уж так хочется использовать кнопку на контроллере, подключите модуль Button и обрабатывайте полученный вход программно, никаких препятствий этому не существует.

жекон
14.05.2013, 19:54
Насколько, я Вас понял Вы хотите сделать некую программную паузу,которая бы управлялась кнопкой на контроллере вот Вам один вариант
87788779
а вообще их существует довольно много(вариантов).

melky
14.05.2013, 21:18
YuriBel да вроде пробовал я "Create boot project" но толи в процессе потом переписывал, толи что, не хотела прога стартовать. Завтра еще раз проверю.
capzap речь не о рыбке, а о том, что понятия "Стоп" - которое написано на ПЛК и понятие "Пауза", это несколько разные вещи.
Так бы и написали на кнопке контроллера "Старт"/"Пауза" а то гордо написали "Стоп", а действие не отвечает действительности, потому что выхода остаются включенными.
Как минимум могли бы дать выбор - сохранять состояния выходов или переводить в режим безопасности.

capzap
14.05.2013, 21:23
Вы задолбали если честно, написано стоп, значит стоп, выключите контроллер на десять минут и Ваш проект не начнется с остановленного места, а если питание не снималось, то все ФБ не стирают свои внутренние переменные в режиме стоп, но от этого он не становится паузой а именно стоп работы контроллера

melky
14.05.2013, 22:14
capzap у всех свое понятие "Стоп" в принципе. Поэтому и хотел научить плк именно отключать по данной команде выходы, дабы сохранить обычный дискретный вход для других нужд.

capzap
14.05.2013, 22:19
я не собираюсь по новой выкладывать проект, но в нем небыло ни каких проблем и выходами управлять и получить дополнительный вход. Сама кнопка либо управляет работой либо используется модулем буттон

melky
14.05.2013, 22:28
capzap, спасибо, я скачал проект, по свободе буду разбираться с кодом.

melky
15.05.2013, 10:09
YuriBel Если я забрал кнопку и загрузил программу в ПЛК предварительно необходимо ПЛК перевести в режим "Работа" из CodeSys ?

Бывали ситуации, когда после отключения питания ПЛК забывал, что он был в режиме "Работа" ?

YuriBel
15.05.2013, 10:57
Не надо ничего делать предварительно, если в контроллере есть загрузочный проект, то при включении питания он загружается и стартует автоматом. Случаев, чтобы контроллер при выключеии питания забывал, что нужно стартовать программу, быть не должно, если контроллер исправный.

melky
15.05.2013, 11:04
YuriBel вот у меня такая ситуация, что забрав кнопку и записав программу в ПЛК он стоит в режиме "Стоп" (светодиод Работа не горит)
И так и висит сволочь, пока его не стартанешь либо с кнопки (если я ее не забирал), либо из программы по F5.

Вот это меня сильно и смущает. Других ПЛК от ОВЕН у меня не было.
Еще и по КС-1 кабелю через одно место то подключается, то нет. Работаю с ним через USB кабель (тут нареканий нет)

YuriBel
15.05.2013, 11:23
Напишите простую тестовую программку, например Блинк с выходом на один из физических выходов контроллера, залейте ее в контроллер (Create boot project), отключите питание, отключите кабель, включите питание и посмотрите, работает проект или нет. Если нет, то по-видимому есть проблемы с флэш-памятью контроллера. Это уже совсем другая тема. В поект можете добавить модуль Button и заодно протестировать, как кнопка работает в качестве входа, разрешая или запрещая работу Блинк.

melky
15.05.2013, 11:35
YuriBel Button работает без нареканий. Я же говорю, записываю программу в ПЛК командой "Создание загрузочного проекта", КДС пишет в него DEFAULT.PRG
ПЛК переходит при этом в режим Стоп. и пока я его из подключенного состояния не переведу в Старт (клавишей F5) он работать не будет.
Но находясь в Старте, выключая питание более 10 минут ПЛК загружается и продолжает программу. А вот если не запущу программу, то "алес" так и не стартанет.
BLINK у меня там и так есть в проге.

petera
15.05.2013, 11:41
YuriBel вот у меня такая ситуация, что забрав кнопку и записав программу в ПЛК он стоит в режиме "Стоп" (светодиод Работа не горит)
И так и висит сволочь, пока его не стартанешь либо с кнопки (если я ее не забирал), либо из программы по F5.
После отключения питания нужно подождать некоторое время, т.к. ПЛК, как ни в чем не бывало, продолжает работать на аккумуляторе, а не выключается.:) и автоматически стартовать не будет, пока не скушает всю энергию из аккумулятора.

Еще и по КС-1 кабелю через одно место то подключается, то нет. Работаю с ним через USB кабель (тут нареканий нет)
Проверьте кабель со стороны DB-9, проводок может отвалился у места пайки к контакту. Там все сделано "в натяг", нет запаса для свободного перемещения и контакт то есть, то нет.

melky
15.05.2013, 11:43
Все, что написано в РЭ на ПЛК
пункты 7.6 и 7.7
В первом указано запустить программу либо из КДС либо клавишей Старт/Стоп.
Во втором сказано только то, что при записи во флеш программа будет автоматически запускаться при перезагрузке и включении питания.

Оно как бы так и происходит, но при условии что один раз я запущу ПЛК руками с уже зашитой во флеш программой.

petera я уже перепаял DB9 на другой. результат нулевой. На выхах поеду на радиорынок искать DB9 с золочеными ножками, может это спасет ситуацию, сталкивались уже с китайскими DB9 да и тут на форуме про продукцию ОВЕН в этом направлении уже писали.

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

melky
15.05.2013, 12:16
Вопрос в догонку, если не использовать Button на ПЛК и оставить ее по умолчанию. Есть Системные события run и stop, соответственно есть вызов программ по данному событию. Но, по умолчанию Стоп останавливает основную программу. Каков механизм воздействия на основную программу в данном случае ?

Например при событии СТОП я вызову программу для изменения переменной, которая влияет на основную программу. Отработает вызванная программа, изменить основную и только потом перейдет в стоп ?.

Кто-нибудь проверял подобное воздействие ?