[?]: Как и что выводится на аналоговый выход и FC105 ?
-
- Posts: 36
- Joined: Thu Dec 18, 2008 11:08 am
- Location: Ukraine
[?]: Как и что выводится на аналоговый выход и FC105 ?
Может не совсем в тему, но вопрос похожый, есть контроллер 315 и модуль аналоговых выходов 0-10В, модель модуля с ходу сказать не могу, но помоему sm332.
К одному из выходов модуля подключен регулятор с позиционером на 0-10В, я пытался передать на выход значение real , но на выходе получаю вообще не понятные значения напрежений, если передаю значение ниже 8000 напряжение получаю в 0В, регулируется напряжение 0-10В в диапозоне значений 8000-12000, если передаю значение больше 12000, опять получаю 0В... по идее так же не должно быть (((
К одному из выходов модуля подключен регулятор с позиционером на 0-10В, я пытался передать на выход значение real , но на выходе получаю вообще не понятные значения напрежений, если передаю значение ниже 8000 напряжение получаю в 0В, регулируется напряжение 0-10В в диапозоне значений 8000-12000, если передаю значение больше 12000, опять получаю 0В... по идее так же не должно быть (((
-
- Site Admin
- Posts: 3992
- Joined: Thu Feb 16, 2006 3:25 pm
- Location: Russia
Re: [?]: как отобразить PQW в VARIABLE TABLE ,
На модули аналогового вывода подают только 16-битовое число со знаком INT (0...27648 или двухполярное -27648 ...27648 ).willis wrote:есть контроллер 315 и модуль аналоговых выходов 0-10В, модель модуля с ходу сказать не могу, но помоему sm332. К одному из выходов модуля подключен регулятор с позиционером на 0-10В, я пытался передать на выход значение real , но на выходе получаю вообще не понятные значения напряжений... (((
Для масштабирования реального числа (реальной величины) в подаваемое в модуль 16-битовое число со знаком надо использовать функцию масштабирования REAL=>INT FC106 UNSCALE
При считывании с модуля входа используешь функцию перемасштабирования INT=>REAL FC105 SCALE
Смотри документацию
http://www.automation-drives.ru/as/down ... 20mA_r.pdf
http://www.automation-drives.ru/as/down ... T100_r.pdf
Code: Select all
http://www.automation-drives.ru/as/download/doc/simatic_s7/s7_300/GS_SM331_4-20mA_r.pdf
http://www.automation-drives.ru/as/download/doc/simatic_s7/s7_300/GS_SM331_U&PT100_r.pdf
-
- Posts: 36
- Joined: Thu Dec 18, 2008 11:08 am
- Location: Ukraine
Re: [?]: как отобразить PQW в VARIABLE TABLE ,
CoMod, опять же огромное спасибо. Я подозревал что real не тот тип, и должны быть функции преобразования, но инет на работе очень уж медленный, чтобы найти ответы все. Буду разбираться!!!
-
- Posts: 36
- Joined: Thu Dec 18, 2008 11:08 am
- Location: Ukraine
Re: [?]: как отобразить PQW в VARIABLE TABLE ,
А вот вопрос ещё такой, по сути FC105 Это просто функция с формулой, преобразующей real в int по верхней и нижней границе и полярности/биполярности. А если у меня есть DB с int значениями от 0 до 100(якобы проценты) и зная, что максимальное значение которое можно поставить на модуле это 27768, я просто перемножу значение из DB на 277, получая таким образом соотношение моих процентов и диапозона значений модуля и далее через move переправлю значение на выход модуля без FC105, такая схема может работать?
Заранее благодарен
Заранее благодарен
-
- Site Admin
- Posts: 3992
- Joined: Thu Feb 16, 2006 3:25 pm
- Location: Russia
Re: [?]: как отобразить PQW в VARIABLE TABLE ,
Обрати внимание на мою описку - должно быть 27648
иначе тебе придётся все эти проверки самому писать
Преимущество использования этих функций в случае Если входное значение ...FC 106 wrote:Масштабирование FC106 производится по следующей формуле:
OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + K1
Константы K1 и K2 в формате числа с плавающей точкой задаются в зависимости от типа входного сигнала двухполярного BIPOLAR или однополярного UNIPOLAR.
· BIPOLAR двухполярный сигнал: Входная величина находится в пределах от –27648 до 27648, поэтому, K1 = –27648.0 и K2 = +27648.0
· UNIPOLAR однополярный сигнал: Входная величина находится в пределах от 0 до 27648, поэтому, K1 = 0.0 и K2 = +27648.0
Если входное значение больше K2 (переполнение аналогового входа >+27648), то на выходе (OUT) будет установлено максимально заданный предел HI_LIM, и выставлен флаг ошибки.
Если входное значение меньше K1 (отрицательное переполнение аналогового входа или выход за нижнюю границу номинального диапазона), то на выходе (OUT) будет установлено минимально заданный предел LO_LIM, и выставлен флаг ошибки.
CALL "UNSCALE" //CALL FC106
IN :="Distance" //вещественное число - заданное расстояние УЗ удара в мм
HI_LIM :=3.000000e+002 // верхний предел
LO_LIM :=6.000000e+001 // нижний предел
BIPOLAR:=FALSE
RET_VAL:=MW0 //код ошибки
OUT :="Analog_Output" //целое число в диапазоне 0...+27648 для передачи в аналоговый модуль вывода
иначе тебе придётся все эти проверки самому писать
-
- Posts: 501
- Joined: Tue Jun 27, 2006 5:52 am
- Location: Russia
Re: [?]: как отобразить PQW в VARIABLE TABLE ,
1) Ты путаешь FC105 "Scale" и FC106 "Unscale"willis wrote:А вот вопрос ещё такой, по сути FC105 Это просто функция с формулой, преобразующей real в int по верхней и нижней границе и полярности/биполярности. А если у меня есть DB с int значениями от 0 до 100(якобы проценты) и зная, что максимальное значение которое можно поставить на модуле это 27768, я просто перемножу значение из DB на 277, получая таким образом соотношение моих процентов и диапозона значений модуля и далее через move переправлю значение на выход модуля без FC105, такая схема может работать?
Заранее благодарен
2) Если так охота реализовать собственно, то
2.1 Масштабирование входной переменной
Code: Select all
L входная_величина // тип Integer (вставь свое!)
ITD // преобразовать в двойное целое
DTR //преобразовать в плавающую точку
L 2.764800e+004 //загрузить диапазон АЦП = 27648
/R //поделить
L верхняя_шкала // загрузить значение верхней шкалы, тип REAL
*R //перемножить
T выходная_величина
Code: Select all
L входная_величина // тип REAL
L верхняя_шкала // загрузить значение верхней шкалы, тип REAL
/R //поделить значения
L 2.764800e+004 //загрузить диапазон ЦАП=27648
*R //перемножить
TRUNC //выделить целое число
T выходная_величина
3) Обрати внимание на замечание CoMod
ВЕРНО НА 100%!!!!!!!!Преимущество использования этих функций в случае Если входное значение ... иначе тебе придётся все эти проверки самому писать
-
- Posts: 36
- Joined: Thu Dec 18, 2008 11:08 am
- Location: Ukraine
Re: [?]: Как и что выводится на аналоговый выход и FC105 ?
Согласен полностью на счёт проверки, но для меня это не критично, я разрабатываю интерфейс управления клапаном в ручном режиме и значение в db попадает из инпута winCC flexible, который по сути не может быть больше 100 (в моём случае процентов), и максимальное значение которое может придти на выход это 27000 (100*270), это почти 10В, чего мне вполне хватает. А так конечно при разработке автоматических режимов такие проверки всегда обязательны. Я вообще только недавно перешел в автоматизацию, до это был программером на языках верхнего уровня и что бывает без проверок знаю не по наслышке ))
-
- Posts: 501
- Joined: Tue Jun 27, 2006 5:52 am
- Location: Russia
Re: [?]: Как и что выводится на аналоговый выход и FC105 ?
А зачем перемножать 100*270 в Step7 - перемножь прямо в скрипте flexible и пришли готовую величину в контроллер. В программе контроллера тока функцией MOVE воспользуешься, ну или LOAD и TRANSFER. А так, нет ничего проще варианта с FC105/106 просто входа и выхода задать...
Last edited by CHANt on Fri Dec 18, 2009 9:03 am, edited 1 time in total.
-
- Site Admin
- Posts: 3992
- Joined: Thu Feb 16, 2006 3:25 pm
- Location: Russia
Re: [?]: Как и что выводится на аналоговый выход и FC105 ?
В WinCC flexible не надо для этого писать "скрипт" - в WinCC flexible можно использовать параметр "Масштабирование" в свойствах тэга и прямо там всё автоматом преобразовывается.CHANt wrote:А зачем перемножать 100*270 в Step7 - перемножь прямо в скрипте flexible и пришли готовую величину в контроллер. В программе контроллера тока функцией MOVE воспользуешься, ну или LOAD и TRANSFER.
-
- Posts: 36
- Joined: Thu Dec 18, 2008 11:08 am
- Location: Ukraine
Re: [?]: Как и что выводится на аналоговый выход и FC105 ?
Тоже вариант, но мне было легче сделать в степе, так как там всё равно функцию писал по управлению регуляторами. Столкнулся со следующей бедой: На нужный PQW уходит значение int 27000 (в hex 6978), на модуле выдаётся напряжение около 10Вольт, НО оно непрерывно скачет на десятую долю вольта, бывает простреливает на 0.2 десятых, короче от 9.7 до 9.9 вольта. Что это может быть??? Мультиметр у меня хороший и врать мне не станет, да и по клапану слышно что он постоянно дёргает моторчик туда сюда, что не есть очень хорошо, так и спалить его можно. Почему могут быть такие скачки напряжения??? Может ли такое случиться из-за того что данный pqw в течении одного цикла переустанавливается 2 раза??? Я полагал что цикл у ПЛК такой: чтение входов -> исполнение кода -> установка выходов. Но теперь уже и не знаю что думать....
-
- Site Admin
- Posts: 3992
- Joined: Thu Feb 16, 2006 3:25 pm
- Location: Russia
Re: [?]: Как и что выводится на аналоговый выход и FC105 ?
Как это 2 раза ?willis wrote:Может ли такое случиться из-за того что данный pqw в течении одного цикла переустанавливается 2 раза???
PQW выводится напрямую во время вызова в программе, а не в конце цикла.
Выводи в PQW порт только в одном месте программы (желательно в конце цикла) -
Все манипуляции со значениями производи в меркере памяти MW или DB.
Всё таки проверь работу с клапаном через FC106 - меньше проблем с аппаратурой будет.
Если провода длинные, то аналоговый сигнал по напряжению U бывает очень чувствителен к наводкам от рядом идущих силовых кабелей - отсюда скакания от 9.7 до 9.9 вольта.
У тебя кабель экранированный и заземлённый с 2-х концов ?
-
- Posts: 878
- Joined: Tue Dec 26, 2006 5:21 am
- Location: Russia
Re: [?]: как отобразить PQW в VARIABLE TABLE ,
Ты абсолютно прав, все будет работать, не боись.willis wrote:А вот вопрос ещё такой, по сути FC105 Это просто функция с формулой, преобразующей real в int по верхней и нижней границе и полярности/биполярности. А если у меня есть DB с int значениями от 0 до 100(якобы проценты) и зная, что максимальное значение которое можно поставить на модуле это 27768, я просто перемножу значение из DB на 277, получая таким образом соотношение моих процентов и диапозона значений модуля и далее через move переправлю значение на выход модуля без FC105, такая схема может работать?
Это наводки - смотри провода, экраны, землю.willis wrote:Мультиметр у меня хороший и врать мне не станет, да и по клапану слышно что он постоянно дёргает моторчик туда сюда, что не есть очень хорошо, так и спалить его можно. Почему могут быть такие скачки напряжения??? ..
-
- Posts: 118
- Joined: Sun Apr 17, 2011 9:49 pm
Re: [?]: Как и что выводится на аналоговый выход и FC105 ?
не подскажите, от чего у меня FC105 не как у всех нормальных людей выглядит?
называется он "считывание аналогового сигнала 464-2"
возможно я бы и его применял, но на вход нужно еще одно загадочное слово подать "KNKD"
номер и представление канала.
у людей "Scale" у меня кака какая то.
Однако от конфигурации железа зависит?
называется он "считывание аналогового сигнала 464-2"
возможно я бы и его применял, но на вход нужно еще одно загадочное слово подать "KNKD"
номер и представление канала.
у людей "Scale" у меня кака какая то.
Однако от конфигурации железа зависит?
-
- Posts: 65
- Joined: Thu Nov 01, 2007 9:41 pm
- Location: Belarus
Re: [?]: Как и что выводится на аналоговый выход и FC105 ?
Этот FC у вас в библиотеке в libraries\standart library\ti-s7 Converting Blocks\... или в проекте? Если в проекте - то это просто чей-то самописный блок для обработки (чудовищное совпадение) аналоговых значений.
-
- Posts: 118
- Joined: Sun Apr 17, 2011 9:49 pm
Re: [?]: Как и что выводится на аналоговый выход и FC105 ?
библиотечный, хелп по нему присутствует.
ps
screenshot
http://radikall.com/images/2015/06/19/fkgq6.png
что то совсем не понятно, по указанному вами пути TI-S7
потянул 105, запрос, мол существует, заменить? Да,и о чудо, появился нужный камень но под старым именем 464.2.
Сам 105 й брал я в S5-S7 converting, как на видео на трубе.
получал,что на скринах.
когда понятул из Ti-S7 и согласился на перенятия свойств, получил искомое и в s5-S7, Ti-S7 и даже в проекте блок Fc105 в папке FC блоки превратился в нормальный. KNKD вход исчез.
Закрыл проект не сохраняя. Открыл и понятул вновь изS5-S7 105й, согласился... и теперь у меня везде и в S5-S7, Ti-S7 и в папке FC проекта вновь уродец.
И теперь описанный фокус выше не проходит.
если, например,в проекте было 10 уродцев, то при добавлении в первые разы еще одного FC 105 го из Ti-S7 в новую сеть, все блоки в проекте переделывались.
вообщем с чего начал на том и сел.
по хелпу, 105 со скрина, как бы только при применении S7-400 ..
psps
однако, это от какого то проекта последствия, так как на двух компах наблюдается
на "PG" версия step-а 5.3, лицензия на ноутбуке "самая свежая" 5.5.
одно компы объеденяет, я мог один и тот же проект обрабатывать.
ps
screenshot
http://radikall.com/images/2015/06/19/fkgq6.png
что то совсем не понятно, по указанному вами пути TI-S7
потянул 105, запрос, мол существует, заменить? Да,и о чудо, появился нужный камень но под старым именем 464.2.
Сам 105 й брал я в S5-S7 converting, как на видео на трубе.
получал,что на скринах.
когда понятул из Ti-S7 и согласился на перенятия свойств, получил искомое и в s5-S7, Ti-S7 и даже в проекте блок Fc105 в папке FC блоки превратился в нормальный. KNKD вход исчез.
Закрыл проект не сохраняя. Открыл и понятул вновь изS5-S7 105й, согласился... и теперь у меня везде и в S5-S7, Ti-S7 и в папке FC проекта вновь уродец.
И теперь описанный фокус выше не проходит.
если, например,в проекте было 10 уродцев, то при добавлении в первые разы еще одного FC 105 го из Ti-S7 в новую сеть, все блоки в проекте переделывались.
вообщем с чего начал на том и сел.
по хелпу, 105 со скрина, как бы только при применении S7-400 ..
psps
однако, это от какого то проекта последствия, так как на двух компах наблюдается
на "PG" версия step-а 5.3, лицензия на ноутбуке "самая свежая" 5.5.
одно компы объеденяет, я мог один и тот же проект обрабатывать.
-
- Posts: 501
- Joined: Tue Jun 27, 2006 5:52 am
- Location: Russia
Re: [?]: Как и что выводится на аналоговый выход и FC105 ?
Из проекта, из папки Bloсks, надо удалить не нужный FC105 "Read Analog Value 464-2" Проверить в таблице "Symbols" что удалился этот FC105. Если все равно осталась строка, то удалить и там, чтобы не переименовывался. Затем уже вставить нужный FC105 "Scale"Oll Bell wrote: вообщем с чего начал на том и сел.
по хелпу, 105 со скрина, как бы только при применении S7-400 ..