Текстовая часть программы

В этом файле многие переменные и функции я оставил в обозначениях, близких к исходным. Я уже говорил, что собираюсь переделать программу из программы релейного модуля. Часть текста, подправив, я взял из текста программы модуля приемника системных ИК-команд. Правка была минимальной. Что такое зеленые здания? Это дома с максимально выполненными экологическими требованиями.

Здесь мне хотелось бы еще раз вернуться к вопросу о написании текста программы. Многие переменные в представленном выше тексте обозначены так, что трудно понять, для каких целей они служат. Функции не облегчают понимание их назначения. Вернувшись к тексту после нескольких недель перерыва, начинаешь понимать, что лучше было бы все сделать иначе. Удобно обозначать переменные, чтобы легко было понять их назначение. То же касается и функций. Для этого есть много правил, которые лучше поискать в руководствах по программированию. Но есть один момент в работе над текстом. Переменную удобно обозначить, например, int digital_input_close. Однако, используя эту переменную десятки раз, переделывая программу столько же раз, ты понимаешь, что каждый раз вписывать это многословное название переменной - утомительное занятие. Можно, конечно, копировать название из текста программы. Но для этого приходится возвращаться к началу, затем искать место, где ты работал. Курсы BACnet хороший выбор для профессионала.

Можно поступить иначе, и это будет полезно во всех отношениях - использовать файл todo.txt. В нем перечислить все переменные и функции, попутно описав их. Переключение между файлами быстрое, а копирование не сложное, поскольку перечень переменных и функций можно сделать коротким.

При проверке макета (а для его проверки я использую тестовую часть основной программы, исправив обращение к одному из модулей на обращение к модулю цифровых входов - D14$0S), первое, что мне не нравится, но не является неожиданностью, - это поведение входов. Думаю, причина в отсутствии «подтягивающих» резисторов.Я впаиваю на макет подтягивающие резисторы (резисторы между плюсом питающего напряжения и выводом) на входы, и картина действительно меняется - макет полностью перестает реагировать на тестовые команды!

Создается впечатление, что или конвертер RS232-RS485, или интерфейс RS485 макета вышли из строя. В моем распоряжении только мультиметр. Не самый удачный вариант. Первое, что приходит в голову после нескольких неудачных попыток оживить модуль, - внести в программу изменение: при инициализации переключить драйвер RS485 на передачу (бит RB0). Бит переключается, что уже хорошо. Затем, манипулируя индикаторами на выводах RA0-RA2, я начинаю проверять, в чем дело? И проблема оказывается в простой халатности - при переделке программы релейного модуля я, хотя и намеревался, не изменил основную часть программы, которую собирался позаимствовать от программы фотоприемника. После изменения программы модуль цифровых входов стал работать вполне убедительно. Окончив курсы knx, вы решите много проблем.

Теперь осталось проверить работу модуля в основной программе в режиме Работа. В этом режиме программа не реагирует ни на что, кроме сетевых событий. Ранее для выхода из режима Работа я использовал ИК-команду. Сейчас я хочу использовать изменение входа RA3, внеся для этой цели изменения в основную программу: Sub work() Do ; Forml. Key Preview = True Forml. MSComml. Output = "D14$0S"; For i = 0 To 10000000 Next i; strAnsw = Forml.MSComml.Input и т.д. до строки Саве "D14$0SD14240"; ext = True End Select. Таким образом, я поменял обращение к модулю (было обращение к модулю фотоприемника) и условие выхода. Программа работает.



Free porn videos