Можно
Безымянный.pngКод:funR_trig := Clk and not M; funF_trig := not Clk and M;
Но зачем, если в ST их не применить, а в FBD и так есть
А в счетчике не хватает сброса
Можно
Безымянный.pngКод:funR_trig := Clk and not M; funF_trig := not Clk and M;
Но зачем, если в ST их не применить, а в FBD и так есть
А в счетчике не хватает сброса
День добрый!
Я спрашивал про присвоение значения переменной во почему -
function test: bool; //тестовый и тип данных выхода bool
var_input //объявление входных переменных
A : bool; //входная переменная с типом данных bool
B : bool; //входная переменная с типом данных bool
C : bool; //входная переменная с типом данных bool
end_var
if A = true then test := true; end_if
if B = true then test := true; end_if
if C = true then test := false; end_if
end_function
Как видно двоеточий нет и программа работает, а на двоеточие ругается
Спасибо,
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Пока я рисовал, сообщения уже нет?
Screenshot_1.png
Может сам догадался?Код:function bm_WeekDay: udint; //имя функции и тип данных выхода var_input //объявление входных переменных Mon : bool; //входная переменная с типом данных bool Tue: bool; //входная переменная с типом данных bool Wed: bool; //входная переменная с типом данных bool Thu: bool; //входная переменная с типом данных bool Fri: bool; //входная переменная с типом данных bool Sat: bool; //входная переменная с типом данных bool San: bool; //входная переменная с типом данных bool All: bool; //входная переменная с типом данных bool end_var If All Then bm_WeekDay:= 254; else bm_WeekDay.1:= Mon; bm_WeekDay.2:= Tue; bm_WeekDay.3:= Wed; bm_WeekDay.4:= Thu; bm_WeekDay.5:= Fri; bm_WeekDay.6:= Sat; bm_WeekDay.7:= San; end_if; end_function
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
После входных переменных if A := true
function test: bool; //тестовый и тип данных выхода bool
var_input //объявление входных переменных
A : bool; //входная переменная с типом данных bool
B : bool; //входная переменная с типом данных bool
C : bool; //входная переменная с типом данных bool
end_var
if A := true then test := true; end_if
if B := true then test := true; end_if
if C := true then test := false; end_if
end_function
Все правильно ругается!
Зачем оператор присваивания(:=) вместо проверки условия (=)
Нужно
if A = true then test := true; end_if
if B = true then test := true; end_if
if C = true then test := false; end_if
Но вообще это масло масляное, нужно быть проще
if A then test := true; end_if
if B then test := true; end_if
if C then test := false; end_if
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Посмотрите на мой код, я не даром вам его полностью написал
if A = true then test := true; end_if это излишнее сравнение
Достаточно
if A then test := true; end_if
А всегда сравнивается с true и писать не обязательно.
Если надо сравнить с False, то пишем
if NOT A then test := true; end_if
Последний раз редактировалось kondor3000; 29.12.2022 в 15:14.