Welcome to the forum @plcguy.
You can do that with a couple of Trigger nodes. The first generates a stream of messages that the appropriate rate and the second turns them into on/off pulses.
[{"id":"f5ac7f1a.c6f05","type":"trigger","z":"bdd7be38.d3b55","name":"Configureable repeater","op1":"","op2":"0","op1type":"pay","op2type":"str","duration":"-250","extend":false,"overrideDelay":true,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":300,"y":4300,"wires":[["bd460116.6b503"]]},{"id":"16b6ad6b.3e7e4b","type":"inject","z":"bdd7be38.d3b55","name":"60/min","props":[{"p":"payload"},{"p":"delay","v":"1000","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"1","payloadType":"num","x":90,"y":4260,"wires":[["f5ac7f1a.c6f05"]]},{"id":"23f3f81c.77ac28","type":"debug","z":"bdd7be38.d3b55","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":310,"y":4420,"wires":[]},{"id":"e19eaf37.90732","type":"inject","z":"bdd7be38.d3b55","name":"30 per min","props":[{"p":"payload"},{"p":"delay","v":"2000","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"1","payloadType":"num","x":100,"y":4340,"wires":[["f5ac7f1a.c6f05"]]},{"id":"bd460116.6b503","type":"trigger","z":"bdd7be38.d3b55","name":"Pulse","op1":"","op2":"0","op1type":"pay","op2type":"num","duration":"50","extend":false,"overrideDelay":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":290,"y":4360,"wires":[["23f3f81c.77ac28"]]}]
If that works for you then all you need to do is work out how to use the dashboard to enter a value and then convert that into a period between pulses for sending to the first node.