PDA

Просмотр полной версии : МастерСкада и MySQL



Сергей_К
26.10.2009, 16:27
Связывал ли кто-нибудь МастерСкаду и MySQL при помощи их стандартного ФБ или хоть как-нибудь? Надо передавать данные от ПЛК в заводскую БД и не могу реализовать. Не посылайте к авторам МС - их техподдержка молчит. Я уже сомневаюсь, что они сами знают как это сделать.

AVit
27.10.2009, 08:04
только с InterBase, но механизм должен быть похожим. если есть вопросы пиши в личку.

Sniper007
27.10.2009, 10:33
А почему не здесь? Думаю многим пользователям тоже будет интересно послушать, ну во всяком случае мне...

Оффтоп. Ув. модераторы, поскольку теперь вы с компанией Инсат - друзья, то не стоит ли создать специальный раздел для Master Scada? Думаю техподдержка Инсата не сочтет за труд хотя бы раз в сутки мониторить новые сообщения об их системе... Думаю это пойдет на пользу обоим компаниям, да и пользователям тоже

AVit
27.10.2009, 17:07
Да пожалуйста...

К сожалению в демо версии мастерскады нет модуля работы с MySQL, хотя в списке дополнительных модулей он есть..., так что пример для InterBase, накидал за пять минут, смотрите коменты.

в базе создается процедура, указанная в проекте, там же прописывается путь к базе, логин и пароль и все должно работать...

ЗЫ: а тех поддержка Инсата здесь появляется только когда ее начинают сильно ругать :)

Кирилл Валюнин
28.10.2009, 11:03
To: Sniper007
Раздел будет, но несколько позже.

Сергей_К
28.10.2009, 19:52
AVit, почему нет, теоретически есть:Система:Компьютер:Вставить БД коннектор MySQL, а в библиотеке ФБ "Работа с архивами" есть "MySQL Процедура/функция". Из этих блоков можно составить структуру, аналогичную MSSQL, но у меня проблема в доступе к существующей БД, которая расположена на моем компьютере. Может просто я "туплю", т.к. не работал с базами данных.
C MSSQL все работает, НО мне надо "внедриться" в существующую БД.

AVit
29.10.2009, 11:08
AVit, почему нет, теоретически есть:Система:Компьютер:Вставить БД коннектор MySQL, а в библиотеке ФБ "Работа с архивами" есть "MySQL Процедура/функция". Из этих блоков можно составить структуру, аналогичную MSSQL, но у меня проблема в доступе к существующей БД, которая расположена на моем компьютере. Может просто я "туплю", т.к. не работал с базами данных.
C MSSQL все работает, НО мне надо "внедриться" в существующую БД.

А да есть, у меня до вчерашнего дня стояла версия 2.4, поставил 3.1 там есть.
Не пойму в чем проблема.., т.е. с новой базой работает, а с существующей нет, так? А ошибки какие выдает?

Maria Momotova
30.10.2009, 14:58
Посмотрите ФБ "MySQL Процедура/функция" из категории "Работа с архивом".

Сергей_К
31.10.2009, 00:09
Посмотрите ФБ "MySQL Процедура/функция" из категории "Работа с архивом".
Естественно пробую только так - в МастерСкаде нет ничего другого.
Итак:
MySQL: Установил сервер MySQL, создал базу, создал процедуру. В MySQL-Front проверяю, процедура работает, базу данных заполняет.
МастерСКАДА: при подключении ФБ процедуры при попытке выполнить "Параметры - Создать автоматически" появляется сообщение:
"Exception of type 'FBLibrary2.OTER.MySqlFuncFB.StoredProcFBExceptin' was thrown. Ошибка MySQL FB Error MySQL: Access denied for user "@'localhost'.
Подключаюсь под пользователем root.
Понятно, что СКАДА не может нормально достучатся до БД, но кто виноват - непонятно (мне во всяком случае). Читаю док. по MySQL.

Maria Momotova
01.11.2009, 22:07
Пришлите ваш проект вместе с БД на адрес технической поддержки компании ИнСАТ.
И напишите точно, какая у вас версия MasterSCADA.

Сергей_К
01.11.2009, 23:57
MasterSCADA демо версия 3.1.106.29453.
Завтра сделаю маленький проект и вышлю в техподдержку ИнСАТ.
Только правильней будет, если ИнСАТ напишет инструкцию, как сделать сохранение данных в MySQL, чем разбирать мой примитивный проект.

