PDA

Просмотр полной версии : Аппаратные кнопки СПК207



Солнечный заяц
15.02.2012, 14:59
Как использовать аппаратные кнопки СПК? Не нашел нужной библиотеки или инструкции...

Солнечный заяц
16.04.2012, 14:01
Один добрый человек раскрыл мне эту страшную тайну, но почему-то в ЛС.
Аппаратные клавиши работают как встроенная клавиатура:
SYS==0;
F1==1;
F2==2 и т.д.
Их можно использовать как горячие клавиши, например в свойствах графического элемента.

П.С. А можно ли использовать светодиоды, рядом с этими клавишами, как дискретные выходы?

Alex-X
20.03.2014, 13:22
П.С. А можно ли использовать светодиоды, рядом с этими клавишами, как дискретные выходы?

Если актуально: нужна библиотека http://www.kipshop.ru/CoDeSys3.0/bibl/sysexec.zip
Добавить код:
Для включения:
SysExecute('echo "1" > /sys/class/leds/sv1/brightness'); (*индикатор кнопки SYS*)
SysExecute('echo "1" > /sys/class/leds/sv2/brightness'); (*индикатор кнопки F1*)
...
SysExecute('echo "1" > /sys/class/leds/buzzer/brightness'); (*пищалка*)

Для выключения:
SysExecute('echo "0" > /sys/class/leds/sv1/brightness'); (*индикатор кнопки SYS*)
SysExecute('echo "0" > /sys/class/leds/sv2/brightness'); (*индикатор кнопки F1*)
....
SysExecute('echo "0" > /sys/class/leds/buzzer/brightness'); (*пищалка*)

Проверено на СПК207

Солнечный заяц
21.03.2014, 09:28
Уже не актуально, но весьма полезно. Спасибо.

bezbel
26.05.2014, 09:35
Извините, а можно подробнее, как использовать аппаратные кнопки в ST? Приведите, пожалуйста, пример опроса аппаратных кнопок.

Солнечный заяц
28.05.2014, 19:52
Извините, а можно подробнее, как использовать аппаратные кнопки в ST? Приведите, пожалуйста, пример опроса аппаратных кнопок.
Аппаратные кнопки - это способ ввода текста (в нашем случае чисел от 0 до 5?). Соответственно, для ввода текста, Вам нужна визуализация. Рисуете кнопки (или области скрытого ввода), и задаете для них горячие клавиши, это проще всего. А уж дальше, хоть присваивайте переменные, хоть выполняйте код.

Alev
18.11.2015, 14:30
Извините, а можно подробнее, как использовать аппаратные кнопки в ST? Приведите, пожалуйста, пример опроса аппаратных кнопок.

Солнечный Заяц отвечал на этот вопрос - спасибо ему. Но, всё таки хотелось бы получить более подробную информацию по этому актуальному вопросу. Пример на ST, может быть ещё какая тема есть на форуме, господа модераторы могли бы чем-нибудь помочь начинающим? А то как-то странно: кнопки есть, а как ими пользоваться не видно информации. Будьте добры!

Alev
18.11.2015, 14:35
И ещё про светодиоды не видно официальной информации в ближайшем доступе. Такие вещи едва ли не в инструкции по эксплуатации должны быть прописаны, хотя бы какие-то ссылки...

Евгений Кислов
18.11.2015, 14:42
И ещё про светодиоды не видно официальной информации в ближайшем доступе. Такие вещи едва ли не в инструкции по эксплуатации должны быть прописаны, хотя бы какие-то ссылки...

См. документ СПК. FAQ, п. 14.3-4.

Alev
19.11.2015, 10:51
Извините за тупость, но не пойму, где искать сей документ. На форуме тема "СПК - Примеры программ, инструкции, полезные советы, FAQ", например, пост 14 нет ничего...
Может быть поможет ссылка ?

Евгений Кислов
19.11.2015, 11:01
Извините за тупость, но не пойму, где искать сей документ. На форуме тема "СПК - Примеры программ, инструкции, полезные советы, FAQ", например, пост 14 нет ничего...
Может быть поможет ссылка ?

Ссылка в моей подписи.

POMAXA
16.02.2016, 23:01
Здравствуйте. Подскажите пожалуйста, как опросить переключатель на задней панели СПК207.

Евгений Кислов
17.02.2016, 07:28
Здравствуйте. Подскажите пожалуйста, как опросить переключатель на задней панели СПК207.

Воспользуйтесь библиотекой GPIO library.
http://www.owen.ru/catalog/codesys_v3/80224381

POMAXA
17.02.2016, 14:16
Огромное спасибо!

den5959
12.05.2016, 06:30
Если в проекте несколько экранов, то для нормальной работы аппаратных кнопок СПК207 нужно делать привязку к элементам на каждом экране (п.14.3 SPK_FAQ_v.1.1.pdf) или использовать фрейм. Может быть, есть более простой способ описания аппаратных кнопок в программе для их работы на всех экранах?

Евгений Кислов
12.05.2016, 07:40
Если в проекте несколько экранов, то для нормальной работы аппаратных кнопок СПК207 нужно делать привязку к элементам на каждом экране (п.14.3 SPK_FAQ_v.1.1.pdf) или использовать фрейм. Может быть, есть более простой способ описания аппаратных кнопок в программе для их работы на всех экранах?

В данный момент более простого способа нет, но он появится в следующей версии таргет-файла.

energvk
21.10.2016, 23:14
Доброго времени суток

Попробовал применить ФБ Keys из библиотеки SPK_TOOLS для переключения экрана:

spkHardKeys(
xSys=> key_sys,
xF1=> key_f1,
xF2=> ,
xF3=> ,
xF4=> ,
xF5=> ,
xSwitch=> );
//spkHardKeys();
//key_sys := spkHardKeys.xSys;
srKey(SET1:= key_sys, RESET:= , Q1=> sys_clicked);

rtrClkSysKey(CLK:= key_sys, Q=> );
numClickSysKey := numClickSysKey + BOOL_TO_INT(rtrClkSysKey.Q);

IF DINT_TO_BOOL(SysStrCmp(sString1:= 'vis_08rtc_setup', visuelems.CURRENTVISU)) THEN //Запоминание экрана на котором была выключена подсветка
tempString := visuelems.CURRENTVISU;
END_IF

IF key_sys THEN
visuelems.CURRENTVISU := 'vis_08rtc_setup';
END_IF
IF key_f1 THEN
visuelems.CURRENTVISU := tempString;
END_IF

Не работает. Переменная numClickSysKey не меняется.

Евгений Кислов
22.10.2016, 08:35
Какая версия SPK tools используется?

energvk
22.10.2016, 13:16
Версия 1.3.12

Евгений Кислов
24.10.2016, 08:52
Версия 1.3.12

Проверил ваш код - у меня все работает, numClickSysKey инкрементируется при нажатии кнопки.
Какая у вас модель и модификация СПК? (в стиле "СПК207.03.CS.WEB M04")

energvk
24.10.2016, 09:22
Проверил ваш код - у меня все работает, numClickSysKey инкрементируется при нажатии кнопки.
Какая у вас модель и модификация СПК? (в стиле "СПК207.03.CS.WEB M04")

У меня именно ПК207.03.CS.WEB M04

Евгений Кислов
24.10.2016, 09:51
Свяжитесь со мной по skype, пожалуйста.