Este guia tem por objetivo descrever os procedimentos necessários para integrar o HIscada
Pro com um modem GPRS. Nesta página, é disponibilizado um projeto de exemplo do HIscada
Pro demonstrando como efetuar um envio de mensagem através de um modem GPRS.
Ter instalado/instalar a versão 1.4.00 ou superior do HIscada Pro. O pacote HIscada Pro, bem como a sua
documentação podem ser obtidos gratuitamente em sua página HIscada Pro.
Neste projeto de exemplo do HIscada Pro, foi criado uma tela com as configurações do modem e com as
configurações do celular que ira receber a mensagem e o script com a montagem do SMS e o envio
para a o modem GPRS - Modelo MG100 TG.
Exemplo de tela com objetos para envio de SMS via modem GPRS MG100
Exemplo de Script para o envio do comando ATCMD e o comando AT+IPR para o Modem GPRS
--[[- - - - - - - - - - - - - - - - - - - - - - - - - - Ambiente: HIscada_Pro Projeto: Empresa: Versão: 1.0.00 Responsável: Data: \b Descrição: \brief ... Cria os comandos ATCMD e o AT+IPR e envia para o modem GPRS- - - - - - - - - - - - - - - - - - - - - - - - - - - -]]localCom=Tags.Get("Kernel.Tags.Local.TagLocalGroup_SMS.TagLocal_COM")localBaud_Rate=Tags.Get("Kernel.Tags.Local.TagLocalGroup_SMS.TagLocal_BaudRate")localBaudRateModem=Tags.Get("Kernel.Tags.Local.TagLocalGroup_SMS.TagLocal_BaudRateModem")ifBaud_Rate.Value==0thenBaudRateModem.Value="AT+IPR=300"elseif(Baud_Rate.Value==1)thenBaudRateModem.Value="AT+IPR=600"elseif(Baud_Rate.Value==2)thenBaudRateModem.Value="AT+IPR=1200"elseif(Baud_Rate.Value==3)thenBaudRateModem.Value="AT+IPR=2400"elseif(Baud_Rate.Value==4)thenBaudRateModem.Value="AT+IPR=4800"elseif(Baud_Rate.Value==5)thenBaudRateModem.Value="AT+IPR=9600"elseif(Baud_Rate.Value==6)thenBaudRateModem.Value="AT+IPR=19200"elseif(Baud_Rate.Value==7)thenBaudRateModem.Value="AT+IPR=38400"elseif(Baud_Rate.Value==8)thenBaudRateModem.Value="AT+IPR=57600"elseif(Baud_Rate.Value==9)thenBaudRateModem.Value="AT+IPR=115200"elseif(Baud_Rate.Value==10)thenBaudRateModem.Value="AT+IPR=230400"elseif(Baud_Rate.Value==11)thenBaudRateModem="AT+IPR=460800"end---------------------------------------------------------------------------------------------------------- Cria Arquivo ATCMD---------------------------------------------------------------------------------------------------------- Apaga arquivo existenteos.remove(ProjectsFolder.."\\"..ProjectName.."\\atcmd"..".txt")-- Criar/Abre arquivo em modo Appendfile=io.open(ProjectsFolder.."\\"..ProjectName.."\\atcmd"..".txt","a")-- seta o arquivo teste.prn como default de saidaio.output(file)Comando="ATCMD"io.write(Comando.."\n")-- Fecha o arquivoio.close(file)---------------------------------------------------------------------------------------------------------- Cria Arquivo configuração BAUD RATE---------------------------------------------------------------------------------------------------------- Apaga arquivo existenteos.remove(ProjectsFolder.."\\"..ProjectName.."\\baudrate"..".txt")-- Criar/Abre arquivo em modo Appendfile=io.open(ProjectsFolder.."\\"..ProjectName.."\\baudrate"..".txt","a")-- seta o arquivo teste.prn como default de saidaio.output(file)io.write(BaudRateModem.Value..'\n')-- Fecha o arquivoio.close(file)---------------------------------------------------------------------------------------------------------- Encontra o Caminho onde o arquivo foi criado e envia para o Modem--------------------------------------------------------------------------------------------------------localSerial="COM"..Com.Value+1localATCMD='type "'..ProjectsFolder.."\\"..ProjectName.."\\atcmd"..".txt"..'" > '..SeriallocalBAUDRATE='type "'..ProjectsFolder.."\\"..ProjectName.."\\baudrate"..".txt"..'" > '..Serial-- Envia o arquivo gerado para o modem configurado na COM selecioandaos.execute(ATCMD)os.execute(BAUDRATE)
Exemplo de Script para envio de SMS via Modem GPRS
--[[- - - - - - - - - - - - - - - - - - - - - - - - - - Ambiente: HIscada_Pro Projeto: Empresa: Versão: 1.0.00 Responsável: Data: \b Descrição: \brief ... Cria um arquivo de texto e envia para o modem GPRS- - - - - - - - - - - - - - - - - - - - - - - - - - - -]]localOperadora=Tags.Get("Kernel.Tags.Local.TagLocalGroup_SMS.TagLocal_Operadora")localCom=Tags.Get("Kernel.Tags.Local.TagLocalGroup_SMS.TagLocal_COM")localFreqOper=Tags.Get("Kernel.Tags.Local.TagLocalGroup_SMS.TagLocal_FerqOperadora")localexist=0localDDD=Tags.Get("Kernel.Tags.Local.TagLocalGroup_SMS.TagLocal_DDD")localCelular=Tags.Get("Kernel.Tags.Local.TagLocalGroup_SMS.TagLocal_Celular")localMensagem=Tags.Get("Kernel.Tags.Local.TagLocalGroup_SMS.TagLocal_Mensagem")if(Operadora.Value==2)thenif(FreqOper.Value=="AT+CBAND = GSM850_PCS_MODE")thenexist=1elseFreqOper.Value="AT+CBAND = GSM850_PCS_MODE"FreqOper:WriteValue()endelseif(Operadora.Value==0orOperadora.Value==1orOperadora.Value==3)thenif(FreqOper.Value=="AT+CBAND = EGSM_DCS_MODE")thenexist=1elseFreqOper.Value="AT+CBAND = EGSM_DCS_MODE"FreqOper:WriteValue()endend---------------------------------------------------------------------------------------------------------- Cria Arquivo com o comando AT+CMGS="+55DDDXXXXXXXXX"---------------------------------------------------------------------------------------------------------- Apaga arquivo existenteos.remove(ProjectsFolder.."\\"..ProjectName.."\\numero"..".txt")-- Criar/Abre arquivo em modo Appendfile=io.open(ProjectsFolder.."\\"..ProjectName.."\\numero"..".txt","a")-- seta o arquivo teste.prn como default de saidaio.output(file)-- escreve no arquivo no TXT criado para enviar ao modemif(exist==0)thenio.write(FreqOper.Value.."\n")endio.write('AT+CMGS='..'"'..'+55'..DDD.Value..Celular.Value..'"'.."\n")-- Fecha o arquivoio.close(file)---------------------------------------------------------------------------------------------------------- Cria Arquivo control+Z---------------------------------------------------------------------------------------------------------- Apaga arquivo existenteos.remove(ProjectsFolder.."\\"..ProjectName.."\\crtlz"..".txt")-- Criar/Abre arquivo em modo Appendfile=io.open(ProjectsFolder.."\\"..ProjectName.."\\crtlz"..".txt","a")-- seta o arquivo teste.prn como default de saidaio.output(file)-- escreve no arquivo no TXT criado para enviar ao modemif(exist==0)thenio.write(FreqOper.Value.."\n")endio.write(Mensagem.Value..'\x1A')-- Fecha o arquivoio.close(file)---------------------------------------------------------------------------------------------------------- Encontra o Caminho onde o arquivo foi criado e envia para o Modem--------------------------------------------------------------------------------------------------------localSerial="COM"..Com.Value+1localATCMGS='type "'..ProjectsFolder.."\\"..ProjectName.."\\numero"..".txt"..'" > '..SeriallocalCTRLZ='type "'..ProjectsFolder.."\\"..ProjectName.."\\crtlz"..".txt"..'" > '..Serial-- Envia o arquivo gerado para o modem configurado na COM selecioandaos.execute(ATCMGS)os.execute(CTRLZ)
Para executar e utilizar o exemplo deste guia, siga os seguintes passos:
Com o projeto aberto na IDE do HIscada Pro clique no botão Ativa aplicação “Kernel e Viewer” em modo de depuração