Вложение 74563
Почему не подключенные переменные в блоке AND являются 1?
Вид для печати
Вложение 74563
Почему не подключенные переменные в блоке AND являются 1?
В этом случае Лоджик не прав: 0 должен быть значением по уморлчанию для неинициализированной переменной. И вроде так было всегда: я использую блоки на 4-8 ИЛИ и попрой остаются незанятые входы. Взведение неподключенных в 1 вместо 0 блокировало бы работу всей программы.
Ответ неверен. Поведение OwenLogic сделано аналогичным поведению блоков AND и OR в Siemens Logo. Это поведение является ИСКЛЮЧЕНИЕМ для упрощения создания программ на FBD, чтобы не захламлять константами экран:
* Для элементов AND все НЕподключенные входы трактуются как TRUE
* Для элементов OR все НЕподключенные входы трактуются как FALSE
Ещё раз повторяю: это сделано специально, чтобы упросить разработку программ и действует только на эти элементы. Во всех остальных случаях (для других блоков и элементов) неподключенные входы будут равны FALSE.
Всегда было - не подключенный вход == 1
Вложение 74566
Ну тут я был невежествен, но прав: я использую FBD блоки, в которых триггерами защелкиваю аварийные сигналы. И для неинициализированных переменных, в т.ч. и для блоков это ожидаемо.
Про специальное поведение атомарных блоков &/|| - не знал, каюсь, теперь знаю, не буду вешать напрасные дефолтные переменые.
goranach не путайте языки программирования и интерпритаторы, коим является ОЛ, CodeSys и так далее у других производителей. Там четко все, AND неподключенный 1, иначе он у вас работать не будет. OR неподключенный 0.
В некоторых программируемых реле вообще не существует AND или OR на два входа, то есть абсолютно. начинается с 4-х входов (не помню у кого) и что, вы будете лепить везде константы на поле программы?
Именно для этого это все и сделано, чтобы вас не утруждать лишним..
И скажите в чем нарушение, если у вас блок на 4 входа, а вам нудны только 3 из них ?
Есть явная инициализация и неявная. В экономии времени программиста/автоматчика есть смысл, но только при 100% уверенности в повторяемости результата/процесса инициализации/объявления. Но, как говорится, есть нюанс... и недавно обновленный программный пакет меняет поведение или, программист по невнимательности упускает мелочь, которая при отладке просто взрывает мозг.
Потому опытные разработчики думают наперед, обжегшись на таких простых вещах: явно инициализовать все - это правильно и безопасно. Что-то оставлять на стандартное поведение программы - самонадеянно и не 100% повторяемо.
Как раз на Siemens Logo и начинается.
Вложение 74569
Cs-Cs вот, точно. Представляю как человек на поле лепит там единички и нолики :)
Здравствуйте, уважаемые разработчики ! Есть возможность усилить хелп в OL в разделе "зарезервированные ключевые слова" ? Ссылки на разъяснения, вариантами использования/примеры (если возможно)?
Добрый день, на данный момент в справке описаны все зарезервированные слова и примеры использования конструкций, функциональных блоков и функций. С чем вы столкнулись конкретно, что не описано в справке?
Добрый вечер , Максим Сергеевич . Я вижу в хелпе только лишь таблицу . Вложение 74625 Ссылок в ней нет, поиск по хелпу не дает результата ( или просто ссылка на эту же таблицу )
С уважением
1. Жутко раздражает постоянное разворачивание Owen Logic на весь экран. К тому же в этом случае низ окна немного вылезает за панель задач и не виден. Просьба сделать запоминание размеров и положения окна на экране! Это элементарно.
2. Не работает изменение размеров окна:
а) если тянуть за нижний левый угол - вообще не работает
б) если тянуть за правый нижний угол, и окно находится на другом мониторе слева. В моем случае у него отрицательные значения местоположения по X. Видимо связано именно с этим.
Win7 64.
Вложение 74635
Почему не работает этот вариант, если переменная привязана к экрану (динамический текст)?
Сделайте сброс через таймер TP со временем импульса 0,1 с.
Сделайте запись в конце цикла Вложение 74637
Зачем такие сложности
Вложение 74638
или, даже так
Вложение 74639
Добрый день.
Во вложении сообщение об ошибке. Подскажите в чем причина, и что делать?
Версия OL 2.6.347.0.
PS.
Разобрался сам. На одном ПК разделитель дробной части запятая, на другом точка. При открытии на компьютере где разделитель точка ругается на запятую в поле Ввод/вывод INT/Float. После удаления и новой вставки уже с разделителем точка предупреждение пропало. Разработчикам -пожелание чтобы при такой ошибке было указание на местонахождение таких ошибок или сделайте обработку таких ситуаций.
Судя по ошибке неверный формат строки для преобразования во float если читать дальше. Возможно точка или запятая что-то из них не воспринимается при парсинге.
Так и есть. Заменил запятую на точку и ошибка пропала.
з.ы. удивляют программисты, которые не могут парсить как с точкой так и с запятой. Да еще если берут эти данные из культуры системы... ну там же ешкин кот всего пару строк кода.... :(
ПР200-24.1.X. Редактор экранов параметр Ввод/вывод INT/Float поля ограничения Мин Макс.
kondor3000 а какая разница для чего используется float в рамках данной ошибки? Если ввод с цифрового блока клавиатуры лепит запятую в русской культуре ?
Не проще. В моем случае.
Не знаю может так и должно быть, делаю картинку для пр205,выбираю цвета не из палитры готовой, а через определить цвет,после выбора цвета он не сохраняется в дополнительных, сбрасывается
Функции тоже ломаются при изменении любого бита в 32-разрядном числе!
function function1: udint; //имя функции и тип данных выхода
var_input //объявление входных переменных
IN : udint;
end_var
var
V: udint;
end_var
V:= IN;
V.0:=false;
function1 := V;
end_function