This is topic Проблема с ОРС переменными in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Здравствуйте. Условие - есть ОРС сервер (свой), находится на удаленной машине, через тм6.07 (бесплатная версия) получаю от него 5 переменных, для каждой переменной создан отдельный канал типа float (так как данные в ОРС в таком формате), значения получаю по нажатию на соответствующую клавишу (для каждого параметра своя, при нажатии просто меняется состояние канала с 1 на 0), выводятся значения каналов в график и в текстбоксы. Проблема - при одинаковом значении параметра "единицы периода пересчета" для всех каналов (однократно) - все значения выводятся в один и тот же канал, оставляя остальные незадействованными, то есть из 5 линий на графике рисуется только 1, и только 1 текстбокс получает значения всех 5 переменных по нажатию на соответствующую кнопку. По сути не получается вывести 5 значений одновременно. Сторонний Скада ОРС клиент таких проблем не имеет, все значения получает и выводит как должно. Хотелось бы узнать хотя бы в чем может быть проблема? Параметры системы: Microsoft windows server 2003 sp2 2Gb ram Intel pentium 4 2.80 GHz
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Не понятно, как индивидуальная клавиша для каждого канала, связанного с OPC-сервером, влияет на изменение его значения. Где расположены эти клавиши и как связаны с каналами? 2. Если у каналов стоит в настройках периода обработки "Однократно", тот они не могут принимать реальную информацию от OPC-сервера. 3. ОС Windows Server 2003 не относится к числу рекомендованных ОС для Trace Mode 6.
Posted by Noname (Участник № / Member № 4505) on :
1. Клавиша меняет параметр "состояние" канала, с 1 на 0, то есть включает канал. Пробовал делать и без клавиш, чтобы информация получалась постоянно - ничего не изменилось. 2. Проблема не в этом, информация получается именно та которая нужна, но вся она идет в один и тот же канал, 1 из 5, при любых значениях параметра "единицы периода перерасчета", если для всех 5 каналов эти значения совпадают. Если поставить разные значения в этот параметр - каналы получают данные более менее правильно, но с разной частотой. 3. Может ли именно это быть причиной?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Если разные каналы правильно привязаны к разным тегам OPC-сервера, они должны принимать только значения привязанных тегов. Никакой взаимной зависимости быть не должно.
Posted by Noname (Участник № / Member № 4505) on :
Именно это и происходит. Разные каналы, разные теги ОРС. А все теги выводятся в один и тот же канал. Как бы странно это не звучало. Может ли ОС быть причиной?
Posted by Noname (Участник № / Member № 4505) on :
Интересный факт. Если установить первому каналу единицы обновления - циклы CALC, а остальным - сек. Первый сохраняет свое значение, а остальные(у которых совпадают freq_d) - используют только 1 канал из 4 для вывода своих значений (при наличии кнопок я могу выводить значения тегов по очереди).
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Попробуйте свой проект с другим OPC-сервером. Например, с KEPServerEx фирмы KEPware. Он бесплатно скачивается из интернета и работает в демо-режиме.
Posted by Noname (Участник № / Member № 4505) on :
Как вариант. Спасибо за совет.
Posted by Noname (Участник № / Member № 4505) on :
Видимо это нюанс сообщения между нашим ОРС сервером и ТМ6.07, т.к. тм с другими ОРС серверами ТМ работает без подобных нареканий. В тоже время наш ОРС с другими ОРС клиентами работает также без проблем.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Возможно, если это "свой OPC-сервер", Вы сможете запустить для него какой-нибудь "свой трассировщик" (штатного трассировщика мы не знаем), по протоколу которого можно будет судить о причинах возникновения конфликта.
Posted by Noname (Участник № / Member № 4505) on :
Появился другой вопрос. ОРС сервер для теплосчетчиков ТЭМ-104\106 от НПФ "Круг", есть ряд параметров - время работы с момента возникновения последней ошибки (для каждой ошибки свой параметр), значения измеряются в 10^7 сек (в конкретном случае - 21 400 000 сек). Вопрос: Какой класс канала нужно использовать чтобы получить значение в виде 21 400 000, а не 2,14е+007?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Надо взять канал HEX32 и привязать к нему этот OPC-источник.