обработка аналоговых сигналов

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

обработка аналоговых сигналов

Сообщение service » 28 окт 2013, 15:07

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

Re: обработка аналоговых сигналов

Сообщение service » 28 окт 2013, 15:14

у меня есть датчик с выходом 4-20мА, который передает сигнал на аналоговый вход плк. мне нужно этот сигнал обработать и передать преобразованое значение в скаду (от 0 до 100%)
service
Специалист
 
Сообщения: 248
Зарегистрирован: 16 ноя 2012, 10:23

Re: обработка аналоговых сигналов

Сообщение Автоматизатор » 28 окт 2013, 16:27

В чем проблема то? В контроллере на аналоговом входе будет цифра. Максимальное значение цифры соответствует 20 мА или 100%.
Аватара пользователя
Автоматизатор
Профессионал
 
Сообщения: 880
Зарегистрирован: 09 окт 2012, 05:18

Re: обработка аналоговых сигналов

Сообщение service » 28 окт 2013, 16:36

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

Re: обработка аналоговых сигналов

Сообщение Автоматизатор » 28 окт 2013, 16:44

По графику можно расчитать значения.

Фрагмент.jpg


service писал(а):а как с типами переменных?

На аналоговом входе цифра типа INT, см. руководство на контроллер, про аналоговые входа.

service писал(а):мне бы фрагмент программы...

Какой контроллер?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Автоматизатор
Профессионал
 
Сообщения: 880
Зарегистрирован: 09 окт 2012, 05:18

Re: обработка аналоговых сигналов

Сообщение service » 28 окт 2013, 17:02

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

Re: обработка аналоговых сигналов

Сообщение Автоматизатор » 28 окт 2013, 17:25

Берем документ Система автоматизации S7-300 Данные модулей

В Таблица 5-9. Представление аналоговых величин в диапазонах измерения токов от 0 до 20 мА и от 4 до 20 мА
приведены значения на аналоговом входе. Адреса можно посмотреть в HW Config.
Аватара пользователя
Автоматизатор
Профессионал
 
Сообщения: 880
Зарегистрирован: 09 окт 2012, 05:18

Re: обработка аналоговых сигналов

Сообщение Михайло » 28 окт 2013, 18:20

Переменная INT изменяется от -32768 до +32767. 100% обычно соответствует десятичному значению 27648, а 0% - 0. Дальше уже - преобразование типов и чистая математика. Значения выше 27648 - это перегрузка (>100%). Более подробно написано по ссылке Автоматизатора.
Михайло
Администратор
 
Сообщения: 3332
Зарегистрирован: 19 сен 2012, 19:16

Re: обработка аналоговых сигналов

Сообщение CHANt » 29 окт 2013, 11:07

Если проблем с Step7 нет, то скачай курсы S7Pro12
http://rapidshare.com/files/2914965/Cur ... -PRO12.rar
Там в первой части есть подробно по обработке аналоговых сигналов в картинках :)
Аватара пользователя
CHANt
Профессионал
 
Сообщения: 531
Зарегистрирован: 13 окт 2012, 15:24
Откуда: Orenburg

Re: обработка аналоговых сигналов

Сообщение service » 30 окт 2013, 11:30

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

Re: обработка аналоговых сигналов

Сообщение ward » 30 окт 2013, 11:47

а вы не пробовали выделив интересующий вас блок нажать F1 ?. После нажатия вылезает справка, где расписано все, даже с примерами. F1 нажимают даже матерые программисты=)
ward
Специалист
 
Сообщения: 409
Зарегистрирован: 12 ноя 2012, 08:44

Re: обработка аналоговых сигналов

Сообщение CHANt » 30 окт 2013, 13:12

ward, да незачем человека отправлять язык потенциального врага изучать :D
По теме:
Стандартная функция блок FC 105 осуществляет перевод кодов АЦП в числовое значение в соответствии с заданной шкалой датчика, проверяет на нахождение диапазона в пределах шкалы и выводит результат вычисления:
- в виде числа с плавающей точкой OUT – реальное значение с датчика;
- в шестнадцатеричном коде RET_VAL – возвращаемое значение ошибки.

