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

Тема: Запись в БД (дубли)

  1. #1

    Question Запись в БД (дубли)

    Здравствуйте всем. Вот и пришло время сменить СКАДУ на отечественную. Выбрал MasterScada. Стал изучать.
    Возник вопрос по записи значений в БД MSSQL 2008 через хранимую процедуру. Все связи настроил. Процедуру написал. Запись значений идет, но ...

    Вопрос в следующем
    Из документации:
    дополнительный вход «Выполнять» - когда на нем «Ложь» процедура перестает выполняться
    Связал данный вход с кнопкой на мнемосхеме. При нажатии кнопки происходит запись в БД, но если держать её зажатой достаточно долго, то хранимая процедура выполнится несколько раз и в БД появятся дубли (несколько строк с одинаковыми значениями). Если же нажать кнопку слишком быстро (НО НАЖАТЬ), то вход «Выполнять» вообще не включается и в итоге запись в БД не происходит, а это грозит потерей этих данных в реальном проекте, что недопустимо.

    1) Каким образом можно организовать запись значения в БД только один раз?
    2) Каким образом избежать потери данных?

    Заранее спасибо.

    UPD. Разобрался с 1). Нужно было выставить опрос у процедуры в мастерскаде "По изменению входов".
    Остался второй вопрос, добавил в дерево объектов кнопку с фиксацией и выставил ей время фиксации 5 сек. Но все равно, иногда при быстром нажатии кнопки (на мнемосхеме она переходит в состояние "нажата" на 5сек.) значение её выхода не изменяется (все время "Выкл"). Непонимаю
    Изображения Изображения
    Последний раз редактировалось Fre5h; 08.01.2015 в 00:05.

  2. #2

    По умолчанию

    Не используйте эту кнопку.
    Создайте команду типа "Дискретный" и вытащите ее на мнемосхему - она станет кнопкой. Нажатие на такую кнопку будет приводить к импульсу длительностью в 1 цикл (можно сделать больше).
    Спасибо.

  3. #3

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Не используйте эту кнопку.
    Создайте команду типа "Дискретный" и вытащите ее на мнемосхему - она станет кнопкой. Нажатие на такую кнопку будет приводить к импульсу длительностью в 1 цикл (можно сделать больше).
    Спасибо, заработало.

Похожие темы

  1. Организация перекачки часовых архивов из ПЛК в ПК(скаду, БД)
    от Konstantin_GTK в разделе Сетевые технологии
    Ответов: 4
    Последнее сообщение: 24.06.2013, 14:49
  2. Запись данных в БД
    от Sohatyi в разделе Master SCADA 3
    Ответов: 25
    Последнее сообщение: 17.05.2013, 14:18
  3. Ошибка подключения БД Firebird
    от Boo the Hamster в разделе Master SCADA 3
    Ответов: 9
    Последнее сообщение: 02.07.2012, 11:17
  4. ПЛК100 и БД
    от Capiton в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 03.05.2011, 14:52
  5. Связь ПЛК(CoDeSYS) с SQL БД
    от demetriuse в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 16.07.2010, 03:50

Ваши права

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