Maria Momotova
02.11.2009, 17:42
Сергей, проблема может быть не только в проекте, но и в БД. Поэтому ждем от вас и проект (ВСЮ папку проекта), и базу, к которой подключаетесь.

Sniper007
19.12.2009, 18:58
Попробовал сегодня соединятся с MySQL - проблем нет. Создал процедуру, она автоматически определилась.
Стоит иметь ввиду что серьезные проблемы может создать фаервол. Мой Outpost периодически блокировал работу с базой данных (не выполнялись процедуры, не проходил запрос от Lectusа), отключал его - все работало нормально. Так что имейте ввиду

B@RS
10.12.2010, 11:23
Кто соединился с MySQL не могли бы вы кинуть небольшой пример проекта и краткое описание последовательности действий на bars1301@mail.ru. Буду очень признателен
-----------------------------------------
Есть ли возможность вытаскивать из MySQL необходимых переменных и работать с ними?

SCADAMaster
10.12.2010, 14:22
вам было отвечено по почте.

Capiton
28.04.2011, 09:48
вам было отвечено по почте.

А какую лучше использовать БД если есть примеры работы с БД и настройки вышлите пожалуйста на Capiton.82@mail.ru

Alexey_shlyaiher
08.05.2020, 09:52
Добрый день! Использую версию 3.11.0.14985 3.11(DemoReleaseMin)_20_01_05_21_43 возможно ли в этой версии "МастерСКАДА" сделать отправку значений в базу данных MySQL??? и что для этого необходимо?

SCADAMaster
08.05.2020, 10:50
Да, в Demo версии доступен MySQL.
Вам что именно требуется - хранимой процедурой что-то выдавать или же экспортировать накопленные архивные данные?
Все режимы работы с БД описаны в документации - доступна у нас на сайте:
https://insat.ru/products/?category=1525

Alexey_shlyaiher
08.05.2020, 11:31
Требуется однократно передать данные о результате испытания и о испытателе, программа выдает ошибку Îøèáêà MySQL: Âûäàíî èñêëþ÷åíèå òèïà "FBLibrary2.OTHER.MySqlFuncFB.StoredProcFBException".Îøèáêà MySQL FB Error MySQL: Unable to connect to any of the specified MySQL hosts.

SCADAMaster
08.05.2020, 12:07
Он не может подключиться к MySQL. Пробовали подключиться к MySQL средой администрирования?

Alexey_shlyaiher
12.05.2020, 12:38
К базе средой администрирования подключается. На кнопку "проверить подключение и структуру" пишет что подключение произведено успешно, но в базе данных нет не чего. И если поставить компонент "процедура функция" что не может подключится к серверу. Среда администрирования dbForge Studio 2019, версия сервера MySQL 8.0.17. где искать ошибку?

SCADAMaster
12.05.2020, 12:52
Вы подключаетесь через ФБ "MySQL процедура/функция"?
Вы его добавили в дерево объектов? В дерево системы (в БД коннектор) его добавлять нельзя - нужно именно в дерево объектов

Alexey_shlyaiher
14.05.2020, 10:13
49050

В базу не чего не передает!

SCADAMaster
14.05.2020, 10:31
Ошибка появляется при нажатии Обновить таблицы?
Сама база данных в MySQL создана? Автоматически скада базу не создает - ее нужно сделать вручную средствами администрирования?
И какая версия MasterSCADA, если ниже 3.11 то следует попробовать на текущей Beta (лежит на том же FTP где и демо).

Alexey_shlyaiher
14.05.2020, 11:27
Ошибка появляется при нажатии Обновить таблицы?
Сама база данных в MySQL создана? Автоматически скада базу не создает - ее нужно сделать вручную средствами администрирования?
И какая версия MasterSCADA, если ниже 3.11 то следует попробовать на текущей Beta (лежит на том же FTP где и демо).

Да_Ошибка появляется при нажатии Обновить таблицы. с этим понятно!
база создана, или структура таблиц должна быть определенная?
49052

Alexey_shlyaiher
15.05.2020, 10:57
49087

Как правильно сформировать текст в строке запрос? В таком виде в базу данных передаются только название переменной!

SCADAMaster
15.05.2020, 11:26
После имени переменной у вас явно лишний пробел.
Также попробуйте работать с режиме хранимой процедуры - напишите процедуру на уровне БД, а из скады вызывайте.
Вообще MySQL редко применяется, поэтому с ней могут быть проблемы. Нет возможности использовать MS SQL?

krollcbas
15.05.2020, 12:28
У меня есть опыт трансляции данных MySQL (все работает), но он дался достаточно трудно и как бы делиться этим я не хочу.

