Fórum

arrow_back

Leitura Multimedidor em modo RTU - PowerLogic PM1200

RUBENS SOARES DOS SANTOS

07/08/2024 05:38:19

Bom dia!

Estou com dúvida quanto a obrigatoriedade de ter um master e um slave, para obter a leitura de um multimedidor via modbusPM1000 -Modbus-1.pdf.

Em outro momento consegui realizar, a leitura utilizando apenas um esp32 e um conversor ttl, com funções FLOAT conforme manual em anexo. Porém hoje não estou conseguindo mais. Eu gostaria de utilizar apenas um dispositivo, por exemplo, na função master ou slave e já coletar e enviar para o Server. Não lembro se fiz como master ou slave, se isso é um algum problema de configuração.


Anteriormente utilizei os pinos RX2 e TX2 - 16 e 17 pinos.


ESP -> TTL  -> Multimedidor



Se puder me ajudar com estas dúvidas, como qual uart utilizar, pinos já que estou utilizando esp-wroom-32. Se posso utilizar uart 1 e 2 como 16 e 17 por exemplo que são RX2 e TX2.

Obrigado

FERNANDO SIMPLICIO DE SOUSA

09/08/2024 16:09:16

mb_master_holding_float.zip

Você pode tentar executar o programa acima, no qual deixei o master configurado conforme o manual do seu equipamento. Entretanto, não tenho certeza se vai funcionar adequadamente visto que não tenho como simular por aqui. 

Observação: 

Percebi que a configuração da serial precisa ser configurada conforme abaixo

    /**

     * Define as configurações a serem utilizadas no protocolo Modbus RTU;

     */

    mb_communication_info_t comm = 

    {

            .port = MB_PORT_NUM,

            .mode = MB_MODE_RTU,      //ou .mode = MB_MODE_ASCII,

            .baudrate = MB_DEV_SPEED,

            .parity = UART_PARITY_EVEN //MB_PARITY_NONE

    };

    Acredito que o descritor possa ser configurado assim:

    

        CID_HOLD_DATA_0,            //CID

        STR("Humidity_1"),          //Param Name

        STR("%rH"),                    //Units

        MB_DEVICE_ADDR1,            //Modbus Slave Addr

        MB_PARAM_HOLDING,           //Modbus Reg Type


        /*After starting the Modscan, to read Apparent power total (VA total), enter

Address as 3901 (decimal) Length as 2; Device ID as 1; Modbus Point

type as 03: HOLDING REGISTER as shown below*/


        3901,                             //Reg Start

        2,                            //Reg Size

        HOLD_OFFSET(holding_data0), //Instance Offset

        PARAM_TYPE_FLOAT,             //Data Type

        4,                             //Data Size

        OPTS( 0, 100, 1 ),             //Parameter Options. MIN-MAX-STEP ou OPT1-OPT2-OPT3. Atenção: tipos definidos como int;

        PAR_PERMS_WRITE_TRIGGER //PAR_PERMS_READ_WRITE_TRIGGER//Access Mode 

    },

Este site usa cookies para melhorar sua experiência. Política de Privacidade