Принцип настройки PDU
Добавлено: Вт сен 10, 2019 1:16 pm
Настройка логики работы PDU, на данный момент, происходит через текстовый файл определенной структуры- скрипт, который необходимо загрузить в него. В дальнейшем скрипт будет компилироваться исходя из графически настраиваемой логики.
Скрипт может писаться в обычном блокноте, и иметь кодировку ANSI. Но удобнее для этого использовать Notepad++
Каждая команда должна обязательно заканчиваться символом ";" после которой может следовать комментарий начинающийся после символов "//"
При загрузке некорректного скрипта скорость CAN устанавливается в 500кб/сек и DEV_ID = 0
продолжение следует...
Важно, после конечной строки "END" должна быть пустая строка!
Важно чтобы все элементы начинались с 1 и следовали друг за другом без пропусков!
Скрипт может писаться в обычном блокноте, и иметь кодировку ANSI. Но удобнее для этого использовать Notepad++
Каждая команда должна обязательно заканчиваться символом ";" после которой может следовать комментарий начинающийся после символов "//"
Код: Выделить всё
это команда; //это коментарий
- Начинать скрипт необходимо строками:
DEV_ID = номер PDU в сети. по умолчанию при производстве устройству задается 0 или 1. Его необходимо назначать в интервале 1-100, задавать двум устройствам одинаковый DEV_ID недопустимо.
Код: Выделить всё
DEV_ID=1; //номер устройства в сети CAN_SPEED=500; //скорость CAN допустимые значения: 125, 250, 500, 1000. ENDIAN=LITTLE; //BIG/LITTLE - очередность байт в слове CAN сообщений
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
Максимальное кол-во дискретных входов = 30
Код: Выделить всё
CAN_DI.X=0x504/0/0; //Настраиваем дискретный вход CAN X: сообщение с ID 0x504 байт0 бит0
- Настройка входного канала CAN
Максимальное кол-во каналов на вход = 30
Код: Выделить всё
CAN_CH.X=0x504/2/2; //Канал имеет ID 0x504 Смещение 2 байта, длина данных 2 байта.
- Использование элементов "И", "ИЛИ"
после знака "=" перечисляем(до 10шт) любые необходимые элементы имеющие дискретный выход(And, Or, COMPARE_CONST, Hi и т.д.)
Код: Выделить всё
Or.x=And.1+And.2+And.3; And.x=And.2+And.4+Or.2+Tim.3;
Максимальное кол-во элементов = 100
- Привязка выхода PDU к источнику
после знака "=" указываем любой элемент имеющий дискретный выход(And, Or, COMPARE_CONST, Hi и т.д.)
Код: Выделить всё
Out.X=And.1; //Вывод PDU X подключаем к выходу элемента "И" 1.(пример)
- Заканчивается скрипт строкой
После строки "END" обязательно должна быть пустая строка
Код: Выделить всё
END; //Конец файла. //Пустая строка
При загрузке некорректного скрипта скорость CAN устанавливается в 500кб/сек и DEV_ID = 0
продолжение следует...
Важно, после конечной строки "END" должна быть пустая строка!
Важно чтобы все элементы начинались с 1 и следовали друг за другом без пропусков!