Принцип настройки PDU

Блок управления кузовной электрикой (power distribution unit)
Ответить
Аватара пользователя
Denisvak
Сообщения: 61
Зарегистрирован: Пт июн 01, 2018 7:14 am

Принцип настройки PDU

Сообщение Denisvak » Вт сен 10, 2019 1:16 pm

Настройка логики работы PDU, на данный момент, происходит через текстовый файл определенной структуры- скрипт, который необходимо загрузить в него. В дальнейшем скрипт будет компилироваться исходя из графически настраиваемой логики.
Скрипт может писаться в обычном блокноте, и иметь кодировку ANSI. Но удобнее для этого использовать Notepad++
Каждая команда должна обязательно заканчиваться символом ";" после которой может следовать комментарий начинающийся после символов "//"

Код: Выделить всё

это команда;  //это коментарий
  • Начинать скрипт необходимо строками:

    Код: Выделить всё

    DEV_ID=1;		//номер устройства в сети
    CAN_SPEED=500;		//скорость CAN допустимые значения: 125, 250, 500, 1000.
    ENDIAN=LITTLE;		//BIG/LITTLE - очередность байт в слове CAN сообщений
    
    DEV_ID = номер PDU в сети. по умолчанию при производстве устройству задается 0 или 1. Его необходимо назначать в интервале 1-100, задавать двум устройствам одинаковый DEV_ID недопустимо.
    CAN_SPEED = скорость CAN шины, допустимые значения: 125, 250, 500, 1000.

  • Настройка выходов по току и перезапуск:

    Код: Выделить всё

    OutSetup.X=6.5/70/2000;		//задание тока срабатывания защиты выхода №X(X=1-8), основной ток 6.5А(1-20), ток при пуске 70.0А(1-150), время отработки пуска 2000мс(3000)
    OutAutoRes.X=0/1000;		//авторестарт при срабатывании защиты на выходе №X(X=1-8) 0-рестарт неограниченное число раз 1000мс-период рестарта(настройка по умолчанию)
    
  • Настройка дискретных входов CAN

    Код: Выделить всё

    CAN_DI.X=0x504/0/0;		//Настраиваем дискретный вход CAN X: сообщение с ID 0x504 байт0 бит0
    Максимальное кол-во дискретных входов = 30
  • Настройка входного канала CAN

    Код: Выделить всё

    CAN_CH.X=0x504/2/2;		//Канал имеет ID 0x504 Смещение 2 байта, длина данных 2 байта.
    Максимальное кол-во каналов на вход = 30




  • Использование элементов "И", "ИЛИ"

    Код: Выделить всё

    Or.x=And.1+And.2+And.3;
    And.x=And.2+And.4+Or.2+Tim.3;
    
    после знака "=" перечисляем(до 10шт) любые необходимые элементы имеющие дискретный выход(And, Or, COMPARE_CONST, Hi и т.д.)
    Максимальное кол-во элементов = 100
  • Привязка выхода PDU к источнику

    Код: Выделить всё

    Out.X=And.1;			//Вывод PDU X подключаем к выходу элемента "И" 1.(пример)
    после знака "=" указываем любой элемент имеющий дискретный выход(And, Or, COMPARE_CONST, Hi и т.д.)

  • Заканчивается скрипт строкой

    Код: Выделить всё

    END;		//Конец файла.
    				//Пустая строка
    
    После строки "END" обязательно должна быть пустая строка




При загрузке некорректного скрипта скорость CAN устанавливается в 500кб/сек и DEV_ID = 0
продолжение следует...



Важно, после конечной строки "END" должна быть пустая строка!
Важно чтобы все элементы начинались с 1 и следовали друг за другом без пропусков!
Вложения
Test2.rar
(770 байт) 194 скачивания
Civic.rar
(4.38 КБ) 235 скачиваний

Аватара пользователя
Denisvak
Сообщения: 61
Зарегистрирован: Пт июн 01, 2018 7:14 am

Re: Принцип настройки PDU

Сообщение Denisvak » Вс окт 04, 2020 2:25 pm

Пример использования счетчика

Код: Выделить всё


COUNTER.1=DI.1/DI.2/NULL/5/1;		//указатель на инкремент/на декремент/на сброс/максимальное значение счетчика /значение по дефолту;

COMPARE_CONST.1=COUNTER.1=2;
COMPARE_CONST.2=COUNTER.1=3;


Out.3 = COMPARE_CONST.1;
Out.3 = COMPARE_CONST.2;


Аватара пользователя
Denisvak
Сообщения: 61
Зарегистрирован: Пт июн 01, 2018 7:14 am

Re: Принцип настройки PDU

Сообщение Denisvak » Чт окт 08, 2020 12:16 pm

Тестовая отладка. Редактор только для просмотра
Вложения
Logic_test.rar
(313.31 КБ) 216 скачиваний

Ответить