This is topic Прием и передача по OPC серверу in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/31/t/000908.html

Posted by LevSP (Участник № / Member № 4065) on :
 
Добрый день.
Связываюсь с OPC DA сервером WinCC v.6.2 фирмы Сименс.
Делаю 3 сигнала
t1 - bool
t2 - bool
t3 - signed 8-bit value

D TM делаю 3 OPC переменные:
1) Имя: OPC#2
Кодировка: TW0
SYNC/CACHE
Input
дискрет

1) Имя: OPC#3
Кодировка: TW0
SYNC/CACHE
Output
дискрет

2) Имя: OPC#4
Кодировка: TW0
SYNC/CACHE
Input
аналог

И соответственно аргументы экрана с типами
1) bool in/out
2) bool in/out
3) уже все перепробовал
При передаче первой переменной из WinCC сервера приходит значение
65535
2) нормально
3) положительные значения приходят нормально, отрицательные значения не приходят, приходит то 65535, то 247..

Прошу помочь.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1. Для всех OPC-переменных создайте связанные с ними каналы, к атрибутам которых привязывайте аргументы экрана.
2. Для беззнаковых переменных каналы могут быть HEX16.
Для знаковых переменных (целых или вещественных) - каналы FLOAT.
 
Posted by LevSP (Участник № / Member № 4065) on :
 
3) Отрицательное значение переслал. Надо было сделать аргумент экрана типа real.

1) Сделал привязку не к реальному значению, а к 1-му битику в канале - заработало.

2) Теперь не работают выходные значения!
Если привызявать выходное значение непосредственно к OPC тегу, то выходное значение передается, но перестает работать входное. Если все делать через канал, то выходное значение не передается.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
"Создал 3 канала:
1) HEX16 2) HEX16 3) FLOAT
Пересылаем 1,1 и -4
Приходят значения
1) 65535 2) 1 3) 65532"
Если настройки для BOOL-переменных и отображения связанных с ними каналов HEX16 одинаковы, то при подаче в OPC-сервере одинаковых значений (1) и отображения этих каналов на экране должны быть одинаковыми. Проверьте, пожалуйста.

"Еще эксперимент. Привязал к каналу не к текущему значению:
В профайлере в окне "просмотр компонентов" значения такие:
1) FFFF 2) 0 3) -4 !!"
Что означает "Привязал к каналу не к текущему значению:"?
При ОДИНАКОВЫХ настройках BOOL-"Источников" значения в каналах ДОЛЖНЫ быть одинаковыми. Надо проверять.
Канал FLOAT принял правильное значение.

"Еще эксперимент, аттрибут для 3-го сигнала поставил floal - стал передавать отрицательные значения."
Уже в предыдущем пункте канал FLOAT показывал отрицательное значение.
Возможо, речь идет о том, что соответствующему АРГУМЕНТУ экрана задан тип данных REAL? Тогда это правильно.

Пришлите, пожалуйста, на адрес hotline@adastra.ru проекты (файлы *.prj) для каждого из трех описанных выше экспериментов.
В письме, пожалуйста, представьте организацию, себя и дайте ссылку на топик форума.
 
Posted by LevSP (Участник № / Member № 4065) on :
 
Спасибо за поддержку, перешлю.
Я изменил то сообщение, на которое Вы ссылались при ответе. Привожу его, дабы видеть последнее состояние моих поисков.
-------------------------------------
3) Отрицательное значение переслал. Надо было сделать аргумент экрана типа real.

1) Сделал привязку не к реальному значению, а к 1-му битику в канале - заработало.

2) Теперь не работают выходные значения!
Если привызявать выходное значение непосредственно к OPC тегу, то выходное значение передается, но перестает работать входное. Если все делать через канал, то выходное значение не передается.
----------------------------
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Для передачи параметра в OPC-сервер, надо создать OPC-компонент типа OUT, привязать к нему канал соответствующего типа тоже OUT.
C экрана подавать значение в атрибут ВХОД этого канала.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2