Стартовая страница › Форумы › Взаимодействие с устройствами › Modbus › Использование формул
- В этой теме 5 ответов, 3 участника, последнее обновление 9 лет, 1 месяц назад сделано
djbond07.
-
АвторЗаписи
-
27.07.2017 в 09:23 #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.
27.07.2017 в 10:42 #6769
manjey73УчастникCmd — для каналов управления, это данные команды
Cnl — для входных каналов, это данные каналаПроверил у себя, в канале управления к ошибке не приводит
Смотрите указанную строку в файле CalcEngine.cs, вероятно ваша формула тянет что-то за собой в других каналах, так как ошибка явно не связана с записью формулы.
Проверил и во входном канале, ошибки тоже нет при компиляции и все запускается.27.07.2017 в 10:55 #6772skoda_rapid2017
УчастникНа входном канале я не использовал никакую формулу. Я использую лишь одну формулу в канале управления. Когда я перезапускаю сервер без исп.формулы он не выдает ошибку, как только ставлю галку исп.формулу то выдает ошибку. Проверил точно такое же действие на другом ПК, сервер без ошибок заработал.
27.07.2017 в 11:04 #6773
manjey73УчастникСтрока 456, колонка 96: error CS0119: «Scada.Server.Svc.CalcEngine.Convert(double)» является «метод», который является недопустимым в заданном контексте
Смотрите что там. Смотрите настройки базы, тип команды, может еще что включено и отличается в настройках базы между одним ПК и другим
Может у вас бинарная команда включена вместо Стандартной или Опрос ?
27.07.2017 в 11:18 #6777skoda_rapid2017
УчастникСпасибо. Я решил проблему. Я заменил ScadaBase.sdf другим. Все сработало. Ошибка была в базе, но я не нашел все-таки где именно была ошибка. Будет свободное время посмотрю базу:)
31.07.2017 в 10:32 #6823
djbond07УчастникЯ при подобных ошибках сразу лезу в CalcEngine.cs. В логе сервера пишутся строки с ошибкой, и в большинстве случаев сразу всё понятно стаёт.
-
Тема изменена 9 лет, 1 месяц назад пользователем
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.