55 lines
1.0 KiB
Go
55 lines
1.0 KiB
Go
/*
|
|
* 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),
|
|
}
|
|
}
|