преобразование переменной WORD в TIME

Автоматизация технологических процессов, системы управления, АСУ ТП, АСКУЭ, программирование ПЛК, человеко-машинный интерфейс, сетевое оборудование, протоколы

преобразование переменной WORD в TIME

Сообщение service » 30 янв 2014, 12:43

Здравствуйте!
Возможно ли с помощью программы WinPLC для плк Vipa производить преобразование Word в Time?
service
Специалист
 
Сообщения: 248
Зарегистрирован: 16 ноя 2012, 10:23

Re: преобразование переменной WORD в TIME

Сообщение Михайло » 30 янв 2014, 14:48

У Сименса есть функция MOVE, которая позволяет конвертировать WORD в S5TIME, WORD в INT и т.д. У Випы все ведь похоже?
Михайло
Администратор
 
Сообщения: 3412
Зарегистрирован: 19 сен 2012, 19:16

Re: преобразование переменной WORD в TIME

Сообщение Seregas » 11 фев 2014, 14:46

Service, Работаем с Випой, все аналогично.
Советую вам перейти на Step 7, это более стабильный и удобный софт чем WinPlc.
Аватара пользователя
Seregas
Любитель
 
Сообщения: 34
Зарегистрирован: 07 сен 2013, 19:10

Re: преобразование переменной WORD в TIME

Сообщение service » 12 фев 2014, 15:02

c помощью MOVE преобразовал WORD в S5TIME. преобразованную переменную на вход TV таймера. как расчитать время и задать его переменной типа WORD?
service
Специалист
 
Сообщения: 248
Зарегистрирован: 16 ноя 2012, 10:23

Re: преобразование переменной WORD в TIME

Сообщение Михайло » 12 фев 2014, 15:13

