Вход на форум 
В начало e-Mail

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  
Smart Solutions VDT :: Просмотр темы - Как прочитать тег factorytalk se на vba
 FAQFAQ   ПоискПоиск   ГруппыГруппы   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Как прочитать тег factorytalk se на vba

 
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Программные средства систем автоматизации
Предыдущая тема :: Следующая тема  
Автор Сообщение
anforcer
Постоянный участник
Постоянный участник


Зарегистрирован: Mar 12, 2012
Сообщения: 64
Рейтинг: +0/-0

СообщениеДобавлено: Вс 22 Dec, 2013 16:23:14    Заголовок сообщения: Как прочитать тег factorytalk se на vba Ответить с цитатой

Помогите пожалуйста , приведите код программы vba factorytalk se для чтения и записи тегов. Тени все находятся в корне, отдельной группы для них не создавал
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
anforcer
Постоянный участник
Постоянный участник


Зарегистрирован: Mar 12, 2012
Сообщения: 64
Рейтинг: +0/-0

СообщениеДобавлено: Вс 22 Dec, 2013 18:34:54    Заголовок сообщения: Ответить с цитатой

Поясните мне пожалуйста назначение функции application.createtaggroup(me.areaname) . Никак не могу его понять. Изначально мои теги в проекте не сгруппированы, мне сито сейчас надо их в группу объединить? Вот код программы чтения которую поглядел у других

Dim tgroup as taggroup
Dim ttag as tag
Dim tvalue as integer
Set tgroup=application.createtaggroup(me.areaname)
Set ttag=tgroup.item("primer") ' primer название тега
Tvalue=ttag.value

Все

У других видел такие строки

Tgroup.active=true

Они то для чего???

И что делать с этим taggroup?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
anforcer
Постоянный участник
Постоянный участник


Зарегистрирован: Mar 12, 2012
Сообщения: 64
Рейтинг: +0/-0

СообщениеДобавлено: Пн 23 Dec, 2013 5:32:48    Заголовок сообщения: Ответить с цитатой

Вообщем ошибка получается tag was not found in the collection
Что не так сделал?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Olga_Z
Частый гость
Частый гость


Зарегистрирован: Mar 04, 2008
Сообщения: 20
Рейтинг: +0/-0

СообщениеДобавлено: Пн 23 Dec, 2013 8:05:36    Заголовок сообщения: Ответить с цитатой

dim WithEvents oGroup as TagGroup

Private Sub Button4_Press() 'при нажатии на кнопку
dim oTag_f as Tag
dim oValue as Variant

On Error Resume Next
Err.Clear
If oGroup Is Nothing Then
Set oGroup = Application.CreateTagGroup(Me.AreaName, 500)
If Err.Number Then
LogDiagnosticsMessage "Error creating TagGroup. Error: " & Err.Description, ftDiagSeverityError
Exit Sub
End If

oGroup.Add "tag1"
oGroup.Active = True
End If
Set oTag_f = oGroup.Item("tag1")
Err.Clear

oTag_f.Value = 1 'запись в тег
oValue=oTag_f.Value 'чтение
End Sub

в справке все подробно описано...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
anforcer
Постоянный участник
Постоянный участник


Зарегистрирован: Mar 12, 2012
Сообщения: 64
Рейтинг: +0/-0

СообщениеДобавлено: Пн 23 Dec, 2013 10:15:39    Заголовок сообщения: Ответить с цитатой

Похоже загвоздка была в этом:

oGroup.Add "tag1"
oGroup.Active = True


В справке все написано не "по-русский", всю информацию сгромоздили в кучу, а достаточно лишь одного толкового примера! Спасибо.

Подскажите еще, как можно организовать глобальный скрипт (VBA) программу в FT, с циклом 1 минута???? У меня есть постоянно активный дисплей, в его теле пишу программу как Display_Activate... только вот цикл обработки не указан
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Olga_Z
Частый гость
Частый гость


Зарегистрирован: Mar 04, 2008
Сообщения: 20
Рейтинг: +0/-0

СообщениеДобавлено: Вт 24 Dec, 2013 11:25:07    Заголовок сообщения: Ответить с цитатой

1. Создайте на своем экране (который всегда активен) тег типа boolean и сделайте его невидимым.
2. В контроллере заведите таймер и раз в минуту записывайте в созданный тег 1.
3. вызывайте свою процедуру по изменению тега (в программе добавить проверку если тег=1).

Может быть можно и проще, но я пока не придумала как...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
anforcer
Постоянный участник
Постоянный участник


Зарегистрирован: Mar 12, 2012
Сообщения: 64
Рейтинг: +0/-0

СообщениеДобавлено: Ср 25 Dec, 2013 15:07:14    Заголовок сообщения: Ответить с цитатой

Olga_Z писал(а):
1. Создайте на своем экране (который всегда активен) тег типа boolean и сделайте его невидимым.
2. В контроллере заведите таймер и раз в минуту записывайте в созданный тег 1.
3. вызывайте свою процедуру по изменению тега (в программе добавить проверку если тег=1).

Может быть можно и проще, но я пока не придумала как...


Проще получилось - у заграничных наших друзей подсмотрел, создается дисплей скрытый или можно использовать существующий, но постоянно открытый, добавляется поле input, привязывается тег системного времени (минутный, секундный, часовой, суточный, годовой), а на изменение change в VBA привязали нужный код и вуаля работает! Есть небольшие секундные задержки но это не страшно!

И еще считаю некрасивым завязывать ЧИСТО системные скрипты к контроллеру, к примеру что делать если он отключен...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
dv_
Эксперт
Эксперт


Зарегистрирован: Sep 14, 2006
Сообщения: 776
Рейтинг: +41/-1
Откуда: Донецк

СообщениеДобавлено: Чт 26 Dec, 2013 8:52:47    Заголовок сообщения: Ответить с цитатой

anforcer писал(а):
Проще получилось - у заграничных наших друзей подсмотрел, создается дисплей скрытый или можно использовать существующий, но постоянно открытый, добавляется поле input, привязывается тег системного времени (минутный, секундный, часовой, суточный, годовой), а на изменение change в VBA привязали нужный код и вуаля работает!
Необязательно поле input, можно отображение.
anforcer писал(а):
Есть небольшие секундные задержки но это не страшно!
В SE Network задержки будут больше, чем для Station.

Еще в SE Network можешь иметь проблему, т.к.:
anforcer писал(а):
...для чтения и записи тегов.
Код VBA принадлежит клиенту: сколько клиентов - столько записей.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Программные средства систем автоматизации Часовой пояс: GMT + 1
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах

Powered by phpBB © 2001, 2005 phpBB Group
Яндекс цитирования

Smart Solutions VDT GmbH | Friedrich-List-Allee 38, D-41844 Wegberg-Wildenrath, Germany
Tel.: +49 2432 933 57 83 | e-Mail: office@vdt-solutions.de
Все товарные знаки и торговые марки являются собственностью их владельцев.
При использовании материалов сайта ссылка на данный сайт обязательна.
Открытие страницы: 0.131 секунды
/n