Просмотр полной версии : ST.
_Александр_
19.08.2011, 19:45
Подскажите, как в ST прописать (real_to_int),(int_to_real)?
Николаев Андрей
19.08.2011, 20:00
В общем то ровно так, как Вы и написали...
А еще есть ассистент ввода - F2.
И хелп.
_Александр_
19.08.2011, 20:26
В общем то ровно так, как Вы и написали...
А еще есть ассистент ввода - F2.
И хелп.
Все так и делаю. Но нехватает знаний. Сейчас не могу показать проект. Примерно так: - выход OUT(REAL) подается на вход IN(INT).
OUT=>:REAL_TO_INT(IN);... ?
_Александр_
19.08.2011, 20:50
Да, так
....
Так и делаю. Но мне при кампиляции выдает:- "Задайте значимый операнд."
Terrano1992
19.08.2011, 21:29
выход OUT(REAL) подается на вход IN(INT).
OUT=>:REAL_TO_INT(IN);... ?
А почему бы не так все это записать?
IN := REAL_TO_INT(OUT);
lara197a
19.08.2011, 21:49
вычисления лучше выносить за функцию(рекомендуется). но должно и так работать(но не рекомендуется).
обычно когда спешишь, и вносишь изменения. то допускаешь первый способ, работает, проверено.
Николаев Андрей
19.08.2011, 22:52
Все так и делаю. Но нехватает знаний. Сейчас не могу показать проект. Примерно так: - выход OUT(REAL) подается на вход IN(INT).
OUT=>:REAL_TO_INT(IN);... ?
Может я что то путаю, но такую запись CoDeSys и не должен принимать.
Нет у него такого оператора =>:
Рекомендую, тем более в начале пути, работать по хелпу:
perem_int := real_to_int (perem_real);
_Александр_
20.08.2011, 04:14
Спасибо всем за советы. Пробовать буду уже в понедельник на работе. Ещё раз спасибо. Проект составлен в FBD. Отлично работает. Прежний мой вопрос (А>B ...) является дополнением. В FBD преобразования (..._то_...) работают. В ST тот-же проект тормозит. Кампилируется всё, кроме преобразований. Ещё раз спасибо.
lara197a
20.08.2011, 07:37
Извините, не совсем понял ситуацию.
В Вашем случае ОUT=> -это выход функции или функционального блока.
Переменная, которая подставляется с права, должна строго соответствовать типу переменной OUT.
Потом, Вы можете преобразовать её в нужный тип.
например:
WAR
OUT:WORD;
IN_1:WORD;
IN:BOOL;
END_WAR
......
(...
OUT=>IN1);
IN:=WORD_TO_BOOL(IN_1);
Если это не функция или ФБ, то как писал Андрей Н.
Николаев Андрей
20.08.2011, 08:47
Спасибо всем за советы. Пробовать буду уже в понедельник на работе. Ещё раз спасибо. Проект составлен в FBD. Отлично работает. Прежний мой вопрос (А>B ...) является дополнением. В FBD преобразования (..._то_...) работают. В ST тот-же проект тормозит. Кампилируется всё, кроме преобразований. Ещё раз спасибо.
Тот же код в st не будет выполнятся:
В FBD присвоение идет с лева на право, а в ST с права на лево.
Все так и делаю. Но нехватает знаний. Сейчас не могу показать проект. Примерно так: - выход OUT(REAL) подается на вход IN(INT).
OUT=>:REAL_TO_INT(IN);... ?
куда_то_там(IN:=REAL_TO_INT(чего_то_там.OUT));
В приведенном Вами примере, написан полный бред который работать не будет, в место Вашего IN должно стоять что будет преобразовываться, а не во что
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot