Использование формул

Просмотр 6 сообщений - с 1 по 6 (из 6 всего)
  • Автор
    Записи
  • #6766
    skoda_rapid2017
    Участник

    Здравствуйте. У меня следующий вопрос по использованию формул. Формулу Cmd*65535, которую я использую, после того, как я ставлю галочку «исп.формулу» при перезапуске сервера выдает следующую ошибку:
    2017-07-27 08:52:50 <><система><ACT> Служба ScadaServerService 5.0.0.0 запущена
    2017-07-27 08:52:50 <><система><ACT> Проверка существования директорий данных выполнена успешно
    2017-07-27 08:52:50 <><система><ACT> Проверка существования файлов базы конфигурации выполнена успешно
    2017-07-27 08:52:50 <><система><ACT> Входные каналы считаны из базы конфигурации. Количество активных каналов: 191
    2017-07-27 08:52:50 <><система><ACT> Каналы управления считаны из базы конфигурации
    2017-07-27 08:52:50 <><система><ACT> Пользователи считаны из базы конфигурации
    2017-07-27 08:52:50 <><система><ACT> Формулы считаны из базы конфигурации
    2017-07-27 08:52:50 <><система><ERR> Ошибка при компилировании исходного кода формул:
    Строка 456, колонка 96: error CS0119: «Scada.Server.Svc.CalcEngine.Convert(double)» является «метод», который является недопустимым в заданном контексте
    Для ознакомления с исходным кодом см. файл C:\SCADA\ScadaServer\Log\CalcEngine.cs
    2017-07-27 08:52:50 <><система><ERR> Нормальная работа программы невозможна.

    Данная формула работает на другом ПК

    • Тема изменена 9 лет, 1 месяц назад пользователем skoda_rapid2017.
    #6769
    manjey73
    Участник

    Cmd — для каналов управления, это данные команды
    Cnl — для входных каналов, это данные канала

    Проверил у себя, в канале управления к ошибке не приводит

    Смотрите указанную строку в файле CalcEngine.cs, вероятно ваша формула тянет что-то за собой в других каналах, так как ошибка явно не связана с записью формулы.
    Проверил и во входном канале, ошибки тоже нет при компиляции и все запускается.

    • Ответ изменён 9 лет, 1 месяц назад пользователем manjey73.
    • Ответ изменён 9 лет, 1 месяц назад пользователем manjey73.
    #6772
    skoda_rapid2017
    Участник

    На входном канале я не использовал никакую формулу. Я использую лишь одну формулу в канале управления. Когда я перезапускаю сервер без исп.формулы он не выдает ошибку, как только ставлю галку исп.формулу то выдает ошибку. Проверил точно такое же действие на другом ПК, сервер без ошибок заработал.

    #6773
    manjey73
    Участник

    Строка 456, колонка 96: error CS0119: «Scada.Server.Svc.CalcEngine.Convert(double)» является «метод», который является недопустимым в заданном контексте

    Смотрите что там. Смотрите настройки базы, тип команды, может еще что включено и отличается в настройках базы между одним ПК и другим

    Может у вас бинарная команда включена вместо Стандартной или Опрос ?

    • Ответ изменён 9 лет, 1 месяц назад пользователем manjey73.
    • Ответ изменён 9 лет, 1 месяц назад пользователем manjey73.
    #6777
    skoda_rapid2017
    Участник

    Спасибо. Я решил проблему. Я заменил ScadaBase.sdf другим. Все сработало. Ошибка была в базе, но я не нашел все-таки где именно была ошибка. Будет свободное время посмотрю базу:)

    #6823
    djbond07
    Участник

    Я при подобных ошибках сразу лезу в CalcEngine.cs. В логе сервера пишутся строки с ошибкой, и в большинстве случаев сразу всё понятно стаёт.

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