EasyBuilder - Скорая помощь новичкам

Работа с панелями оператора Weintek - подключение, программирование, совмещение с ПЛК

Модераторы: kiv, 8bit, VanMo

Re: EasyBuilder - Скорая помощь новичкам

Сообщение Serg290 » 24 дек 2021, 16:20

ArtemPM писал(а):
Serg290 писал(а):Вообще суть такова. Есть контроллер Siemens S-1200 + панель Weintek. При выключении ШУ (перепад напряжения) настройки работы насосов (авто/руч) сбиваются, сбрасываются в ручное и насосы не пускаются. Исходников нет на Siemens. Вот я и пытаюсь после запуска ПЛК и панели (через 15 сек. ) запустить скрипт переключения в автомат. Пока результат следующий: В Оффлайн скрипт выполняется. В живую сбрасываю питание.... ничего не происходит. Может я что упускаю?

Попробуйте вместо delay использовать тег LW9030. В этом теге с шагом 0.1 сек хранится время прошедшее с момента запуска HMI. Сделайте условие LW9030>150 и посмотрите что получится.

А куда вставлять LW9030 > 150 ? Не подскажете?
Код: Выделить всё
macro_command main()
DELAY(18000)
bool e, f
GetData(e, "Siemens S7-1200/S7-1500", DBnBit, 40000000, 1)
if e == false then
f == true
SetData(f, "Siemens S7-1200/S7-1500", DBnBit, 40000000, 1)
end if
end macro_command
Serg290
 
Сообщения: 66
Зарегистрирован: 18 окт 2020, 17:17

Re: EasyBuilder - Скорая помощь новичкам

Сообщение w1nn1ep00h » 24 дек 2021, 16:31

Serg290 писал(а):Вообще суть такова. Есть контроллер Siemens S-1200 + панель Weintek. При выключении ШУ (перепад напряжения) настройки работы насосов (авто/руч) сбиваются, сбрасываются в ручное и насосы не пускаются. Исходников нет на Siemens. Вот я и пытаюсь после запуска ПЛК и панели (через 15 сек. ) запустить скрипт переключения в автомат. Пока результат следующий: В Оффлайн скрипт выполняется. В живую сбрасываю питание.... ничего не происходит. Может я что упускаю?

Во первых , как вы запукаете скрипт ? При загрузке панели,добавив его в системных настройках "Запустить макрос при включении панели" или по таймеру в первом загружаемом окне?
Во-вторых , если вам надо проверять тег авто\ручной на контроллере, то как проверяете доступность контроллера?Так как часто панель прогружается до контроллера(сделать проверку соединения по ethernet, можно тегом - LB-10100)
В третьих , как вы производите запись в тег сименса - по абсолютному имени(нужен импорт тегов) или по относительному(нужен прямой адрес к тегу на контроллере)
В четвертых вы точно знаете, что есть доступ к обращаемому тегу? Возможно база данных в котором он хранится защищенная и тогда увы, без исходников сименс вы ни чего не сделаете.
w1nn1ep00h
 
Сообщения: 40
Зарегистрирован: 25 авг 2021, 01:14

Re: EasyBuilder - Скорая помощь новичкам

Сообщение w1nn1ep00h » 24 дек 2021, 16:52

Serg290 писал(а):
Код: Выделить всё
macro_command main()
DELAY(18000)
bool e, f
GetData(e, "Siemens S7-1200/S7-1500", DBnBit, 40000000, 1)
if e == false then
f == true
SetData(f, "Siemens S7-1200/S7-1500", DBnBit, 40000000, 1)
end if
end macro_command


Почему странный адрес , доступ к DBn -> FFFFFDDDDo, где FFFFF - это номер базы DB в ПЛК Siemens,DDDD - байтовый адрес,o - номер бита(от до 7).
В моем случае(см.рис.1), это
FFFFF - 00001 или просто 1
DDDD - 0752
о - 4

А у вас получается :
FFFFF - 00400 или 400
DDDD - 0000
o - 0

Я могу предположить, что в контролллере создали автоматический 400 DB блоков или в ручной начать с 400, но все же, это как-то странно.
Поэтому мне кажется, либо у вас нет соединения с контроллером(см.пост выше), либо не правильная адресация к тегу.
Изображение
w1nn1ep00h
 
Сообщения: 40
Зарегистрирован: 25 авг 2021, 01:14

Re: EasyBuilder - Скорая помощь новичкам

Сообщение Serg290 » 24 дек 2021, 16:56

w1nn1ep00h писал(а):
Serg290 писал(а):Вообще суть такова. Есть контроллер Siemens S-1200 + панель Weintek. При выключении ШУ (перепад напряжения) настройки работы насосов (авто/руч) сбиваются, сбрасываются в ручное и насосы не пускаются. Исходников нет на Siemens. Вот я и пытаюсь после запуска ПЛК и панели (через 15 сек. ) запустить скрипт переключения в автомат. Пока результат следующий: В Оффлайн скрипт выполняется. В живую сбрасываю питание.... ничего не происходит. Может я что упускаю?

