Главная   Downloads   Разное  
FAQ     Поиск   Регистрация   Вход 
Текущее время: Вт мар 19, 2024 10:33

Часовой пояс: UTC + 3 часа (Russia: MSK)




Начать новую тему Ответить на тему  [ 12 сообщений ] 
Автор Сообщение
 Заголовок сообщения: BCD или BIN в преобразовании SCK(194)
СообщениеДобавлено: Ср ноя 15, 2017 22:55 
Не в сети

Регистрация: Вт ноя 07, 2017 03:42
Сообщения: 24
День добрый. Возникла следующая запара.

Есть сигнал от датчика (давление/температура - не важно) в виде конечного преобразования от АЦП.
Задача - линеаризовать (привести к нужному масштабу)

Например рассмотрим аналоговый вход 4..20 мА

Сигнал АЦП изменяется от 0000 до 1770 (hex) или от 0 до 6000.
Надо привести его к виду 0 - 100 bar.

Вопросы:
1. Диапазон 0...6000 указан в какой системе счисления? Десятичная же? Или BCD?
Какое разложение по битам правильно
0001 0111 0111 0000 (bin)
или
0110 000 0000 0000 (bcd)???

Ведь если 6000(bcd) = 24576(dec)?

2. Так как мне надо привести число в понимаемые для пользователя 0...100 и в дальнейшем вывести это дело на HMI, то стоит вопрос, как правильно заполнить слова данный в команде SCL(194)??

Я делаю так: в левом окне (рис. 1) выбираю "ПАМЯТЬ" и заполняю необходимые мне значения, переключаясь между нужным мне отображением числе (ALT+S. ALT+H и т.п.)


3. Если предположить что мне нужно преобразование между 0(dec) и 100(dec)
То в bcd это надо записать как 0 ... 64?
Но как тогда все выводить на HMI панель? Выбирать BIN или BCD если мне необходимо вывести число на экран. А если с экрана вводят число?


У вас нет необходимых прав для просмотра вложений в этом сообщении.


В начало
 Профиль  
 
 Заголовок сообщения: Re: BCD или BIN в преобразовании SCK(194)
СообщениеДобавлено: Чт ноя 16, 2017 00:27 
Не в сети
Аватара пользователя

Регистрация: Сб сен 30, 2006 14:07
Сообщения: 763
Откуда: Москва
Чтоб не путаться считайте в десятичном представлении. 0-100 это 0-6000. Все коэффициенты в этом-же формате. Не помню уже (я обычно ФБ для таких пересчетов пишу) но там нужно не забыть указать # или & перед числом. Просто помните, что #1770 это &6000.


В начало
 Профиль  
 
 Заголовок сообщения: Re: BCD или BIN в преобразовании SCK(194)
СообщениеДобавлено: Чт ноя 16, 2017 08:19 
Не в сети

Регистрация: Пт янв 30, 2009 21:25
Сообщения: 518
Обычно компьютеры и контроллеры работают в BIN. BCD придумано не для вычислений в процессоре, а для упрощения отображения данных на старых устройствах и тянется этот формат с давних времен.

Работайте всегда в BIN в панели. в контроллере тоже всегда в BIN. Терминал будет нормально отображать и нормально водить данные.
Для 0-100 бар. Делайте хотя бы 1 знак после запятой. то есть 0-100.0.
В ячейке памяти контроллера соответственно диапазон 0-1000.
Надо просто помнить что в 10 раз больше.
В терминале надо указать что отображать точку перед младшим знаком.

Само преобразование - Для Вас можно просто на 6 поделить.
Не забывайте что при делении остаток кладется в следующее слово, даже если он ноль. И Этим словом лучше не пользоваться для других данных.
То есть если делите 1 слово на 1 слово, то получаете данных в 2 слова. (Это не относится к вычислениям с Real данными)

_________________
А нам, все равно, и ровно.


В начало
 Профиль  
 
 Заголовок сообщения: Re: BCD или BIN в преобразовании SCK(194)
СообщениеДобавлено: Чт ноя 16, 2017 12:17 
Не в сети

Регистрация: Вт ноя 07, 2017 03:42
Сообщения: 24
Алексей писал(а):
Чтоб не путаться считайте в десятичном представлении. 0-100 это 0-6000. Все коэффициенты в этом-же формате. Не помню уже (я обычно ФБ для таких пересчетов пишу) но там нужно не забыть указать # или & перед числом. Просто помните, что #1770 это &6000.


Я так понимаю, символы # и & служат для указания ПЛК в какой системе счисления воспринимать число?

Ярослав писал(а):
Само преобразование - Для Вас можно просто на 6 поделить.
Не забывайте что при делении остаток кладется в следующее слово, даже если он ноль. И Этим словом лучше не пользоваться для других данных.
То есть если делите 1 слово на 1 слово, то получаете данных в 2 слова. (Это не относится к вычислениям с Real данными)


Остаток при делении? Вы имеете в виду что если я делаю 13/5, и записываю все в D1, то в D1 записывается 2, а в D2 - записывается 6?


В начало
 Профиль  
 
 Заголовок сообщения: Re: BCD или BIN в преобразовании SCK(194)
СообщениеДобавлено: Чт ноя 16, 2017 12:54 
Не в сети

