Всем доброго дня!Осваиваю язык ST подскажите если не трудно как покороче написать следующее2012-01-30_173447.jpg
Всем доброго дня!Осваиваю язык ST подскажите если не трудно как покороче написать следующее2012-01-30_173447.jpg
Вы это серьезно ?
Серьезно что?Ну не силен я в st, в cfc я напишу любую прогу дня за 2-3,а теперь потребовалось изучить ST.
Последний раз редактировалось жекон; 30.01.2012 в 20:13.
лучше задачу описать чего хотите, а то вообще не понятно что именно в Вашем понятии сократить, к примеруэто можно считать сокращениемd:=(time_vod+time_kis+time_kau)<>0
/////////////////
Последний раз редактировалось Валенок; 30.01.2012 в 22:31. Причина: посыпаю голову пеплом
Покороче что-бы убрать временные пер-ные 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 );
Такие длинные условия плохо глазами читаются и совсем плохо комментируются, потом очень долго будете вспоминать что-же в этой строчке.
Вполне нормально создать несколько переменных разных типов для промежуточных результатов и использовать их по сто раз в программе.
читать потом удобнее, писать удобнее, при отладке можно заменить на другую переменную и увидеть промежуточный результат. размер проги меньше должен получиться хоть и текста вроде больше. ну и чем проще инструкция, тем быстрее она выполняется. В кодесисе я к сожалению не заметил в описаниях сколько стоит выполнение по времени той или иной инструкции в каком-то контроллере.
Вашу длинную строчку компилятор разложит на кучу простых инструкций. По моему ваш первый вариант более правильный, чем то что вы сочинили с целью "упростить"
по сути, времена выполнения инструкций можно взять и у сименса. Еще у сименса можно взять рекомендацию, как правильно заметил ВЕТЕР, использовать локальные переменные, вместо глобальных, обращение идет быстрее к объявленным переменным в ПОУ, чем к внешним переменным. Но все это касается крупных проектов, в простых это практически не заметно