форум асутп
 На главную                       Здесь может быть Ваша реклама, подробнее...

здесь может быть ваша реклама

 Наверх  |  Перейти к теме  |  Поиск  |  Вход  |  Дерево    
 Таймер в Step7
Автор: Valik 
Дата:   08.09.16 17:02

Доброго времени суток!
Подскажите пожалуйста как можно организовать задачу по смене времени работа
таймера (через переменную), которая будет подаваться на вход таймера TV (тип
S5TIME). Задание ведется из WinCC. Время нужно менять только в минутах.

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Таймер в Step7
Автор: _Artem_ 
Дата:   08.09.16 19:43

Добрый день.
А не проще организовать таймер через счет времени цикла CPU? Тогда проще общаться с WinCC, да и корректнее получится.

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Таймер в Step7
Автор: Valik 
Дата:   08.09.16 20:20

Добрый день, Артем!
Дело в том, что таких таймеров много, каждый отвечает за определенное время наработки оборудования, раньше оно было константой, а теперь при смене технологии оператору необходимо варьировать этим параметром. Корректной работы пока добиться не удалось, поэтому обращаюсь за помощью ;)

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Таймер в Step7
Автор: SapherJalt 
Дата:   08.09.16 20:48

Эм, я правильно понимаю, что в WinCC пользователь задает число, которое является временем наработки в минутах?
Это на STL

// Пример таймера на STL - Английский синтаксис

A I 0.0 // Test input bit 0.0
L S5T#10s // Preset 10 seconds into ACCU 1.
SD T1 // Start On-Delay Timer

A T1 // Check signal state of timer T1.
= Q 4.0 // Make output bit 4.0


Вместо L s5t#10s можно использовать любое другое значение, например L #timer1, где #timer1 задается в STAT в блоке, если FB с типом данных S5Timer.
Тогда на winCC подвязывается тег из DB для FB.

Если вам нужно через функцию, то давайте думать о том, что FC не имеет данных для хранения и изменять её слишком черевато, но и там можно сделать через косвенную адресацию или через слово маркер.

Информацию можно взять тут:
http://plc.mavjuz.com/ru/siemens/simatic/step7/timers.html

не реклама.

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Таймер в Step7
Автор: SapherJalt 
Дата:   08.09.16 21:05

https://yadi.sk/d/ugi5ee58uumy7

Ссылка на пример проекта в Step7 на S7-300

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Таймер в Step7
Автор: Михаил Барсуков 
Дата:   08.09.16 22:10

Доброго времени суток!

Переменную времени хранить  в DB-шке. Следовательно WInCC свободно может менять это параметр в DB-шке и при выключении питания данные сохранятся.

Далее - код STEP7 - проверьте в симуляторе или на реальном контроллере.
==============================================================================================

L     DB823.DBW  182   // Переменная в блоке данных - время в мин., выставляемое оператором
L     6                // перевод в сек c учетом базы таймера 10с (время 10 s до 2 h 46 m 30 s)
*D                     // умножение
T     MW   330         // результат умножения записываем во внутреннюю память контроллера

L     MW   330
ITB                    // переход к BCD
T     MW   332

A     M      1.0       //  Всегда единица (true)
S     M    332.4       // установка 4 бита в слове
S     M    332.5       // установка 5 бита в слове
NOP   0

A     M     33.1       // Условие, по которому начинает работу таймер
L     MW   332         // Время работы таймера
SD    T    222         // Таймер SD

==============================================================================================

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Таймер в Step7
Автор: Valik 
Дата:   09.09.16 10:30

Добрый день!
Михаил спасибо за развернутый ответ, но к сожалению, опять проблема заключается в том, что входной параметр таймера подает миллисекунды (я использовал входную переменную DB2.DBW0):

http://s018.radikal.ru/i528/1609/cb/9ea4910a3c87.jpg

насколько я понимаю нужно вести работу с областью памяти типа S5TIME отвечающей именно за минуты, если я правильно понял, но как это сделать, к сожаления я пока не разобрался.....

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Таймер в Step7
Автор: SapherJalt 
Дата:   09.09.16 18:16

Разобрались?
Если нет, то вот решение ТОЛЬКО в минутах. Т.е. более дробно не зададите.

  A     M 10.1            //Always 1

  L     #TimeWincc        //DInt-формат в STAT разделе FB. Это же тэг для WinCC
  L     #base             //DInt-формат в STAT разделе FB. Присвоено постоянное значение 60000
  *D
  T     MD    18          //Не стоит выгружать обратно в #TimeWinCC

  CALL  "TIM_S5TI"        //IEC Funcion block FC40 "TIME to S5TIME"
     IN     :=MD18
     RET_VAL:=#timer_s5   //Итоговое значение в формате S5Time