Регистрация: Пт май 04, 2007 08:42
Сообщения: 255
Цитата из мурзилки "SCL(194) is used to convert the unsigned binary data contained in the source
word S into unsigned BCD data and place the result in the result word R
according to the linear function defined by points (As, Ad) and (Bs, Bd). The
address of the first word containing the coordinates of points (As, Ar) and (Bs,
Br) is specified for the first parameter word P1. These points define by 2 values
(As and Bs) before scaling and 2 values (Ar and Br) after scaling."
То есть переводя с басурманского на русский на входе SCL BIN на выходе BCD.
На панели выбираете формат отображения BCD.
там же ( W451-E1-03+CP1_-CPU+ProgManual) стр 659 есть пример конвертации аналогового входа при помощи инструкции SCL2( то же самое, но со знаком).
Я пробовал использовать SCL, не понравилось, мне больше нравится использование ФБ, как советовал Алексей.


В начало
 Профиль  
 
 Заголовок сообщения: Re: BCD или BIN в преобразовании SCK(194)
СообщениеДобавлено: Чт ноя 16, 2017 12:59 
Не в сети

Регистрация: Вт ноя 07, 2017 03:42
Сообщения: 24
Electric писал(а):
Цитата из мурзилки "SCL(194) is used to convert the unsigned binary data contained in the source
word S into unsigned BCD data and place the result in the result word R
according to the linear function defined by points (As, Ad) and (Bs, Bd). The
address of the first word containing the coordinates of points (As, Ar) and (Bs,
Br) is specified for the first parameter word P1. These points define by 2 values
(As and Bs) before scaling and 2 values (Ar and Br) after scaling."
То есть переводя с басурманского на русский на входе SCL BIN на выходе BCD.
На панели выбираете формат отображения BCD.
там же ( W451-E1-03+CP1_-CPU+ProgManual) стр 659 есть пример конвертации аналогового входа при помощи инструкции SCL2( то же самое, но со знаком).
Я пробовал использовать SCL, не понравилось, мне больше нравится использование ФБ, как советовал Алексей.


Поделиться ФБ есть возможность?


В начало
 Профиль  
 
 Заголовок сообщения: Re: BCD или BIN в преобразовании SCK(194)
СообщениеДобавлено: Чт ноя 16, 2017 13:06 
Не в сети

Регистрация: Пт май 04, 2007 08:42
Сообщения: 255
А чего сложного?
пропорции в школе проходят в 5 классе. А/В=С/Д С= ( А/В)*Д.
Переводите все внутри блока в REAL. считаете и выводите наружу.
https://www.dropbox.com/s/edtrn6fr80953 ... 4.png?dl=0

ФБ https://www.dropbox.com/s/lsf31v7j3bypz ... 1.png?dl=0


В начало
 Профиль  
 
 Заголовок сообщения: Re: BCD или BIN в преобразовании SCK(194)
СообщениеДобавлено: Чт ноя 16, 2017 13:13 
Не в сети

Регистрация: Вт ноя 07, 2017 03:42
Сообщения: 24
Electric писал(а):
А чего сложного?
пропорции в школе проходят в 5 классе. А/В=С/Д С= ( А/В)*Д.
Переводите все внутри блока в REAL. считаете и выводите наружу.
https://www.dropbox.com/s/edtrn6fr80953 ... 4.png?dl=0

ФБ https://www.dropbox.com/s/lsf31v7j3bypz ... 1.png?dl=0


Спасибо!


В начало
 Профиль  
 
 Заголовок сообщения: Re: BCD или BIN в преобразовании SCK(194)
СообщениеДобавлено: Чт ноя 16, 2017 16:24 
Не в сети

Регистрация: Пт янв 30, 2009 21:25
Сообщения: 518
Масштабировать вообще можно функционалом терминала.
Мурзилки существуют на русском языке.

_________________
А нам, все равно, и ровно.


В начало
 Профиль  
 
 Заголовок сообщения: Re: BCD или BIN в преобразовании SCK(194)
СообщениеДобавлено: Чт ноя 16, 2017 20:03 
Не в сети

Регистрация: Пт май 04, 2007 08:42
Сообщения: 255
Не все терминалы поддерживают масштабирование.


В начало
 Профиль  
 
 Заголовок сообщения: Re: BCD или BIN в преобразовании SCK(194)
СообщениеДобавлено: Пт ноя 17, 2017 00:06 
Не в сети

Регистрация: Вт ноя 07, 2017 03:42
Сообщения: 24
Electric писал(а):
Не все терминалы поддерживают масштабирование.

Используемый мною - поддерживает. Но все-таки со значением надо работать в его явном виде.
Я написал ФБ который принимает значение WORD и отдает мне нужный результат. Осталось понять почему я не могу записать отрицательную переменную в ячейку памяти D/W...?


У вас нет необходимых прав для просмотра вложений в этом сообщении.


В начало
 Профиль  
 
 Заголовок сообщения: Re: BCD или BIN в преобразовании SCK(194)
СообщениеДобавлено: Пт ноя 17, 2017 08:29 
Не в сети

Регистрация: Пт май 04, 2007 08:42
Сообщения: 255
Вы же выбрали UINT - ( беззнаковое целое )


В начало
 Профиль  
 
Показать сообщения за:  Сортировка  
Начать новую тему Ответить на тему  [ 12 сообщений ] 

Часовой пояс: UTC + 3 часа (Russia: MSK)


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Переход:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская документация по phpBB 3