1.2.2 • Published 8 months ago

@libs-scripts-mep/modbus-rtu-pvi v1.2.2

Weekly downloads
-
License
ISC
Repository
github
Last release
8 months ago

Modbus RTU PVI

Biblioteca que auxilia no desenvolvimento de scripts de testes que possuem comunicação modbus.

Instalando

Abra o terminal, e na pasta do script, execute:

npm i @libs-scripts-mep/modbus-rtu-pvi

Após fianlizada a instalação da biblioteca, inclua em seu html:

<script src="node_modules/@libs-scripts-mep/modbus-rtu-pvi/modbus-rtu-pvi.js"></script>

⚠️ Se seu projeto não utiliza a serial-pvi ou crc, será necessário incluir também em seu html:

<!-- DEPENDENCIAS -->
<script src="node_modules/@libs-scripts-mep/crc/CRC.js"></script>
<script src="node_modules/@libs-scripts-mep/serial-pvi/serial-pvi.js"></script>
<!-- BIBLIOTECA -->
<script src="node_modules/@libs-scripts-mep/temp-sim/modbus-rtu-pvi.js"></script>

⚠️Fique atento à ordem de carregamento dos arquivos, as dependências devem ser carregadas ANTES da biblioteca, como no trecho acima.

Desinstalando

Abra o terminal, e na pasta do script, rode:

npm uninstall @libs-scripts-mep/modbus-rtu-pvi

Exemplo de Utilização

class TestScript {
    constructor(eventMap, event) {

        this.SerialControlador = new ModbusProtocol(9600, 0, "AA") // baud = 9600, parity = 0, nodeAddress = "AA"

        this.Run()
            .then(async () => {
                //se tudo OK
            })
            .catch((error) => {
                //se algo NOK
            })

            ObjTeste = {
                DataHora:{
                    ParamCom: {
                        InitialRegister: 0x5000,
                        Quantity: 7 // Lendo 7 registradores iniciando pelo initialRegister
                    }, 
                }
                ReadKey:{
                    ParamCom: {
                        InitialRegister: 0x7202,
                        Quantity: 1 // Lendo apenas um registrador iniciando pelo initialRegister
                    },
                },
                WriteOUT:{
                    ParamCom: {
                        InitialRegister: 0x7100,
                        ArrayRegisterValue: [100, 0, 1, 4] // Valores para escrita nos registradores iniciando pelo initialRegister
                    },
                },
                NumSerie:{
                    ParamCom: {
                        ReadDeviceIDCode: 4,
                        ObjectID: 129 
                    },
                }
            }
    }

    async Run() {

        const dataHoraReturn = await this.SerialControlador.ReadHoldingRegister(ObjTeste.DataHora.ParamCom.InitialRegister, ObjTeste.DataHora.ParamCom.Quantity)
        if (dataHoraReturn.sucess) {

            dataHoraReturn.response // Array com a leitura dos 7 registradores, iniciando as posições a partir do Initialregister.
            
        } else {
            // ERRO
        }

        const teclaReturn = await this.SerialControlador.ReadInputRegister(ObjTeste.ReadKey.ParamCom.InitialRegister, ObjTeste.ReadKey.ParamCom.Quantity)
        if (teclaReturn.sucess) {

            const valorRegistradorTecla = teclaReturn.response[0] 

        } else {
            // ERRO
        }

        const saidaReturn = await this.SerialControlador.WriteMultipleRegister(ObjTeste.ParamCom.InitialRegister, ObjTeste.ParamCom.ArrayRegisterValue)
        if (saidaReturn.sucess) {
            // OK
        } else {
            // ERRO
        }

        const numSerieReturn = await this.SerialControlador.ReadDeviceIdentification(ObjTeste.ParamCom.NumSerie.ReadDeviceIDCode, ObjTeste.ParamCom.NumSerie.ObjectID)
        if (numSerieReturn.sucess) {

            const valorNumeroDeSerie = numSerieReturn.response // Retorno em String (ASCII) do ObjectID lido.

        } else {
            // ERRO
        }

        throw "termino"

    }
}

Funções Modbus Implementadas

FunçãoCódigoImplementada
Read Holding Registers0x03✔️
Read Input Registers0x04✔️
Write Single Register0x06✔️
Write Multiple Registers0x10✔️
Read Device Identification0x2B✔️
1.2.2

8 months ago

1.2.1

9 months ago

1.2.0

9 months ago

1.0.3

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago