Files
bj_power/bj_power_mes/internal/preload/address.go
T

55 lines
1.0 KiB
Go
Raw Normal View History

/*
* Copyright (c) 2025 Beijing Hardman Automation Equipment Co., LTD. All rights reserved.
*
* Project: adapter
* File: address.go
* Last: 2025-05-09 16:46:26
* Author: wangcheng@bj-hardman.com
*/
package preload
import (
"fmt"
"bjhardman.cn/bjhardman/goplc/s7"
)
type MAddress struct {
LineId int
Name string
Desc string
ReplyOffset int
Addr s7.Address
}
func (m MAddress) Copy() MAddress {
return MAddress{
LineId: m.LineId,
Name: m.Name,
Desc: m.Desc,
ReplyOffset: m.ReplyOffset,
Addr: m.Addr,
}
}
func (m MAddress) String() string {
return fmt.Sprintf("%s(%s)", m.Addr, m.Name)
}
func (m MAddress) Address() string {
return m.Addr.String()
}
func (m MAddress) GetReplyAddress() string {
return m.Addr.Add(0, m.ReplyOffset).String()
}
func (m MAddress) GetReplyMAddress() MAddress {
return MAddress{
LineId: m.LineId,
Name: m.Name,
Desc: m.Desc,
ReplyOffset: 0,
Addr: m.Addr.Add(0, m.ReplyOffset),
}
}