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

Тема: MasterScada4D + MySQL

  1. #1

    Question MasterScada4D + MySQL

    Добрый день, форумчане!

    Требуется срочная помощь в выборке данных из БД MySQL средствами Скады.
    у меня одна выборка получается, данные принимаю, но когда пытаюсь сделать новые запросы то ничего не приходит.
    делал так:
    1. сделал узел АРМ
    2. создал в библиотеке новую структуру данных
    3. создал в библиотеке новый ФБД на основе SqlRequestWithResult, где результату применил тип новой структуры
    4. создал в АРМ подключения к БД, настроил его
    5. сделал программу ФБД с новой библиотекой (п.3) прописал команду выборки
    6. сделал новый параметр в АРМ с новым типом и в него привязал результат программы.
    При такой конфигурации все работает, но как только я делаю по новой это с другой структурой и запросами, то программа начинает ругаться(
    Ошибка запуска : Ошибка старта протокола ([string "VarMySQL_1_79179_Main"]:112: attempt to index a nil value (global 'SqlRequestWithResult_1')

    Товарищи помогайте пожалуйста! Как делать разные запросы в одну БД??????????????????

  2. #2

    По умолчанию

    явно в наследование смотреть надо? как делается наследование?

  3. #3

    По умолчанию

    Цитата Сообщение от for_kav Посмотреть сообщение
    Добрый день, форумчане!

    Требуется срочная помощь в выборке данных из БД MySQL средствами Скады.
    у меня одна выборка получается, данные принимаю, но когда пытаюсь сделать новые запросы то ничего не приходит.
    делал так:
    1. сделал узел АРМ
    2. создал в библиотеке новую структуру данных
    3. создал в библиотеке новый ФБД на основе SqlRequestWithResult, где результату применил тип новой структуры
    4. создал в АРМ подключения к БД, настроил его
    5. сделал программу ФБД с новой библиотекой (п.3) прописал команду выборки
    6. сделал новый параметр в АРМ с новым типом и в него привязал результат программы.
    При такой конфигурации все работает, но как только я делаю по новой это с другой структурой и запросами, то программа начинает ругаться(
    Ошибка запуска : Ошибка старта протокола ([string "VarMySQL_1_79179_Main"]:112: attempt to index a nil value (global 'SqlRequestWithResult_1')

    Товарищи помогайте пожалуйста! Как делать разные запросы в одну БД??????????????????
    Если данные хоть раз приняли то по идее все нормально должно работать. Покажите скриншот с протоколом и программой
    Еще у меня запросы работают если названия полей структуры совпадают с результатом запроса.
    Т.е. если запрос возвращает a,b,c то и структура должна быть такая, если что то не совпадает то не работает.
    Так же на текущий момент есть проблема с размеров массива в результате запроса.
    Например при первом запросе размер массива 100, а во втором 5, то массив остается 100. Что при выводе в таблицу получается каша. Обещали исправить

    Несколько запросов означает что на вход команды SqlRequestWithResult подается текст запроса разный
    Либо создать несколько ФБ SqlRequestWithResult. С нужными запросами.

    Лично я запросы делаю не в программе, а в протоколе.
    В свойствах протокола выставляю подключение и выполнение( а в самих запросах выполнение и опрос) по условию и когда надо дергаю нужные запросы

    Postgresql.png
    Postgresql2.png

  4. #4

    По умолчанию

    Цитата Сообщение от VladGC Посмотреть сообщение
    Если данные хоть раз приняли то по идее все нормально должно работать. Покажите скриншот с протоколом и программой
    Еще у меня запросы работают если названия полей структуры совпадают с результатом запроса.
    Т.е. если запрос возвращает a,b,c то и структура должна быть такая, если что то не совпадает то не работает.
    Так же на текущий момент есть проблема с размеров массива в результате запроса.
    Например при первом запросе размер массива 100, а во втором 5, то массив остается 100. Что при выводе в таблицу получается каша. Обещали исправить

    Несколько запросов означает что на вход команды SqlRequestWithResult подается текст запроса разный
    Либо создать несколько ФБ SqlRequestWithResult. С нужными запросами.

    Лично я запросы делаю не в программе, а в протоколе.
    В свойствах протокола выставляю подключение и выполнение( а в самих запросах выполнение и опрос) по условию и когда надо дергаю нужные запросы

    Postgresql.png
    Postgresql2.png
    вот как раз и нужно создать несколько ФБ SqlRequestWithResult, только результат массив с разными наборами, т.е. тип разный.
    разобрался с наследованием. нужно в библиотеке сделать наследника этого ФБ и тогда работать начинает.

    Делал в новой версии от 31.03.
    на счет выборки массивов - подтверждаю! каша! если данные поменялись то массив каждый раз не сбрасывается а заполняется(

  5. #5

    По умолчанию

    Цитата Сообщение от for_kav Посмотреть сообщение
    вот как раз и нужно создать несколько ФБ SqlRequestWithResult, только результат массив с разными наборами, т.е. тип разный.
    разобрался с наследованием. нужно в библиотеке сделать наследника этого ФБ и тогда работать начинает.

    Делал в новой версии от 31.03.
    на счет выборки массивов - подтверждаю! каша! если данные поменялись то массив каждый раз не сбрасывается а заполняется(
    Проще все таки делать запросы не в программе, а в самом протоколе создать запрос. В сложных запросах я замучился экранировать спец символы.

    Так же столкнулся с ограничением на выполнение запроса символов в котором более 2000. Но это запрос через непосредственно запрос, а не в программе.
    В итоге сейчас в бд создаю необходимые запросы в виде функций, а в скаде уже дергаю функцию с нужными мне параметрами.

    Можно запихнуть результат запроса в отчет. В отчете он будет отображаться нормально .

  6. #6

    По умолчанию

    спасибо за консультацию.

Похожие темы

  1. МастерСкада и MySQL
    от Сергей_К в разделе Master SCADA 3
    Ответов: 40
    Последнее сообщение: 22.09.2020, 07:55
  2. MySQL и MSSql для Codesys V2 и для V3
    от murdemon в разделе ПЛК3хх
    Ответов: 15
    Последнее сообщение: 30.05.2020, 18:50
  3. Работа с MySQL
    от electronic в разделе Master SCADA 3
    Ответов: 36
    Последнее сообщение: 11.10.2013, 11:06
  4. ип320 взаимодействие с MySql
    от zartmax в разделе Панели оператора (HMI)
    Ответов: 7
    Последнее сообщение: 02.11.2012, 12:56
  5. Работа с MySQL
    от Александер2008 в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 18.02.2012, 19:30

Ваши права

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