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

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




Начать новую тему Ответить на тему  [ 17 сообщений ]  На страницу 1, 2  Вперёд
Автор Сообщение
 Заголовок сообщения: Масштабирование аналогового в CPM1A
СообщениеДобавлено: Пн дек 26, 2011 08:58 
Не в сети
Аватара пользователя

Регистрация: Ср ноя 08, 2006 13:01
Сообщения: 373
Откуда: г. Красноярск
Жутко стесняюсь спросить, но все же осмелюсь.

В наличии CPM1A + MAD01 + панель NT11S.
Вобщем нужно отображать значение датчиков разрежения (-1,0...1,0 бар), температуры (-40...300 *С).
Ну с температурой я как-нибудь еще справлюсь (отрицательных на объекте не бывает), а вот как организовать масштабирование (0...255) --> (-1,0...1,0 бар) с одной цифирей после запятой? Я так понял мне доступна только BCD и бинарная математика (что тут выбрать? Какие типы данных тегам назначить лучше?). Как быть с вещественными расчетами? В панели ничего домножить/доразделить не выйдет.

Мож кто примерчиком поможет?


В начало
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование аналогового в CPM1A
СообщениеДобавлено: Пн дек 26, 2011 12:27 
Не в сети

Регистрация: Вт окт 26, 2010 21:55
Сообщения: 329
Откуда: Санкт-Петербург
данные в ПЛК приводишь к виду -10...+10
В панели настраиваешь во вкладке Setting при вводе Numeral Display количество знаков до и после запятой по одному. таким образом у тебя в ПЛК будут "целые", А ПАНЕЛЬ БУДЕТ ИХ ПОКАЗЫВАТЬ КАК-БУДТО ОНИ "REAL".
масштабировать надо так, чтобы на выходе был диапазон -10...+10. то есть умножаешь данные с входа (0-255) на 100, делишь получившийся диапазон 0-25500 на 1275 без остатка (должно получиться 0-20) и отнимаешь потом 10. должно получиться.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование аналогового в CPM1A
СообщениеДобавлено: Вт янв 17, 2012 19:02 
Не в сети
Аватара пользователя

Регистрация: Ср ноя 08, 2006 13:01
Сообщения: 373
Откуда: г. Красноярск
Про квази REAL в панели не знал... Спасибо за подсказку!
Математика в общем ясна. Только вот в командах арифметических запутался...
Вопрос решил бы простой эксперимент, но на руках контроллера нет, а симулятор его не поддерживает :( На объекте будет не до этого. Надо б заранее подготовится с масштабированием...
Подскажите, пожалуйста, какими конкретно в таком случае командами таки надо умножать, делить и т.д. в CMP1A?
Наваял тут пробный вариант без проверки (приложил).
Как-то так? И не промахнулся ли я с типами данных для переменных?


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


В начало
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование аналогового в CPM1A
СообщениеДобавлено: Ср янв 18, 2012 08:35 
Не в сети
Аватара пользователя

Регистрация: Ср ноя 08, 2006 13:01
Сообщения: 373
Откуда: г. Красноярск
Сегодня добрался до контроллера с панелью.
Вскрылась проблема... на панели значения отображается в шестнадцатеричном виде..
В настройках поля отображения значения выбрано Decimal. Вариант Hexdecimal, кстати, вообще не доступен.
Подскажите, пожалуйста, как поступить, чтобы в десятичном было?


В начало
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование аналогового в CPM1A
СообщениеДобавлено: Ср янв 18, 2012 12:16 
Не в сети
Аватара пользователя

Регистрация: Сб сен 30, 2006 14:07
Сообщения: 763
Откуда: Москва
Вообще то панель должна отображать правильно в 10-м виде, если Decimal. Давно правда было, но использовал. А так можно преобразовать HEX в BCD и вывести на панель. Но это будет "нефеншуйно".


В начало
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование аналогового в CPM1A
СообщениеДобавлено: Ср янв 18, 2012 20:29 
Не в сети
Аватара пользователя

Регистрация: Ср ноя 08, 2006 13:01
Сообщения: 373
Откуда: г. Красноярск
Цитата:
А так можно преобразовать HEX в BCD и вывести на панель. Но это будет "нефеншуйно".

Кстати так и сделал. С температурой всё вышло (правда пришлось ограничить нижнюю границу отображения нулем градусов), с давлением тоже.
Про феншуй на такой технике приходится позабыть.

а вот с разрежением казус...
А как бы мне отрицательное значение на экране отобразить? (оно, кстати, и положительным может быть). Раз приходится переводить результат в контроллере в BCD, то какой тут уже знак. Можно было бы отследить знак по Carry Flag, а в панели показывать символ минуса по биту, но в панели нет такой возможности...

Это вообще возможно (передать на экран панели число со знаком) при наличии такого оборудования? Как думаете?


В начало
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование аналогового в CPM1A
СообщениеДобавлено: Чт янв 19, 2012 15:04 
Не в сети
Аватара пользователя

Регистрация: Сб сен 30, 2006 14:07
Сообщения: 763
Откуда: Москва
На NT21S точно делал. Значение температуры выводил без ухищрений брал в HEX со знаком, а на панельке получал истинное значение температуры в десятичной и со знаком. К сожалению не могу найти этот проект, давно было.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование аналогового в CPM1A
СообщениеДобавлено: Чт янв 19, 2012 15:21 
Не в сети
Аватара пользователя

Регистрация: Сб сен 30, 2006 14:07
Сообщения: 763
Откуда: Москва
Вложение:
.zip
Вот нашёл! Посмотри DM35. это температура наружнего воздуха.


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


В начало
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование аналогового в CPM1A
СообщениеДобавлено: Чт янв 19, 2012 15:45 
Не в сети

Регистрация: Ср мар 04, 2009 11:32
Сообщения: 474
Откуда: Москва
Так то NT21S, а здесь NT11S.
Давно с ним дела не имел, сча поковырялся в нтст. Похоже что сделать никак.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование аналогового в CPM1A
СообщениеДобавлено: Чт янв 19, 2012 23:52 
Не в сети
Аватара пользователя

Регистрация: Ср ноя 08, 2006 13:01
Сообщения: 373
Откуда: г. Красноярск
Цитата:
сча поковырялся в нтст. Похоже что сделать никак.
По полной похоже действительно никак...

Цитата:
Вот нашёл! Посмотри DM35. это температура наружнего воздуха.
Алекей, Спасибо за пример!

В любом случае Всем Спасибо за посильную помощь!

Так вышло, что когда-то мой первый контроллер был CJ, а первая панель NS10. Теперь вот приходится всё чаще с бюджетным оборудованием сталкиваться. Ну да ладно, полезно иногда в дебрях цифровых полазить. Когда-то дядька Жаккард с перфокартами мучался :)

