– Funções / Comandos DLL V.9 _ C# para terminais TED famílias TC e TX
– Fonte de aplicação “SOMACALCCSHARP”
1 – Host ( aplicação ) para os TED´s “saída” _
Lista de comandos / funções :
– Abrindo comunicação _
[DllImport(DLL_LOCATION, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDStart(int port);
– Enviando mensagem ao display TED _
[DllImport(DLL_LOCATION, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDDisplaySend(string ip, string data);
– Enviando alarmes de buzzer ( n beep´s ) ao TED _
[DllImport(DLL_LOCATION, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDBeep(string ip, int times);
– Enviando dados à saída COM serial 1 do TED _
[DllImport(DLL_LOCATION, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDCom1Send(string ip, string data);
– Enviando dados à saída COM serial 2 do TED _
[DllImport(DLL_LOCATION, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDCom2Send(string ip, string data);
– Enviando comando de apagar display do TED _
[DllImport(DLL_LOCATION, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDDisplayClear(string ip);
– Enviando comando de apagar lista de atalhos na paginação ( veja comando abaixo ) _
[DllImport(DLL_LOCATION, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDListClear(string ip);
– Enviando lista de atalhos ( sequência ) para paginação _
[DllImport(DLL_LOCATION, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDListAdd(string ip, string data);
obs. Os TED´s da família TX com visor ( display ) de 7 linhas, permitem paginação com 7 atalhos por página, até 4 páginas.
Usando este comando, pode-se programar até 28 atalhos ( acionados pelas teclas Enter+seta ) estacionados na memória interna do TED
… veja explo. a seguir: TEDListAdd(‘192.168.0.10’, ‘PRODUTO A|PRODUTO B|PRODUTO C|’ …….. até 28 )
– Enviando comando para acionamento de “headers” – preâmbulos das tarefas _
[DllImport(DLL_LOCATION, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDHeaderOn(string ip);
– Enviando comando para desacionamento de “headers” – preâmbulos das tarefas _
[DllImport(DLL_LOCATION, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDHeaderOff(string ip);
– Enviando comando de “on” ( nível de saída = 1 – Vcc ) da saída digital _
[DllImport(DLL_LOCATION, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDDigitalOn(string ip);
– Enviando comando de “off” ( nível de saída = 0 – gnd ) da saída digital _
[DllImport(DLL_LOCATION, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDDigitalOff(string ip);
– Enviando comando de leitura do status ( nível 1 ou 0 ) da entrada digital _
[DllImport(DLL_LOCATION, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDDigitalRead(string ip);
DLL_LOCATION _ ligação com as funções de mesmo nome que estão DENTRO da DLL.
2 – TED´s para o Host ( aplicação ) “entrada” _ A recepção do Host ( aplicação ) vinda do TED – teclado alfanumérico /
teclas de atalho via paginação / leitor de cód. de barras externo – USB / leitor cód. de barras interno (embutido) /
leitor RFID interno (embutido) / porta serial 1 / porta serial 2 / entrada digital
public delegate void TTEDReceiveEvent(string ip, string data, int hdr);
[DllImport(DLL_LOCATION,
EntryPoint = “onTEDReceive”,
CharSet = CharSet.Ansi,
CallingConvention = CallingConvention.StdCall)]
internal static extern void OnTEDReceive(TTEDReceiveEvent hnd);
o que chega quando algo é recebido:
public void Recebido(string ip, string data, int hdr)
{
logging(“Recebido ” + data + ” de ” + ip + ” com header: ” + hdr.ToString());
int num;
if (int.TryParse(data, out num))
{
TEDDisplaySend(ip, “soma: ” + (num + 1).ToString());
}
pedeNumero(ip);
}
A partir das funções descritas, realizar a ligação _
[DllImport(
DLL_LOCATION,
EntryPoint = “onTEDConnect”,
CharSet = CharSet.Ansi,
CallingConvention = CallingConvention.StdCall
)]
internal static extern void OnTEDConnect(TTEDConnectEvent hnd);
[DllImport(DLL_LOCATION,
EntryPoint = “onTEDReceive”,
CharSet = CharSet.Ansi,
CallingConvention = CallingConvention.StdCall)]
internal static extern void OnTEDReceive(TTEDReceiveEvent hnd);
onTedConnect informa o que chega na porta 55555 e o onTedReceive informa o que chega na porta 8
( ou outra porta configurada antecipadamente no menu de configuração do TED )
3 – TRATAMENTO DAS PORTAS SERIAIS
– HABILITAR LEITURA DA PORTA SERIAL COM1
Assinatura da função
[DllImport(DLL_LOCATION, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDCom1On(string ip);
Exemplo de uso
TEDCom1On(‘192.168.10.1’);
– DESABILITAR LEITURA DA PORTA SERIAL COM1
Assinatura da função
[DllImport(DLL_LOCATION, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDCom1Off(string ip);
Exemplo de uso
TEDCom1Off(‘192.168.10.1’);
– HABILITAR LEITURA DA PORTA SERIAL COM2
Assinatura da função
[DllImport(DLL_LOCATION, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDCom2On(string ip);
Exemplo de uso
TEDCom2On(‘192.168.10.1’);
– DESABILITAR LEITURA DA PORTA SERIAL COM2
Assinatura da função
[DllImport(DLL_LOCATION, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
internal static extern int TEDCom2Off(string ip);
Exemplo de uso
TEDCom2Off(‘192.168.10.1’);