I don't know if there's a more elegant way, but here's how I do it:
Player instance variable : RPM_Count (0)
Player instance variable : RPM (eg 480)
System > Every tick >
Mouse > Left button is down > add RPM * dt to RPM_Count
> RPM_Count >= 60 > Fire bullet event and Set RPM_Count to 0
Mouse > Left button released > Set RPM_Count to RPM (so that the gun is ready to fire immediately - may want to not include this for a cannon)
Using an RPM of 480 results in a perfect 480 rounds per minute or 8 rounds a second regardless of FPS. If that's not clear let me know.