跟上次先读取再填入数据不同,这次是直接修改公式,速度更快。
失败炮仅有: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()