НТК Интерфейс
Контроллеры серии «Синком-Д». Руководство по эксплуатации
×
Меню

4.24. Дорасчет телепараметров в контроллере Синком Д

 В контроллере Синком Д предусмотрена возможность реализации пользовательских алгоритмов обработки телеметрии. Результат обработки может сохраняться в виде новых телесигналов и телеизмерений или управлять выходами модуля ТУ430Б.
Алгоритмы пишутся на языке С (Си).
Для облегчения разработки алгоритмов изготовитель предоставляет интегрированную среду (редактор + компилятор) на базе популярного редактора Notepad++ в ОС Windows.
Для установки на компьютер пользователя достаточно скачать архив C_calculator.zip с сайта изготовителя и развернуть его в любом каталоге.
Для запуска вызовите Редактор.bat
 
 Для запуска компиляции текста программы пользователя и получения загружаемого в контроллер файла (с расширением hex ) нужно нажать клавишу F9 или кнопку
Результат отобразится в нижней панели (Console)
 
 
Сообщение UserProg.hex Ready load to SincomD controller! означает что в каталоге готов загрузочный файл UserProg.hex который можно заносить в котроллер.
В каталоге можно держать произвольное количество программ дорасчета для разных контроллеров. Имя пользовательской программы произвольное, но обязательно с расширением *.c
В случае наличия ошибок в тексте программы, в консоли появятся сообщения об ошибках, которые необходимо исправить.
 
 
Для загрузки готовой программы в контроллер, зайдите в конфигурацию контроллера и откройте вкладку «Дорасчет».
 
 
Кнопкой «Обзор» выберите файл программы дорасчета (!!! Обязательно с расширением .hex) и сделайте «запись в контроллер».
Если до этого период запуска был уже задан – программа начнет работать сразу, но предпочтительно сделать перезапуск контроллера. Если не задан – установите нужный период и сделайте запись конфигурации в контроллер.
Проверьте статус программы дорасчета:
«Отключено» - не задано время цикла запуска
«В работе» - это нормальный статус
«Заблокировано по зависанию» - наличие ошибки в программе дорасчета. В норме функция UserProgrammCycle() должна выполнить нужные действия и завершиться. В случае отсутствия выхода из программы дорасчета произойдет рестарт контроллера и программа пользователя будет заблокирована.
Для исключения негативного влияния программы пользователя не рекомендуется писать программы со временем исполнения более 300 мксек. Посмотреть текущее время исполнения можно в мониторинге (на примере выделено):