|
LER BALANÇA FILIZOLLA PARA MERCADO OU GONDOLA |
Iniciado por Boller, 31,mar. 2023 23:42 - 1 respuesta |
| |
| | | |
|
| |
Miembro registrado 3.574 mensajes Popularité : +175 (223 votes) |
|
Publicado el 31,marzo 2023 - 23:42 |
nPort is int = "" sPorta is string = "" peso_texto is string = "" Peso is real = "" p is int = ""
EDT_Peso_Atual = 0
//Fechar todas as portas menos a do mouse com1 LOOP(20) p++ IF p > 1 sClose(p) END END
sPorta = COMBO_PORTAS..DisplayedValue
// Open Serial port nPort = sOpen(sPorta, EDT_Buffer_INPUT, EDT_Buffer_OUTPUT)
IF ErrorOccurred THEN Error(ErrorInfo(), HErrorInfo()) RETURN ELSE // I/O configuration sParameter(nPort, EDT_Rate_Bytes_por_segundos, EDT_Paridade_0_1_2, EDT_Data_Bits, EDT_Stop_Bits, CBOX_DTR_DSR, CBOX_RTS_CTS, CBOX_XON_XOFF) sWrite(nPort,"PesoAtual") LOOP(1000) peso_texto = sRead(nPort,16) Trace(peso_texto) peso_texto = Replace(peso_texto,Charact(EDT_ASCII_Inicial),"") peso_texto = Replace(peso_texto,Charact(EDT_ASCII_Final),"") peso_texto = Replace(peso_texto,Charact(EDT_ASCII_X),"") peso_texto = Replace(peso_texto,CRLF,"") Peso = Val(NoSpace(Replace(peso_texto,CR,""))) ToastDisplay(Peso,toastShort,vaMiddle,haCenter) Wait(3) END END
sClose(nPort)
EDT_Peso_Atual = Peso
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.574 mensajes Popularité : +175 (223 votes) |
|
Publicado el 31,marzo 2023 - 23:43 |
// Summary: <specify the procedure action> // Syntax: //Evento_HREADSEEK_Pesagem (<numid>, <botao_numero>) // // Parameters: // numid: // botao_numero: <specify the role of botao_numero> // Example: // <Specify a usage example> //// Automatic error processing: call the 'Evento_Exception' procedure // // Automatic exception processing: call the 'Evento_Exception' procedure //
PROCEDURE Evento_HREADSEEK_Pesagem(numid, botao_numero)
nPort is int = "" sPorta is string = "" sPeso_texto is string = "" rPeso is real = "" p is int = ""
IF numid <> "" OR numid <> 0 HReset(T001_Balancas) IF HReadSeek(T001_Balancas,T001_Balanca_ID,numid,hIdentical) = True THEN EDT_Peso_Atual = 0 //Fechar todas as portas menos a do mouse com1 vezes is int = T001_Balancas.T001_Timer_Loop IF vezes = 0 THEN vezes = 1 END sClose(T001_Balancas.T001_Port) sPorta = "COM"+T001_Balancas.T001_Port nPort = T001_Balancas.T001_Port // Open Serial port bPorta_OK_01 is boolean = sOpen(sPorta, T001_Balancas.T001_TamanhoBufferInput, T001_Balancas.T001_TamanhoBufferOutput) IF ErrorOccurred THEN Error(ErrorInfo(), HErrorInfo()) ELSE IF NOT ErrorOccurred AND bPorta_OK_01 = True // I/O configuration bPorta_OK_02 is boolean = sParameter(nPort, T001_Balancas.T001_Rate, T001_Balancas.T001_Parity, T001_Balancas.T001_Nb_Data_Bits, T001_Balancas.T001_Nb_Stop_Bits, T001_Balancas.T001_DTR_DSR, T001_Balancas.T001_RTS_CTS, T001_Balancas.T001_XON_XOFF) IF bPorta_OK_01 = True AND bPorta_OK_02 = True sWrite(nPort,"PesoAtual") LOOP(vezes) sPeso_texto = sRead(nPort, sInEntryQueue(nPort)) IF MSGS_DEBUG = True Info("READ: "+sPeso_texto) END Trace(sPeso_texto) IF ErrorInfo() THEN IF MSGS_DEBUG = True THEN Error(HErrorInfo(),ErrorInfo()) END END sPeso_texto = Replace(sPeso_texto,Charact(T001_Balancas.T001_CHR_Inicio),"") sPeso_texto = Replace(sPeso_texto,Charact(T001_Balancas.T001_CHR_Fim),"") IF PositionOccurrence(sPeso_texto,Charact(10),1,FromBeginning) = 0 sPeso_texto = sPeso_texto + CRLF END IF PositionOccurrence(sPeso_texto,Charact(13),1,FromBeginning) = 0 sPeso_texto = sPeso_texto + CRLF END IF PositionOccurrence(sPeso_texto,CRLF,1,FromBeginning) = 0 sPeso_texto = sPeso_texto + CRLF END posicao_chr1013 is int = PositionOccurrence(sPeso_texto,CRLF,1,FromBeginning) sPeso_texto = Middle(sPeso_texto,1,posicao_chr1013) sPeso_texto = Replace(sPeso_texto,CRLF,"") rPeso = Val(NoSpace(sPeso_texto)) ToastDisplay(rPeso,toastShort,vaMiddle,haCenter) Wait(T001_Balancas.T001_Timeout) END END END sClose(nPort) IF botao_numero = 1 STC_PESO_BALANCA_01 = rPeso ELSE IF botao_numero = 2 STC_PESO_BALANCA_02 = rPeso ELSE IF botao_numero = 3 STC_PESO_BALANCA_03 = rPeso ELSE IF botao_numero = 4 STC_PESO_BALANCA_04 = rPeso ELSE IF botao_numero = 5 STC_PESO_BALANCA_05 = rPeso ELSE IF botao_numero = 6 STC_PESO_BALANCA_06 = rPeso END IF rPeso > grPESO_MAXIMO AND MSGS_DEBUG = True Info("Peso acima da capacidade da Balança","Divida o peso e precione Enter","Que eu vou tentar ler o peso novamente") END IF rPeso = 0 AND MSGS_DEBUG = True Info("Não veio nenhum valor da balança") END IF rPeso < 0 AND MSGS_DEBUG = True Info("Veio peso com valor negativo") END Wait(gnTimeOut) Evento_GravarArquivoIni(numid,rPeso) END END
//CASE EXCEPTION:
// Summary: <specify the procedure action> // Syntax: //Evento_GravarArquivoIni (<id>, <peso>) // // Parameters: // id: // peso: <specify the role of peso> // Example: // <Specify a usage example> // PROCEDURE Evento_GravarArquivoIni(id, peso)
HReset(T001_Balancas)
IF HReadSeek(T001_Balancas,T001_Balanca_ID,id,hIdentical) = True THEN T001_Balancas.T001_UltimaPesagem = peso T001_Balancas.T001_DataHoraPesagem = DateSys()+TimeSys() HModify(T001_Balancas) INIWrite(T001_Balancas.T001_Balanca,"Numero",T001_Balancas.T001_NUM_BALANCA,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"Marca",T001_Balancas.T001_Marca,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"Modelo",T001_Balancas.T001_Modelo,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"Setor",T001_Balancas.T001_Setor,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"Porta","COM"+T001_Balancas.T001_Port,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"Rate",T001_Balancas.T001_Rate,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"Parity",T001_Balancas.T001_Parity,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"Nb_Data_Bits",T001_Balancas.T001_Nb_Data_Bits,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"Nb_Stop_Bits",T001_Balancas.T001_Nb_Stop_Bits,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"DTR_DSR",T001_Balancas.T001_DTR_DSR,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"RTS_CTS",T001_Balancas.T001_RTS_CTS,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"XON_XOFF",T001_Balancas.T001_XON_XOFF,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"TamanhoBufferInput",T001_Balancas.T001_TamanhoBufferInput,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"TamanhoBufferOutput",T001_Balancas.T001_TamanhoBufferOutput,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"T001_CHR_Inicio",T001_Balancas.T001_CHR_Inicio,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"CHR_Fim",T001_Balancas.T001_CHR_Fim,fCurrentDir()+fSep()+"Config.ini")
INIWrite(T001_Balancas.T001_Balanca,"Timeout",T001_Balancas.T001_Timeout,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"TimerLoop",T001_Balancas.T001_Timer_Loop,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"Loop",T001_Balancas.T001_Loop,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"DataHoraPesagem",T001_Balancas.T001_DataHoraPesagem,fCurrentDir()+fSep()+"Config.ini") INIWrite(T001_Balancas.T001_Balanca,"UltimaPesagem",T001_Balancas.T001_UltimaPesagem,fCurrentDir()+fSep()+"Config.ini") END
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | | | |
| | |
|