コード例 #1
0
def colread(mmtr, mtr, dt, colindex):
    index = mmtr.readindex(dt['addr'], colindex)
    if index >= 0:  # col地址存在
        dt['index'] = index
        dt['addr'] = mmtr.readaddr(index)

        resp.dl645_read(dt, mtr, index, mmtr)  # col直接取数据结构

        fe = resp.dl645_makeframe(dt)
        return fe
コード例 #2
0
def meterread(mtr, dt, indexlist):
    index = mtr.readindex(dt['addr'])
    if index in indexlist:  # 485表地址存在
        dt['index'] = index
        dt['addr'] = mtr.readaddr(index)
        resp.dl645_read(dt, mtr, index)

        fe = resp.dl645_makeframe(dt)
        return fe
    return None
コード例 #3
0
    mtr = meter485()
    mtr.addmeter(3, 3)
    addr = mtr.readaddr(1)
    index = mtr.readindex(addr)
    print(addr, index)
    mtr.run(3600)
    ins = mtr.readins(1)
    print(ins[0])
    mtr.run(60)
    ins = mtr.readins(1)
    print(ins[0])

    defultcfg = {'day': 15, 'month': 12, 'hour': 6}
    mtr.createFreezeHisData(defultcfg)
    mondata = mtr.readhismon(1, 3)

    frame = 'FE FE FE FE 68 23 01 00 00 15 23 68 11 04 36 33 B3 35 32 16 '
    ret, dt = dl645.dl645_dealframe(frame)
    print(ret, dt)

    if ret:
        index = mtr.readindex(dt['addr'])
        dt['index'] = index

        # eng = mtr.readenergy(index)
        # print(eng)
        dl645.dl645_read(dt, mtr, index)

        fe = dl645.dl645_makeframe(dt)
        print(fe)