Appearance
MODBUS
Драйвер MODBUS — интеграция с контроллерами по протоколу Modbus: настройка соединения и привязка объектов к регистрам.
Настройки драйвера
ts
export const MODBUSSettingsSchema = z.object({
settings: z.object({
/** IP-адрес MODBUS-устройства. */
IP: nonEmptyString(t("shared_text.ip_required")),
/** Порт MODBUS-устройства (стандартно 502). */
Port: nonEmptyString(t("shared_text.port_required")),
/** Таймаут ожидания ответа (миллисекунды). */
Timeout: z.number(),
/** Тип MODBUS-соединения (TCP/RTU). */
Type: z.nativeEnum(MODBUStypes),
}),
});Настройки связи по доступу
Настройки всегда хранятся в БД целиком — доступ связи (чтение/запись) определяет только видимость полей в редакторе и состав запроса, уходящего на контроллер.
| Настройка | Чт. | Зап. |
|---|---|---|
| регистр | ✓ | ✓ |
| адрес регистра | ✓ | ✓ |
| адрес устройства | ✓ | ✓ |
| интервал опроса, сек | ✓ | ✓ |
| частота опроса | ✓ | ✓ |
| тип значения | ✓ | ✓ |
| номер бита | ✓ | ✓ |
| очередь | — | ✓ |
Типы
ts
export interface IMODBUSDriverSettingsProps {
/** интервал опроса, секунд */
[EDriverSettingsType.INTERVAL]: string;
/** частота опроса, секунд */
[EDriverSettingsType.REPEAT_SEC]: string;
/** адрес устройства (slave id) в MODBUS-сети */
[EDriverSettingsType.SLAVEID]: string;
/** тип регистра (coil/discrete input/holding/input); строка — свободные ключи импорта */
[EDriverSettingsType.REGISTER]: EMODBUSRegister | string;
/** адрес регистра */
[EDriverSettingsType.ADDRESS]: string;
/** исторически и строкой (дефолты/импорт), и числом (UI LibInputNumber) */
[EDriverSettingsType.BIT]: string | number;
/** тип значения регистра (int16/float/...); строка — свободные ключи импорта */
[EDriverSettingsType.APPLICATION_TAGS]: EMODBUSRegister | string;
/** отправка в составе интервальной очереди (WRITE-линк) */
[EDriverSettingsType.INTER_SEND]: boolean;
}Хранение
Сохраняется в таблице project_objects через RepositoryObject (Dexie).
Mentioned In
None yet.