Virtual sites in GROMOS force field

GROMACS version: GROMACS 2018
GROMACS modification: Yes/No
Here post your question
I would like to create two virtual sites in a transmembrane protein (one in between a backbone C and backbone O and another in between the same backbone C and backbone N). I then want to put an angular restraint between the virtual line that passes through these two virtual sites and the z-axis. How can I go about doing this in terms of creating virtual sites and also affixing the angular restraint?