Страница 585 из 1044 ПерваяПервая ... 85485535575583584585586587595635685 ... ПоследняяПоследняя
Показано с 5,841 по 5,850 из 10436

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

  1. #5841

    По умолчанию

    Цитата Сообщение от krollcbas Посмотреть сообщение
    Дипломная работа? Слишком мало вводных
    Курсовая... А с одним нельзя сделать никак ? =( Хотя бы чего-нибудь... Пожаалуйста

  2. #5842

    По умолчанию

    Добрый день господа , подскажите пожалуйста как работать с библиотекой Work_mode.lib

    Нужно значение анал. сигнала показать на экране
    попробывал так ShowReal(1, 1, 1, '%2.1f', Value)
    но все равно на экране нету цифры. помогите!

  3. #5843
    Пользователь Аватар для Irgy
    Регистрация
    19.05.2010
    Адрес
    Москва
    Сообщений
    54

    По умолчанию

    Цитата Сообщение от alextopaz Посмотреть сообщение
    скорость обмена по RS-232 Debug необходима 9600 бит/сек.

    Если не ошибаюсь, порт Debug работает только на скорости 115200
    кто к нам с чем-зачем, тот от того и того

  4. #5844
    Пользователь Аватар для Irgy
    Регистрация
    19.05.2010
    Адрес
    Москва
    Сообщений
    54

    По умолчанию

    Цитата Сообщение от KickOff Посмотреть сообщение
    Курсовая... А с одним нельзя сделать никак ? =( Хотя бы чего-нибудь... Пожаалуйста
    Тебе намекнули, что задачу надо бы подробнее описывать
    кто к нам с чем-зачем, тот от того и того

  5. #5845

    По умолчанию

    Добрый день!
    Не могу настроить «Конфигуратор виртуальных портов на (Windows 7 профессиональная) Программа устанавливается без ошибок, находит ЕКОН134 но тут же вылетает. Ест видео — вот ссылка (https://drive.google.com/open?id=0B9...DVJYktUZTdmT3M)

  6. #5846

    По умолчанию

    Народ, добрый день... Никак не пойму: Как считать системное время с контроллера ПЛК110(М02)-60. Задача: нужно каждые 10 минут выводить количество деталей с указанием времени этого события.

  7. #5847
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,841

    По умолчанию

    Цитата Сообщение от Минеев Антон Посмотреть сообщение
    Народ, добрый день... Никак не пойму: Как считать системное время с контроллера ПЛК110(М02)-60. Задача: нужно каждые 10 минут выводить количество деталей с указанием времени этого события.
    С помощью библиотеки SysLibTime.lib
    Например
    Код:
    FUNCTION_BLOCK REAL_TIME
    VAR_INPUT
    END_VAR
    VAR_OUTPUT
    	current_time: TOD;		(*Текущее время*)
    	current_date:DATE;		(*Текущая дата*)
    	current_day: INT;			(*Номер дня в году*)
    END_VAR
    VAR
    	CurTimeExInst: CurTimeEx;
    	CurSystemTimeDate: SystemTimeDate;
    	CurSysTime64: SysTime64;
    	year: INT;
    	second: INT;
    	day: INT;
    	hour: INT;
    	minute: INT;
    	month: INT;
    	count: INT;
    END_VAR
    VAR CONSTANT
    	nulldt: SystemTimeDate;
    END_VAR
    
    (*Получить текущее время и дату*)
    CurSystemTimeDate:=nulldt;
    CurTimeExInst(TimeDate := CurSystemTimeDate, SystemTime := CurSysTime64);
        year :=CurSystemTimeDate.Year;
        month :=CurSystemTimeDate.Month;
        day :=CurSystemTimeDate.Day;
        hour :=CurSystemTimeDate.Hour;
        minute :=CurSystemTimeDate.Minute;
        second :=CurSystemTimeDate.Second;
    IF year =0 THEN
    	year :=1970;
    	month :=1;
    	day :=1;
    END_IF
    (*собираем часы, минуты и секунды в одну кучу - в миллисекунды*)
    current_time:=DWORD_TO_TOD((INT_TO_DWORD(Hour) * 3600
    			+ INT_TO_DWORD(Minute * 60)
    			+ INT_TO_DWORD(Second))*1000);
    (*Вычислить дату с учетом високосных лет*)
    IF month > 2 THEN
        count := (month - 1) * 30;
        IF month > 7 THEN count := count + SHR(month - 3,1);
    ELSE count := count + SHR(month - 4,1); END_IF;
        (* проверить на високосный год и добавить один день если год високосный *)
        IF SHL(year,14) = 0 THEN count := count + 1; END_IF;
    ELSE
        count := (month - 1) * 31;
    END_IF;
    current_date:=DWORD_TO_DATE((INT_TO_DWORD(count + day - 1)
                   + SHR(INT_TO_DWORD(year) * 1461 - 2878169, 2)) * 86400);
    current_day:= DAY_OF_YEAR(current_date);
    Вложение 31117
    Для вычисления номера дня в году здесь нужна такая функция
    Код:
    FUNCTION DAY_OF_YEAR : INT
    VAR_INPUT
    	IDATE : DATE;
    END_VAR
    
    DAY_OF_YEAR := UDINT_TO_INT((DATE_TO_UDINT(idate) / UDINT#86400) MOD UDINT#1461);
    IF DAY_OF_YEAR > 729 THEN
    	IF DAY_OF_YEAR > 1095 THEN DAY_OF_YEAR := DAY_OF_YEAR - 1095; ELSE DAY_OF_YEAR := DAY_OF_YEAR - 729; END_IF;
    ELSIF DAY_OF_YEAR > 364 THEN
    	DAY_OF_YEAR := DAY_OF_YEAR - 364;
    ELSE
    	DAY_OF_YEAR := DAY_OF_YEAR + 1;
    END_IF;
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  8. #5848
    Пользователь Аватар для Rednaxel
    Регистрация
    15.05.2015
    Адрес
    Минск
    Сообщений
    19

    По умолчанию Модуль управления светом

    Впал в ступор от простейшей задачи управления светом. После полдня мучений создал вот такую конструкцию:
    Вложение 31176
    Она работает только благодаря "костылю" в виде посторонней переменной, которая синхронизируется со светом в другом месте программы.
    Дело в том, что этот переключатель нужно оформить в виде ФБ чтобы использовать многократно и эта переменная там ни к чему.

    Подскажите пожалуйста: как на CFC сделать без костыля?
    Видимо на языке типа ST это проще и правильнее, но я его пока не освоил.

  9. #5849
    Пользователь Аватар для Василий Кашуба
    Регистрация
    20.11.2011
    Адрес
    Ставрополь
    Сообщений
    2,492

    По умолчанию

    Цитата Сообщение от Rednaxel Посмотреть сообщение
    Впал в ступор от простейшей задачи управления светом. После полдня мучений создал вот такую конструкцию:
    Вложение 31176
    Она работает только благодаря "костылю" в виде посторонней переменной, которая синхронизируется со светом в другом месте программы.
    Дело в том, что этот переключатель нужно оформить в виде ФБ чтобы использовать многократно и эта переменная там ни к чему.

    Подскажите пожалуйста: как на CFC сделать без костыля?
    Видимо на языке типа ST это проще и правильнее, но я его пока не освоил.
    Для меня проще на CFC, сделайте так.
    Вложение 31178

  10. #5850
    Пользователь Аватар для Rednaxel
    Регистрация
    15.05.2015
    Адрес
    Минск
    Сообщений
    19

    По умолчанию

    Спасибо за ответ!
    Но честно говоря просветления не наступило
    При чем здесь ИЛИ - не понимаю?

    Мне представляется, что для моей задачи нужна бы конструкция типа If ... Then ... Else.
    Если свет горит - переменную Light установить в TRUE, если нет - сбросить в FALSHE.
    Моя беда в том, что я не понимаю какой блок на CFC применить для этого?
    Или все не так совсем: растолкуйте пожалуйста.

    Upd:
    Голова сообразила наконец, что если добавить задержку во вторую часть блока, чтобы прошел цикл, блок начинает работать.
    Вложение 31220
    Только это тоже костыль. Поэтому вопрос остается открытым: "какая конструкция на CFC соответствует логике If ... Then ... Else?

Страница 585 из 1044 ПерваяПервая ... 85485535575583584585586587595635685 ... ПоследняяПоследняя

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

Ваши права

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