You do need to specify target distances and error bounds in your restraints.
Same for the dihedral restraints which require four additional numbers after the selections.
Taken from the CNS help:
<restraints-dihedral-statement> :==
nassign=<integer>
--{Required parameter that specifies the maximum expected number
of assignments. This must be greater than of equal to the actual number.}
assign <atom-selection> <atom-selection> <atom-selection> <atom-selection>
<real> <real> <real> <integer>
--{Assign a dihedral restraint. The 4 number are respectively:
- force constant in kcal/(mole radians**exponent)
- equilibrium dihedral value in degrees
- range around the equilibrium value in degrees
- exponent for restraint calculation.}
And also do specify the chainID in your restraints so that they are applied to specific molecules.
For this add segid statements to your restraints in each selection.