Страница 3 из 53 ПерваяПервая 1234513 ... ПоследняяПоследняя
Показано с 21 по 30 из 521

Тема: ПЛК110 М02 MasterSCADA 4D

  1. #21

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    1) Что будет со стабильностью цикла ПЛК?
    2) На какой ОС фактически будет работать контроллер? (вопрос в разрезе №1)
    3) Есть ли сборщик мусора в интерпретаторе МЭК языков? (вопрос в разрезе №1)
    4) В КДС можно менять режим входов-выходов (fast encoder / fast counter). Как с этим в MS4D?
    5) Библиотеки для работы с сетью? (например, для программной реализации modbus)
    6) Разработка MS4D проектов на linux/mac машине?
    Отвечу, как разработчик MasterSCADA 4D из ИнСАТ -

    1. Среда исполнения многопоточная, для каждого потока задается период и приоритет. По данному контроллеру точных данных по стабильности периодов цикла нет, но обычно в Linux бывает погрешность до 10 мс (повышение приоритета потока позволяет повысить стабильность). А какие периоды циклов и максимальные допустимые отклонения для каких задач нужны?
    2. Linux
    3. Для интерпретации МЭК языков используется Lua, если в программах активно используются строки, массивы или структуры, то может быть динамическое выделение памяти в ходе работы и соответственно сборка мусора. Но какого-то влияния на время выполнения программы на синтетических тестах мы не замечали. Еще нужно учесть, что в каждом потоке используется отдельная куча Lua, и поэтому потоки друг на друга влиять не могут.
    4. Пока быстрые счетчики не поддерживаются. Есть планы встроить в среду разработки в каком-то виде редактор программ для PRU или по крайней мере настройку входов для использования в качестве счетчиков.
    5. Готовых пока нет. Планируется разработать библиотеки ФБ для работы с COM портами и сокетами по аналогии с теми, что есть в Codesys. Есть возможность разрабатывать драйвера/ФБ на C++, и подключать скомпилированные so библиотеки к среде исполнения.
    6. В ближайших планах этого нет. Но в перспективе мы рассматриваем такую возможность, в частности создание web-редактора.

  2. #22

    По умолчанию

    чтобы окончательно закрыть по стоимости обновил шапку.

  3. #23

    По умолчанию

    Цитата Сообщение от Виктор Момотов Посмотреть сообщение
    Отвечу, как разработчик MasterSCADA 4D из ИнСАТ
    Спасибо. Быстро и по делу.

    Цитата Сообщение от Виктор Момотов Посмотреть сообщение
    По данному контроллеру точных данных по стабильности периодов цикла нет
    В планах есть проведение испытаний?

    Цитата Сообщение от Виктор Момотов Посмотреть сообщение
    1. Среда исполнения многопоточная, для каждого потока задается период и приоритет. По данному контроллеру точных данных по стабильности периодов цикла нет, но обычно в Linux бывает погрешность до 10 мс (повышение приоритета потока позволяет повысить стабильность). А какие периоды циклов и максимальные допустимые отклонения для каких задач нужны?
    Поясню: при программировании ПЛК народ привык, что время выполнения цикла стабильно (ну, если пользовательская программа нормально написана).
    С Linux'ом оно будет шуметь. Если правильно помню, то у ПЛК110 одно ядро (не считая PRU), значит, всевозможные системные потоки будут конкурировать за место на CPU.
    Это может приводить к пропускам импульсов на входах.

    Поэтому, подвопрос:
    1.1) Какой длительности импульсы будут гарантировано распознаваться на дискретном входе?
    1.2) Какую максимальную частоту меандра можно получить на дискретном выходе? (если считать, что каждый цикл ПЛК инвертируется сигнал на выходе)
    1.3) Были ли испытания на фактическое распределение времён работы цикла ПЛК? Ну, хотя бы и на каком-то другом ПЛК. Грубо говоря: ставим интервал запуска основной программы в 1мс, и смотрим как часто она срабатывает по факту в случае "тривиальной программы" и "какой-нибудь более-менее реальной с модулями и т.п." (чем-нибудь типа https://github.com/HdrHistogram/HdrHistogram )


    Цитата Сообщение от Виктор Момотов Посмотреть сообщение
    3. Для интерпретации МЭК языков используется Lua, если в программах активно используются строки, массивы или структуры, то может быть динамическое выделение памяти в ходе работы и соответственно сборка мусора. Но какого-то влияния на время выполнения программы на синтетических тестах мы не замечали. Еще нужно учесть, что в каждом потоке используется отдельная куча Lua, и поэтому потоки друг на друга влиять не могут.
    Да, разные кучи это хорошо. Т.е. расчёт на то, что основной цикл успеет подчистить за собой.

    А как 64-битные целочисленные типы работают?
    Например: LINT/ULINT/LWORD
    Эмулируются на основе строк/объектов?
    В lua точность целочисленных не превышает 32-53 бита (целые хранятся как double), а в MS4D заявлены 64битные типы. Они прямо честные 64?


    Цитата Сообщение от Виктор Момотов Посмотреть сообщение
    4. Пока быстрые счетчики не поддерживаются. Есть планы встроить в среду разработки в каком-то виде редактор программ для PRU или по крайней мере настройку входов для использования в качестве счетчиков.
    Сейчас, конечно, выглядит странно, что для разных режимов работы ("модуль вывода в обычном режиме" и "модуль вывода в ШИМ режиме") сделаны разные шаблоны. Т.е. по факту, для замены одного на другое придётся заново привязывать входы-выходы.


    Цитата Сообщение от Виктор Момотов Посмотреть сообщение
    Есть возможность разрабатывать драйвера/ФБ на C++, и подключать скомпилированные so библиотеки к среде исполнения.
    Для этого нужны какие-нибудь лицезнии? Я к чему: эти библиотеки могут конечные пользователи создавать или только производитель ПЛК?

    Ещё вопрос:
    7) Проводились ли сравнения по скорости выполнения арифметико-логических операций между вашим lua интерпретатором и КДС?
    8) У вас выполняются какие-нибудь оптимизации кода? (constant folding? dead code elimination? inlining? loop invariant code motion?)
    Последний раз редактировалось Владимир Ситников; 01.03.2017 в 17:36.

  4. #24

    По умолчанию

    Цитата Сообщение от Виктор Момотов Посмотреть сообщение
    1. А какие периоды циклов и максимальные допустимые отклонения для каких задач нужны?
    В текущем РЭ на ПЛК110М02 заявлено:
    Код:
    Минимальная длительность импульса, воспринимаемого дискретным входом:
    - для обычных входов, мс: 1,6 мс
    - для быстрых
      Программная обработка  1667 мкс (300 Гц)
      Счетчик импульсов 5 мкс (100 кГц)
      Энкодер 5мкс (до 100* кГц)
      Чтение из прерывания по высокочастотному таймеру 31 мкс (до 16 кГц)
    
    Время переключения транзисторного выхода из состояния «лог.1» в состояние «лог. 0», мс, не более
    – для обычных: 5мс
    – для быстродействующих: 0,002мс
    
    Время выполнения пустого цикла – Установленное по умолчанию (стабилизированное) – 1 мс
    Для каких задач нужны именно такие цифры сказать не возьмусь, но в разрезе КДС vs MS4D вполне резонный вопрос как от MS4D пострадают (или улучшатся?) лётные характеристики ПЛК110.

  5. #25

    По умолчанию

    1. По циклам потоков запланируем тестирование. Сейчас через служебный поток сообщений выдается некоторая статистика по каждому потоку - среднее и максимум. Но правильнее будет посмотреть на тренде как выглядит график времени циклов.
    3. По поводу 64-битных чисел - в новой версии мы перешли на Lua 5.3, там есть встроенная поддержка 8-байтных целых чисел. Но эта версия пока проходит наше внутреннее тестирование.
    4. Можно выполнить команду "Сменить тип" из контекстного меню элемента. Тогда у совпадающих параметров старого и нового типа должны сохранится связи
    5. API поставляется вместе со средой разработки (в папке "c:\Program Files (x86)\InSAT\MasterSCADA 4D *\API") Там описание и заголовочные файлы. Но чтобы скомпилировать библиотеку для конкретного контроллера необходим кросс компилятор для данного контроллера. Так что разрабатывать дополнения может любой пользователь. В MasterSCADA 3.X такой же подход.
    7. Пока нет. Запланируем эту работу.
    8. Нет.

  6. #26

    По умолчанию

    Цитата Сообщение от Виктор Момотов Посмотреть сообщение
    5. API поставляется вместе со средой разработки (в папке "c:\Program Files (x86)\InSAT\MasterSCADA 4D *\API") Там описание и заголовочные файлы. Но чтобы скомпилировать библиотеку для конкретного контроллера необходим кросс компилятор для данного контроллера. Так что разрабатывать дополнения может любой пользователь. В MasterSCADA 3.X такой же подход.
    Устанавливал 430-и мегабайтный MasterSCADA4D.exe
    Папки API нет от слова совсем.

    Код:
    C:\Program Files (x86)\InSAT\MasterSCADA 4D 1.1>dir
    Configs  OPC_Core  Uninstall.lnk  bin  version.txt
    
    C:\Program Files (x86)\InSAT\MasterSCADA 4D 1.1>type version.txt
    1.1.11.57363(MPLCD_1_1_20170220.2)
    Файлов *.h* тоже нет.

  7. #27

    По умолчанию

    В той версии, что на сайте, еще не включено. Нужна бета-версия. Она у нас на сайте техподдержки. Отправлю ссылку в личное сообщение.

  8. #28

    По умолчанию

    Как в ПЛК110-24.30.Р-MS4 пронумерованы сom-порты ?

  9. #29

    По умолчанию

    Из приложенного в первом сообщении РЭ
    Таблица 2.4 - Нумерация портов в программе пользователя
    Номер порта Физический порт
    1 RS-485-1
    2 Debug-RS-232
    3 RS-485-2
    4 RS-232

  10. #30

    По умолчанию

    Цитата Сообщение от Трофимов Артем Посмотреть сообщение
    Из приложенного в первом сообщении РЭ
    Таблица 2.4 - Нумерация портов в программе пользователя
    Номер порта Физический порт
    1 RS-485-1
    2 Debug-RS-232
    3 RS-485-2
    4 RS-232
    Спасибо.

    Опять какие-то глюки на сайте. Цвет текста поменять нельзя, файл прикрепить нельзя.
    Последний раз редактировалось IVM; 28.03.2017 в 18:04.

Страница 3 из 53 ПерваяПервая 1234513 ... ПоследняяПоследняя

Похожие темы

  1. ПЛК110 со средой исполнения MasterSCADA 4D
    от Kirill в разделе ПЛК (среда MasterSCADA 4D)
    Ответов: 31
    Последнее сообщение: 06.05.2021, 14:21
  2. Ответов: 25
    Последнее сообщение: 30.07.2015, 14:53
  3. конвертация проекта из Masterscada 3.5 в Masterscada 3.4
    от Сергей_SPB в разделе Master SCADA 3
    Ответов: 2
    Последнее сообщение: 01.04.2013, 17:56
  4. Ответов: 4
    Последнее сообщение: 23.04.2012, 13:56

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •