MZ

Ответы в темах

Просмотр 8 сообщений - с 16 по 23 (из 23 всего)
  • Автор
    Записи
  • в ответ на: Кнопки (+) и (-) для уставки #28131
    MZ
    Участник

    Не смог разобраться(

    Каналы для кнопок — (output) 106 и 107, в них выходные формулы
    SetVal(109, Val(109) + 1)
    SetVal(109, Val(109) — 1)

    Уставка — канал 109 (calculated/output) с выходной формулой
    SetData(109, Val(109), 1)

    Кнопки в представлении работают. Вижу, что значение канала 109 меняется при нажатии.
    Но при этом команда в модбас не выдается.
    Смотрю лог в коммуникаторе, там команды такого вида (без номера канала):
    Val=1
    Val=2
    ..

    Сравнил с командами с кнопки, которая с поп-апом, но записывает в устройство:
    Code=109, Val=1

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

    в ответ на: Кнопки (+) и (-) для уставки #28124
    MZ
    Участник

    Да, получилось, спасибо.
    А что бы записывать измененную таким образом уставку на внешнее устройство, необходим модуль автоуправления? По-другому никак не сделать?

    в ответ на: разграничение доступа #28117
    MZ
    Участник

    Установил параметр EventCount = 0, события(строки) не отображаются, но сама панель «события» осталась, пустая. Можно ли её убрать/скрыть совсем?

    в ответ на: разграничение доступа #28107
    MZ
    Участник

    Настройки нашел, спасибо.
    Не понял только как отключить «события» внизу страницы. понятно, что можно свернуть, но хочется убрать совсем.
    Подскажите пожалуйста, как это сделать.

    • Ответ изменён 3 года, 3 месяца назад пользователем MZ.
    в ответ на: управление по программе из MySQL #27791
    MZ
    Участник

    Всё заработало при записи в такой форме:
    Val(197)==0?Val(200):Val(Convert.ToInt32(200+Val(197)))

    Спасибо!

    • Ответ изменён 3 года, 4 месяца назад пользователем MZ.
    в ответ на: управление по программе из MySQL #27788
    MZ
    Участник

    Коллеги, добрый день!

    По своей задаче уже близок к завершению, но столкнулся с проблемой.
    Из mysql значения для выходной команды забрал, кладу по порядку в выделенный диапазон каналов(200-299).
    Циклический таймер написал (выдает импульсы раз в заданный интервал времени).
    Счетчик шагов (импульсов) сделал, когда превышает количество строк в базе, скидывается в 0.

    Теперь нужно в финальном выходе прописать что-то типа Val(197)==0?Val(200):Val(200+N),
    где
    197- текущий шаг выполнения
    200- первое значение из базы данных
    N-значение «счетчика» циклических импульсов, канал
    200+N — подразумевается значение выхода для текущего шага из базы.

    Пробовал записать таким образом, не работает:

    Val(197)==0?Val(200):Val(Val(200)+Val(197))

    получаем:

    Ошибка при компилировании исходного кода формул:
    Строка 693, колонка 78: error CS1502: The best overloaded method match for ‘Scada.Server.Engine.CalcEngine.Val(int)’ has some invalid arguments
    Строка 693, колонка 82: error CS1503: Argument 1: cannot convert from ‘double’ to ‘int’
    Для ознакомления с исходным кодом см. файл C:\SCADA\ScadaServer\Log\CalcEngine.cs
    Нормальная работа программы невозможна

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

    Спасибо.

    в ответ на: управление по программе из MySQL #27676
    MZ
    Участник

    Отправляем команду сразу, ждем паузу(тоже вопрос, как ее задавать при помощи считанной переменной), отправляем следующую команду, ждем следующую паузу и т.д.

    в ответ на: управление по программе из MySQL #27667
    MZ
    Участник

    Да, последовательно все строки, потом сначала.

Просмотр 8 сообщений - с 16 по 23 (из 23 всего)