This has been my main project this past quater.
Read the help file on sfc51 in step seven. As a tip, you might need to use 092, 292, and 692. They are config values, that probe for configured, active, and missing slaves.
As per channel failures, read the 4th byte offset of each inpust and output. Sum them up per module ( using hmi code is the easiest, and shares the processing load), to find if a channell has a fault.
FB125 is supposed to wrap this all up in one function. But I just found out, after a month of trying, from a siemens rep that told me to us it, that fb125 is very buggy with E200-m units, but not 200-s units. Siemens knows that it doesn't work well, but do not disclaim it. They probably want a 125$/hr tech to come in and tell you that.