#include "complex.h" byte SEC1,SEC2,SEC3,SEC4,O1,O2,O3,O4,O5,O6,O7,O8,O9,O10,O11,O12,O13,O14,O15,O16; byte K1,K2,K3,K4,K5,K6,K7,K8,Down,Left,Right,Up,End,Home,PgDn,PgUp; byte View,View1,Quit_S,Quit_Sen,Quit_B,Menu,Mnemo,K_MGN,K_CUT,K_MEC,Kont,Kadr,Prot,Help; byte Finish,exit_s,PR_SCR,PR_SCR1,Quit_SP,Metr,Prog,S711_P,MAN,AUTO,CAS,COMP,PULT; byte MORE,LESS,QMORE,QLESS,ON,OFF,OP,STP,CL,UCHETB,UCHET0,UCHET1,UCHETE; byte Tab,ENTER,ENTER_S,ESC,S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,SPLUS,SMIN,SPOINT,Backspace; byte Ent_grey,TST_INF,NumLock,SWITH_ON; float T_KEY,t_out_v; void set_kbd() { T_KEY = 1.0; // вpемя pеакции на команду (c) if (t_kbd==1) //Определение кодов клавиш технологической клавиатуры v1.0 { // Клавиши выбоpа секции - взято из обычной кл-pы SEC1 = 0x52; // секция 1 SEC2 = 0x4d; // секция 2 SEC3 = 0x38; SEC4 = 0x2a; // Клавиши выбора объекта отображения O1 = 0x43; // выбор первого объекта O2 = 0x41; // выбор второго объекта O3 = 0x3f; // выбор 3-го объекта O4 = 0x3d; // выбор 4-го объекта O5 = 0x3b; // выбор 5-го объекта O6 = 0x3c; // выбор 6-го объекта O7 = 0x58; // выбор 7-го объекта O8 = 0x64; // выбор 8-го объекта O9 = 0x44; // выбор 9-го объекта O10 = 0x42; // выбор 10-го объекта O11 = 0x40; // выбор 11-го объекта O12 = 0x3e; // выбор 12-го объекта O13 = 0x0f; // выбор 13-го объекта O14 = 0x29; // выбор 14-го объекта O15 = 0x59; // выбор 15-го объекта O16 = 0x65; // выбор 16-го объекта // Клавиши выбора контура управления K1 = 0x72; // выбор 1-го контура K2 = 0x32; // выбор 2-го контура K3 = 0x24; // выбор 3-го контура K4 = 0x16; // выбор 4-го контура K5 = 0x08; // выбор 5-го контура K6 = 0x09; // выбор 6-го контура K7 = 0x5f; // выбор 7-го контура K8 = 0x6b; // выбор 8-го контура // Kлавиши управления курсором Down = 0x18; // вниз на 1 строку Left = 0x25; // влево на 1 позицию Right = 0x33; // вправо на 1 позицию Up = 0x17; // вверх на 1 строку End = 0xf1; // на конец списка Home = 0xf2; // на начало списка PgDn = 0x4f; // на следующую страницу PgUp = 0x7d; // на предыдущую страницу // Клавиши выбора функций View = 0x75; // вызов общего вида (O) View1 = 0x75; // вызов общего вида (P) Quit_S= 0x45; // квитация звука Quit_Sen = 0x53; // включить/выключить звук Quit_B= 0x01; // квитация мигания Menu = 0x1c; // Главное меню (?) Mnemo = 0x1b; // мнемосхема (M) K_MGN = 0x73; // вызов группы графиков мгнов. знач.(V) K_CUT = 0x28; // вызов группы графиков суточн. знач.(B) K_MEC = 0x74; // вызов группы графиков месячн. знач.(N) Kont = 0x2b; // вызов группы контуров(K) Kadr = 0x56; // вызов таблиц(T) Prot = 0x55; // вызов протоколов Help = 0x63; // посказка (H) Finish= 0x4c; // остановить КОМЛЕКС PR_SCR= 0x1a; // печать экpана // Ins = 0x53; // включить возможность звука // Del = 0x50; // выключить возможностьть звука Quit_SP=0x48; // квитация pечевого сопpовождения Metr =0x62; // метрология Prog = 0x62; S711_P= 0x77; // загрузка программы в S711 - РУЧ ВВ // Клавиши управления режимом контура MAN = 0x0a; // установить ручной режим AUTO = 0x60; // установить автоматический режим CAS = 0x6c; // установить каскадный режим COMP = 0x35; // установить режим oт УВМ PULT = 0x0b; // pежим АВТ с пульта опеpатоpа // Клавиши управления заданием и выходом MORE = 0x0c; // увеличить задание или выход LESS = 0x27; // уменьшить задание или выход QMORE = 0x61; // быстро увеличить задание или выход QLESS = 0x26; // быстро уменьшить задание или выход ON = 0x47; // включить OFF = 0x7e; // выключить OP = 0x6f; // ВКЛ, БЛК, ОТКР STP = 0x7f; // СТОП CL = 0x4b; // ВЫКЛ, ДБЛК, ЗАКР // Клавиши управления режимом учета параметра UCHETB= 0x4e; // начало изменения режима учета параметра UCHET0= 0x14; // исключение параметра из учета UCHET1= 0x13; // включение параметра в учет UCHETE= 0x75; // конец изменения режима учета параметра Tab = 0x19; // переход из окна в окно ENTER = 0x57; // ENTER_S = 0x9C; ESC = 0x34; // Клавиши калькулятора S0 = 0x2f; S1 = 0x2e; S2 = 0x2d; S3 = 0x20; S4 = 0x12; S5 = 0x05; S6 = 0x04; S7 = 0x5c; S8 = 0x68; S9 = 0x39; SPLUS = 0x13; SMIN = 0x14; SPOINT= 0x21; Backspace=0x30; Ent_grey =0x69; TST_INF = 0xFF; //0x0D; //Вывод тестовой информации SWITH_ON = 0x23; //Код инжинерной клавиатуры для переключения на нее "?" t_out_v = 0.5; //тайм-аут нажатия (c) return; } if(t_kbd==0 || t_kbd==2) //Определение кодов клавиш инжинерной и технологической клавиатуры v2.0 { SEC1 = 0x29; // секция 1 SEC2 = 0x2b; // секция 2 SEC3 = 0x57; SEC4 = 0x58; // Клавиши выбора объекта отображения O1 = 0x02; // выбор первого объекта O2 = 0x03; // выбор второго объекта O3 = 0x04; // выбор 3-го объекта O4 = 0x05; // выбор 4-го объекта O5 = 0x06; // выбор 5-го объекта O6 = 0x07; // выбор 6-го объекта O7 = 0x08; // выбор 7-го объекта O8 = 0x09; // выбор 8-го объекта O9 = 0x10; // выбор 9-го объекта O10 = 0x11; // выбор 10-го объекта O11 = 0x12; // выбор 11-го объекта O12 = 0x13; // выбор 12-го объекта O13 = 0x14; // выбор 13-го объекта O14 = 0x15; // выбор 14-го объекта O15 = 0x16; // выбор 15-го объекта O16 = 0x17; // выбор 16-го объекта // Клавиши выбора контура управления K1 = 0x3b; // выбор 1-го контура K2 = 0x3c; // выбор 2-го контура K3 = 0x3d; // выбор 3-го контура K4 = 0x3e; // выбор 4-го контура K5 = 0x3f; // выбор 5-го контура K6 = 0x40; // выбор 6-го контура K7 = 0x41; // выбор 7-го контура K8 = 0x42; // выбор 8-го контура // Kлавиши управления курсором Down = 0x50; // вниз на 1 строку Left = 0x4b; // влево на 1 позицию Right = 0x4d; // вправо на 1 позицию Up = 0x48; // вверх на 1 строку End = 0x4f; // на конец списка Home = 0x47; // на начало списка PgDn = 0x51; // на следующую страницу PgUp = 0x49; // на предыдущую страницу // Клавиши выбора функций View = 0x18; // вызов общего вида (O) View1 = 0x19; // вызов общего вида (P) Quit_S= 0x1a; // квитация звука Quit_Sen = 0x9A; // включить/выключить звук Quit_B= 0x1b; // квитация мигания Menu = 0x35; // Главное меню (?) Mnemo = 0x32; // мнемосхема (M) K_MGN = 0x2f; // вызов группы графиков мгнов. знач.(V) K_CUT = 0x30; // вызов группы графиков суточн. знач.(B) K_MEC = 0x31; // вызов группы графиков месячн. знач.(N) Kont = 0x25; // вызов группы контуров(K) Kadr = 0x20; // вызов таблиц(T) Prot = 0x22; // вызов протоколов Help = 0x23; // посказка (H) TST_INF = 0xA3; //0x97; //Вывод тестовой информации Finish= 0x21; // остановить КОМЛЕКС exit_s= 0xA1; // тоже PR_SCR= 0x1e; // печать экpана PR_SCR1= 0x9e; // печать экpана в файл // Ins = 0x52; // включить возможность звука // Del = 0x53; // выключить возможностьть звука Quit_SP=0x26; // квитация pечевого сопpовождения Metr =0x1f; // метрология Prog = 0x39; S711_P= 0x46; // загрузка программы в S711 - РУЧ ВВ // Клавиши управления режимом контура MAN = 0x0a; // установить ручной режим AUTO = 0x0b; // установить автоматический режим CAS = 0x0c; // установить каскадный режим COMP = 0x0d; // установить режим oт УВМ PULT = 0xff; // pежим АВТ с пульта опеpатоpа // Клавиши управления заданием и выходом MORE = 0x34; // увеличить задание или выход LESS = 0x33; // уменьшить задание или выход QMORE = 0x2d; // быстро увеличить задание или выход QLESS = 0x2c; // быстро уменьшить задание или выход ON = 0x43; // включить OFF = 0x44; // выключить OP = 0x4a; // ВКЛ, БЛК, ОТКР STP = 0x37; // СТОП CL = 0x4e; // ВЫКЛ, ДБЛК, ЗАКР // Клавиши управления режимом учета параметра UCHETB= 0x38; // начало изменения режима учета параметра UCHET0= 0x4a; // исключение параметра из учета UCHET1= 0x4e; // включение параметра в учет UCHETE= 0x19; // конец изменения режима учета параметра Tab = 0x0f; // переход из окна в окно ENTER = 0x1c; ENTER_S = 0x9C; ESC = 0x01; // Клавиши калькулятора S0 = 0x52; S1 = 0xD4; //0x4f; S2 = 0xD5; //0x50; S3 = 0xD6; //0x51; S4 = 0xD7; //0x4b; S5 = 0xD8; //0x4c; S6 = 0xD9; //0x4d; S7 = 0xDA; //0x47; S8 = 0xDB; //0x48; S9 = 0x49; SPLUS = 0x4e; SMIN = 0x4a; SPOINT= 0x53; Backspace=0x0e; NumLock = 0x45; SWITH_ON = 0x63; //Код технологической клавиатуры для переключения на нее "Help" t_out_v = 0.5; //тайм-аут нажатия (c) } if(t_kbd==3) //Определение кодов клавиш инжинерной(ноутбук) { SEC1 = 0x29; // секция 1 SEC2 = 0x2b; // секция 2 SEC3 = 0x57; SEC4 = 0x58; // Клавиши выбора объекта отображения O1 = 0x02; // выбор первого объекта O2 = 0x03; // выбор второго объекта O3 = 0x04; // выбор 3-го объекта O4 = 0x05; // выбор 4-го объекта O5 = 0x06; // выбор 5-го объекта O6 = 0x07; // выбор 6-го объекта O7 = 0x08; // выбор 7-го объекта O8 = 0x09; // выбор 8-го объекта O9 = 0x10; // выбор 9-го объекта O10 = 0x11; // выбор 10-го объекта O11 = 0x12; // выбор 11-го объекта O12 = 0x13; // выбор 12-го объекта O13 = 0x14; // выбор 13-го объекта O14 = 0x15; // выбор 14-го объекта O15 = 0x16; // выбор 15-го объекта O16 = 0x17; // выбор 16-го объекта // Клавиши выбора контура управления K1 = 0x3b; // выбор 1-го контура K2 = 0x3c; // выбор 2-го контура K3 = 0x3d; // выбор 3-го контура K4 = 0x3e; // выбор 4-го контура K5 = 0x3f; // выбор 5-го контура K6 = 0x40; // выбор 6-го контура K7 = 0x41; // выбор 7-го контура K8 = 0x42; // выбор 8-го контура // Kлавиши управления курсором Down = 0x50; // вниз на 1 строку Left = 0x4b; // влево на 1 позицию Right = 0x4d; // вправо на 1 позицию Up = 0x48; // вверх на 1 строку End = 0x4f; // на конец списка Home = 0x47; // на начало списка PgDn = 0x51; // на следующую страницу PgUp = 0x49; // на предыдущую страницу // Клавиши выбора функций View = 0x18; // вызов общего вида (O) View1 = 0x19; // вызов общего вида (P) Quit_S= 0x1a; // квитация звука Quit_Sen = 0x9A; // включить/выключить звук Quit_B= 0x1b; // квитация мигания Menu = 0x35; // Главное меню (?) Mnemo = 0x32; // мнемосхема (M) K_MGN = 0x2f; // вызов группы графиков мгнов. знач.(V) K_CUT = 0x30; // вызов группы графиков суточн. знач.(B) K_MEC = 0x31; // вызов группы графиков месячн. знач.(N) Kont = 0x25; // вызов группы контуров(K) Kadr = 0x20; // вызов таблиц(T) Prot = 0x22; // вызов протоколов Help = 0x23; // посказка (H) TST_INF = 0xA3; //0x97; //Вывод тестовой информации Finish= 0x21; // остановить КОМЛЕКС exit_s= 0xA1; // тоже PR_SCR= 0x1e; // печать экpана PR_SCR1= 0x9e; // печать экpана в файл // Ins = 0x52; // включить возможность звука // Del = 0x53; // выключить возможностьть звука Quit_SP=0x26; // квитация pечевого сопpовождения Metr =0x1f; // метрология Prog = 0x39; S711_P= 0x46; // загрузка программы в S711 - РУЧ ВВ // Клавиши управления режимом контура MAN = 0x0a; // установить ручной режим AUTO = 0x0b; // установить автоматический режим CAS = 0x0c; // установить каскадный режим COMP = 0x0d; // установить режим oт УВМ PULT = 0xff; // pежим АВТ с пульта опеpатоpа // Клавиши управления заданием и выходом MORE = 0x34; // увеличить задание или выход LESS = 0x33; // уменьшить задание или выход QMORE = 0xB4; // быстро увеличить задание или выход 0x2d; QLESS = 0xB3; // быстро уменьшить задание или выход 0x2c; ON = 0x43; // включить OFF = 0x44; // выключить OP = 0x2e; // ВКЛ, БЛК, ОТКР 0x4a; STP = 0x2d; // СТОП 0x37; CL = 0x2c; // ВЫКЛ, ДБЛК, ЗАКР 0x4e; // Клавиши управления режимом учета параметра UCHETB= 0x38; // начало изменения режима учета параметра UCHET0= 0x4a; // исключение параметра из учета UCHET1= 0x4e; // включение параметра в учет UCHETE= 0x19; // конец изменения режима учета параметра Tab = 0x0f; // переход из окна в окно ENTER = 0x1c; ENTER_S = 0x9C; ESC = 0x01; // Клавиши калькулятора S0 = 0x52; S1 = 0xD4; //0x4f; S2 = 0xD5; //0x50; S3 = 0xD6; //0x51; S4 = 0xD7; //0x4b; S5 = 0xD8; //0x4c; S6 = 0xD9; //0x4d; S7 = 0xDA; //0x47; S8 = 0xDB; //0x48; S9 = 0x49; SPLUS = 0x4e; SMIN = 0x4a; SPOINT= 0x53; Backspace=0x0e; NumLock = 0x45; SWITH_ON = 0x63; //Код технологической клавиатуры для переключения на нее "Help" t_out_v = 0.5; //тайм-аут нажатия (c) } }