#!/usr/bin/env python # -*- coding: utf-8 -*- """ Modbus配置模型 对应modbus_config表 """ import datetime from sqlalchemy import Column, String, Integer, DateTime from sqlalchemy.dialects.mysql import LONGTEXT from data.models.base import BaseModel class VWEDModbusConfig(BaseModel): """ Modbus配置模型 对应modbus_config表 功能:存储Modbus通信配置参数,用于PLC等设备的通信连接和数据交换 """ __tablename__ = 'modbus_config' __table_args__ = { 'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8mb4', 'mysql_collate': 'utf8mb4_general_ci', 'info': {'order_by': 'create_date DESC'} } id = Column(String(255), primary_key=True, nullable=False, comment='配置记录ID') name = Column(String(255), nullable=False, comment='配置名称') ip = Column(String(50), nullable=False, comment='设备IP地址') port = Column(Integer, nullable=False, comment='通信端口号') slave_id = Column(Integer, nullable=False, comment='从站ID') address_type = Column(String(10), nullable=False, comment='地址类型') address_number = Column(Integer, nullable=False, comment='地址编号') task_id = Column(String(255), comment='任务ID') target_value = Column(Integer, comment='目标值') remark = Column(String(255), comment='备注') create_date = Column(DateTime, default=datetime.datetime.now, comment='创建时间') update_date = Column(DateTime, default=datetime.datetime.now, onupdate=datetime.datetime.now, comment='更新时间') status = Column(Integer, default=0, comment='状态(1:启用, 0:禁用)') tenant_id = Column(String(255), comment='租户ID') def __repr__(self): return f""