PDA

Просмотр полной версии : ПЛК73 проверка клавиатуры



Sergey1024
22.10.2012, 21:42
Добрый день!

Установил на ПЛК73 прошивку 2.16 и таргет 2.01
Загрузил пример работы с клавиатурой (keyboard_1 со страницы "Примеры программ для 63\73 cds 2.3") - выводится сообщение на дисплей и никакой реакции на нажатие любой клавиши.
Чем еще можно проверить работу клавиатуры?

ASo
22.10.2012, 21:55
Кодесисом.
Посмотрите в онлайне переменную клавиатуры.

Sergey1024
22.10.2012, 23:09
Посмотрите в онлайне переменную клавиатуры.
Вот текст примера:

IF NOT starting THEN (*что выполняется при начальной загрузке*)
SetWorkScreenCount(1);
ClearScreen(0);
ShowString(0,0,0,'Пуск/стоп запуск');
ShowString(0,0,1,'Выход останов');
starting:=TRUE;
END_IF
fm(clk:=kbrd=key_start AND NOT run_stop ); (*если прибор в режиме стоп и пользователь нажал и отпустил клавишу пуск/стоп*)
IF fm.Q THEN (*то будет выполнен этот цикл*)
ClearScreen(0);
ShowString(0,0,0,'Run');
run_stop:=TRUE;
END_IF
tm(in:=kbrd=key_exit AND run_stop, pt:=t#1s); (*при нажатии клавиши выход на время более 1 сек при условии что прибор запущен*)
IF tm.Q THEN (*то будет выполнен этот цикл*)
ClearScreen(0);
ShowString(0,0,0,'Stop');
run_stop:=FALSE;
END_IF
При запуске kbrd всегда 16#000 независимо от нажатий клавиш.
Почему и спрашиваю - нет ли каких стандартных тестов клавиатуры для 73?

И вдогонку - почему у дисплея могут быть затененные знакоместа? Практически ничего не видно из-за этого.

Александр Приходько
23.10.2012, 16:12
Sergey1024, могу с огромной долей вероятности предположить, что вы шагаете в верном направлении.
Но есть одно но!

Пример который вы взяли, написан под ПЛК63.
Вероятнее всего вы изменили в настройках целевой платформы модификацию ПЛК, загрузили проект, а он не работает.

Все верно! и не должен.

Дело в том, что при создании проекта и выборе конфигурации, CoDeSys считывает Target и сохраняет структуру Target в проекте. При смене целевой платформы сама структура Target остается та же и ее необходимо перезагрузить.

Сделать это сильно просто:
1) Меняете целевую платформу с ПЛК63 на ПЛК73
2) Открываете конфигурацию ПЛК
3) В верхнем меню выбираете пункт Дополнения - > Стандартная конфигурация.
4) В конфигурации заново вводите все настройки и объявляете переменные.


Самое интересное в том, что частично что-то в плк при смене Target (но без сброса) работать будет, но далеко не все. Связано с тем, что где-то распределение памяти совпадает, а где-то нет.


Если воспользуетесь моим советом, все заработает.
В конфигурации вам необходимо будет прописать только одну переменную, для клавиатуры.

Александр Приходько
23.10.2012, 16:18
И вдогонку - почему у дисплея могут быть затененные знакоместа? Практически ничего не видно из-за этого.

Вероятно делали программный сброс. Он сбрасывает настройки дисплея.
Попробуйте сделать следующее:

1) Отключитесь от ПЛК
2) в меню Проект выполните поочередно пункты "Очистить все", "Компилировать все"
3) Загрузите перекомпилированный проект.

Если не помогло, вкл/выкл питание.

Если и это не помогло, то в фото в студию. Возможно проблемы с дисплеем.

Можете еще с лицевой панели в настройках эти параметры изменять.

Mikhail
23.10.2012, 19:03
Подозреваю, что ПЛК-73 это какой то недоделок.
Нужно было в программе нажатие кнопок клавиатуры выводить на индикацию
(светодиоды на панели ПЛК). Так ничего и не получилось, отдал дилеру они обменяли на новый,
а он оказался ещё более дефектный чем первый и сейчас находится в гарантийном ремонте. Написал в службу тех. поддержки
но на вопросы никто не отвечает. Я создавал тему ПЛК в этом разделе и прилагал простую программу чтения клавиатуры, попробуйте
хочется знать какой будет у вас результат.

kolyan
23.10.2012, 21:03
У меня пол-года нормально ПЛК-73 на весах-дозаторе трудится.
И дисплей и светодиоды работают без проблем.
И кнопки в другом проекте задействованы - никогда ничего не случалось.
Вам, видимо, не повезло.

Sergey1024
23.10.2012, 21:32
Пример который вы взяли, написан под ПЛК63.
Вероятнее всего вы изменили в настройках целевой платформы модификацию ПЛК, загрузили проект, а он не работает.Большое спасибо, так и было. Я поступил проще - нашел родной пример для ПЛК73, он нормально заработал - вот от него и буду плясать дальше.

Sergey1024
23.10.2012, 21:33
Я создавал тему ПЛК в этом разделе и прилагал простую программу чтения клавиатуры, попробуйте хочется знать какой будет у вас результат.И вам спасибо, программу скачал, проверил - все нормально работает. Дело было просто в некорректной смене таргета.

Sergey1024
23.10.2012, 21:35
У меня пол-года нормально ПЛК-73 на весах-дозаторе трудится.Не подскажете, каким образом обрабатываете вес? АЦП, прямые показания датчика, сторонний весовой индикатор?

