20230523 mdsplus改数据

跟上次先读取再填入数据不同,这次是直接修改公式,速度更快。

失败炮仅有:OPEN: shot:1083660, error occurs:%TREE-E-FOPENR, Error opening file read-only..

代码如下:


from MDSplus import connection


dest_name = ['\Ltop', '\Llfs', '\Lbot']
dest_exp = ['Build_Signal(\VACUUM::LIMITER_TOP * 200 / 10 + $, *, DIM_OF(\VACUUM::LIMITER_TOP))', 'Build_Signal(\VACUUM::LIMITER_LFS * 200 / 10 + $, *, DIM_OF(\VACUUM::LIMITER_LFS))', 'Build_Signal(\VACUUM::LIMITER_BOT * 200 / 10 + $, *, DIM_OF(\VACUUM::LIMITER_BOT))']


def modify():

    ip = '192.168.1.1'
    c = connection.Connection(ip)

    shot_ranges = [[1083164,1083488,[240,240,240]],[1083490,1083883,[235,235,235]],[1083884,1083892,[225,225,225]],[1083893,1086636,[220,220,225]],[1086698,1087948,[220,220,220]]]
    for shot_range in shot_ranges:
        print(shot_range[0])
        for shot in range(shot_range[0], shot_range[1] + 1):
            try:
                c.openTree('jtext', shot=shot)
                # print(shot)
                for index in range(0,3):
                    try:
                        c.put(dest_name[index], dest_exp[index], shot_range[2][index])
                    except Exception as e:
                            print('PUT: shot:{}, node:{}, error occurs:{}.'.format(shot, dest_name[index], e))
                c.closeTree('jtext', shot=shot)
            except Exception as e:
                print('OPEN: shot:{}, error occurs:{}.'.format(shot, e))

    c.disconnect()


if __name__ == '__main__':
    modify()