| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
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 принадлежит клиенту: сколько клиентов - столько записей. |
|
| Вернуться к началу |
|
 |
|