Страница 775 из 1041 ПерваяПервая ... 275675725765773774775776777785825875 ... ПоследняяПоследняя
Показано с 7,741 по 7,750 из 10404

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #7741

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    если про nmap ни чего не слышали, то можно по USB подключиться
    В общем как человек посоветовал, пингануть ip с окончанием 77, вышло, может кому пригодиться

  2. #7742

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Предположение. Сработает - объясню/объяснят. Не сработает - не потребуется объяснять.
    Друг, вышло, благодарю, объясни в двух словах

  3. #7743

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    if x_правого_края > x_ножницы then ширина := ширина_после_обрезки
    То есть для каждого листа задавать переменную начальной позиции и переменную деформации? Ибо оно так и получается, как я понимаю, а движение листов у меня осуществляется по одной общей переменной.

  4. #7744

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Лист - объект. Сам по себе.

    Не очень понятно
    У меня 3 листа двигаются с помощью прописанной переменной и условия(скрин ниже) list_move_x - это начальная позиция листов, list_move_max - это конечная позиция листов; после пересечения которой они возвращаются на начальную; dx_list - это кол-во пикселей(для движение шпона)

  5. #7745

    По умолчанию

    Здравствуйте! Подскажите есть ли возможность получить реальное время с ПК, записать его в переменную? В визуализации можно отобразить его, но использовать как переменную не получилось. Делаю всё в CodeSys v.2.3. без ПЛК(Т.е. мне нужно в программе получить реальное время и просто его сравнить)

  6. #7746

    По умолчанию

    Здравствуйте!
    Прошу помощи.
    Ниже приведенный код работает нормально за исключением одного маленького но. При первом выполнении условия IF включается таймер включения с задержкой в 3 секунды, когда условие не выполняется срабатывает ELSE (здесь все нормально). Но при повторном выполнении условия IF таймер TON срабатывает без выдержки времени, следовательно каким то образом хранятся переменная PT или Q.
    Правильно ли я понимаю что их надо обнулить.
    Попробовал так:
    TON1.PT:= T#0s;
    Не получилось, подскажите как быть?

    VAR
    dvig_on: BOOL;
    ton1: TON;
    s_ontime: TIME;
    rabota_r,rabota_a : BOOL;
    END_VAR

    IF rabota_r=1 AND kn_off=1 THEN
    ton1(IN:= rabota_r, PT:= T#3s, Q=> , ET=> );
    dvig_on :=TON1.Q;
    s_ontime :=TON1.ET;
    ELSE
    dvig_on:=0;
    END_IF

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

    По умолчанию

    тон надо выносить за тело условия
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  8. #7748

    По умолчанию

    Спасибо огромное!!!
    Ясно, я думал так возможно ))

  9. #7749

    По умолчанию

    Всем доброго времени суток, в чём в данном коде проблема? Пишу программу в ST и визуализирую, опишу возникшую проблему: Использую инкрементный счётчик, и по конвейерной ленте движутся 2 листа друг за другом, первый счётчиком принимается на расстоянии 500, а второй на 700 не принимается. Уже голову ломаю, почему не получается отмечать оба листа, а лишь 1 - первый? И каждый заход аналогичен. Надеюсь понятно объяснил.
    Код:
    PROGRAM animate_listi
    VAR_INPUT
    	START:BOOL;
    END_VAR
    VAR
    	CTUInst2: CTU;
    	Var2BOOL1: BOOL;
    	Var2BOOL2: BOOL;
    	Var2INT1: WORD;
    	Var2INT2: WORD;
    	Var2BOOL3: BOOL;
    	dx_list:REAL:=4;
    	DELAY:WAIT;
    END_VAR
    
    IF START THEN
    CTUInst2(CU:= Var2BOOL1, RESET:=Var2BOOL2 , PV:= Var2INT1);
    Var2BOOL3 := CTUInst2.Q;
    Var2INT2 := CTUInst2.CV;
    
    list_move_x1:=list_move_x1+dx_list;
    list_move_x2:=list_move_x2+dx_list;
    TR:=FALSE;
    TR2:=FALSE;
    IF list_move_x1>=500 THEN
    TR:=TRUE;
    RTRIGInst(CLK:= TR);
    Var2BOOL1 := RTRIGInst.Q;
    END_IF;
    IF list_move_x2>=700 THEN
    TR2:=TRUE;
    RTRIGInst(CLK:= TR2);
    Var2BOOL1 := FTRIGInst.Q;
    END_IF;

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

    По умолчанию

    Цитата Сообщение от Lordorakus Посмотреть сообщение
    Всем доброго времени суток, в чём в данном коде проблема? Пишу программу в ST и визуализирую, опишу возникшую проблему: Использую инкрементный счётчик, и по конвейерной ленте движутся 2 листа друг за другом, первый счётчиком принимается на расстоянии 500, а второй на 700 не принимается. Уже голову ломаю, почему не получается отмечать оба листа, а лишь 1 - первый? И каждый заход аналогичен. Надеюсь понятно объяснил.
    Код:
    PROGRAM animate_listi
    VAR_INPUT
    	START:BOOL;
    END_VAR
    VAR
    	CTUInst2: CTU;
    	Var2BOOL1: BOOL;
    	Var2BOOL2: BOOL;
    	Var2INT1: WORD;
    	Var2INT2: WORD;
    	Var2BOOL3: BOOL;
    	dx_list:REAL:=4;
    	DELAY:WAIT;
    END_VAR
    
    IF START THEN
    CTUInst2(CU:= Var2BOOL1, RESET:=Var2BOOL2 , PV:= Var2INT1);
    Var2BOOL3 := CTUInst2.Q;
    Var2INT2 := CTUInst2.CV;
    
    list_move_x1:=list_move_x1+dx_list;
    list_move_x2:=list_move_x2+dx_list;
    TR:=FALSE;
    TR2:=FALSE;
    IF list_move_x1>=500 THEN
    TR:=TRUE;
    RTRIGInst(CLK:= TR);
    Var2BOOL1 := RTRIGInst.Q;
    END_IF;
    IF list_move_x2>=700 THEN
    TR2:=TRUE;
    RTRIGInst(CLK:= TR2);
    Var2BOOL1 := FTRIGInst.Q;
    END_IF;
    видимо всё в буквах R и F
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

Страница 775 из 1041 ПерваяПервая ... 275675725765773774775776777785825875 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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