For some decades, the SLC did not have 'native' Modbus Master fuctionality. Prosoft was A-B's partner for communications modules, that's probably still the case today. The Prosoft module was not inexpensive.
An alternative might be to use your HMI panel or software as the Modbus master to communicate to the energy meter. HMI panels or HMI software frequently have Modbus master functionality and an RS-485 port.
Caveat emptor; Modbus is never plug-and-play, it is always a project.
A couple of universal issues people run across when implementing Modbus RTU (over RS-485)
1) RS-485 drive lines are labeled differently by different vendors +/-, A/B, D/Dnot. Most simply, one line is (+), the other (-). But one vendor's (+) can be another vendor's (-), so when comm doesn't work, the first thing to do is to swap the (+) and (-) lines on one end.
2) Half duplex, 2 wire RS-485 is mis-named. RS-485 should hae a signal ground, a third wire. Some vendors ground the RS-485 to chassis ground which can have common mode difference in ground potential creating a ground loop, requiring anRS-485 isolator. This rarely shows up on a bench test, but frequently appears when the slave (energy meter is 300m away from the master.
3) Serial settings on both sides must be the same. Many devices do not support no parity/2 stop bits even though it is technically the Modbus spec.
4) Cabling should be shielded twisted pair.
5) Termination resistors across the (-) and (-) driver lines at both ends is good practice, but comm at 9600 or 19.2k on the bench with short cabling will always work without termination.
6) Getting serial to connect and communicate can be frustrating; so doing initial testing is easiest on a bench, as opposed to when the stuff installed in the field some distance away from each other.
My suggestions is to use a generic Windows Modbus Master like Modscan32 or Simply Modbus or any of the dozen-or-so freebie Masters to read a known, non-zero value from a register. Then you can move onto using the master to read that same known, non-zero value from the slave.
7) Some programmers start counting from zero. Real people start counting from one. Modbus register addressing suffers from having some addressing be zero-based, other addressing one-based. A one based register (4)0004 is zero based 00003. If the master has to use whatever addressing the slave has because the slave addressing is fixed.
8) Getting the master to interpret the data it has read from the slave is its own challenge, especially for floating point (real) values. There are two commonly used word/byte orders for 32 bit, two register values and getting the master to interpret the word/byte order can be a challenge. Any decent Modbus master will have a selection for one or the other byte word order (sometimes called Big or Little Endian, or byte swap or ) except for some of the freebie masters which have only one.