; ************************ Начало листаемых енкодером параметров ************************- ; Define_LCD_Key_Enc.inc #define ParamDelta ; Смещение номера литерала листаемых параметров ; Начинается с номера 21, Крыженный перечень ; в PCPWM_3F\Parameters_PSW_12b.xls\Param Msg21 db d'01',0x12 ; 00=Количество стабильных dw Encoder_Count ; состояний клавы #ifdef CyrTable db "Защ. Дребезга=" ;перед обработкой события #else db "Debounce Time=" ;нажатия/отпускания клавы #endif db 0x17,d'03',d'28',0x12; без знаковый десятичный вывод байта - 2 симв dw LCD_DebounceTimeOut; db 0 ; Конец строки Msg22 db d'01',0x12 ; 01=Номер блока настроек dw Encoder_Count ; мотора - 16 индивидуальных #ifdef CyrTable db " Номер Мотора=" ;блоков настроек #else db " Motor Number=" ;хранимых в ЕПРОМ #endif #ifdef PCPWM_Present db 0x17,d'00',d'15',0x10; Hex вывод байта - 2 симв dw PCPWM_MotorNum ; #endif db 0 ; Конец строки Msg23 db d'01',0x12 ; 02=Сверх ток dw Encoder_Count ; Уставка #ifdef CyrTable db "ВерхПорогТока=" ;порога #else db "OverCurrent A=" ;защиты #endif #ifdef PCPWM_Present db 0x17,0x01,0xff,0x10 ; Hex вывод байта - 2 симв dw Par_A ; #endif db 0 ; Конец строки Msg24 db d'01',0x12 ; 03= "Ускорение" - dw Encoder_Count ; количество прерываний АЦП 18 750 Гц ; Номер 03 сравнивается в Proj_Dir\LCD_Key_Enc\Task_Keys.inc~93 #ifdef CyrTable db " Ускорение =" ; между единичными #else db " Accelerate=" ; изменениями скорости #endif #ifdef PCPWM_Present db 0x17,0x01,0xff,0x10 ; Hex вывод байта - 2 симв dw PCPWM_Accelerate ; ; Дополнительный вывод во вторую строку: db 0x16,d'64', "Spd=", 0x10 ; Hex вывод байта - 2 симв dw PCPWM_Speed ; db ", MaxSpd=",0x10 ; Hex вывод байта - 2 симв dw PCPWM_MaxSpdIndx ; #endif db 0 ; Конец строки Msg25 db d'01',0x12 ; Индекс скорости поля dw Encoder_Count ; для вычисления приращения #ifdef CyrTable db "Скорость Поля=" ; накопителя угла #else ; поля синтезатора db " Speed Motor=" ; в служебном экране #endif #ifdef PCPWM_Present db 0x17,0x01,0xff,0x10 ; Hex вывод байта - 2 симв dw PCPWM_Speed ; ; Дополнительный вывод во вторую строку: db 0x16,d'64' db "RPM=" ; db 0x13 ;5 симв BCD-16 ; оборотов ; dw PCPWM_SpdPrint ; в минуту db ", Amp=" ; #ifdef PCPWM_12b; Yes ; 12 бит вычисления вместо 8 бит - пробуем на скорость db 0x11;; вывод слова Hex - 4 симв #else db 0x10;; вывод байта Hex - 2 симв #endif dw PCPWM_AmpSin ; Амплитуда синуса #endif db 0 ; Конец строки Msg26 db d'01',0x12 ; Скорость автозапуска dw Encoder_Count ; при подаче питания #ifdef CyrTable db "Авто Старт= " ; Однократный запуск #else ; если =0 то стоп db "Auto Start= " ; Знак = направление #endif #ifdef PCPWM_Present db 0x17,0x00,0x00,0x14 ; Знаковый десятичный вывод байта 4 симв dw PCPWM_AutoStart ; #endif db 0 ; Конец строки Msg27 db d'01',0x12 ; Начальная модуляция dw Encoder_Count ; при нулевой скорости поля #ifdef CyrTable db "Нач. Модуляц.=" ; #else ; db " V/F Start=" ; #endif #ifdef PCPWM_Present db 0x17,0x00,0xff,0x10 ; Hex вывод байта - 2 симв dw PCPWM_VFStart ; ; Дополнительный вывод во вторую строку: db 0x16,d'64' db "Spd=" ; db 0x10 ;2 симв ; dw PCPWM_Speed ; db ", Amp=" ; #ifdef PCPWM_12b; Yes ; 12 бит вычисления вместо 8 бит - пробуем на скорость db 0x11;; вывод слова Hex - 4 симв #else db 0x10;; вывод байта Hex - 2 симв #endif dw PCPWM_AmpSin ; Амплитуда синуса #endif db 0 ; Конец строки Msg28 db d'01',0x12 ; Усиление модуляции dw Encoder_Count ; при увеличении скорости поля #ifdef CyrTable db "Усил.Модуляц.=" ; #else ; db " V/F Amp=" ; #endif #ifdef PCPWM_Present db 0x17,0x00,0xff,0x10 ; Hex вывод байта - 2 симв dw PCPWM_Amp ; ; Дополнительный вывод во вторую строку: db 0x16,d'64' db "Spd=" ; db 0x10 ;2 симв ; dw PCPWM_Speed ; db ", Amp=" ; #ifdef PCPWM_12b; Yes ; 12 бит вычисления вместо 8 бит - пробуем на скорость db 0x11;; вывод слова Hex - 4 симв #else db 0x10;; вывод байта Hex - 2 симв #endif dw PCPWM_AmpSin ; Амплитуда синуса #endif db 0 ; Конец строки Msg29 db d'01',0x12 ; Индекс максимальной dw Encoder_Count ; скорости поля #ifdef CyrTable db "Инд.МаксСкор.=" ; Приращение 24 бита выбирается из таблиц #else ; или получается умножением скорости 8 бит db "MAX Spd Index=" ; на 16 бит простое число #endif #ifdef PCPWM_Present db 0x17,0x00,0xff,0x10 ; Hex вывод байта - 2 симв dw PCPWM_MaxSpdIndx ; ; Дополнительный вывод во вторую строку: db 0x16,d'64' db "Spd=" ; db 0x10 ;2 симв ; dw PCPWM_Speed ; db ", RPM=" ; db 0x13 ;5 симв BCD-16 ; оборотов dw PCPWM_SpdPrint ; в минуту #endif db 0 ; Конец строки Msg30 db d'01',0x12 ; Индекс таблицы частот ШИМ - dw Encoder_Count ; номер строки списка #ifdef CyrTable db "Инд.Част.ШИМ =" ; Приращение 24 бита выбирается из таблиц #else ; или получается умножением скорости 8 бит db "PWM Freq Indx=" ; на 16 бит простое число #endif #ifdef PCPWM_Present db 0x17,d'0',d'20',0x12; без знаковый десятичный вывод байта - 2 симв dw PcPwmFrqInd ; #endif db 0 ; Конец строки Msg31 db d'01',0x12 ; Индекс таблицы междуфазного dw Encoder_Count ; угла поля - номер строки списка #ifdef CyrTable db "УголМеждуФаз =" ; Междуфазный угол берётся #else ; из таблицы db "LineAngleDelt=" ; (45/72/90/120 градусов) #endif #ifdef PCPWM_Present db 0x17,d'0',d'3',0x12; без знаковый десятичный вывод байта - 2 симв dw PcPwmAngInd ; Индекс угла смещения фазы #endif db 0 ; Конец строки Msg32 db d'01',0x12 ; Номер программы dw Encoder_Count ; состояний мотора #ifdef CyrTable db "Прогр.Управл.=" ; Междуфазный угол берётся #else ; из таблицы db "Ctrl.Programm=" ; (45/72/90/120 градусов) #endif #ifdef PCPWM_Present db 0x17,d'0',d'10',0x12; без знаковый десятичный вывод байта - 2 симв dw PcPwmProg ; Номер программы управления двиглом #endif db 0 ; Конец строки Msg33 db d'01',0x12 ; Защита от низкого напряжения шины DC dw Encoder_Count ; Она же означает замыкание реле зарядки #ifdef CyrTable db "Низкое Напряж=" ; Защита от снижения DC #else ; ниже порога, проверяется db " UnderVolt UV=" ; 150-300 герц #endif #ifdef PCPWM_Present db 0x17,0x00,0xff,0x10 ; Hex вывод байта - 2 симв dw Par_UV; #endif db 0 ; Конец строки Msg34 db d'01',0x12 ; dw Encoder_Count ; #ifdef CyrTable db "ВысокоеНапряж=" ; Защита от превышения DC #else ; выше порога, проверяется db "OverVoltage V=" ; 150-300 герц #endif #ifdef PCPWM_Present db 0x17,0x00,0xff,0x10 ; Hex вывод байта - 2 симв dw Par_V; #endif db 0 ; Конец строки Msg35 db d'01',0x12 ; dw Encoder_Count ; #ifdef CyrTable db "Напр.Тормоза =" ; Защита от превышения DC #else ; при торможении, проверяется db "OverV. Stop V=" ; перед уменьшением реальной скорости #endif #ifdef PCPWM_Present db 0x17,0x00,0xff,0x10 ; Hex вывод байта - 2 симв dw Par_VS; ; Дополнительный вывод во вторую строку: db 0x16,d'64' #ifdef CyrTable db "Шаг=" #else db "MSt=" #endif db 0x10 ; шестнадцатеричный вывод байта - 2 симв dw PCPWM_MotorStatus ; Код возврата из проги состояний мотора db ", V =",0x10 ; dw ADC_Out+7 ; Старший байт Напруги #endif db 0 ; Конец строки Msg36 db d'01',0x12 ; Порог защиты от превышения dw Encoder_Count ; температуры модуля по термистору #ifdef CyrTable db "Термистор Защ=" ; Защита от превышения #else ; температуры выше порога, db "Termist Fault=" ; 150-300 герц #endif #ifdef PCPWM_Present db 0x17,0x00,0xff,0x10 ; Hex вывод байта - 2 симв dw Par_T; ; Дополнительный вывод во вторую строку: db 0x16,d'64',0x10 ; шестнадцатеричный вывод байта - 2 симв dw ADC_Out+1 ; Накопитель АЦП № 0 = Термистор db ", Temp=",0x19 ; dw Adc_Volt+2 ; Термистор IRAMX #endif db 0 ; Конец строки Msg37 db d'01',0x12 ; Первый Порог защиты по dw Encoder_Count ; температуре от датчиков 1 варе #ifdef CyrTable db "W1 Темп.Защ=" ; Защита от превышения #else ; температуры выше порога, db "W1 Temp Flt=" ; проверяется 1 Гц #endif #ifdef W1_Pin db 0x17,0x83,0x7d,0x14 ; Знаковый десятичный вывод байта 4 симв dw Par_K; ; Дополнительный вывод во вторую строку: ;db DS1820_ScratctPad+2,0x10,DS1820_ScratctPad+3,0x10,DS1820_ScratctPad+4,0x10,DS1820_ScratctPad+5,0x10;8 byte ;db DS1820_ScratctPad+6,0x10,DS1820_ScratctPad+7,0x10,DS1820_ScratctPad+8,0x10,DS1820_CRC,0 db 0x16,d'64';,"SP="; Выводим серийник для ручного переноса в код db 0x10 ;2 симв dw DS1820_ScratctPad+0 ; db 0x10 ;2 симв dw DS1820_ScratctPad+1 ; db 0x10 ;2 симв dw DS1820_ScratctPad+2 ; db 0x10 ;2 симв dw DS1820_ScratctPad+3 ; db 0x10 ;2 симв dw DS1820_ScratctPad+4 ; db 0x10 ;2 симв dw DS1820_ScratctPad+5 ; db 0x10 ;2 симв dw DS1820_ScratctPad+6 ; db 0x10 ;2 симв dw DS1820_ScratctPad+7 ; ; db 0x10 ;2 симв ; dw DS1820_ScratctPad+8 ; db "," ;0x10 ;2 симв db 0x10 ;2 симв dw DS1820_CRC ; #endif db 0 ; Конец строки Msg38 db d'01',0x12 ; Второй Порог защиты по dw Encoder_Count ; температуре от датчиков 1 варе #ifdef CyrTable db "W1 Защита 1=" ; Защита от превышения #else ; температуры выше порога, db "W1 Tmp1 Flt=" ; проверяется 1 Гц #endif #ifdef W1_Pin db 0x17,0x83,0x7d,0x14 ; Знаковый десятичный вывод байта 4 симв dw Par_K1; #endif db 0 ; Конец строки Msg39 db d'01',0x12 ; множитель компенсации амплитуды dw Encoder_Count ; при отклонении DC от номинала #ifdef CyrTable db "КомпенсацияDC=" ; 1000 герц планируемая #else ; частота применения db "DC Compensate=" ; компенсатора DC #endif #ifdef PCPWM_Present db 0x17,0x00,0xff,0x10 ; Hex вывод байта - 2 симв dw PcDC_Kf ; Коэффициент компенсации напряжения DC #endif db 0 ; Конец строки Msg40 db d'01',0x12 ; Номинальное напряжение DC dw Encoder_Count ; для сравнения с измеренным #ifdef CyrTable db "НоминальноеDC=" ; 1000 герц планируемая #else ; частота применения db " DC Nominal =" ; компенсатора DC #endif #ifdef PCPWM_Present db 0x17,0x00,0xff,0x10 ; Hex вывод байта - 2 симв dw PcDC_VN ; Номинальное напряжение DC шины #endif db 0 ; Конец строки Msg41 db d'01',0x12 ; Регулировка времени заряда dw Encoder_Count ; конденсаторов плавающего питания #ifdef CyrTable db "ВремяЗарядКнд=" ; Количество тактов PCPWM #else ; вычитаемое из максимального db "TimeChargeCap=" ; значения PDC при верхней полке #endif #ifdef PCPWM_Present db 0x17,0x00,0xff,0x10 ; Hex вывод байта - 2 симв dw PcPwmTopDT ;,F,BANKED; Интервал времени для заряда конденсаторов при верхней полке #endif db 0 ; Конец строки Msg42 db d'01',0x12 ; Регистр аппаратного dw Encoder_Count ; защитного интервала времени #ifdef CyrTable db "ИнтервалDTCON=" ; Прямое изменение #else ; аппаратного регистра управления db "DeadTimeDTCON=" ; интервала защитного времени #endif #ifdef PCPWM_Present db 0x17,0x00,0x3f,0x10 ; Hex вывод байта - 2 симв dw DtConBuf ; Буфер DTCON который внезапно обнаружилось обнуление ; Дополнительный вывод во вторую строку: db 0x16,d'64',"DTCON=",0x10 ; Hex вывод байта - 2 симв dw DTCON ; REGISTER 17-5: DTCON – DEAD TIME CONTROL REGISTER ;db ", Zero=",0x11 ; шестнадцатеричный вывод слова - 4 симв ; dw Adc_AmpZero+0; Ток DC после вычитания смещения нуля #endif db 0 ; Конец строки Msg43 db d'01',0x12 ; Подстройка смещения нуля dw Encoder_Count ; измерителя тока #ifdef CyrTable db "Ноль изм.тока=" ; Компенсатор смещения нуля #else ; измерителя тока - вычитается db "I Zero Adjust=" ; из измерений тока #endif #ifdef ADC_Present db 0x17,0x00,0x00,0x10 ; Hex вывод байта - 2 симв dw Adc_Corr+3 ; ; Правильнее служебное значение накопителя измерений тока выводить здесь ; после расчистки второй строки служебного экрана ; Дополнительный вывод во вторую строку: db 0x16,d'64',0x11 ; шестнадцатеричный вывод слова - 4 симв dw ADC_Out+4 ; Накопитель АЦП № 2 = Ток DC db ", Zero=",0x11 ; шестнадцатеричный вывод слова - 4 симв dw Adc_AmpZero+0; Ток DC после вычитания смещения нуля #endif db 0 ; Конец строки Msg44 db d'01',0x12 ; 21 = Подстройка измерителя тока dw Encoder_Count ; максимального значения #ifdef CyrTable db "Регуль Тока=" ; Умножается со знаком #else ; на измеренное значение db "I Adjust = " ; тока при масштабировании #endif #ifdef ADC_Present db 0x17,0x00,0x00,0x14;0x14 ; Знаковый десятичный вывод байта dw Adc_Corr+1 ; ; Правильнее служебное значение тока выводить здесь ; после расчистки второй строки служебного экрана ; Дополнительный вывод во вторую строку: db 0x16,d'64',0x11 ; шестнадцатеричный вывод слова - 4 симв dw ADC_Out+4 ; Накопитель АЦП № 2 = Ток DC db ", Zero=",0x11 ; шестнадцатеричный вывод слова - 4 симв dw Adc_AmpZero+0; Ток DC после вычитания смещения нуля #endif db 0 ; Конец строки Msg45 db d'01',0x12 ; Подстройка максимального dw Encoder_Count ; измеренного напряжения #ifdef CyrTable db "Напр подстр=" ; Умножается со знаком #else ; на измеренное значение db "550V Adjust=" ; напряжения при масштабировании #endif #ifdef ADC_Present db 0x17,0x00,0x00,0x14;0x14 ; Знаковый десятичный вывод байта dw Adc_Corr+0 ; ; Правильнее служебное значение напряжения выводить здесь ; после расчистки второй строки служебного экрана ; Дополнительный вывод во вторую строку: db 0x16,d'64',0x11 ; шестнадцатеричный вывод слова - 4 симв dw ADC_Out+6 ; Накопитель АЦП №3 = Напруга DC #endif db 0 ; Конец строки Msg46 db d'01',0x12 ; Подстройка измерений dw Encoder_Count ; температруры термистором модуля #ifdef CyrTable db "Термист.Кор=" ; Умножается со знаком #else ; на измеренное значение db "Termist Adj=" ; напряжения термистора #endif #ifdef ADC_Present db 0x17,0x00,0x00,0x14;0x14 ; Знаковый десятичный вывод байта dw Adc_Corr+2 ; ; Дополнительный вывод во вторую строку: db 0x16,d'64',"T=",0x19 ; Спец формат десятичный с точкой ххх.х dw Adc_Volt+2 ; Термистор IRAMX ; db 0x16,d'71',"T=" ; #endif db 0 ; Конец строки Msg47 db d'01',0x12 ;Выбор ПОД строки 6 служебного экрана, dw Encoder_Count ;вывод в 4 строку #ifdef CyrTable db "Вариант 4 стр=" ; Попытка сделать #else ; настраиваемый из меню db " Variant 4s= " ; интерфейс #endif db 0x17,d'53',d'58',0x12; Без Знаковый десятичный вывод байта 2 симв dw LCD_6_4 ; db 0; Конец строки Msg48; Msg49; Msg50; Msg51; Msg52 db d'01',0x12 ; Отладочная подпрограмма dw Encoder_Count ; регулируемой задержки #ifdef CyrTable db "Задержка Тест=" ; Исследование запаса #else ; быстродействия в db " Delay Test=" ; подсистемах #endif #ifdef PCPWM_Present db 0x17,0x01,0xff,0x10 ; Hex вывод байта - 2 симв dw DelayCuriosityIndex ; #endif db 0 ; Конец строки Msg53 ; 4 строка 6 экрана начало db d'84' ; При обработке ПОД строк первый курсор не обрабатывается db 0x16,d'84',"1=",0x19;; Полный адрес нужен #ifdef ADC_Present dw Adc_Volt+0 ; db "V,",0x19; Полный адрес нужен dw Adc_Amp+0 ; #endif db "A,",0x10;; вывод байта Hex - 2 симв dw PortB_Buf;,0; конец 4 строки db 0; Конец строки 4 экрана 6 Msg54 ; 4 строка 6 экрана начало db d'84' ; При обработке ПОД строк первый курсор не обрабатывается db 0x16,d'84',"2=",0x19;; Полный адрес нужен #ifdef ADC_Present dw Adc_Volt+2 db "C,",0x19; Полный адрес нужен dw Adc_Amp+2; #endif db "A,",0x10;; вывод байта Hex - 2 симв dw KeyBuf;,0; конец 4 строки db 0; Конец строки 4 экрана 6 Msg55 ; 4 строка 6 экрана начало db d'84' ; При обработке ПОД строк первый курсор не обрабатывается db 0x16,d'84',"3=",0x19;; Полный адрес нужен #ifdef ADC_Present dw Adc_Volt+4 db "V,",0x19; Полный адрес нужен dw Adc_Amp+4,"A,"; 4 строка с отладочными параметрами #endif db 0; Конец строки 4 экрана 6 Msg56 ; 4 строка 6 экрана начало db d'84' ; При обработке ПОД строк первый курсор не обрабатывается db 0x16,d'84',"4=",0x19;; Полный адрес нужен #ifdef ADC_Present dw Adc_Volt+6 db "V,",0x19; Полный адрес нужен dw Adc_Amp+6,"A,"; 4 строка с отладочными параметрами #endif db 0; Конец строки 4 экрана 6 Msg57 ; 4 строка 6 экрана начало db d'84' ; При обработке ПОД строк первый курсор не обрабатывается #ifdef ADC_Present db 0x16,d'84',0x11;; Полный адрес нужен dw ADC_Out db "M=",0x11; Полный адрес нужен dw ADC_Max_Out;,","; 4 строка с отладочными параметрами db " E",0x10;; вывод байта Hex - 2 симв dw ADC_ERR_Counter ; #endif #ifdef PCPWM_Present ; Счётчик db 0x10;; вывод байта Hex - 2 симв dw PCPWM_Err ; пропущенных #endif ; обработок db " ",0x10;; вывод байта Hex - 2 симв dw KeyBuf;,0; конец 4 строки db 0; Конец строки 4 экрана 6 Msg58 Msg59 Msg60 ; 4 строка 6 экрана начало db d'84' ; При обработке ПОД строк первый курсор не обрабатывается db 0x16,d'84',"5=",0x10;; Полный адрес нужен #ifdef ADC_Present dw ADC_Out+0x1 ; Ст байт Канал 0 нога 2 Запас db 0x10; Полный адрес нужен dw ADC_Out+0x3 ; Ст байт Канал 1 нога 3 Термистор IRAMX db 0x10; Полный адрес нужен dw ADC_Out+0x5 ; Ст байт Канал 2 нога 4 Ток общий db 0x10; Полный адрес нужен dw ADC_Out+0x7 ; Ст байт Канал 3 нога 5 Напряжение общее db 0x10; Полный адрес нужен dw ADC_Out+0x9 ; Ст байт Канал 8 нога 10 db 0x10; Полный адрес нужен dw ADC_Out+0xB ; Ст байт Канал 5 нога 7 db 0x10; Полный адрес нужен dw ADC_Out+0xD ; Ст байт Канал 6 нога 8 db 0x10; Полный адрес нужен dw ADC_Out+0xF ; Ст байт Канал 7 нога 9 #endif db " ",0; Конец строки 4 экрана 6 db 0,0,0; Конец строки надёжный