Чтение тэга HMI в проекте на 2 плк

Инженерное программное обеспечение
Ответить
Stasyllius
Дилетант
Сообщения: 13
Зарегистрирован: 19 янв 2022, 11:26

Чтение тэга HMI в проекте на 2 плк

Сообщение Stasyllius »

Всем доброго времени суток! Подскажите, возможно есть решения рабочие? Есть проект в тиа портал состоящий из 2х программ на плк siemens S7 cpu 1214c, cpu 1518 4 pn/dp и проект для панели ipc477e. Данные с двух плк отображаются на панели. Есть доступ к изменению и загрузке проекта в cpu1214c и панели. Требуется прочитать тэги, которые хранятся во втором плк. Настроить связь по s7-connection на прямую с cpu1518 в cpu1214 нет возможности, т.к. нет доступа к загрузки проекта в плк 1518. По идее можно эти тэги вытянуть из панели, но как настроить такое подключение? В таблице тэгов hmi происходит присвоение тэгов обоих плк к тэгам панели с указанием подключения, естественно в одностороннем порядке. Может есть другие решения?

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Чтение тэга HMI в проекте на 2 плк

Сообщение Михайло »

Надо скопировать значение одного HMI-тега в другой HMI-тег? Может для этого циклический скрипт написать? Или может событие OnChange для тегов доступно?

Stasyllius
Дилетант
Сообщения: 13
Зарегистрирован: 19 янв 2022, 11:26

Re: Чтение тэга HMI в проекте на 2 плк

Сообщение Stasyllius »

Михайло писал(а):
24 янв 2022, 18:56
Надо скопировать значение одного HMI-тега в другой HMI-тег? Может для этого циклический скрипт написать? Или может событие OnChange для тегов доступно?
Нужно чтоб теги 1500-го оказались в 1200-м плк. Видимо только скрипт писать. Скрипт будет присваивать необходимые теги 1500 плк 1200-му в каждом цикле, чтоб были реальные значения процесса. У Вас есть ссылка на пример такого скрипта, буду благодарен!?

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Чтение тэга HMI в проекте на 2 плк

Сообщение Михайло »

Ещё вариант попроще - OnChange.

Stasyllius
Дилетант
Сообщения: 13
Зарегистрирован: 19 янв 2022, 11:26

Re: Чтение тэга HMI в проекте на 2 плк

Сообщение Stasyllius »

Михайло писал(а):
25 янв 2022, 12:20
Ещё вариант попроще - OnChange.
Прошу прощения, я не силен во всем многообразии программных изощрений сименс, OnChange - это скрипт такой или свойство элементов в Wincc (что это? , в help не густо)?

Stasyllius
Дилетант
Сообщения: 13
Зарегистрирован: 19 янв 2022, 11:26

Re: Чтение тэга HMI в проекте на 2 плк

Сообщение Stasyllius »

Разобрался это logging tags. Гениальное решение. Благодарю!

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Чтение тэга HMI в проекте на 2 плк

Сообщение Михайло »

Я немного запамятовал. Это фишка называется "событие" (event), оно назначается для hmi-тега 1518 - при возникновении события Change выполняется некоторое действие, а именно: нам важно записать это значение в тег 1214.

Здесь по изменению тега запускают скрипт:
https://support.industry.siemens.com/tf ... nge/135063
Вам нужно вместо запуска скрипта создать действие записи одного тега в другой, поищите, я не помню.

Stasyllius
Дилетант
Сообщения: 13
Зарегистрирован: 19 янв 2022, 11:26

Re: Чтение тэга HMI в проекте на 2 плк

Сообщение Stasyllius »

Все получилось. В свойствах тэгов hmi во вкладке event, можно задать стандартное действие, а конкретно InvertBit и указать тэг с 1214. Благодарю!

Stasyllius
Дилетант
Сообщения: 13
Зарегистрирован: 19 янв 2022, 11:26

Re: Чтение тэга HMI в проекте на 2 плк

Сообщение Stasyllius »

Добрый день! Возникла задача не только считывать тэги, но менять их и при чем это тэги кнопок пуск/стоп. Сделал 2 варианта.
1.Добавил тег hmi, к которому привязан тэг моего плк, формируемый моей программой. В свойствах event добавил установку тэга кнопки стоп( потом еще и одновременно сброс тэга пуска) Т.е. по изменению моего тэга устанавливается тэг кнопки, который в 1500.
2. Также в созданный тэг hmi, управляемый моим плк, в свойствах event добавил vb скрипт. Функция запускается по изменению моего тэга и во входном аргументе мой тэг, возвращаемый параметр тэг кнопки(1500-го), в теле копирую состояние:

Function VBFunction_1(ByVal Parameter_1)
VBFunction_1 = Parameter_1
End Function

Но увы не помогло ни то ни другое. Подскажите, где я мог ошибиться?

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Чтение тэга HMI в проекте на 2 плк

Сообщение Михайло »

По умолчанию, теги запрашиваются панелью у ПЛК, только если тег привязан к графическому объекту и он в данный момент отображается на экране. Если нужно, чтобы тег запрашивался всегда, то надо выставить свойство Acqusition mode = Cyclic continuous у тега.

Stasyllius
Дилетант
Сообщения: 13
Зарегистрирован: 19 янв 2022, 11:26

Re: Чтение тэга HMI в проекте на 2 плк

Сообщение Stasyllius »

Нашлась причина. Нужно еще было сделать как выше. Вывести тэг на экран либо настроить Cyclic continuous. Благодарю!

Ответить