Задачу в общем на половину решил, на половину упростил. Ограничился только положительными значениями по входу температуры (ниже нуля она в лаборатории не бывает) и только отрицательными по входу разрежения (при масштабировании превращал их в положительные, а минус прописал в панели символом надписи).

Со своей стороны не постесняюсь выложить результат в полном виде. Мало ли пригодится кому... типа меня неумехи. Или подводные ошибки кто найдет :)

Описание: это небольшой вибропресс в небольшой лаборатории углеродных материалов большого алюминиевого завода. Стояла задача заменить "уставший" ПЛК FESTO на OMRON (как оказалось на CPM1A) и панель впридачу поменять.

Задача выглядела очень простой, пока не наткнулся на вышеуказанны препоны. И к тому же на больших предприятиях есть проблема: пронести несогласованную заранее отвертку проблематично (не говоря уж о ноутбуке), а согласование может и неделю занять :)
А уж если захочешь обратно вынести... :)))

Вердикт: Если даже проект простецкий, но в нем есть хоть один аналоговый сигнал, который нужно масштабировать (особенно, если и положительные и отрицательные значения присутствуют), то лучше уж взять CP1L (вроде бюджетный вариант). Там и встроенный аналоговый вход имеется с разрешением таким же как у MAD01 и математика на уровне.


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


В начало
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование аналогового в CPM1A
СообщениеДобавлено: Пт янв 20, 2012 06:46 
Не в сети
Аватара пользователя

Регистрация: Сб сен 30, 2006 14:07
Сообщения: 763
Откуда: Москва
Да это я туплю, забыл как панели называются. Указанный пример для NT11S. 21-я другая. Александр, а каким софтом программировали панель?


В начало
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование аналогового в CPM1A
СообщениеДобавлено: Пт янв 20, 2012 09:18 
Не в сети
Аватара пользователя

Регистрация: Сб сен 30, 2006 14:07
Сообщения: 763
Откуда: Москва
Господа, прошу прощения! Я совсем переклинил!!! Мой проект на NT2S! Посмотрел NT11 - похоже там отрицательные значения совсем не получится выводить, или рисовать "-" при появлении F в первом разряде числа в HEX.... вообщем - геморрой тот ещё.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование аналогового в CPM1A
СообщениеДобавлено: Пт янв 20, 2012 10:50 
Не в сети
Аватара пользователя

Регистрация: Ср ноя 08, 2006 13:01
Сообщения: 373
Откуда: г. Красноярск
Цитата:
Александр, а каким софтом программировали панель?
NTST 4.8E (NT-series Support Tool)


В начало
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование аналогового в CPM1A
СообщениеДобавлено: Пт янв 20, 2012 18:54 
Не в сети
Аватара пользователя

Регистрация: Ср ноя 08, 2006 13:01
Сообщения: 373
Откуда: г. Красноярск
Цитата:
Можно было бы отследить знак, а в панели показывать символ минуса по биту, но в панели нет такой возможности...
В NT11S действительно нет возможности отображать или не отображать что-либо по биту. Но вроде есть какая-то возможность задавать содержание строки из ПЛК...
На руках панели уже нет. Если у кого будет возможность и интерес проверить, отпишитесь :) так.. на будущее


В начало
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование аналогового в CPM1A
СообщениеДобавлено: Пт янв 20, 2012 19:45 
Не в сети

Регистрация: Ср мар 04, 2009 11:32
Сообщения: 474
Откуда: Москва
Тоже думал об этом. Но похоже что стринг дисплей не поддерживает индерект рефернс. Хотя из ntst до конца этого не видно. Может и можно менять содержание символьной строки в контроллере. Надо "щупать" :)


В начало
 Профиль  
 
Показать сообщения за:  Сортировка  
Начать новую тему Ответить на тему  [ 17 сообщений ]  На страницу 1, 2  Вперёд

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


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

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


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

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