Во первых , как вы запукаете скрипт ? При загрузке панели,добавив его в системных настройках "Запустить макрос при включении панели" или по таймеру в первом загружаемом окне?
Во-вторых , если вам надо проверять тег авто\ручной на контроллере, то как проверяете доступность контроллера?Так как часто панель прогружается до контроллера(сделать проверку соединения по ethernet, можно тегом - LB-10100)
В третьих , как вы производите запись в тег сименса - по абсолютному имени(нужен импорт тегов) или по относительному(нужен прямой адрес к тегу на контроллере)
В четвертых вы точно знаете, что есть доступ к обращаемому тегу? Возможно база данных в котором он хранится защищенная и тогда увы, без исходников сименс вы ни чего не сделаете.


1. Запускаю "Запустить макрос при включении панели".
2. Siemens грузится быстрее чем панель.
3. Ставлю переключатель и в онлайн все переключает:
Изображение
Здесь адрес другой 40000100 но 40000000 тоже переключает естественно другой насос.
Serg290
 
Сообщения: 66
Зарегистрирован: 18 окт 2020, 17:17

Re: EasyBuilder - Скорая помощь новичкам

Сообщение w1nn1ep00h » 24 дек 2021, 17:05

Serg290 писал(а):Изображение

У вас на фото адрес тега отличается от адреса тега в скрипте, вместо 40000000 в скрипте -> 40000100 на фото.
w1nn1ep00h
 
Сообщения: 40
Зарегистрирован: 25 авг 2021, 01:14

Re: EasyBuilder - Скорая помощь новичкам

Сообщение Serg290 » 24 дек 2021, 17:08

w1nn1ep00h писал(а):
Serg290 писал(а):Изображение

У вас на фото адрес тега отличается от адреса тега в скрипте, вместо 40000000 в скрипте -> 40000100 на фото.

Выше ответил. Это другой адрес но 40000000 то же работает.
Serg290
 
Сообщения: 66
Зарегистрирован: 18 окт 2020, 17:17

Re: EasyBuilder - Скорая помощь новичкам

Сообщение w1nn1ep00h » 24 дек 2021, 17:15

Serg290 писал(а):Выше ответил. Это другой адрес но 40000000 то же работает.

Пробуйте в скрипте GetDataEx() сначала обращаться к тегу в контроллере, а потом GetError() - смотреть код ошибки(если он таковой есть)
w1nn1ep00h
 
Сообщения: 40
Зарегистрирован: 25 авг 2021, 01:14

Re: EasyBuilder - Скорая помощь новичкам

Сообщение 8bit » 24 дек 2021, 18:08

Serg290 писал(а):Доброго времени. ....Написал макрос:

....По идее при запуске панели должен поменяться бит. Но он не меняется.


начните с простого: он читается ? кнопкой меняется ?
Хороший вопрос содержит половину ответа - A good question contains half the answer
Аватара пользователя
8bit
 
Сообщения: 1108
Зарегистрирован: 20 апр 2020, 19:07

Re: EasyBuilder - Скорая помощь новичкам

Сообщение ArtemPM » 24 дек 2021, 19:39

Serg290 писал(а):А куда вставлять LW9030 > 150 ? Не подскажете?

Код: Выделить всё
macro_command main()
bool f=false, t=true
int second
GetData(second, "Local HMI", LW, 9030, 1)
if second>150 then
   SetData(t, "Siemens S7-1200/S7-1500", DBnBit, 40000000, 1)
   SetData(t, "Local HMI", LB, 5, 1) //останавливаем макрос
end if
end macro_command

В условиях выполнения макроса ставим "отключить когда бит включен" и указываем LB5. Макрос делаем периодическим. Период ставьте какой вам нравится.
Но всё таки начать нужно с того, что уточнить, какой у вас адрес используется в ПЛК. Изначально вы писали адрес DB400-B0081, то есть как я понимаю DB400.DBX8.1, а теперь используете DB400.DBX0.0
ArtemPM
 
Сообщения: 197
Зарегистрирован: 14 апр 2021, 05:16

Re: EasyBuilder - Скорая помощь новичкам

Сообщение Serg290 » 25 дек 2021, 20:21

8bit писал(а):
Serg290 писал(а):Доброго времени. ....Написал макрос:

....По идее при запуске панели должен поменяться бит. Но он не меняется.


начните с простого: он читается ? кнопкой меняется ?


Читается и меняется.
Serg290
 
Сообщения: 66
Зарегистрирован: 18 окт 2020, 17:17

Пред.След.

Вернуться в Weintek

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13