Каким образом, кроме прямой адресации, можно обратиться к регистрам "Last address" и "Last error" в модулях управления периферией? АТ нельзя поменять на глобальную переменную, а чем они отличаются от регистров данных?
Каким образом, кроме прямой адресации, можно обратиться к регистрам "Last address" и "Last error" в модулях управления периферией? АТ нельзя поменять на глобальную переменную, а чем они отличаются от регистров данных?
Попробуйте назвать эти переменные и обращатся по имени.
Или взять указатель функцией ADR()
Как привязано обновление "Last address" и "Last error" к циклу ПЛК?
Возможна ли такая ситуация, когда Master за время одного цикла проведет опрос нескольких каналов, и значения "Last address" и "Last error" кроме последнего будут утеряны?
Поскольку сам обмен к циклу не привязан, то не привязаны и изменения этих переменных. В обычных условиях цикл ПЛК работает быстрее, чем производится запрос/ответ. Если только вы сами не подкрутили минимальное время цикла до, скажем, 10-15 мс.
Принципиально, описанная ситуация с опросом нескольких каналов за цикл возможна в случае больших программ или перенастроенного времени цикла.
Попробуйте назвать эти переменные и обращатся по имени.
Или взять указатель функцией ADR()
Откройте файл hardware.cfg в каталоге, куда установлен таргет
Найдите описание модуля [Module.MODBUS_MASTER_ID450]
В строке SymbolicNames=locked вместо locked напишите unlocked