iot接口适配
This commit is contained in:
parent
e1498dc348
commit
d527e528fd
|
@ -3,12 +3,12 @@ package cidcmodbus
|
|||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"time"
|
||||
|
||||
"joylink.club/bj-rtsts-server/config"
|
||||
"joylink.club/bj-rtsts-server/ts/simulation/wayside/memory"
|
||||
"joylink.club/iot/service"
|
||||
"joylink.club/iot/service/model"
|
||||
"joylink.club/iot/service/proto"
|
||||
"joylink.club/rtsssimulation/component"
|
||||
"joylink.club/rtsssimulation/entity"
|
||||
|
@ -50,11 +50,10 @@ func Start(vs *memory.VerifySimulation) error {
|
|||
}
|
||||
|
||||
type cidcModbusService struct {
|
||||
vs *memory.VerifySimulation // 仿真对象
|
||||
modbusConfig *config.CidcModbusConfig // modbus驱采配置
|
||||
ecsUid string // 联锁集中站uid
|
||||
dcData model.QC // 驱采数据
|
||||
mdms service.IotService // modbus驱采映射服务
|
||||
vs *memory.VerifySimulation // 仿真对象
|
||||
modbusConfig *config.CidcModbusConfig // modbus驱采配置
|
||||
ecsUid string // 联锁集中站uid
|
||||
qcms service.IotQcMappingService // modbus驱采映射服务
|
||||
cancel context.CancelFunc
|
||||
}
|
||||
|
||||
|
@ -80,15 +79,18 @@ func (s *cidcModbusService) update() {
|
|||
if qcs == nil {
|
||||
panic(fmt.Sprintf("联锁驱采Modbus服务查询状态失败,集中站联锁驱采状态不存在: %s", s.ecsUid))
|
||||
}
|
||||
s.dcData.UpdateCollectByBytes(0, qcs.Cbs)
|
||||
qs := s.dcData.GetDrive()
|
||||
err := s.qcms.WriteCjBytes(qcs.Cbs)
|
||||
if err != nil {
|
||||
slog.Error("联锁驱采Modbus服务写采集数据失败", err)
|
||||
}
|
||||
qs := s.qcms.GetQdBytes()
|
||||
qcs.Qbs = qs
|
||||
}
|
||||
|
||||
// Stop implements CidcModbusService.
|
||||
func (s *cidcModbusService) Stop() {
|
||||
s.cancel()
|
||||
s.mdms.Stop()
|
||||
s.qcms.Stop()
|
||||
}
|
||||
|
||||
func newCidcModbusService(vs *memory.VerifySimulation, modbusConfig *config.CidcModbusConfig) (*cidcModbusService, error) {
|
||||
|
@ -108,8 +110,7 @@ func newCidcModbusService(vs *memory.VerifySimulation, modbusConfig *config.Cidc
|
|||
if err != nil {
|
||||
return nil, fmt.Errorf("联锁驱采Modbus服务创建失败,Modbus地址映射配置错误: %s", err)
|
||||
}
|
||||
dc := model.NewDC(make([]byte, len(qcs.Qbs)), make([]byte, len(qcs.Cbs)))
|
||||
mdms, err := service.NewModbusQcService(converToModbusDcConfig(modbusConfig), dc)
|
||||
qcms, err := service.NewModbusQcService(converToModbusDcConfig(modbusConfig), make([]byte, len(qcs.Qbs)), make([]byte, len(qcs.Cbs)))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("联锁驱采Modbus服务创建失败: %s", err)
|
||||
}
|
||||
|
@ -117,8 +118,7 @@ func newCidcModbusService(vs *memory.VerifySimulation, modbusConfig *config.Cidc
|
|||
vs: vs,
|
||||
modbusConfig: modbusConfig,
|
||||
ecsUid: ecsId,
|
||||
dcData: dc,
|
||||
mdms: mdms,
|
||||
qcms: qcms,
|
||||
}
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
go cms.run(ctx)
|
||||
|
|
Loading…
Reference in New Issue