Страница 500 из 1042 ПерваяПервая ... 4004504904984995005015025105506001000 ... ПоследняяПоследняя
Показано с 4,991 по 5,000 из 10414

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

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

    По умолчанию

    Цитата Сообщение от Rednaxel Посмотреть сообщение
    Всем привет!

    В программе на CFC есть счетчик отправленных СМС и нужно его сбрасывать каждый месяц, а кроме таймера в моём новичковом мозгу на эту тему пока ничего не обнаруживается ;-)

    Подскажите пожалуйста: как зафиксировать наступление первого числа месяца?

    Код:
    var
      std,z : systemtimedate; //syslibtime
      st64 : systime64; //...
      get : curtimeex; //...
    var retain //ретайн желательно если критична из-за вероятность передергивания питания за сутки 
      вот_и_первое_число : r_trig;
    ------------
    std := z;
    get(systemtime := st64, timedate:=std);
    вот_и_первое_число(clk := std.day = 1);
    if вот_и_первое_число.q then
      //..................
    end_if
    PS
    Движок форума чудит, блин

  2. #4992

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    определитесь Вам что вобще нужно, раз не сохраняете уставки в плк, то зачем волноваться что после рестарта их нет. Если панель мастер, пусть следит за соединением и после восстановления по новой записывает уставки
    По новой записывать уставки? Я в первом вопросе спрашивал, можно ли, чтобы контроллер не трогал без команды уставки в слейвах, которые сами являются контроллерами. Я задавал вопрос есть ли простой способ это сделать, без согласования данных в мастере и слейвах при первом скане! Если такого способа нет, значит буду мудрить.

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

    По умолчанию

    Цитата Сообщение от nsarychev Посмотреть сообщение
    По новой записывать уставки? Я в первом вопросе спрашивал, можно ли, чтобы контроллер не трогал без команды уставки в слейвах, которые сами являются контроллерами. Я задавал вопрос есть ли простой способ это сделать, без согласования данных в мастере и слейвах при первом скане! Если такого способа нет, значит буду мудрить.
    мне кажется Вам самому придется мудрить, это будет самый быстрый способ решить проблему, ясности что конкретно Вам нужно так и нет
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

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

    По умолчанию

    Цитата Сообщение от nsarychev Посмотреть сообщение
    По новой записывать уставки? Я в первом вопросе спрашивал, можно ли, чтобы контроллер не трогал без команды уставки в слейвах, которые сами являются контроллерами. Я задавал вопрос есть ли простой способ это сделать, без согласования данных в мастере и слейвах при первом скане!
    Если такого способа нет, значит буду мудрить.
    Перейти на обмен по команде и не трогать без команды уставки в слейвах

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

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Код:
    var
      std,z : systemtimedate; //syslibtime
      ..................
    end_if
    Это выглядит круто и наверняка сработает, огромное спасибо за помощь!

    Только вот чтобы это применить, ну совсем для новичков подскажите пожалуйста:
    код видимо нужно в ФБ вставить, или это функция? И на каком это языке?
    А то я пока только в CFC умею диаграммки рисовать.

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

    По умолчанию

    Цитата Сообщение от Rednaxel Посмотреть сообщение
    .. и наверняка сработает
    100 пудов

    Цитата Сообщение от Rednaxel Посмотреть сообщение
    код видимо нужно в ФБ вставить, или это функция? И на каком это языке?
    А то я пока только в CFC умею диаграммки рисовать.
    Язык ST (настоятельно рекомендую изучать, как самый мощный в рамках КДС. Порно в виде IL - даже не смотрите)
    Вставлять куда угодно кроме функции т.к. она по определению не имеет памяти, которая нужна для r_trig (работа с глобалами - не кошерна)
    Можно в фб - но тут тоже нюанс, весь блок будет в ретайне (но на это обычно покласть - ресурсов море, и никому они ненужны кроме вас)
    Если это нужно 1 раз, проще всего сделать программ (когда потребуется размножение - переделка ф.б как 2 пальца..)


    Код:
    program вот_и_первое_число
    var_output
      Q : bool;
    end_var
    var
      std,z : systemtimedate;
      st64 : systime64; 
      get : curtimeex;
    end_var
    var retain 
      opanki : r_trig;
    end_var
    -----------------------
    std := z;
    get(systemtime := st64, timedate:=std);
    opanki(clk := std.day = 1, q => Q);
    --------------------------
    
    
    Вызов где-то в CFC
    |вот_и_первое_число  Q|-----> |EN  чета_там_делать|

  7. #4997

    По умолчанию

    Комрады вопрос! Нифига не найду как в проекте к start-stop подключится и динамику. А поисковик форуме кучу ненужной информации выдает.

  8. #4998

    По умолчанию

    Цитата Сообщение от nsarychev Посмотреть сообщение
    Комрады вопрос! Нифига не найду как в проекте к start-stop подключится и динамику. А поисковик форуме кучу ненужной информации выдает.
    Что никто не знает как из проекта контролировать старт стоп контроллера(или хотя-бы сигнализацию к ним прицепить). Как кнопку отвязать я разобрался, только вот она после этого начинает работать как вход дискретный. В конфигурации задач есть системные события с интерфейсами событий, но как ими пользоваться я не пойму.

  9. #4999
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Я уже не новичок, но страсть как не люблю читать. Так что до сих пор не могу ответить на такой вот простой вопрос:

    А если в программе все-все POU, которьіе не возвращают значение, обозвать ФБ (не использовать, грубо говоря, функции)? Что плохого программе будет?

    Что хорошего будет, я придумал: во время отладки я вижу значения локальньіх переменньіх ФБ, а вот переменньіе функции не видньі. Так что, вроде бьі, ФБ удобнее.
    Все на борьбу с воробьями, то бишь, с функциями!

  10. #5000

    По умолчанию

    Цитата Сообщение от drvlas Посмотреть сообщение
    Я уже не новичок, но страсть как не люблю читать. Так что до сих пор не могу ответить на такой вот простой вопрос:

    А если в программе все-все POU, которьіе не возвращают значение, обозвать ФБ (не использовать, грубо говоря, функции)? Что плохого программе будет?
    Из первого, что приходит на ум -- с ФБ быстрее упрётесь в ограничение на количество POU.

    ФБ всегда занимает 2 POU (сам блок и его инициализатор), а функция занимает только 1 POU (инициализаторов не бывает).
    Общее ограничение не помню, но меньше 256.

    На форуме есть те, кто упирался в количество POU в одном проекте.

Страница 500 из 1042 ПерваяПервая ... 4004504904984995005015025105506001000 ... ПоследняяПоследняя

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

Ваши права

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