You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
2.4 KiB

package meterControl
import "time"
type IMeterControl interface {
IReadMeter
IWriteMeter
}
type IReadMeter interface {
// 获取电表上年份
ReadYear(commUid string, addr byte) (int, error)
ReadMonth(commUid string, addr byte) (int, error)
ReadDay(commUid string, addr byte) (int, error)
ReadHour(commUid string, addr byte) (int, error)
ReadMinute(commUid string, addr byte) (int, error)
ReadSecond(commUid string, addr byte) (int, error)
ReadTime(commUid string, addr byte) (time.Time, error)
// ReadVoltage 读取电压 []float64 总电压,1相,2相,3相....
ReadVoltage(commUid string, addr byte) (totalVoltage, aVoltage, bVoltage, cVoltage float64, err error)
// ReadElectricCurrent 读取电流 []float64 总电流,1相,2相,3相....
ReadElectricCurrent(commUid string, addr byte) (totalElectricCurrent, aElectricCurrent, bElectricCurrent, cElectricCurrent float64, err error)
// ReadPower 读取功率 []float64 总功率,1相,2相,3相....
ReadPower(commUid string, addr byte) (totalPower, aPower, bPower, cPower float64, err error)
// ReadTotalPower 读取当前总功率
ReadTotalPower(commUid string, addr byte) (totalPower float64, err error)
// ReadEnergy 读取功率 []float64 总电能,1相,2相,3相....
ReadEnergy(commUid string, addr byte) (totalEnergy, aEnergy, bEnergy, cEnergy float64, err error)
// ReadPowerFactor 读取功率因数 []float64 总功率因数,1相,2相,3相....
ReadPowerFactor(commUid string, addr byte) (totalPf, aPf, bPf, cPf float64, err error)
// ReadMsgAddr 读取通信地址
ReadMsgAddr(commUid string, addr byte) (byte, error)
// ReadMainAddr 读取主控地址
ReadMainAddr(commUid string, addr byte) (byte, error)
// ReadDailyFreezingTime 读取日冻结时间
ReadDailyFreezingTime(commUid string, addr byte) (string, error)
// ReadMonthlyFreezingTime 读取月冻结时间
ReadMonthlyFreezingTime(commUid string, addr byte) (day, hour string, err error)
}
type IWriteMeter interface {
// 获取电表上年份
WriteYear(commUid string, addr byte, year int) error
WriteMonth(commUid string, addr byte, month int) error
WriteDay(commUid string, addr byte, day int) error
WriteHour(commUid string, addr byte, hour int) error
WriteMinute(commUid string, addr byte, minute int) error
WriteSecond(commUid string, addr byte, second int) error
WriteTime(commUid string, addr byte, t time.Time) error
WriteMsgAddr(commUid string, addr byte, newAddr byte) error
}