![MDSplus 配置:如何更改 MDSplus 树中的起始镜头编号?](https://linux22.com/image/1604745/MDSplus%20%E9%85%8D%E7%BD%AE%EF%BC%9A%E5%A6%82%E4%BD%95%E6%9B%B4%E6%94%B9%20MDSplus%20%E6%A0%91%E4%B8%AD%E7%9A%84%E8%B5%B7%E5%A7%8B%E9%95%9C%E5%A4%B4%E7%BC%96%E5%8F%B7%EF%BC%9F.png)
创建新的 MDSplus 树时,可以(甚至可能需要)指定可在树中存储数据的最小镜头号。镜头号只是索引值,用于标识产生要存储的数据的实验。我现在正在使用 MDSplus 树,发现较早镜头号的数据可用,并且想降低树的配置限制,以便我可以存储这些较早的数据集。但是,我最初并没有设置树,也无法在网上找到任何帮助。除非我还没有找到合适的文档,否则根据我的理解和经验,在线 MDSplus 文档非常不完整和/或过时。
答案1
抱歉,我发现 MDSplus 树中的镜头编号除了 0 之外没有下限。使用 -1 作为镜头编号是指代模型树本身的一种方式,我认为负镜头编号没有任何意义。
这种场景的呈现情况是:
- 在存储新的射击数据之前,您必须在 Python 中调用 createPulse();
- 我们的 MDSplus 服务器配置为对今后每个增量拍摄次数自动执行此操作;
- 我们的 MDSplus 服务器未配置为在尝试存档历史拍摄数据时自动创建脉冲。
因此,对于超过一定数量的拍摄次数,已经创建了脉冲,这是通过我的使用模式确定的。
如果您自己遇到这个问题,您可以编写一个 node_exists(name, shot) 方法来查明是否已经为某个数据点和镜头编号创建了一个节点,然后仅当 node_exists() 返回 false 时才调用 createPulse(),例如:
import MDSplus as mds
if not node_exists(data_name, shot_num):
tree = mds.Tree(tree_name, shot_num, tree_mode)
tree.getNode(data_name).include_in_pulse=True
tree.createPulse(shot_num)
然后继续存储您的拍摄数据。
对困惑感到抱歉...