63. Синхронизация данных между Modbus Slave и символьной конфигурацией

Поділитися
Вставка
  • Опубліковано 13 вер 2024
  • Ссылка на пример из видео (создан в версии 3.5.16.30):
    ftp.owen.ru/Co...
    В выложенном примере заменил в ФБ SyncData сброс через TON на R_TRIG - так кажется более простым и удобным (не надо думать о цикле задачи в конкретном проекте).
    Видео Сергея Романова об объединениях (UNION):
    • #5 - Structured Text /...
    Видео о детектировании изменений переменных произвольного типа:
    • 28. Детектирование из...

КОМЕНТАРІ • 9

  • @user-ub7id7og7t
    @user-ub7id7og7t 2 роки тому

    Отличный пример! Давно имелась потребность в управлении с разных клиентов с синхронизацией. Реализовывал нечто подобное сам, но не так изящно.

  • @serhioromano
    @serhioromano 2 роки тому

    Оо! Спасибо за ссылку! 15:59 я бы (не говорю что так правильно а как сделал бы я) поставил xChange := FALSE в конце самого блока. Таким образом можно зафиксировать один импульс внутри самого блока. То есть за один проход, только одно значение или условие будет срабатывать.
    И еще идея, я бы сделал, например структур на 4 одинаковых свойства, например WORD для таблицы, визуализации и мастера и одну чисто для чтения в программе и создавал переменные этой структуры. Это дало бы то, что мне не нужно инициализировать по 3 переменные на каждый параметр а только одну. И в синхронизации можно тоже передать только одну переменную, а там уже обращаться к разным свойства. Это те же яйца, но просто в другой корзине, мне кажется, было бы удобно.

    • @CodesysOneLove
      @CodesysOneLove  2 роки тому +1

      Насчет 15:59 - в итоге я таймер заменил на R_TRIG (и написал об этом в описании к видео. В выложенном проекте это исправление уже внесено). Идея со структурой - отличная, но это уже больше на стороне пользователя - он может передать в SyncData тот объект, который ему удобен.

  • @ОлегПфлюг-к3ц
    @ОлегПфлюг-к3ц 2 роки тому

    Супер!!! Еще можно как вариант не принимать новое значение если была ошибка связи или какая либо другая ошибка со стороны записывающего устройства в ПЛК до тех пор пока не будет в него записано текущее значение из ПЛК. Так же можно ограничить по нижнему пределу записываемое значение , для беззнаковых переменных. Ну как то так )). Ну короче ВЫ супер!!!

  • @Vladimir_RV
    @Vladimir_RV 2 роки тому

    Спасибо!

  • @ОлегПфлюг-к3ц
    @ОлегПфлюг-к3ц 2 роки тому

    А может подскажите литературку на русском для codesys 3.5, в частности по st? А то как то в в нем чуток отстаю.

    • @CodesysOneLove
      @CodesysOneLove  2 роки тому

      На русском и конкретно применительно к CDS V3.5 - не подскажу. На английском рекомендую хелп: help.codesys.com/webapp/_cds_st_f_language;product=codesys;version=3.5.17.0

    • @ОлегПфлюг-к3ц
      @ОлегПфлюг-к3ц 2 роки тому

      @@CodesysOneLove Спасибо. Схелпом без вопросов, гугл переводчик и все чикупуки))

  • @ОлегПфлюг-к3ц
    @ОлегПфлюг-к3ц 2 роки тому

    И да к нам в чатик возвращайтесь))