I think I solved it, by repeating theCam2D_Addcommand even when the camera already exists, and adding the camera item as a third variable:
Still, it seems strange to me to have to specify camera parameters more than once.
Code:
cam_id = RDK.Item('Camera 1',robolink.ITEM_TYPE_CAMERA)
if not cam_id.Valid():
cam_id = RDK.Cam2D_Add(camFrame, 'FOCAL_LENGTH=6 FOV=32 FAR_LENGTH=5000 SIZE=1080x810')
else:
cam_id = RDK.Cam2D_Add(camFrame, 'FOCAL_LENGTH=6 FOV=32 FAR_LENGTH=5000 SIZE=1080x810',cam_id)
RDK.Cam2D_Snapshot (RDK.getParam(帕特H_OPENSTATION') + '/snapshot.png', cam_id)