Страница 530 из 1044 ПерваяПервая ... 304304805205285295305315325405806301030 ... ПоследняяПоследняя
Показано с 5,291 по 5,300 из 10436

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

  1. #5291

    По умолчанию

    petera, огромное спасибо, но я уже сам макрос написал (ну как написал, переложил вашу функцию под Лоджик ). Практически закончил макрос обратного преобразования (дни недели осталось). Как доделаю выложу на форум.

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

    По умолчанию

    Цитата Сообщение от energvk Посмотреть сообщение
    petera, огромное спасибо, но я уже сам макрос написал (ну как написал, переложил вашу функцию под Лоджик ). Практически закончил макрос обратного преобразования (дни недели осталось). Как доделаю выложу на форум.
    Дни недели здесь не самое сложное
    Вложение 26289

    Пн - 1, .. Вс - 7

    ЗЫ.
    ну как написал, переложил вашу функцию под Лоджик
    Обязательно проверьте свой макрос для третьего месяца.
    Из-за того, что в лоджике нет целых переменных со знаком, то для этого фрагмента
    (*Вычислить дату с учетом високосных лет*)
    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;
    ..............
    Для month=3
    При выполнении операции SHR(month - 4,1) в кодесис получим "-1", а в лоджике получим 2147483647 т.к (4294967295/2)=2147483647
    Соответственно для месяца=3
    в кодесис count + SHR(month - 4,1)=59
    а в лоджике получится 2147483707
    Пришлось в лоджике добавить проверку месяца на 3 и вычитать явную 1 из count
    Вложение 26290
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #5293

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Дни недели здесь не самое сложное
    Вложение 26289

    Пн - 1, .. Вс - 7

    ЗЫ.

    Обязательно проверьте свой макрос для третьего месяца.
    Из-за того, что в лоджике нет переменных со знаком, то для этого фрагмента
    (*Вычислить дату с учетом високосных лет*)
    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;
    ..............
    Для month=3
    При выполнении операции SHR(month - 4,1) в кодесис получим "-1", а в лоджике получим 2147483647 т.к (4294967295/2)=2147483647
    Соответственно для месяца=3
    в кодесис count + SHR(month - 4,1)=59
    а в лоджике получится 2147483707
    Пришлось в лоджике добавить проверку месяца на 3 и вычитать явную 1 из count
    Вложение 26290
    Ой, конечно же я это не учёт и в голову бы не пришло. Спасибо за поправку)

  4. #5294

    Smile сохранение retain

    Всем привет!
    Не могу сохранить значение суммарного расхода. При перезагрузке значение сбрасывается в 0.
    Проект на ПЛК160-АМ + СП307Р по ethernet через свитч. В проекте считается суммарный расход через расходомер. Ни как не получается сохранить это значение, что бы при перезагрузке это суммарное значение сохранялось и дальнейшее суммирование продолжалось с последнего значения...
    Сделал в PLC_PRG глобальную переменную RETAIN
    Вложение 26292
    в которую из экземпляра фб пишется суммарный расход
    Вложение 26293
    присвоил адрес %QD7.15.0. В конфигурации ПЛК присваиваю эту переменную Float переменной %QD7.15.0 для отправки в панель, но вылетает ошибка "...несколько объявлений с одинаковым идентификатором".
    Вложение 26294
    Пробовал через UDP, та же ошибка... В принципе не пойму логики сохранения значения переменной. Так же пытался сохранять значение переменной в файл через SysLibFile, но тоже не получилось ...
    Пишу логику на CFC. ST на перспективу, сейчас хочу понять основы на понятном мне языке.
    Может кто-нибудь на пальцах расскажет как можно решить эту задачу. Читал руководство по codesys, но так и не разобрался.
    Понятно что я делаю все не так, но так же читал про аккумулятор, и проблему записи RETAIN,но все же хочу решить задачу программно.
    Может нужно в фб делать переменную в которую пишется суммарный расход in-out, у меня просто out. И в фб локальные переменные...
    Вложение 26295
    Вобщем помогите плиз кто-нибудь.

  5. #5295

    По умолчанию

    Зачем вы объявляте переменную по десять раз. Пропишите ее в конфигураторе и все. Панель у вас мастер?

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

    По умолчанию

    Цитата Сообщение от 770001 Посмотреть сообщение
    Всем привет!
    Не могу сохранить значение суммарного расхода. При перезагрузке значение сбрасывается в 0.
    Проект на ПЛК160-АМ + СП307Р по ethernet через свитч. В проекте считается суммарный расход через расходомер. Ни как не получается сохранить это значение, что бы при перезагрузке это суммарное значение сохранялось и дальнейшее суммирование продолжалось с последнего значения...
    Сделал в PLC_PRG глобальную переменную RETAIN
    Вложение 26292
    в которую из экземпляра фб пишется суммарный расход
    Вложение 26293
    присвоил адрес %QD7.15.0. В конфигурации ПЛК присваиваю эту переменную Float переменной %QD7.15.0 для отправки в панель, но вылетает ошибка "...несколько объявлений с одинаковым идентификатором".
    Вложение 26294
    Пробовал через UDP, та же ошибка... В принципе не пойму логики сохранения значения переменной. Так же пытался сохранять значение переменной в файл через SysLibFile, но тоже не получилось ...
    Пишу логику на CFC. ST на перспективу, сейчас хочу понять основы на понятном мне языке.
    Может кто-нибудь на пальцах расскажет как можно решить эту задачу. Читал руководство по codesys, но так и не разобрался.
    Понятно что я делаю все не так, но так же читал про аккумулятор, и проблему записи RETAIN,но все же хочу решить задачу программно.
    Может нужно в фб делать переменную в которую пишется суммарный расход in-out, у меня просто out. И в фб локальные переменные...
    Вложение 26295
    Вобщем помогите плиз кто-нибудь.
    Надеюсь, что панель у Вас мастер? В этом случае в ПЛК ВСЕ переменные в модуле Slave являются
    а) - глобальными
    б) - retain по умолчанию.
    По этому:
    1. Выкинуть из глобальных переменных все упоминания о "CO1rashod", оставить ее имя только в конфигурации слейва.
    2. "в фб делать переменную в которую пишется суммарный расход in-out"
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  7. #5297

    По умолчанию

    Тоже вопрос из той серии назрел. Petera, скажите пожалуйста в чем проблема. У меня на установке стоит сп270(мастер) и плк 160(slave). Проблема в том что при отключении питания все параметры, заданные на панели скидываются в ноль. Грешу на аккумулятор, но как подобного избежать, надеясь на худшее и задействовать память сп270. Такая же проблема при глобальном измении кода в ПЛК, приходится перезабивать все параметры.

  8. #5298

    По умолчанию

    Начитавшись про батарейку плк160 я сразу написал блок записи для переменных retain в файл (пишу в память плк при изменении, отключении питания и периодически раз в сутки). При включении плк уставки считываются из памяти. Если интересно вечером вам сброшу там ничего сложного.

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

    По умолчанию

    Цитата Сообщение от Andrew_Stranger Посмотреть сообщение
    Тоже вопрос из той серии назрел. Petera, скажите пожалуйста в чем проблема. У меня на установке стоит сп270(мастер) и плк 160(slave). Проблема в том что при отключении питания все параметры, заданные на панели скидываются в ноль. Грешу на аккумулятор, но как подобного избежать, надеясь на худшее и задействовать память сп270. Такая же проблема при глобальном измении кода в ПЛК, приходится перезабивать все параметры.
    Смотрим в Моих темах http://www.owen.ru/forum/showthread.php?t=21387 про Старт СП270 и ПЛК с ретайн при включении питания.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    Цитата Сообщение от energvk Посмотреть сообщение
    petera, огромное спасибо, но я уже сам макрос написал (ну как написал, переложил вашу функцию под Лоджик ). Практически закончил макрос обратного преобразования (дни недели осталось). Как доделаю выложу на форум.
    Кто не успел, тот опоздал. http://www.owen.ru/forum/showthread....l=1#post219991
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

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

Ваши права

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