kolos450

Пользователи
  • Продажи

    1/5
  • Покупки

    152/5
  • Публикации

    147
  • Зарегистрирован

  • Посещение

  • Days Won

    2

kolos450 last won the day on 10 декабря 2019

kolos450 had the most liked content!

Репутация

51 Хорошая

2 подписчика

О kolos450

  • Звание
    Постоялец
  • День рождения

Персональная информация

  • Пол
    Мужчина
  • Страна
    Украина
  • Город
    Харьков
  • Имя Пользователя
    Кирилл

Посетители профиля

934 просмотра профиля
  1. Программное обеспечение ПО для модулей ввода и вывода имеет законченный вид и готово к загрузке в память устройств. DI-24x24 Расположение выводов: Прошивка: http://uavcan.net/static/KPLC/Pub/DI-24x24/firmware_latest Фьюзы: Low = 0xFF, High = 0xC9. DO-OE-24x20 Расположение выводов: Прошивка: http://uavcan.net/static/KPLC/Pub/DO-OE-24x20/firmware_latest Фьюзы: Low = 0xFF, High = 0xC9. SW-24/14 Расположение выводов: Прошивка: http://uavcan.net/static/KPLC/Pub/SW-24-14/firmware_latest Фьюзы: Low = 0xFF, High = 0xC9. Головной модуль Прошивку для главного модуля нужно сгенерировать. Генератор: http://uavcan.net/static/KPLC/Pub/SW-24-14/Kplc.MainModule.Builder_latest Требования для запуска: Windows 7 SP1+ .NET Core Runtime 3.1, https://dotnet.microsoft.com/download/dotnet-core/3.1 GNU Arm Embedded Toolchain, https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads Для генерации нужно подготовить файл карты портов и файл с уравнениями. Файл карты портов Это XML-файл, в котором описаны все устройства, учавствующие в системе, их типы, сетевые идентификаторы и назначение портов. Пример: <Kplc.IOMap> <Device> <Type>SW-24/14</Type> <Id>5</Id> <Pins> <!-- Inputs --> <Pin number="01" value="SomeVariableA" /> ... <Pin number="24" value="" /> <!-- Outputs --> <Pin number="25" value="SomeVariableB" /> ... <Pin number="38" value="" /> </Pins> </Device> <Device> <Type>DI-24x24</Type> <Id>3</Id> <Pins> <Pin number="01" value="SomeVariableB" /> ... <Pin number="23" value="True" /> <Pin number="24" value="0" /> </Pins> </Device> </Kplc.IOMap> В примере должны присутствовать два устройства: SW-24/14 под номером 5 и DI-24x24 под номером 3. Значения пинов могут быть не указаны, тогда к их состоянию нельзя будет обратиться. Если двум пинам присвоено одно значение, их состояние будет синхронизировано. Шаблоны для устройств: DO-OE-24x20: http://uavcan.net/static/KPLC/Pub/DO-OE-24x20/BoolsysTemplate_DO-OE-24x20.xml DI-24x24: http://uavcan.net/static/KPLC/Pub/DI-24x24/BoolsysTemplate_DI-24x24.xml SW-24/14: http://uavcan.net/static/KPLC/Pub/SW-24-14/BoolsysTemplate_SW-24-14.xml Файл с уравнениями Этот файл описывает поведение системы в целом с помощью системы уравнений. Каждое уравнение должно иметь вид X_i = F(X_1, ..., X_n); Одна переменная слева от знака присвоения и произвольное выражение справа, заканчивающееся точкой с запятой. Поддерживаемые операции: & - логическое И; | - логическое ИЛИ; ! - логическое НЕ; Delay(X_i, ms) - задержка положительного значения переменной X_i на указанное количество миллисекунд. Пример программы "Бегущий огонь" на три вывода (O1, O2, O3): _O1 = !_F; _O2 = Delay(_O1, 500); _O3 = Delay(_O2, 500); _F = Delay(_O3, 500); O1 = _O25 & !_O26; O2 = _O26 & !_O27; O3 = _O38; Построение прошивки После того, как входные файлы готовы, можно сгенерировать прошивку. Для этого нужно запустить скрипт build.cmd. Стандарные пути для входных файлов: source\IOMap.xml source\Equations.txt Стандартный путь для файла прошивки: publish\Kplc.MainModule.bin Также нужные пути можно указать опциями при запуске build.cmd. Если ошибок при построении не возникнет, будет сгенерирован файл с прошивкой, который уже можно залить в главный модуль. После успешной инициализации система переходит в режим работы, исполняя программу, которая описывается системой уравнений. При возникновении какой-либо ошибки в любом из модулей все устройства системы переходят в режим ошибки. Светодиод модуля сигнализирует код ошибки, порты вывода переводятся в неактивное состояние.
  2. Посмотрите на STM32CubeMX. Этот инструмент делает процесс конфигурации элементарным. Первая версия головного модуля была на AVR8, но не хватило ни памяти, ни производительности. Если хотите, у меня остался этот проект, могу вам прислать. Кстати, на головном модуле есть нераспаянная гребёнка для элемента U3. Это место для Banana Pi BPI-M2 Zero на случай, если понадобится ещё больше возможностей. Но конкретно этот одноплатный компьютер я не рекомендую, поддержка производителя в плане софта фактически отсутствует. Linux kernel доступен только версии 3.4, из коробки SPI работает только в режиме bit-banging. Лучше применить Raspberry Pi Zero или даже BeagleBone Black Industrial. Сейчас поддержки графических языков программирования нет. Возможно, в будущем прикручу поддержку системы команд Mitsubishi FX2N, OpenPLC или что-нибудь ещё. Прошивки для ведомых модулей готовы к публикации, а для головного модуля ещё нужно продумать API.
  3. Привет! Для оживления старого оборудования мне понадобился ПЛК на 64 дискретных входа и 32 выхода, разнесённых в пространстве. Такой, чтобы его можно было программировать на языках общего назначения. На рынке есть подходящие решения, но они имеют высокую стоимость. Поэтому разработал свою платформу. Материал свободный, может использоваться в любых целях. В пилотном комплекте такие компоненты: головной модуль с блоком питания; модуль с 24 оптоизолированными дискретными входами; модуль с 20 оптоизолированными дискретными выходами на 1.85 А; модуль с 24 дискретными входами, 14 выходами и своим блоком питания. Номинальное входное напряжение модулей - 24 VDC. Головной модуль работает на STM32, остальные - на AVR8. Модули связаны посредством UAVCAN поверх CAN. Размер печатных плат составляет 100x100 миллиметров. Модули могут объединяться стойками в блоки. В этом случае обмен данными и подача питания обеспечиваются через плоскую шину. Головной модуль содержит разъём DE-9 для подключения удалённых модулей. Модули ввода и вывода имеют светодиодную индикацию для каждого порта. У всех модулей присутствует светодиод для индикации статуса и ошибок. KPLC Main Module Из явных недоработок - не хватает реле для разрыва цепи безопасности в случае возникновения ошибок. Схема: http://uavcan.net/static/KPLC/Pub/Main/SCH_KPLC_Main_Module_v1.1.pdf Печатная плата: http://uavcan.net/static/KPLC/Pub/Main/PCB_KPLC_Main_Module_v1.1.zip BOM: http://uavcan.net/static/KPLC/Pub/Main/BOM_KPLC_Main_Module_v1.1.csv KPLC DO-OE-24x20 Module Модуль дискретных выходов для управления потребителями постоянного тока. 24 VDC, 1.85 A, 20 портов. Переключению подвергается положительный потенциал. Порты защищены варисторами и самовосстанавливащимися предохранителями. Схема: http://uavcan.net/static/KPLC/Pub/DO-OE-24x20/SCH_KPLC_DO-OE-24x20_Module_v1.0.pdf Печатная плата: http://uavcan.net/static/KPLC/Pub/DO-OE-24x20/PCB_KPLC_DO-OE-24x20_Module_v1.0.zip BOM: http://uavcan.net/static/KPLC/Pub/DO-OE-24x20/BOM_KPLC_DO-OE-24x20_Module_v1.0.csv KPLC DI-24x24 Module Модуль дискретных входов для подключения датчиков с выходом 24 VDC, 24 порта. Схема: http://uavcan.net/static/KPLC/Pub/DI-24x24/SCH_KPLC_DI-24x24_Module_v1.0.pdf Печатная плата: http://uavcan.net/static/KPLC/Pub/DI-24x24/PCB_KPLC_DI-24x24_Module_v1.0.zip BOM: http://uavcan.net/static/KPLC/Pub/DI-24x24/BOM_KPLC_DI-24x24_Module_v1.0.csv KPLC SW-24/14 Module Модуль дискретных входов и выходов без гальванической развязки для пультов управления. Имеет 24 входа и 14 выходов типа открытый коллектор на 24 VDC, 500 mA без защиты. Схема: http://uavcan.net/static/KPLC/Pub/SW-24-14/SCH_KPLC_SW-24-14_Module_v1.0.pdf Печатная плата: http://uavcan.net/static/KPLC/Pub/SW-24-14/PCB_KPLC_SW-24-14_Module_v1.0.zip BOM: http://uavcan.net/static/KPLC/Pub/SW-24-14/BOM_KPLC_SW-24-14_Module_v1.0.csv
  4. Здесь всё просто: отечественных вариантов не нашёл. Оболочка КГ и РПШ портится от масла, у ПВС больше 5 жил не встречал, у МКЭШ с нужным сечением только 3 класс гибкости. Можно было собрать жгут из нескольких ПВС. А тот же Olflex Classic 110 можно купить с любым количеством жил любого сечения. Гибкий, тонкий, маслостойкий, негорючий, все жилы пронумерованы.
  5. Пожалуйста: PS C:\Users\Kirill> 1..5 | % { (Measure-Command {Resolve-DnsName www.testdomain.com -Type A}).TotalSeconds } 0,1154086 0,0011256 0,001074 0,0009745 0,0010236 Более того, современные браузеры самостоятельно кешируют результаты запросов к DNS, что делает вашу затею с локальным сервером бессмысленной для веб-серфинга. Это IP адрес сервера за Cloudflare. Не знаю, зачем его афишировать.