The penup() command raises the pen, if the pen is down. It does not raise the pen if it is already raised.
The pendown() command lowers the pen, if the pen is up. It does not lower the pen if it is already lowered.
I will also note that your ad.options.pen_pos_up = 80 command needs to be followed by an update().
If you aren’t using the penup()/pendown() commands in the usual way — to lift and lower the pen between two independent states — then you might consider something like the following (which could be wrapped up as a function in your python script):