Всем доброго дня!Осваиваю язык ST подскажите если не трудно как покороче написать следующееВложение 5489
Вид для печати
Всем доброго дня!Осваиваю язык ST подскажите если не трудно как покороче написать следующееВложение 5489
Вы это серьезно ?
Серьезно что?Ну не силен я в st, в cfc я напишу любую прогу дня за 2-3,а теперь потребовалось изучить ST.
лучше задачу описать чего хотите, а то вообще не понятно что именно в Вашем понятии сократить, к примеруэто можно считать сокращением :)Цитата:
d:=(time_vod+time_kis+time_kau)<>0
/////////////////
Покороче что-бы убрать временные пер-ные a,b,c,d,e я попробовал компилятор не пропустил,просто надо разобраться с скобками и присвоениями."а" не обнуляеться а сравнивниваеться с 0.
вроде компилятору ругаться не на чтоЦитата:
d:=(time_vod+time_kis+time_kau)<>0;
out:=SEL(NOT (stop AND regim_pp AND regim_r), FALSE, pusk AND d);
Вроде разобралься уместил в одну строчкувсе-ли правильно не знаю,но компилятор пропустил.Цитата:
SR1(SET1:=pusk AND NOT (time_vod+time_kis+time_kau = 0), RESET:=stop OR regim_pp OR regim_r , Q1=>work );
Такие длинные условия плохо глазами читаются и совсем плохо комментируются, потом очень долго будете вспоминать что-же в этой строчке.
Вполне нормально создать несколько переменных разных типов для промежуточных результатов и использовать их по сто раз в программе.
читать потом удобнее, писать удобнее, при отладке можно заменить на другую переменную и увидеть промежуточный результат. размер проги меньше должен получиться хоть и текста вроде больше. ну и чем проще инструкция, тем быстрее она выполняется. В кодесисе я к сожалению не заметил в описаниях сколько стоит выполнение по времени той или иной инструкции в каком-то контроллере.
Вашу длинную строчку компилятор разложит на кучу простых инструкций. По моему ваш первый вариант более правильный, чем то что вы сочинили с целью "упростить"
по сути, времена выполнения инструкций можно взять и у сименса. Еще у сименса можно взять рекомендацию, как правильно заметил ВЕТЕР, использовать локальные переменные, вместо глобальных, обращение идет быстрее к объявленным переменным в ПОУ, чем к внешним переменным. Но все это касается крупных проектов, в простых это практически не заметно