Показано с 1 по 7 из 7

Тема: Не отображаются данные из массива структур в таблице данных

  1. #1

    По умолчанию Не отображаются данные из массива структур в таблице данных

    Всем добрый день! Я пишу некоторые ФБ на C# и в нем формирую выходной массив структур (структуру создала в локальной библиотеке проекта, сам массив структур добавляю как параметр). Проблема в том, что если я привязываю такой массив к таблице данных, то она во время исполнения всегда пустая, даже если в массиве есть данные; в то же время, если я передаю массив структур из ФБ на ST, то все прекрасно работает. Для теста я даже делала так, что массив структур из ФБ на C# я передавала как InOut-параметр в ФБ на ST и далее привязывала его к таблице - и все работало. Подскажите, может, кто-то знает, в чем проблема? Прилагаю скриншоты из режима исполнения.
    Изображения Изображения
    • Тип файла: png 1.png (249.1 Кб, Просмотров: 19)
    • Тип файла: png 2.png (8.1 Кб, Просмотров: 7)
    • Тип файла: png 3.png (135.3 Кб, Просмотров: 13)

  2. #2
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,574

    По умолчанию

    логично предположить что на ST блок выполняется в цикле проекта, а на Си только по запросу, который Вы не выполняете
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #3

    По умолчанию

    Здравствуйте! Спасибо за ответ, не подумала об этом. Скажите, а можно ли тогда сделать так, чтобы программа на C# тоже выполнялась в цикле? Мне прям очень нужен ФБ именно на этом языке, поскольку очень легко и просто реализовать сортировку файлов.

  4. #4
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,574

    По умолчанию

    Я ведь могу быть не прав, не видя всего проекта. Если Вы специалист в шарпе, сделайте вставки writeline и отслеживайте их. Тогда будете знать выполняется Ваш код или нет
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  5. #5
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

    Не знаю, как это будет в MS4D непосредственно, например как именно запускается ваш Execute?, но цикл организуется самим приложением C#.
    в примитиве это

    while (!terminated)
    {
    Постоянно выполняющаяся ваша программа
    }

    ну, обернуть в поток нужную часть например для Thread.Sleep(xxx ms);

    з.ы. сейчас выеживаюсь с подобным но в другой Scada. Там само ядро вызывает циклически процедуры, и мне нужно запустить свою программу, которая бы не прерывалась по завершению процедур. В общим пока пришел к запуску в потоках своих частей кода, а при вызове в цикле процедур ядра scada проверяю и передаю и забираю переменные.

    Вообще задача запуска потоков в MS4D может оказаться не решаемой, так как ядро должно предоставлять возможности сохранять данные о потоках, чтобы в рамках запуска Execute была возможность потом к ним обращаться.
    Последний раз редактировалось melky; 25.08.2024 в 09:05.

  6. #6
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

    https://support.mps-soft.ru/Help-web...rp_primer.html

    Есть override void Init()
    А так же можно задавать переменные за пределами Execute()
    Что должно позволить вам запустить свой поток, в котором будет программа в цикле.

    И еще можно подключать свои dll, но как там и что дальше непонятно.
    Последний раз редактировалось melky; 26.08.2024 в 11:51.

  7. #7

    По умолчанию

    Всем спасибо за ответы! Не смогла, к сожалению, разобраться с потоками внутри редактора C# MS4D, поэтому нашла более топорное, но работающее решение: создала пустой ФБ на ST с массивом структур (доступ InOut). Передала выходной массив с ФБ на C# в ФБ на ST и с ФБ на ST далее в источник данных таблицы. Заработало.
    ddd.png

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 28.05.2024, 13:21
  2. Какой синтаксис инициализации массива структур
    от mikola_wow в разделе СПК1xx (архив)
    Ответов: 23
    Последнее сообщение: 12.09.2023, 07:08
  3. Господа, HELP по Таблице данных.
    от Polluks в разделе Master SCADA 4D
    Ответов: 7
    Последнее сообщение: 29.10.2020, 14:52
  4. Описание структур базы данных
    от IgorTS в разделе Master SCADA 4D
    Ответов: 3
    Последнее сообщение: 05.06.2020, 15:29
  5. инициализация массива структур
    от drvlas в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 16.12.2010, 18:31

Ваши права

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