[?]: аналоговый выход 0-10В S7-200

Промышленные Логические Контроллеры SIMATIC S7-200/300/400
Post Reply
ovalgr
Posts: 8
Joined: Sun May 03, 2009 5:01 pm
Location: Europe

[?]: аналоговый выход 0-10В S7-200

Post by ovalgr » Sun May 03, 2009 5:20 pm

Господа, есть 4 гидроцилиндра и необходимо обеспечить равномерное движение поршней без перекосов вверх и вниз.
Датчики длины выхода поршня выдают 0-10В каждый
есть выход 0-10В на аналоговые гидравлические клапана.
Вопрос как регулировать выдачу аналогового сигнала на клапана, какой инструкцией ?
Спасибо.

Dinda
Posts: 34
Joined: Tue Nov 04, 2008 12:03 pm
Location: Russia

Post by Dinda » Mon May 04, 2009 10:47 am

Формула для расчета масштабированного значения:

OUT = [ ((FLOAT (IN) – 27648.0)/(+27648.0–27648.0)) * (HI_LIM–LO_LIM)] + LO_LIM

ГДЕ:
OUT = масштабированное выходное значение
FLOAT (IN) = аналоговое входное значение
HI_LIM = верхний предел шкалы масштабированного выходного значения
LO_LIM = нижний предел шкалы масштабированного выходного значения

BIPOLAR двухполярный сигнал: Входная величина находится т
в пределах от –27648 до 27648, поэтому, –27648.0 и +27648.0

LD SM0.0
MOVW #IN, #L6
ITD #L6, #L7
DTR #L7, #L8
MOVR #L8, #L1
-R -27648.0, #L1
MOVR 27648.0, #L2
-R -27648.0, #L2
MOVR #HI_LIM, #L3
-R #LO_LIM, #L3
MOVR #L1, #L4
/R #L2, #L4
MOVR #L4, #L5
*R #L3, #L5
MOVR #L5, #OUT
+R #LO_LIM, #OUT
Last edited by Dinda on Mon May 04, 2009 12:12 pm, edited 1 time in total.

ovalgr
Posts: 8
Joined: Sun May 03, 2009 5:01 pm
Location: Europe

Post by ovalgr » Mon May 04, 2009 11:52 am

Спасибо большое за инструкцию и если можно,то разъясните боле подробно,а именно
1.У меня сигнал 0-10В на аналоговый вход униполарный и интегер 0-32000,почему Вы выбрали -27648+27648,а рил 0-8000 мм.
2.Выходной сигнал на клапан 0-10В униполярный также,кланап аналоговый гидравлический и работает на перепуск масла,он стравливает давление масла и поршень смещается вниз.
Аналогичные клапана есть на остальных 3-х поршнях,которые поднимают и опускают платформу,
Спасибо.

Dinda
Posts: 34
Joined: Tue Nov 04, 2008 12:03 pm
Location: Russia

Post by Dinda » Mon May 04, 2009 12:25 pm

Тогда вместо –27648.0 ставите 0.0, вместо +27648.0 ставите 32000.
Предыдущий код нужно вставить в отдельный блок.
Входные параметры блока:
IN тип word
HI_LIM тип real
LO_LIM тип real
Выходные параметры:
OUT тип real
Параметры TEMP:
L1 тип real
L2 тип real
L3 тип real
L4 тип real
L5 тип real
L6 тип word
L7 тип dword
L8 тип real
Далее вызываете этот блок в главной программе и ставите параметры:
HI_LIM = 8000
LO_LIM = 0
IN = аналоговое входное значение
OUT = длине выхода поршня
С помощью этих расчетов получите текущую позицию поршней.
Для того чтобы задавать позицию поршней как ваниант ОП, где и будет задаваться позиция.
Тогда надо использовать еще и вот такую формулу:
OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + K1
IN = входная позиция в [мм] real (заданная с ОП)
HI_LIM = 8000.0
LO_LIM = 0.0
K1 = 0
K2 = 32000

ovalgr
Posts: 8
Joined: Sun May 03, 2009 5:01 pm
Location: Europe

Post by ovalgr » Mon May 04, 2009 2:09 pm

Большое спасибо,сделал 4-е отдельных SBR_0,1,2,3 для каждого поршня, чтобы избежать влияния одного на другой,
потом выход REAL передал на S_RTI из библиотеки и вроде как выглядеть готовым продуктом.
Далее как задать скорость перемещения для поршня в этом же проекте.
к примеру 1-2-3 скорость перемещения, воздействием на эти же аналоговые клапан.
Входы скоростей с джойстика цифровые.

Спасибо.

Dinda
Posts: 34
Joined: Tue Nov 04, 2008 12:03 pm
Location: Russia

Post by Dinda » Tue May 05, 2009 5:10 am

Используй вот эту формулу:
OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + K1
IN = входная величина скорости в процентах
HI_LIM = 100.0
LO_LIM = 0.0
K1 = 0
K2 = 32000
Когда будет подан сигнал о первой скорости передавайте на вход функции:
к примеру IN=35.0, когда вторая скорость IN=65.0, когда третья скорость IN=100.0
Выход этой функции это аналоговый сигнал 0-10В, подаваемый на клапана. Датчики длины выхода поршня это обратная связь, о действительном положении поршня.

ovalgr
Posts: 8
Joined: Sun May 03, 2009 5:01 pm
Location: Europe

Post by ovalgr » Tue May 05, 2009 6:48 am

Спасибо большое зе науку,буду пробовать.Еще вопрос пока в контакте. Хочу вывести на TD200 информацию по срабатыванию защиты и рекомендации персоналу.Как это сделать физически,пробовал через Wizard TD200 не прошло.
thanks

Post Reply