Значение вх. канала по квитированию события

Стартовая страница Форумы Разработка и интеграция Значение вх. канала по квитированию события

Просмотр 5 сообщений - с 1 по 5 (из 5 всего)
  • Автор
    Сообщения
  • #17861
    vg
    Участник

    Здравствуйте!

    Собственно, если я правильно понимаю, для решения этой задачи нужно написать небольшой модуль.

    Мне нужен метод OnEventChecked в классе ModTestLogic.

    На сайте есть пример, в котором описано, что у класса ServerComm есть метод SendStandardCommand.

    Написал ориентировочный код в модуле:

    Log log = new Log(Log.Formats.Full);
                CommSettings settings = new CommSettings("localhost", 10000, "admin", "12345", 10000);
                ServerComm serverComm = new ServerComm(settings, log);
                bool result = true;
                serverComm.SendStandardCommand(11, 2121, 15, out result);

    Но он не работает 🙂

    Разумеется создал в проекте канал управления с номером 2121, который по формуле SetVal(2121, CmdVal) устанавливает значение входного канала с таким же номером 2121 (который разумеется также создан и у которого используется формула Val()).

    1) Что сделал неправильно?
    2) Для чего нужен Log, если я его никуда не сохраняю, не прописываю никаких путей.
    3) bool result не нужно сразу в true ставить?

    • Эта тема была изменена 3 года, 4 месяца назад от vg.
    #17863
    manjey73
    Участник

    Посмотрите в Модуле Автоуправления, свойства — Журнал
    Вероятно туда и пишется Лог

    А так, с модулями еще ни разу не программировал, не подскажу.

    #17864
    Mikhail
    Модератор

    Добрый день!

    Т.к. речь идёт о модуле, который отправляет команду на сервер, на котором он сам же и работает, Вам не нужно использовать класс ServerComm. Используйте ServerCommands.SendCommand или ServerCommands.PassCommand. Ссылка

    #17865
    vg
    Участник

    Mikhal, благодарю!

    Собственно получился вот такой модуль для этой задачи:

    public override void OnEventChecked(DateTime date, int evNum, int userID)
            {
                // the method executes after event check
                // метод выполняется после квитирования события
                Command command = new Command();
                ServerCommands.SendCommand(2121, command, userID);
                WriteToLog("Process event check by the module " + Name, Log.ActTypes.Action);
            }

    Где 2121 — номер канала управления, который отрабатывает по квитированию события.

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

    • Этот ответ был изменен 3 года, 4 месяца назад от vg.
    #17867
    Mikhail
    Модератор

    Рад, что всё получилось. Как видите, разработать модуль даже проще, чем драйвер.

Просмотр 5 сообщений - с 1 по 5 (из 5 всего)
  • Вы должны авторизироваться для ответа в этой теме.