(Можете выложить прект здесь.)
Спасибо , отослал на поддержку , здесь не знаю как прикреплять файлы к сообщению. версия ол последняя 2.7.354.0 , но переводилась с предпоследней не помню номера.
Вид для печати
(Можете выложить прект здесь.)
Спасибо , отослал на поддержку , здесь не знаю как прикреплять файлы к сообщению. версия ол последняя 2.7.354.0 , но переводилась с предпоследней не помню номера.
Здравствуйте!
При написаний функций
RealToUdint
условие RealToUdint := lreal_to_udint(in)*10; и последующей попытке симуляций, программа выдает критическую ошибку и не выходит из симуляций блокируя вкладки функций и схемы и дальше ни как.
Вместо Real вписал lreal
Причем lreal подсвечивается оранжевымВложение 78456
Где тут ошибаться, скопируйте текст и проверьте Вложение 78457
Если умножение на 10 вынести за скобки, то из 12.3 получите 120 вместо 123 в примере, на скрине.Код:function Real_udint: udint;
var_input
inVar : real;
end_var
Real_udint := real_to_udint(inVar*10);
end_function
Прога на ST используя FB должна была регулировать время цикла выполнения в большую и меньшую стороны (эксперимент).
Используется ИПП120.
При вводе значения по нажатию кнопки SEL значение задержки можно редактировать во 2.й строчке экрана. При увеличении значения , время исполнения цикла тоже увеличивается , а вот при уменьшении , ожидаемого уменьшения времени исполнения не происходит , остаётся как будто ни чего не изменял. Время исполнения цикла в мс. также выводиться во 2.й стоке экрана панели. Если ещё увеличивать то всё получиться , а в обратку ни в какую не хочет. Выводимое на экран значение совпадает с системным временем исполнения программы из менюшки.
Для задержек пробовал циклы for и while , разницы в работе нет. Проект прилагается. Может тут кто подскажет куда копать или в поддержку придётся писать ?
Это полная фигня, то чем вы занимаетесь и непонимание работы контроллера и цикла.
Не надо пытаться задерживать цикл, наоборот он должен быть как можно меньше, код надо оптимизировать, а все временные задержки делаются на таймере, еcли не нужно выполнять кусок программы, сделайте обход куска по IF...THEN
Лучше бы написали, что вы хотите, вам бы помогли найти правильный подход.
в минус не может быть меньше реального цикла, как бы вы не хотели. Увеличивать всегда можно, тем же while в конце программы, но уменьшить неуменьшаемое нельзя.