SCADAMaster
15.05.2020, 16:30
Да_Ошибка появляется при нажатии Обновить таблицы. с этим понятно!
база создана, или структура таблиц должна быть определенная?
49052
Скачайте текущую Beta версию (на том же FTP) - мы исправили эту ошибку

arsenius
17.09.2020, 09:16
Добрый день! Во вкладке "параметры" Кнопка создать автоматически" выдаёт, что нет такой процедуры в базе. Хотя вызов самой процедуры проходит без ошибки. В чём может быть подвох?

SCADAMaster
17.09.2020, 10:22
Речь про MySQL?
ФБ написан давно, и с новыми версиями могут быть подобные проблемы.
Пропишите параметры процедуры вручную.

arsenius
17.09.2020, 12:37
И ещё. В мануалах нигде нет примера построения строки запроса к БД (не процедуры), чтобы можно было разобрать данные из ответа. Делаю сейчас так: SELECT `CODE`, `DESCRIPTION`, `PRICE` INTO @OutCode., @OutDesc, @OutPrice FROM goods WHERE `ID`=@InputID, где первые три переменные с @ это выходные параметры, последняя - входной параметр. Имею ошибку "Не удалось привести тип объекта System.Object к типу "System.Iconvertible". Подскажете, может я в запросе переменные неправильно описываю?

arsenius
17.09.2020, 12:42
MySQL. Вручную работает.
51069

arsenius
18.09.2020, 07:31
На INSERT убедился в том, что запись такого вида работает: INSERT INTO nalivdb.jobtable ( JOBSTART , JOBEND , OPERATOR , VOLUME , MASS , TEMPERATURE , PRESSURE ) VALUES (@Start, @End , @Operator, @Volume , @Mass , @Temperature, @Pressure)
С SELECT упростил, сейчас делаю запрос вот такой: SELECT DESCRIPTION INTO @OutDesc FROM nalivdb.goods WHERE ID = 2
База та же, таблица другая. Обычные запросы без переменной проходят нормально.
51085
Но при первом упоминании параметра через @ даёт ошибку Undeclared variable: System.Object

SCADAMaster
18.09.2020, 09:45
Сейчас у вас в чем вопрос?

arsenius
18.09.2020, 12:00
Как правильно сформировать запрос SELECT используя параметры?
SELECT DESCRIPTION INTO @OutDesc FROM nalivdb.goods WHERE ID = 2 - выдаёт ошибку Undeclared variable: System.Object
Убираю @OutDesc - ошибка не появляется.

SCADAMaster
18.09.2020, 15:31
А не устраивает вариант работать в режиме хранимой процедуры?

arsenius
21.09.2020, 07:25
Хотелось бы вариант когда все инструменты (функции, процедуры и т.п.) хранились в проекте визуализации. Конечно, таблицы БД тоже являются частью задачи, но их я никак в проект визуализации не запрячу.
Этот вопрос спорный, у каждого свои тараканы в голове, но почему бы функционалу заложенному в ПО не работать как было задумано, тем более, что задача-то несложная?

arsenius
21.09.2020, 07:36
Есть ещё вопрос. Наверное более широкий, чем топик, но имеющий непосредственное отношение. Есть ли MasterSCADA инструмент для работы с запросами более чем на одну строку. К примеру сформировать выпадающий список из вариантов по какому либо заранее определённому признаку?

SCADAMaster
21.09.2020, 09:07
Есть ещё вопрос. Наверное более широкий, чем топик, но имеющий непосредственное отношение. Есть ли MasterSCADA инструмент для работы с запросами более чем на одну строку. К примеру сформировать выпадающий список из вариантов по какому либо заранее определённому признаку?
Можно сделать выборку и положить данные в архив.
Либо используя редактор отчетов вывести данные в таблицу.
Либо писать свой ВФБ и вывести в нужном вам виде.

arsenius
22.09.2020, 07:55
Выборка не совсем мой вариант. Редактор отчётов уже использую в альтернативном варианте. ВФБ пока для меня это тёмный лес.
Спасибо.

Strim-007
05.10.2023, 11:31
Добрый день. Имеется сдача, ну примерно, как у всех в этой ветке, получить переменную из базы Mysql с помощью ФБ MySQL Процедура/функция. Что сделал: Создал в базе процедуру сделал для проверки одну выходную переменную с типом данных дата время ( в таблице есть такие данные) при проверке переменная @ValTime отдает значения времени. В Master Scada поставил ФБ в дере объекта выполнил настройки во соответствующей вкладке, перешел на вкладку параметры ( я так понял автоматически не чего не заполняется) создал переменную @ValTime тип данных DataTime, размер любо ставил, в результате получаю нули. Подскажите где ошибаюсь?