kolyan
23.10.2012, 21:35
To Mikhail.

Как ни странно, но, попробовал загрузить Вашу программку - и у меня та же ситуация - светодиоды то мигают, то вообще не зажигаются.
Интересно, почему....
Это уже вопрос к модераторам!

У меня светодиоды показывают состояние дискретных элементов (В0-В7), поэтому программа другая. И всё работает.

Вот кусок, работающий со светодиодами:

kolyan
23.10.2012, 21:38
Не подскажете, каким образом обрабатываете вес? АЦП, прямые показания датчика, сторонний весовой индикатор?

Весы старые, электромеханические, сигнал отвеса формируется бесконтактными датчиками, поэтому - никакой электроники и тензодатчиков)))

Александр Приходько
24.10.2012, 13:33
Подозреваю, что ПЛК-73 это какой то недоделок.
Нужно было в программе нажатие кнопок клавиатуры выводить на индикацию
(светодиоды на панели ПЛК). Так ничего и не получилось, отдал дилеру они обменяли на новый,
а он оказался ещё более дефектный чем первый и сейчас находится в гарантийном ремонте. Написал в службу тех. поддержки
но на вопросы никто не отвечает. Я создавал тему ПЛК в этом разделе и прилагал простую программу чтения клавиатуры, попробуйте
хочется знать какой будет у вас результат.

Mikhail, давайте не будем кидаться выражениями.
На данном ПЛК я реализовал уже с десяток проектов, которые работают уже не первый год. Проблем и жалоб на работу от конечников не было. Да, были "косяки" с нашей стороны. Но на данный момент критические мы исправили.

Возможно вам просто стоит обратиться в Техническую поддержку повторно и решить ваши проблемы. Возможно где-то почитать документацию.

Если с тех поддержкой вопрос решить не удастся, пишите мне на почту.

Александр Приходько
24.10.2012, 13:38
To Mikhail.

Как ни странно, но, попробовал загрузить Вашу программку - и у меня та же ситуация - светодиоды то мигают, то вообще не зажигаются.
Интересно, почему....
Это уже вопрос к модераторам!

У меня светодиоды показывают состояние дискретных элементов (В0-В7), поэтому программа другая. И всё работает.

Вот кусок, работающий со светодиодами:



Читайте внимательно ветку форума. Проблема в том, что после смены таргета (или его переустановки на новую версию) необходимо его сбросить в самом проекте или создать новый проект.

Сделайте новый проект и убедитесь, что все заработает.

Mikhail
24.10.2012, 20:29
Mikhail, давайте не будем кидаться выражениями.
На данном ПЛК я реализовал уже с десяток проектов, которые работают уже не первый год. Проблем и жалоб на работу от конечников не было. Да, были "косяки" с нашей стороны. Но на данный момент критические мы исправили.

Возможно вам просто стоит обратиться в Техническую поддержку повторно и решить ваши проблемы. Возможно где-то почитать документацию.

Если с тех поддержкой вопрос решить не удастся, пишите мне на почту.

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

kolyan
25.10.2012, 10:49
Читайте внимательно ветку форума. Проблема в том, что после смены таргета (или его переустановки на новую версию) необходимо его сбросить в самом проекте или создать новый проект.

Сделайте новый проект и убедитесь, что все заработает.

Я думаю, что и Вам внимательность не помешала бы.

Я создал новый проект "с чистого листа".
В проекте СРАЗУ указал "ПЛК73-М".
И никаких таргетов не изменял более и на новые версии не переходил.
Человек Вам правильно проблему обрисовал, может и в резкой форме.
Вместо того, чтобы говорить о каких-то реализованных проектах, загрузите в ПЛК программу и посмотрите - я сам был немало удивлён.
Вот весь код:
sd:=(WORD_TO_BYTE(kbrd));

kgsh82
25.10.2012, 12:24
Чудеса какие-то. Использую и клавиатуру и светодиоды - раздельно всё работает.
Но вот так: sd:=WORD_TO_BYTE(kbrd); никак не хочет. Будто срабатывает по заднему фронту импульса от нажатия кнопки...как-то так

Александр Приходько
25.10.2012, 14:10
TO kolyan
TO Mikhail

Обидеть ни кого не хотел.
Повторюсь еще раз. Клавиатура и индикация работают.

Но, как только что выяснил, есть маленький нюанс!
Индикация не будет реально переключаться при нажатой какой либо кнопке.
Т.е.
Если вы зажмете кнопку(речь о лицевой панели), попробуете при зажатой кнопке переключить индикацию (включить или выключить), то состояние на индикации не изменится до тех пор, пока вы не отпустите кнопку.
Поэтому если вы хотите отображать индикацию по нажатии на кнопку, необходимо вводить задержку. Чем дольше нажатие на кнопку, тем больше должна быть задержка.

Во вложении небольшой пример, надеюсь это немного смягчит ваше настроение.

Еще пара рекомендаций:
1) Убедитесь, что у вас актуальная прошивка и Target.
2) Убедитесь в том, что запущена программа Онлайн - Старт.

Александр Приходько
25.10.2012, 14:16
Чудеса какие-то. Использую и клавиатуру и светодиоды - раздельно всё работает.
Но вот так: sd:=WORD_TO_BYTE(kbrd); никак не хочет. Будто срабатывает по заднему фронту импульса от нажатия кнопки...как-то так

Почти, индикация срабатывает при условии, что не нажаты кнопки.
Поэтому, как только вы нажимаете кнопку индикация блокируется, как кнопку отпускаете, она срабатывает на мгновение.