Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Как покороче

  1. #1
    Пользователь
    Регистрация
    10.04.2010
    Адрес
    Алтайский край,г.Рубцовск
    Сообщений
    963

    По умолчанию Как покороче

    Всем доброго дня!Осваиваю язык ST подскажите если не трудно как покороче написать следующее2012-01-30_173447.jpg

  2. #2
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,278

    По умолчанию

    Вы это серьезно ?

  3. #3
    Пользователь
    Регистрация
    10.04.2010
    Адрес
    Алтайский край,г.Рубцовск
    Сообщений
    963

    По умолчанию

    Серьезно что?Ну не силен я в st, в cfc я напишу любую прогу дня за 2-3,а теперь потребовалось изучить ST.
    Последний раз редактировалось жекон; 30.01.2012 в 20:13.

  4. #4
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,243

    По умолчанию

    лучше задачу описать чего хотите, а то вообще не понятно что именно в Вашем понятии сократить, к примеру
    d:=(time_vod+time_kis+time_kau)<>0
    это можно считать сокращением

  5. #5
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,278

    По умолчанию

    /////////////////
    Последний раз редактировалось Валенок; 30.01.2012 в 22:31. Причина: посыпаю голову пеплом

  6. #6
    Пользователь
    Регистрация
    10.04.2010
    Адрес
    Алтайский край,г.Рубцовск
    Сообщений
    963

    По умолчанию

    Покороче что-бы убрать временные пер-ные a,b,c,d,e я попробовал компилятор не пропустил,просто надо разобраться с скобками и присвоениями."а" не обнуляеться а сравнивниваеться с 0.

  7. #7
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,243

    По умолчанию

    d:=(time_vod+time_kis+time_kau)<>0;
    out:=SEL(NOT (stop AND regim_pp AND regim_r), FALSE, pusk AND d);
    вроде компилятору ругаться не на что

  8. #8
    Пользователь
    Регистрация
    10.04.2010
    Адрес
    Алтайский край,г.Рубцовск
    Сообщений
    963

    По умолчанию

    Вроде разобралься уместил в одну строчку
    SR1(SET1:=pusk AND NOT (time_vod+time_kis+time_kau = 0), RESET:=stop OR regim_pp OR regim_r , Q1=>work );
    все-ли правильно не знаю,но компилятор пропустил.

  9. #9

    По умолчанию

    Такие длинные условия плохо глазами читаются и совсем плохо комментируются, потом очень долго будете вспоминать что-же в этой строчке.

    Вполне нормально создать несколько переменных разных типов для промежуточных результатов и использовать их по сто раз в программе.

    читать потом удобнее, писать удобнее, при отладке можно заменить на другую переменную и увидеть промежуточный результат. размер проги меньше должен получиться хоть и текста вроде больше. ну и чем проще инструкция, тем быстрее она выполняется. В кодесисе я к сожалению не заметил в описаниях сколько стоит выполнение по времени той или иной инструкции в каком-то контроллере.

    Вашу длинную строчку компилятор разложит на кучу простых инструкций. По моему ваш первый вариант более правильный, чем то что вы сочинили с целью "упростить"

  10. #10
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,243

    По умолчанию

    по сути, времена выполнения инструкций можно взять и у сименса. Еще у сименса можно взять рекомендацию, как правильно заметил ВЕТЕР, использовать локальные переменные, вместо глобальных, обращение идет быстрее к объявленным переменным в ПОУ, чем к внешним переменным. Но все это касается крупных проектов, в простых это практически не заметно

Страница 1 из 2 12 ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •