Далеко не все действия можно совершить через стандартные блоки FBD или операторы SCL с переменными типа Word. С integer - почти все) Это логично, ворд это сугубо положительные числа, а откуда компилятору знать, что будет в результате? Поэтому разработчику проще ограничить пользователя. Чтобы в целом полученный код устойчивее был. Но! Это сугубо моё мнение. Не претендую на истину ;)
при способе CASE можно не указывать ненужные нам переменные , вообще, они и так не будут активны, тем кейс и удобнее,чем IF, ELS_IF... А STL реально неудобный для чтения. А видео смотрю лишь для того,что может что-то новое узнаю, поскольку сам с симатиком не так уж и давно работаю, ну как работаю - хобби такое. Так что - больше видео )
Зохан, спасибо за поддержку. Во всех смыслах ;) Оператор ELSE в конце CASE не обязателен, конечно. Но даже в этом простом примере, что то возможно нужно "прикрутить", да - мы понимаем, что Sel не может получить никакого значения, кроме 1-3, потому что Text List другой. Но смотрите, я ведь ее не инициализировал в начале ) Нет у меня в коде ОВ100. Значит на старте будет 0. В общем ELSE - чаще всего перестраховка.
У меня вопрос про разницу if-elsif-else и case: в языках высокого уровня (если конкретно, Java) разница заключается в том, что if-ы проверяются ВСЕ, до первого выполнения условия ( if (true) или elseif (true) ), либо выполняется else; в switch-case-break-default конструкциях выполняется только case подходящий для switch (или default, если таких нет), остальные условия не проверяются вообще (что само по себе быстрее) Как это работает в "сименсовском" IEC? (если напряженная война за миллисекунды, а в STL писать на TIA сименс не рекомендует)
Заметьте, в SCL нет break в конструкции case, это Pascal подобный язык, не Си образный ) Ну а в остальном - логично. Хотя, конечно же далеко не всегда можно if then на case заменить. А вот тех кто за мс гоняется, я в глаза не знаю ))) Наверно есть такие
Спасибо огромное за ваши уроки =)
👍
Спасибо за урок! Почему int удобнее, чем word?
Далеко не все действия можно совершить через стандартные блоки FBD или операторы SCL с переменными типа Word. С integer - почти все) Это логично, ворд это сугубо положительные числа, а откуда компилятору знать, что будет в результате? Поэтому разработчику проще ограничить пользователя. Чтобы в целом полученный код устойчивее был. Но! Это сугубо моё мнение. Не претендую на истину ;)
при способе CASE можно не указывать ненужные нам переменные , вообще, они и так не будут активны, тем кейс и удобнее,чем IF, ELS_IF... А STL реально неудобный для чтения. А видео смотрю лишь для того,что может что-то новое узнаю, поскольку сам с симатиком не так уж и давно работаю, ну как работаю - хобби такое. Так что - больше видео )
Зохан, спасибо за поддержку. Во всех смыслах ;) Оператор ELSE в конце CASE не обязателен, конечно. Но даже в этом простом примере, что то возможно нужно "прикрутить", да - мы понимаем, что Sel не может получить никакого значения, кроме 1-3, потому что Text List другой. Но смотрите, я ведь ее не инициализировал в начале ) Нет у меня в коде ОВ100. Значит на старте будет 0. В общем ELSE - чаще всего перестраховка.
У меня вопрос про разницу if-elsif-else и case: в языках высокого уровня (если конкретно, Java) разница заключается в том, что if-ы проверяются ВСЕ, до первого выполнения условия ( if (true) или elseif (true) ), либо выполняется else; в switch-case-break-default конструкциях выполняется только case подходящий для switch (или default, если таких нет), остальные условия не проверяются вообще (что само по себе быстрее)
Как это работает в "сименсовском" IEC? (если напряженная война за миллисекунды, а в STL писать на TIA сименс не рекомендует)
Заметьте, в SCL нет break в конструкции case, это Pascal подобный язык, не Си образный ) Ну а в остальном - логично. Хотя, конечно же далеко не всегда можно if then на case заменить. А вот тех кто за мс гоняется, я в глаза не знаю ))) Наверно есть такие