I actually already have the controllers, Din-a-Mite, and they just require a 24vdc input to control them.
What you will be doing is time proportion control of the Din-a-Mite SCR power controller, which uses that 24 VDC input as an on/off switch (as you know).
One way to do this with the Logix 5000 platform is to use the PID instruction and two periodic tasks: one slow (e.g., 1000 ms) and one fast (e.g., 5 ms). The PID instruction is in the slower task and computes a percent output -- then scaled to a Control Variable (CV) -- each time that task runs. The faster task controls a digital output wired to the SCR input, leaving it on for a specific number of task cycles based on the value of the CV.
As an example, using the numbers above, the controller duty cycle is 1000 ms, and the control resolution is 0.5 percent (5 ms/1000 ms). You will have 200 cycles of the Fast Task between updates of the PID task (1000/5). Scale the output of the PID loop (the CV Min/Max) so that 0 to 100 percent is 0 to 200 CV.
Within the Fast Task create a DINT tag that will repeatedly count from 0 to 199, 0 to 199, 0 to 199, ... using the ADD instruction to unconditionally increment this DINT. Clear (CLR) the DINT counter when it is >= 200. In another rung, energize the digital output (OTE) to the Din-a-Mite when the DINT value is less than the PID's CV value. [Also, consider using an Immediate Output (IOT) instruction for the digital output word at the end of the Fast Task, though not absolutely necessary.]
This relatively simple approach relies on various setup and configuration data to be consistent in order to work correctly. There are methods to make it more error-proof by using PLC tags for some of the key parameters.