How to change the axis of rotation
If I understand correctly, here is what you can do:


Create you gun, keep it aligned on the global Z axis, animate a 180° rotation on the global Z axis.
shiftE on the Dopesheet to create a Linear Extrapolation.
Create an empty on its bottom.
Parent the gun to the empty.
Tilt the empty the way you want (15° if the angle between the 2 guns is 30°).
Now your gun rotates on the empty angle.
Duplicate the gun + the empty to create you second gun, tilt them 30° in Front Ortho view (or 180° on the Z axis). You now have your two guns.