У тебя задача: в один и тот же таймер загружать разные уставки времени? Все гораздо проще, чем ты думаешь. С помощью нескольких команд MOVE грузишь разные уставки (в формате S5T#1H10M30S) по разным условиям в одну переменную, насколько я помню, типа WORD, если не получится, то S5TIME. Эта переменная используется непосредственно в таймере, этот таймер также должен быть единственным блоком.
Михайло
Администратор
 
Сообщения: 3412
Зарегистрирован: 19 сен 2012, 19:16

Re: преобразование переменной WORD в TIME

Сообщение service » 12 фев 2014, 15:49

да. в один и тот же таймер разные уставки времени. а наглядным примером не поможете, в степе, например?
service
Специалист
 
Сообщения: 248
Зарегистрирован: 16 ноя 2012, 10:23

Re: преобразование переменной WORD в TIME

Сообщение Михайло » 12 фев 2014, 19:40

могу, только все на работе. Просто надо не забыть.
Михайло
Администратор
 
Сообщения: 3412
Зарегистрирован: 19 сен 2012, 19:16

Re: преобразование переменной WORD в TIME

Сообщение service » 15 май 2014, 09:33

c помощью MOVE преобразовал WORD в S5TIME. преобразованную переменную на вход TV таймера. как расчитать время и задать его переменной типа WORD?
service
Специалист
 
Сообщения: 248
Зарегистрирован: 16 ноя 2012, 10:23

Re: преобразование переменной WORD в TIME

Сообщение Михайло » 15 май 2014, 20:32

Считай, что целые числа, с которыми ты работаешь - это число миллисекунд. Например, 5000 в формате WORD = 5 секунд в формате S5TIME
Михайло
Администратор
 
Сообщения: 3412
Зарегистрирован: 19 сен 2012, 19:16

Re: преобразование переменной WORD в TIME

Сообщение service » 16 май 2014, 10:57

проверял в симуляторе. если подаешь на вход TV таймера больше 9-ти секунд плк в симуляторе переходит в стоп. из картинки видно, что 11 секунд уже нет на входе TV. что посоветуете?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
service
Специалист
 
Сообщения: 248
Зарегистрирован: 16 ноя 2012, 10:23

Re: преобразование переменной WORD в TIME

Сообщение ward » 16 май 2014, 11:54

Михайло писал(а):Считай, что целые числа, с которыми ты работаешь - это число миллисекунд. Например, 5000 в формате WORD = 5 секунд в формате S5TIME

ты что то путаешь, это формат TIME, а не S5TIME, перевод идет по тому как в справке написано:
ou can pre-load a time value using either of the following formats:

· W#16#txyz

· Where t = the time base (that is, the time interval or resolution)

· Where xyz = the time value in binary coded decimal format

· S5T#aH_bM_cS_dMS

· Where H = hours, M = minutes, S = seconds, and MS = milliseconds;
user variables are: a, b, c, d

· The time base is selected automatically, and the value is rounded to the next lower number with that time base.

The maximum time value that you can enter is 9,990 seconds, or 2H_46M_30S.

Time Base

Bits 12 and 13 of the timer word contain the time base in binary code. The time base defines the interval at which the time value is decremented by one unit. The smallest time base is 10 ms; the largest is 10 s.

Time Base Binary Code for the Time Base
10 ms......00
100 ms......01
1 s........10
10 s.......11
ward
Специалист
 
Сообщения: 411
Зарегистрирован: 12 ноя 2012, 08:44

Re: преобразование переменной WORD в TIME

Сообщение ward » 16 май 2014, 11:55

например для одной секунды будет выглядеть в ворде как: 2#0010_0000_0000_0001
ward
Специалист
 
Сообщения: 411
Зарегистрирован: 12 ноя 2012, 08:44

Re: преобразование переменной WORD в TIME

Сообщение ward » 16 май 2014, 12:00

можешь использовать тогда формат тайм и функцию для перевода в S5TIME - FC40 TIM_S5TI.

Еще проще - сразу использовать IEC таймера, там ниче переводить не нужно!
ward
Специалист
 
Сообщения: 411
Зарегистрирован: 12 ноя 2012, 08:44

Re: преобразование переменной WORD в TIME

Сообщение service » 16 май 2014, 12:25

спасибо!
service
Специалист
 
Сообщения: 248
Зарегистрирован: 16 ноя 2012, 10:23

Re: преобразование переменной WORD в TIME

Сообщение Strohmann » 21 май 2014, 04:46

Я делал так. Для вычисления фактически прошедшего времени с момента запуска счётчика, нужна была известная база времени, поэтому жестко задавал её равной 1 секунде (или есть более простой способ, чем прошедшее время = (уставка таймера - таймер)?)
Установка таймера
// Запуск или перезапуск таймера
AN #T

// Формирование уставки таймера в формате
// Например, W#16#2030, где 2 - база времени 1с, 030- уставка в BCD 30с
// (см. справку "Размещение таймера в памяти и его компоненты")

L W#16#2000 // маска базы времени, для инструкции OW
L #iTime_Interval
ITB // преобразование уставки из INT в BCD
OW // добавляем базу времени
SF #T // запуск таймера
Strohmann
Дилетант
 
Сообщения: 23
Зарегистрирован: 26 апр 2014, 05:58

Re: преобразование переменной WORD в TIME

Сообщение ward » 21 май 2014, 09:21

красиво, но как у тебя ограничение осуществляется??? Оператор надолбит тринадцать девяток, нажмет ОК, потом будет жопа)
ward
Специалист
 
Сообщения: 411
Зарегистрирован: 12 ноя 2012, 08:44

Re: преобразование переменной WORD в TIME

Сообщение Strohmann » 22 май 2014, 04:14

Диапазон ввода ограничивается в свойствах тега в wincc flexible2008 (limits -> upper = 999, lower =1 )
Strohmann
Дилетант
 
Сообщения: 23
Зарегистрирован: 26 апр 2014, 05:58


Вернуться в АВТОМАТИЗАЦИЯ

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

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