DV Código de Barras

Olá,
Estou calculando o código de barras do boleto usando a macro sc_lin_cod_barra_banco para o banco banrisul, mas a macro não devolve o fator de vencimento correto nem os DVs ultimas duas posições do código.
Abaixo meu código de uma aplicação blank.
Alguém pode ajudar como obter os DVs e o fator de vencimento correto?

$codigo_banco = ‘041’; // Campo Código do banco com 3 digitos do cadastro de caixa
$codigo_moeda = ‘9’; // Campo moeda do cadastro de caixa
$valor_titulo = ‘0000055000’;// Campo valor do titulo sem ponto ou virgula com 10 digitos com zeros a esquerda
$data_vencimento = ‘20000704’; // Campo data vencimento tabela boleto formato aaaammdd
$livre = ‘2’; // Carteira tipo de cobrança do cadastro de caixa (boleto emitido pelo cliente)
$livre .= ‘1’; // Constante não mudar
$livre .= ‘1102’; // Agência 4 primeiros digitos sem os DVs
$livre .= ‘9000150’; // Cedente 7 primeiros digitos sem os DVs
$livre .= ‘22832563’; // Nosso Número 8 primeiros digitos sem os DVs
$livre .= ‘40’; // Constante não mudar

sc_lin_cod_barra_banco({barcode}, $codigo_banco, $codigo_moeda, $valor_titulo, $livre, $data_vencimento);
echo {barcode} . " BAR ";

Att
João Carlos

ola João Caros,
da uma olhada nesse artigo: https://support.scriptcase.net/en-us/article/1003-exemplo-boleto-bancario

talves comparando esse exemplo do Scriptcase vc encontre o que esta dando errado.