IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Аналоговые входы адаптера FX2n-2AD, Как преобразовать числовые значения
acoustik
сообщение 8.09.2014 - 09:10
Сообщение #1


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



И снова вопрос в студию )
Недавно начал юзать в своих экспериментальных проектах аналоговый ввод. Использую токовый генератор 4-20 ма в качестве источника сигнала. Каким лучше способом преобразовывать входные данные (0-2000) в нужную величину, например давление?


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
inntele
сообщение 8.09.2014 - 09:33
Сообщение #2


Гуру
******

Группа: Пользователи
Сообщений: 1000
Регистрация: 19.08.2009
Пользователь №: 9149



Цитата(acoustik @ 8.09.2014 - 11:10) *
И снова вопрос в студию )
Недавно начал юзать в своих экспериментальных проектах аналоговый ввод. Использую токовый генератор 4-20 ма в качестве источника сигнала. Каким лучше способом преобразовывать входные данные (0-2000) в нужную величину, например давление?


Не, acoustik, так дело не пойдет. Не позорьтесь. C каких это пор численные значения вошло в моду преобразовывать в физические величины? Преобразование, которое Вам требуется выполнить, именуется масштабирование. В FX3 для этого специальная команда имеется. В FX2 специальной команды нет, процедура масштабирования реализуется командной последовательностью. Если зависимость между выходным сигналом датчика и диапазоном измерения физического параметра линейная, то и формула элементарнейшая - из школьного курса математики, изучаемой в младших классах.


--------------------
Мозг любого человека работает круглосуточно. Но мозг инженера отличается тем, что способен при этом проанализировать задачу, синтезировать несколько техничных ее решений, а затем выбрать из этих решений наилучшее.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 8.09.2014 - 09:41
Сообщение #3


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Цитата(inntele @ 8.09.2014 - 15:33) *
Цитата(acoustik @ 8.09.2014 - 11:10) *
И снова вопрос в студию )
Недавно начал юзать в своих экспериментальных проектах аналоговый ввод. Использую токовый генератор 4-20 ма в качестве источника сигнала. Каким лучше способом преобразовывать входные данные (0-2000) в нужную величину, например давление?


Не, acoustik, так дело не пойдет. Не позорьтесь. C каких это пор численные значения вошло в моду преобразовывать в физические величины? Преобразование, которое Вам требуется выполнить, именуется масштабирование. В FX3 для этого специальная команда имеется. В FX2 специальной команды нет, процедура масштабирования реализуется командной последовательностью. Если зависимость между выходным сигналом датчика и диапазоном измерения физического параметра линейная, то и формула элементарнейшая - из школьного курса математики, изучаемой в младших классах.

Ну да, я имел в виду масштабирование, просто бестолково написал в посте smile.gif.


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 8.09.2014 - 09:51
Сообщение #4


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Я делаю так: допустим 0-2000 соответсвует 0-10 кг/см. Выходит что 2000/10=200 цифровых единиц соотв 1-му кг. Если текущее значение разделить на 200, то получится текущее давление (в данном случае). Но думаю это не лучший способ, как то все сильно просто... )

Сообщение отредактировал acoustik - 8.09.2014 - 09:51


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
inntele
сообщение 8.09.2014 - 09:52
Сообщение #5


Гуру
******

Группа: Пользователи
Сообщений: 1000
Регистрация: 19.08.2009
Пользователь №: 9149



Цитата(acoustik @ 8.09.2014 - 11:41) *
Цитата(inntele @ 8.09.2014 - 15:33) *
Если зависимость между выходным сигналом датчика и диапазоном измерения физического параметра линейная, то и формула элементарнейшая - из школьного курса математики, изучаемой в младших классах.

Ну да, я имел в виду масштабирование, просто бестолково написал в посте smile.gif.

На известном сайте доступна библиотека функциональных блоков, в том числе, реализующих процедуру масштабирования. Можно зарегистрироваться и скачать. Однако, я бы Вам рекомендовал написать самостоятельно, оформив в виде функционального блока. Функциональный блок под такую функцию лучше всего пишется в MELSEC IL.


--------------------
Мозг любого человека работает круглосуточно. Но мозг инженера отличается тем, что способен при этом проанализировать задачу, синтезировать несколько техничных ее решений, а затем выбрать из этих решений наилучшее.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ivgtrk
сообщение 8.09.2014 - 11:11
Сообщение #6


