Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fernando Rafael

Retornar peso de balança Filizola Platina com PHP

Recommended Posts

Bom dia, estou com um "pequeno problema"...

 

Tenho uma balança Filizola Platina 15kg (branca), na qual está conectada em um computador pela porta COM1, ela possui um sofware chamado SMART que envia e recebe dados da balança.

 

O problema é que este programa não tem nenhuma função para retornar o PESO e permitir que outros softwares tratem a informação, o fabricante tem até um pequeno programa só para esse fim, porém não consta o modelo da minha balança nas configurações de comunicação (o mais estranho é que a minha é um modelo mais avançado que a maioria da lista, e não permite que eu faça isso???).

 

Já achei várias pessoas conseguindo esse efeito com outros modelos de balança, mas nada que se iguale com a minha situação, o comando em PHP que cheguei mais próximo de algo foi esse:

<?php

exec('MODE COM1:9600,n,8,1'); //seta configuração na porta COM

$fp=fopen("COM1","r+b");

if(!$fp) {
    echo("Erro ao abrir a porta com1");
    exit;
} else {    
    echo("COM1 aberta <br>");
}

fwrite($fp,Chr(5));  //escrevendo valor na porta

sleep(1); //pausa para que a balança tenha tempo de retornar seus dados (peso)

echo (fgets($fp));

fclose($fp);

Entre a balança e o computador existe um aparelho que converte a comunicação COM  em uma comunicação que minha balança interpreta (Opto - Conversor Rs232 / 485 - Balanças Filizola), o mesmo possui 2 Leds que indicam envio e recebimento de dados, quando rodo o Código, o led que indica envio de dados acende, porém não tenho retorno. Procurei qual seria o comando para ser enviado mas não encontrei, porém nos manuais de todos os modelos  pedem que envie o comando "ENQ" em ASCII (representado por 5), em um dos modelos pedem para enviar o comando: <STX>SPPPPPPPUTE<CR><LF>, mas nada feito....  Não achei um manual do meu modelo com instruções desse comando, e não consegui um telefone do suporte Filizola que funcione....

 

Ficaria muito grato se me ajudassem... Não precisa ser especificamente em PHP, dês de que eu possa depois tratar a informação em qualquer linguagem. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Chegou a dar uma olhada nesse tópico aqui?

https://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/831-codigo-exemplo-leitura-peso-balanca-filizola-toledo-para/read.awp

 

É bem atualizado.

 

Mais que isso, fica um pouco complicado de ajudar, pois, fico preso somente ao que existe em manuais do fornecedor e fóruns.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Gabriel, obrigado pela indicação, não tenho como parar para avaliar esses dias, mas com certeza darei uma estudada no tópico que você indicou, notei que no exemplo é usado uma  Filizola BP-15, tenho até um software fornecido pela Filizola (Filizola Scale) que serve justamente para retornar o peso e salvar em TXT.

 

Esse mesmo programa tem vários modelos de balança da marca, mas nada de Filizola Platina. Pesquisando na internet vi um comentário alegando que balanças com impressor de etiquetas, não permitem esse tipo de retorno... mas não sei a procedência dessa informação .

 

Outra informação: Consegui ligar para um telefone da Filizola, mas a atendente disse que a empresa faliu...   todos os modelos ainda vendidos são pontas de estoque...

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
    • Por First
      Olá a todos!
       
      Quando eu tento fazer o login me mostra esse erro "Could not log you in."; Alguém sabe me ajudar a resolver esse problema no meu código?
      <?php require_once("core/init.php"); if (Input::exists()) { if (Token::check(Input::get("token"))) { $validate = new Validate(); $validation = $validate->check($_POST, array( "username" => array("required" => true), "password" => array("required" => true) )); if ($validation->passed()) { $user = new User(); $remember = (Input::get("remember")) === "on" ? true : false; $login = $user->login(Input::get("username"), Input::get("password"), $remember); if ($login) { Session::flash("home", "Welcome back!"); Redirect::to("index.php"); } else { echo "Could not log you in."; } } else { foreach ($validation->errors() as $error) { echo $error."<BR>"; } } } } ?> <form action="" method="POST"> <div class="field"> <label for="username">Username</label> <input type="text" name="username" id="username"> </div> <div class="field"> <label for="password">Password</label> <input type="password" name="password" id="password"> </div> <div class="field"> <label for="remember"> <input type="checkbox" name="remember" id="remember"> Remember me </label> </div> <input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> <input type="submit" value="Log in"> </form>  
       
      Desde já obrigado.
    • Por ckcesar
      Eu tenho uma aplicação no zend com a versão 5.6 e com o postgresql 9.6. Agora eu precisei mudar a versão do meu postgresql para o 16.1, a parte de conexão do bd e consultas sqls funciona perfeitamente, o meu problema está para acessar os meus controllers. Eles não são encontrados em nenhuma rota, quero ver se alguém já passou por esse problema para me ajudar. Obrigado.
    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.