Здравствуйте!

Посоветуйте, чтобы почитать по совсем базовым вещам CodeSys. Я тут пытаюсь разобраться (есть бекграунд программирования), но упираюсь в непонимание вещей, которые скорее всего являются супербазовыми. Например:
1. Вижу примеры с объявлением структур TYPE. Но в какой файл его добавлять? В PRG_PLC или какой-то другой?
2. Какой жизненный цикл работы с переменными Modbus? Как сделать так, чтобы я вызывал FB только при изменении переменной?
3. Как на языке ST передать в FUN значения входов, и изменить в FUN значения нескольких выходов? Можно ли внутри FUN менять внешние переменные?
4. Как вызывать функции по изменению аналоговых входов? Например, хочу раз в 10 секунд передавать по MQTT значение температуры. Как мне сделать так, чтобы я раз в 10 секунд дергал функцию (FUN)? Делать ли это через счетчик циклов или есть более изящные способы?
5. Везде показано, как использовать MQTT визуально. А можно как-то работать с такими объектами в ST-формате?
6. Как настроить MQTT-клиент централизовано. Допустим, мне надо в множестве FUN передавать данные в MQTT-сервер. Не делать же вызов этого клиента в каждой функции? Иначе потом смена пароля будет в десятке мест. Или сделать функцию, куда поместить клиент и уже дергать функцию? Или нужно где-то настроить клиента, получить его инстанс, и уже дергать инстанс?

Ну и так далее. Вопросы дилетантские, но пока для меня они очень сложны. Видео тут не помогает, поскольку видео говорит "как сделать тестовый кейс", но не объясняет суть происходящего.

Где можно об этом почитать? Именно об азах.