46 lines
1.8 KiB
Python
46 lines
1.8 KiB
Python
|
#!/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"<VWEDModbusConfig(id='{self.id}', name='{self.name}', ip='{self.ip}', port='{self.port}')>"
|