Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 24

Тема: Обращение к регистру ошибок модуля MODBUS

  1. #1

    По умолчанию Обращение к регистру ошибок модуля MODBUS

    Каким образом, кроме прямой адресации, можно обратиться к регистрам "Last address" и "Last error" в модулях управления периферией? АТ нельзя поменять на глобальную переменную, а чем они отличаются от регистров данных?

  2. #2

    По умолчанию

    Попробуйте назвать эти переменные и обращатся по имени.
    Или взять указатель функцией ADR()

  3. #3

    По умолчанию

    Как привязано обновление "Last address" и "Last error" к циклу ПЛК?
    Возможна ли такая ситуация, когда Master за время одного цикла проведет опрос нескольких каналов, и значения "Last address" и "Last error" кроме последнего будут утеряны?

  4. #4

    По умолчанию

    Цитата Сообщение от Логвиненко Андрей Посмотреть сообщение
    Как привязано обновление "Last address" и "Last error" к циклу ПЛК?
    Возможна ли такая ситуация, когда Master за время одного цикла проведет опрос нескольких каналов, и значения "Last address" и "Last error" кроме последнего будут утеряны?
    Поскольку сам обмен к циклу не привязан, то не привязаны и изменения этих переменных. В обычных условиях цикл ПЛК работает быстрее, чем производится запрос/ответ. Если только вы сами не подкрутили минимальное время цикла до, скажем, 10-15 мс.

    Принципиально, описанная ситуация с опросом нескольких каналов за цикл возможна в случае больших программ или перенастроенного времени цикла.

  5. #5

    По умолчанию

    Цитата Сообщение от Логвиненко Андрей Посмотреть сообщение
    Как привязано обновление "Last address" и "Last error" к циклу ПЛК?
    Возможна ли такая ситуация, когда Master за время одного цикла проведет опрос нескольких каналов, и значения "Last address" и "Last error" кроме последнего будут утеряны?
    Ситуация принципиально невозможна, если цикл ПЛК 1 мс. При больших значениях и большом кол-ве UMD (т.е. когда (период опроса/число UMD)<ЦИКЛА ПЛК )возможна.

  6. #6

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Попробуйте назвать эти переменные и обращатся по имени.
    Или взять указатель функцией ADR()
    Тема немного ушла от первоначального вопроса. Обращение к регистрам состояния возможно только как:

    VAR_GLOBAL
    Error AT %QD9.0: DWORD ;(*Last Error в UMD*)
    END_VAR

    Или ещё как то?

  7. #7

    По умолчанию

    Попробуйте назвать эти переменные и обращатся по имени.
    Или взять указатель функцией ADR()

  8. #8

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Попробуйте назвать эти переменные и обращатся по имени.
    Или взять указатель функцией ADR()
    В том то и дело, что назвать их в модуле не позволяет среда программирования! или это только у меня такой глюк?

  9. #9

    По умолчанию

    Откройте файл hardware.cfg в каталоге, куда установлен таргет
    Найдите описание модуля [Module.MODBUS_MASTER_ID450]
    В строке SymbolicNames=locked вместо locked напишите unlocked

  10. #10

    По умолчанию

    Данке шон, теперь понятно!

Страница 1 из 3 123 ПоследняяПоследняя

Ваши права

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