Гигант мысли
****

Группа: Пользователи
Сообщений: 459
Регистрация: 5.02.2014
Пользователь №: 10203



Цитата(acoustik @ 8.09.2014 - 13:51) *
Я делаю так: допустим 0-2000 соответсвует 0-10 кг/см. Выходит что 2000/10=200 цифровых единиц соотв 1-му кг. Если текущее значение разделить на 200, то получится текущее давление (в данном случае). Но думаю это не лучший способ, как то все сильно просто... )

Для FX3 - инструкция SCL.

Для FX1N, FX2N
Прикрепленный файл  IntScale_V200.zip ( 11.82 килобайт ) Кол-во скачиваний: 45

Еще вариант для FX2N.
Прикрепленный файл  FB_IntScale.zip ( 3.48 килобайт ) Кол-во скачиваний: 38

В FX1N не пойдет, т.к. внутри ФБ используються числа в формате REAL.

Для начала, придерживайтесь следующей формулы для масштабирования:
Цитата(ivgtrk)
B=(A-A1)*k+B1
где:
A - входное текущее значение;
B - выходное (масштабированное) значение;
A1 - входное минимальное значение;
A2 - входное максимальное значение;
B1 - выходное минимальное значение;
B2 - выходное максимальное значение;
k - коэффициент:
k=(B2-B1)/(A2-A1)


Сообщение отредактировал ivgtrk - 8.09.2014 - 11:16


--------------------
Никому никогда ничего не объясняйте — каждый всё равно поймёт так, как ему выгодно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 8.09.2014 - 13:07
Сообщение #7


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Ок, спасибо! И где Вы все это берете? )) За формулу отдельный + ! smile.gif


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ivgtrk
сообщение 8.09.2014 - 13:18
Сообщение #8


Гигант мысли
****

Группа: Пользователи
Сообщений: 459
Регистрация: 5.02.2014
Пользователь №: 10203



Цитата(acoustik @ 8.09.2014 - 17:07) *
Ок, спасибо! И где Вы все это берете?

Вам уже намекали - на известном сайте Mitsubishi


--------------------
Никому никогда ничего не объясняйте — каждый всё равно поймёт так, как ему выгодно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 8.09.2014 - 13:27
Сообщение #9


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Цитата(ivgtrk @ 8.09.2014 - 19:18) *
Цитата(acoustik @ 8.09.2014 - 17:07) *
Ок, спасибо! И где Вы все это берете?

Вам уже намекали - на известном сайте Mitsubishi

Е-мое! Я не очень часто его посещал, но до сих пор не знал, что там есть блоки для скачивания... Вот такой невнимательный )

Сообщение отредактировал acoustik - 8.09.2014 - 13:49


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ivgtrk
сообщение 8.09.2014 - 13:41
Сообщение #10


Гигант мысли
****

Группа: Пользователи
Сообщений: 459
Регистрация: 5.02.2014
Пользователь №: 10203



Замечу, что приведенные мной блоки и формула в сообщении #6 применительны для обработки значений с линейной хар-кой. Однако, существуют ситуации, когда снимаемый сигнал не находиться в линейной зависимости от физ. параметра (к примеру термопары серии К: в минусовой и в 0~120 гр.С зонах их хар-ка более пологая). В таких случаях следует использовать аппроксимацию. Проще всего такой сигнал преобразовать командой SCL в fx3u. В контроллерах других серий необходимо построить соотв. математические выражения.


--------------------
Никому никогда ничего не объясняйте — каждый всё равно поймёт так, как ему выгодно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 12.09.2014 - 12:05
Сообщение #11


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Цитата(ivgtrk @ 8.09.2014 - 19:41) *
Замечу, что приведенные мной блоки и формула в сообщении #6 применительны для обработки значений с линейной хар-кой. Однако, существуют ситуации, когда снимаемый сигнал не находиться в линейной зависимости от физ. параметра (к примеру термопары серии К: в минусовой и в 0~120 гр.С зонах их хар-ка более пологая). В таких случаях следует использовать аппроксимацию. Проще всего такой сигнал преобразовать командой SCL в fx3u. В контроллерах других серий необходимо построить соотв. математические выражения.

Общую суть понял, спасибо! Как доберусь снова до аналога, постараюсь разобраться. В моем случае датчик давления с токовым выходом, там зависимости вроде линейные.


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 28.03.2024 - 13:29