Вычисление производится по формуле:
OUT = [ ((FLOAT (IN) – K1)/(K2–K1)) * (HI_LIM–LO_LIM)] + LO_LIM
где,
IN – входная целочисленная величина с аналогового входа;
К1 и К2 – коэффициенты определяющие в каком диапазоне будет лежать результат. При диапазоне от -27648 и +27648 (шкала с отрицательными значениями BIPOLAR=TRUE), К1=-27648 и К2=27648. При диапазоне от 0 до 27648 (шкала с положительными значениями BIPOLAR=FALSE), К1=0 и К2=27648.
LO_LIM - нижний предел шкалы измерения;
HI_LIM - верхний предел шкалы измерения;
BIPOLAR - задание режима приведения сигнала только к положительному или к биполярному диапазону значений. Если в параметр передается ´0´, то производится нормировка к диапазону 0…+27648. Если в параметр передается ´1´, то производится нормировка к диапазону –27648 …+27648.
PS: Реально BIPOLAR=TRUE нужен когда к платам I/O подключаются термопары или термосопротивления без преобразователей 4..20 mA. Ну может еще специфичные датчики работающие с диапазоном, к примеру -20 +20 mA. Для стандартных унифицированных сигналов 0..20 mA, 4..20 mA, 0..10 V и т.п. BIPOLAR=FALSE.
Аватара пользователя
CHANt
Профессионал
 
Сообщения: 531
Зарегистрирован: 13 окт 2012, 15:24
Откуда: Orenburg

Re: обработка аналоговых сигналов

Сообщение Автоматизатор » 30 окт 2013, 15:20

CHANt писал(а):ward, да незачем человека отправлять язык потенциального врага изучать

Мне кажется, что это самое простое - жмать на Ф1. Удивительно, но большинство пользователей Виндоус не пользуются такой возможностью.
Аватара пользователя
Автоматизатор
Профессионал
 
Сообщения: 880
Зарегистрирован: 09 окт 2012, 05:18

Re: обработка аналоговых сигналов

Сообщение service » 31 окт 2013, 14:28

сигнал с аналогово входа PIW 258 преобразовую в число REAL, которое находится в MD50. затем преобразовую REAL в INT (MW60), для того,чтобы передать его в скаду (REAL в скаду не передается).в скаде элементу "индикатор" присвоена переменная MW60, 0% - 0000h, 50% - 35F8h, 100% - 6C00h. все правильно или что не так?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
service
Специалист
 
Сообщения: 248
Зарегистрирован: 16 ноя 2012, 10:23

Re: обработка аналоговых сигналов

Сообщение ward » 31 окт 2013, 14:51

хай лимит - верхний предел датчика, то есть значение измеряемой величины при 20 мА (например 10 бар)
лоу лимит - нижний предел датчика, значение при 4 мА (например, 0 бар)
В MD60 у тебя будет при 12 мА на входе тогда значение "5.0" бар, потом преобразуешь REAL из MD60 в INT c помощью команды, например, ROUND в MD64.
ward
Специалист
 
Сообщения: 409
Зарегистрирован: 12 ноя 2012, 08:44

Re: обработка аналоговых сигналов

Сообщение Михайло » 31 окт 2013, 14:53

service писал(а):все правильно или что не так?

Все верно, только 50% = 3600h.
Михайло
Администратор
 
Сообщения: 3332
Зарегистрирован: 19 сен 2012, 19:16

Re: обработка аналоговых сигналов

Сообщение ward » 31 окт 2013, 14:56

Михайло писал(а):
service писал(а):все правильно или что не так?

Все верно, только 50% = 3600h.

у него хай лимит 27648=), это неправильно и маловероятно
ward
Специалист
 
Сообщения: 409
Зарегистрирован: 12 ноя 2012, 08:44

Re: обработка аналоговых сигналов

Сообщение service » 31 окт 2013, 15:17

ward писал(а):хай лимит - верхний предел датчика, то есть значение измеряемой величины при 20 мА (например 10 бар)
лоу лимит - нижний предел датчика, значение при 4 мА (например, 0 бар)
В MD60 у тебя будет при 12 мА на входе тогда значение "5.0" бар, потом преобразуешь REAL из MD60 в INT c помощью команды, например, ROUND в MD64.

round преобразовует real в dint. вставил это преобразование в следующий нетворк. результат dint в MD70. MW60 и MD70 - тоже самое, только пустой впереди
service
Специалист
 
Сообщения: 248
Зарегистрирован: 16 ноя 2012, 10:23

Re: обработка аналоговых сигналов

Сообщение service » 31 окт 2013, 15:18

ward писал(а):
Михайло писал(а):
service писал(а):все правильно или что не так?

Все верно, только 50% = 3600h.

у него хай лимит 27648=), это неправильно и маловероятно

что делать с "неправильно и маловероятно"?
service
Специалист
 
Сообщения: 248
Зарегистрирован: 16 ноя 2012, 10:23

Re: обработка аналоговых сигналов

Сообщение CHANt » 31 окт 2013, 16:18

А что за SCADA у которой нет FLOAT TO POINT?
Аватара пользователя
CHANt
Профессионал
 
Сообщения: 531
Зарегистрирован: 13 окт 2012, 15:24
Откуда: Orenburg

След.

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

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

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