TagRead, TagWrite и локальные переменные

Обсуждение SCADA-систем: Citect SCADA, Vijeo Citect, CitectSCADA, CitectFacilities, PowerLogic SCADA, PowerSCADA, MX4SCADA, Desigo Insight.
kvn
Сообщений в теме: 12
Сообщения: 105
Зарегистрирован: 08 сен 2015, 12:12
Откуда: Екатеринбург
Благодарил (а): 10 раз

TagRead, TagWrite и локальные переменные

#1

Сообщение kvn » 16 сен 2015, 14:57

Добрый день!
Возникла необходимость чтения и записи локальных тегов по их STRING именам.
Применимы функции TagRead и TagWrite для таких операций.



kvn
Сообщений в теме: 12
Сообщения: 105
Зарегистрирован: 08 сен 2015, 12:12
Откуда: Екатеринбург
Благодарил (а): 10 раз

Re: TagRead, TagWrite и локальные переменные

#2

Сообщение kvn » 16 сен 2015, 15:43

Получается следующее -
С помощью кнопки со страницы локальную переменную прочитать удается - id_Handle_1 = TagRead("hHandle_CN1_M1_0").
А то же самое ввожу в функции Cicode - локальная переменная не читается......



kvn
Сообщений в теме: 12
Сообщения: 105
Зарегистрирован: 08 сен 2015, 12:12
Откуда: Екатеринбург
Благодарил (а): 10 раз

Re: TagRead, TagWrite и локальные переменные

#3

Сообщение kvn » 17 сен 2015, 07:12

Может быть ошибка в том, что я локальную переменную хендл - hHandle_CN1_M1_0 объявляю в Теги - Локальные переменные с типом данных INT?
В встроенной справке не могу найти с каким типом данных можно объявлять хендл.
В Cicode хендл указываю с типом INT.



kvn
Сообщений в теме: 12
Сообщения: 105
Зарегистрирован: 08 сен 2015, 12:12
Откуда: Екатеринбург
Благодарил (а): 10 раз

Re: TagRead, TagWrite и локальные переменные

#4

Сообщение kvn » 17 сен 2015, 08:33

Для Cicode нашел описание в помощи (в Variable Naming Standards ) - хендл должны вводиться как INT (32 bits) and OBJECT (32 bits).
А какими их писать в Локальных переменных не понятно - LONG?



romasimeiz
Сообщений в теме: 2
Сообщения: 32
Зарегистрирован: 14 май 2015, 09:48

Re: TagRead, TagWrite и локальные переменные

#5

Сообщение romasimeiz » 17 сен 2015, 08:44

у меня в отладчике при попытке прочитать локальную переменную вылезла ошибка, что то типа "название переменной не является тегом."
т.е. локальные переменные в citect работают совсем по другому.
если решите проблему (или найдёте альтернативу), отпишитесь пожалуйста.



kvn
Сообщений в теме: 12
Сообщения: 105
Зарегистрирован: 08 сен 2015, 12:12
Откуда: Екатеринбург
Благодарил (а): 10 раз

Re: TagRead, TagWrite и локальные переменные

#6

Сообщение kvn » 17 сен 2015, 09:14

у меня в отладчике при попытке прочитать локальную переменную вылезла ошибка, что то типа "название переменной не является тегом."
т.е. локальные переменные в citect работают совсем по другому.
если решите проблему (или найдёте альтернативу), отпишитесь пожалуйста.

Ок!
Пока бьюсь над такой загадкой -
хендл - локальная переменная читается и пишется в других функциях, а при попытке его (или ее :)) чтения в функции
где я запускаю задачу с использованием этого хендл (требуется прочитать его перед запуском задачи) - хендл не читается....



kvn
Сообщений в теме: 12
Сообщения: 105
Зарегистрирован: 08 сен 2015, 12:12
Откуда: Екатеринбург
Благодарил (а): 10 раз

Re: TagRead, TagWrite и локальные переменные

#7

Сообщение kvn » 17 сен 2015, 09:39

у меня в отладчике при попытке прочитать локальную переменную вылезла ошибка, что то типа "название переменной не является тегом."
т.е. локальные переменные в citect работают совсем по другому.
если решите проблему (или найдёте альтернативу), отпишитесь пожалуйста.

Вы читаете локальную переменную с расширениями к ее имени - типа Status и т.п.?



romasimeiz
Сообщений в теме: 2
Сообщения: 32
Зарегистрирован: 14 май 2015, 09:48

Re: TagRead, TagWrite и локальные переменные

#8

Сообщение romasimeiz » 17 сен 2015, 13:32

Вы читаете локальную переменную с расширениями к ее имени - типа Status и т.п.?

нет. это кажется делается функцией TagInfo(), но судя по опыту, функции которые начинаются с "Tag", не работают с локальными переменными (



Аватара пользователя
alex
Администратор
Сообщений в теме: 7
Сообщения: 1768
Зарегистрирован: 05 апр 2010, 21:58
Откуда: Москва
Благодарил (а): 52 раза
Поблагодарили: 108 раз
Контактная информация:

Re: TagRead, TagWrite и локальные переменные

#9

Сообщение alex » 17 сен 2015, 15:06

Тут проблема связано с тем, что, цитирую описание из встроенной помощи:
Reads (Writes) a variable from(to) the I/O device....

А доступ к локальным переменным (Local variables) происходит не через устройства ввода-вывода. Другими словами данными функциями не получиться читать и писать в локальные переменные.



kvn
Сообщений в теме: 12
Сообщения: 105
Зарегистрирован: 08 сен 2015, 12:12
Откуда: Екатеринбург
Благодарил (а): 10 раз

Re: TagRead, TagWrite и локальные переменные

#10

Сообщение kvn » 17 сен 2015, 16:08

Получается хендл вообще нет возможности писать и читать формируя их STRING имена!?
Странновато как то!
Не ужели не предусмотрена такая возможность....

У меня хендл успешно читаются и пишутся через локальные переменные по их STRING именам во всех функциях - кроме одной описанной ниже.

Ну да ладно если так, но ведь есть возможность тогда создать хендл как внешние теги (используя резервные адреса) - писать и читать в них....
И какой же все таки тип данных можно применять у хендл вне Cicoda?




Если эта тема может быть полезна другим, поделитесь ссылкой:

Вернуться в «Citect SCADA, Vijeo Citect, CitectSCADA, CitectFacilities, PowerLogic SCADA, PowerSCADA, MX4SCADA, Desigo Insight»