public override void open()
        {
            Robot robot = (Robot)_robot_sub.GetDefaultClient();

            foreach (var c in _open_command)
            {
                robot.setf_signal(c.signal_name, new double[] { c.signal_value });
            }
        }
        public override void close()
        {
            Robot robot = (Robot)_robot_sub.GetDefaultClient();

            robot.setf_signal("DO5", new double[] { 1.0 });
            robot.setf_signal("DO4", new double[] { 0 });
            robot.setf_signal("DO3", new double[] { 1.0 });
            while (robot.getf_signal("AI0")[0] < 3.6)
            {
                Thread.Sleep(10);
            }
            robot.setf_signal("DO5", new double[] { 0.0 });
            robot.setf_signal("DO3", new double[] { 0.0 });
        }