В WinCC создаете IF-Field (input).
Format type: Decimal
Format pattern: 999
Тэгу присваиваете Data Type: Time

В итоге можно "Забивать" значения в минутах в WinCC.
Логика такая.
Time при конвертации в S5Time конвертируется 1 -> 1ms
Причем базу проставлять не надо. Возиться с BCD - тоже.

На будущее можно использовать SFB4 "TON" и SFB5 "TOF"

S5Time - переходной формат с S5 на S7, отголосок прошлого.

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Таймер в Step7
Автор: Valik 
Дата:   09.09.16 19:02

Огромное спасибо! Все работает как надо))) Интересно что оказывается существует FC40, никогда не слышал о ней, теперь буду знать) Еще раз - спасибо!

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Таймер в Step7
Автор: SapherJalt 
Дата:   09.09.16 23:23

Можно изменить номер блока из FC40. Правой кнопкой - Rename
Более подробно расписаны в:
F1(Справка) -> Поиск в указателях "IEC functions"

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Таймер в Step7
Автор: Oleg Belitskiy 
Дата:   18.08.18 09:01

SCL, TIA Portal
"открыл" для себя, что таймеры S7 как IEC, так  и S5
не работают в блоке IF END_IF. За блоком да.
Интересный момент, в симуляторе какое то время таймер запускается,
но до конца время не отрабатывает. И затем сам блок IF перестает отрабатывать, хотя
событие по которому он должен иаймер запускать наступает.

C чем это связано? Помнится в Step S7 работало, или мне приснилось?

1 Вариант

IF #clb_Variable THEN

#tmp_Timer_start;

Timer (#tmp_Timer_start);

END_IF;


2 Вариант

IF #clb_Variable THEN

#tmp_Timer_start;

END_IF;

Timer (#tmp_Timer_start);

после выноса таймера из блока и сам IF блок корректно отслеживает событие
и конечно же таймер запускается



Подозреваю и счетчики не будут запускаться и в циклах не будет таймер запускаться

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Таймер в Step7
Автор: BETEP 
Дата:   28.12.18 11:10

Добрый день!

Я считаю - невозможно заниматься сколько-нибудь серьезной разработкой в Step7 не "закрыв" для себя вопросы с использованием:
1) таймеров  - либо IEC, но лучше самописные, реализация тривиальная, а плюсов бесконечное количество.
2) указателей (ANY) - завести тип UDT_ANY соответствующий структуре ANY, а далее простая синтаксическая конструкция: aData AT Data: ANY;
3) использования FB и вложенных FB.

Конкретно по таймерам было тут:

http://iprog.pp.ru/forum/read.php?f=1&i=74986&t=74986

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Таймер в Step7
Автор: Oleg Belitskiy 
Дата:   28.12.18 12:16

каков своевременный, а главно объективный ответ.

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Таймер в Step7
Автор: Oleg Belitskiy 
Дата:   28.12.18 12:20

>после выноса таймера из блока и сам IF блок корректно отслеживает событие
>и конечно же таймер запускается

в 14 версии TIA еще вналичие такая ситуация, функция вынесенная за пределы блока отрабатыает не одинако с такой же функцией размещенной в другом нетворке

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Таймер в Step7
Автор: Алексей Дмитриев 
Дата:   27.02.19 23:55

В хелпе Step 7 прекрасно расписан формат S5TIME - почитайте и все встанет на свои места. В качестве уставки таймера используйте переменную типа INT. Он все это прекрасно проглотит:)

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Таймер в Step7
Автор: Oleg Belitskiy 
Дата:   28.02.19 07:21

c 5 не было проблем.
в хелпе в тиа нет ничего.
в менеджере сейчас не могу посмотреть

Адрес этого сообщения    Ответить на это сообщение
 Список форумов    


 Список форумов  |  Нужен логин? Регистрируйтесь здесь 
 Логин пользователя
 Имя пользователя:
 Пароль:
 Помнить пароль:
   
 Забыли ваш пароль?
Введите имя пользователя или e-mail, и новый пароль будет послан на email, указанный в вашем профиле.

Рейтинг@Mail.ru