Files
tdEngine_mqtt_mock/model/wits.py
wsy182 0a123ba210 feat(core): 重构主应用启动逻辑并改进WITS数据发送
- 将主应用改为同时启动MQTT订阅入库和WITS数据发送两个服务
- 实现WITS发送器的自动重连机制和连接状态管理
- 添加日志记录到log/app.log和错误日志到log/error.log
- 更新WITS通道映射定义并支持字符串类型的日期时间字段
- 修改数据入库逻辑以支持空值处理和类型转换容错
- 移除命令行子命令模式,改为配置文件驱动的参数设置
- 添加.vscode和log目录到.gitignore忽略列表
2026-03-12 13:32:27 +08:00

93 lines
2.0 KiB
Python

from dataclasses import dataclass
@dataclass(frozen=True)
class WitsData:
ts: int
wellid: str
stknum: int
recid: int
seqid: int
actual_date: str
actual_time: str
actual_ts: int
actcod: int
actod_label: str
deptbitm: float
deptbitv: float
deptmeas: float
deptvert: float
blkpos: float
ropa: float
hkla: float
hklx: float
woba: float
wobx: float
torqa: float
torqx: float
rpma: int
sppa: float
chkp: float
spm1: int
spm2: int
spm3: int
tvolact: float
tvolcact: float
mfop: int
mfoa: float
mfia: float
mdoa: float
mdia: float
mtoa: float
mtia: float
mcoa: float
mcia: float
stkc: int
lagstks: int
deptretm: float
gasa: float
space1: float
space2: float
space3: float
space4: float
space5: float
WITS_CHANNEL_MAPPING = [
("0101", "wellid", "string"),
("0102", "stknum", "int"),
("0103", "recid", "int"),
("0104", "seqid", "int"),
("0105", "actual_date", "string"),
("0106", "actual_time", "string"),
("0107", "actcod", "int"),
("0108", "deptbitm", "float6"),
("0109", "deptbitv", "float6"),
("0110", "deptmeas", "float6"),
("0111", "deptvert", "float6"),
("0112", "blkpos", "float6"),
("0113", "ropa", "float6"),
("0114", "hkla", "float6"),
("0116", "woba", "float6"),
("0117", "wobx", "float6"),
("0118", "torqa", "float6"),
("0119", "torqx", "float6"),
("0120", "rpma", "int"),
("0121", "sppa", "float6"),
("0123", "spm1", "int"),
("0124", "spm2", "int"),
("0125", "spm3", "int"),
("0126", "tvolact", "float6"),
("0127", "tvolcact", "float6"),
("0128", "mfop", "int"),
("0130", "mfoa", "float6"),
("0131", "mfia", "float6"),
("0132", "mdoa", "float6"),
("0133", "mdia", "float6"),
("0134", "mtoa", "float6"),
("0135", "mtia", "float6"),
("0136", "mcoa", "float6"),
("0137", "stkc", "int"),
("0139", "deptretm", "float6"),
]