SCADAMaster
05.10.2023, 12:07
Вызов этой хранимой процедуры в среде администрирования MySQL проверяли? Значения корректные возвращаются?
Проверьте что указали правильное имя процедуры, последовательность и тип параметров.

Strim-007
05.10.2023, 12:38
Что подразумеваете под средством администрирования? MySQL Workbench? Имя процедуры проверил, даже утем копирования. Последовательность что имеете ввиду ? Тип переменных одинаковый специально выбрал DateTime.

SCADAMaster
05.10.2023, 13:29
Что подразумеваете под средством администрирования? MySQL Workbench?
Да. phpMyAdmin, ToadForMySQL.
Нужно проверить что процедура корректно вызывается с такими же параметрами как в скаде и посмотреть что возвращает


Последовательность что имеете ввиду ?
При вызове хранимой процедуры последовательность входов и выходов должна быть одинаковой в процедуре и Фб

Strim-007
06.10.2023, 09:09
Сделал новый фб, ввел настройки сервера, теперь автоматически выбирает тип переменной Decimal.( но хотя бы автоматически и не дает изменить) хотя в задание процедуры из базы появилось что переменная выходная дата время. При запуске на исполнение фб не активен и переменная серого цвета.

Strim-007
06.10.2023, 09:23
7075570755

SCADAMaster
06.10.2023, 10:02
Вы проверяете на ключевой версии или на демо?
Если на ключевой, то есть ли у вас опция работы с БД? В скаде, в правом нижем углу есть красная кнопка - нажмите на нее, там будет протокол работы. Посмотрите есть ли ошибка в работе этого ФБ

Strim-007
06.10.2023, 11:10
Все понял, к сожалению как раз на этот АРМ купили без опции Mysql. Большое спасибо

Spawn
07.10.2023, 10:36
Если на ключевой

Попутный вопрос...

А если неключевая версия (демо), к ней "прикрутить" MySQL или MS SQL возможно?

SCADAMaster
08.10.2023, 14:50
На демо версии (на 1 час в RT) поддерживаются все опции, в том числе работа с БД

PetrAfonin
26.01.2024, 10:31
Добрый день.
Знатоки помогите.
Я так понимаю, что Мастер Скада 3,9 может экспортировать данные на удаленную БД.
Вопрос - можно так же импортировать с удаленной БД данные в Мастер Скада для последующего создания отчетов?

SCADAMaster
26.01.2024, 10:48
Есть два варианта:
1. В самом редакторе отчетов напрямую подключаетесь к MySQL, формируете SQL запрос и строите отчет.
2. Перегоняете данные из БД в архив MasterSCADA используя режим выборки (https://support.mps-soft.ru/MasterSCADAHelp/index.html?proekt_elementi_dereva_sistemi_bd_conne ctors_chtenie_iz_bazy.html). Затем на основе архива строите отчет.

Navigation1
11.03.2024, 22:16
Есть два варианта:
1. В самом редакторе отчетов напрямую подключаетесь к MySQL, формируете SQL запрос и строите отчет.
2. Перегоняете данные из БД в архив MasterSCADA используя режим выборки (https://support.mps-soft.ru/MasterSCADAHelp/index.html?proekt_elementi_dereva_sistemi_bd_conne ctors_chtenie_iz_bazy.html). Затем на основе архива строите отчет.

Добрый день! А каким образом импортировать данные из MySQL и использовать их в МастерСКАДА для расчётов и отображения? Может есть готовый проект для изучения? В документах описания работы с импортом и в видеоуроках ничего нет.

SCADAMaster
12.03.2024, 09:49
Через хранимую процедуру в режиме Выборки можно получить данные и записать их в архив скады. Ссылку мы давали выше.
Но в случае с MySQL для этого нужно использовать ФБ:
https://support.mps-soft.ru/MasterSCADAHelp/index.html?rabota_s_arhivom_my_sql_procedure_funct ion_my_sql_.html

Navigation1
12.03.2024, 11:55
У нас версия 3.6.0.50253 3.6(30006338_5382)_15_06_11_11_58. Выборки в ФБ нет...
74274

SCADAMaster
12.03.2024, 13:46
Нельзя добавлять его в дерево системы - только в дерево объектов.
Выборку нужно активировать на вкладке Настройки

Navigation1
12.03.2024, 14:04
СпасибО!!!