Мы проверили - у нас установилось корректно, в свойства есть.
Попробуйте переустановить плагин
Вид для печати
Мы проверили - у нас установилось корректно, в свойства есть.
Попробуйте переустановить плагин
Уже пробовал... не помогло, видимо какие-то настройки в ОС, ладно, спасибо, буду разбираться...
http://www.owen.ru/forum/showthread....l=1#post160889
Значения из предыдущей сессии - такое возможно?Цитата:
Такое ощущение, что приходят значения, которые принимал тэг во время разрыва... Подскажите, пожалуйста с чем это может быть связано? - Если TCP-slave не игнорирует значения из предыдущей сессии - такое поведение возможно, я думаю. Но почему slave не игнорирует данные? Свяжитесь с разработчиком OPC
Приложите лог обмена. Для этого в свойствах сервера включите запись журнала и всех его событий, размер лога задайте равным 10000. Запустите режим исполнения и воспроизведите ошибку. Лог пишется в папку:
c:\Documents and Settings\All Users\Application Data\InSAT\MasterOPC Universal Modbus Server\SERVERLOGS\
Лог заархивируйте и вышлите нам.
Добрый день! Начал разбираться с MasterScada. Сделал небольшой проект на версии RT32 для получения и обработки оперативной информации. Сейчас необходимо разработать более серьезный проект. В наличии есть OPC DA сервер, по средствам которого я опрашиваю приборы учета (сервер идет вместе с прибором). В сервере реализована возможность обратиться к архивным данным прибора – введены соответствующие переменные (тип архива (часовой, суточный, месячный), параметр, время и т.д.), с помощью которых формируется запрос на чтение архивных данных. Соответственно на выходе получаю значение параметра, метку времени и признак качества. Т.е. можно написать С#-скрипт для получения данных за время работы прибора. Чем сейчас и занимаюсь. Встал вопрос – как в С#-скрипте сформировать переменные мастерскады и их архивы и соответственно записывать в них данные, что бы была возможность работать с ним дальше средствами Мастерскады. Т.е. объединить 3 значения, полученные от ОРС сервера, в одну переменную скады.
Для этого нужно выполнить следующую команду:
SetValue("Выход", ВашеЗначение,ПризнакКачества, МеткаВремени);
Как мы понимаем вы будете получать значение, признак качества и метку времени от входа скрипта. Это делается так:
(int)GetValue("Вход").OpcQuality; - признак качества
GetValue("Вход").Value; - Значение
GetValue("Вход").Time; - метка времени.
Спасибо за ответ.
Но немного не так. Соответственно 3 входа скрипта (значение, время, качество), так как 3 ОРС переменные. Поэтому получается у меня SetValue("Выход", значение_Вход1, значение_Вход2, значение_Вход3). Попробовал реализовать (SetValue("ВыходЗначения",GetValue("Значение_Вход" ).Value,GetValue("Признак").Value,GetValue("Время" ).Value);), но компилятор выдал «Ни одна из перегрузок метода "SetValue" не принимает "4" аргументов».
Пример в приложении.
Как тег может принимать значения во время разрыва?
И как сервер может понять что пришел запрос с предыдущей сессии?
Вообще по нормальному здесь должно быть Transaction ID. Его использование (постоянное увеличение) позволяет избежать получения ложных запросов. У нас в ОРС сервере он контролируется и генерируется (как в режиме Master так и в режиме Slave).
Большое спасибо!
Я посмотрел реализацию метода SetValue в хэлпе по объектной модели.