Meio que parecendo a "Torre de Babel" em termos de comunicação, acho que estamos indo para onde o criador do tópico quer chegar, que pelo que entendi é: Ligar/desligar os relés da placa através de um executável feito em Harbour.
Conforme trajetória das postagens a contribuição de todos, acredito ser possível pelo menos com esses dois métodos:
MÉTODO 1:
==========
Com a postagem do Itamar, ficou claro pra mim que a placa SIM aceita comandos seriais, pois ela tem uma entrada de 2 pinos conforme o mapa da mesma, SÓ FALTA SABER quais códigos são, dessa forma o Harbour consegue mandar esses sinais por um executável controlado por qualquer usuário. E o bom dessa placa é que ela consegue atualizar o STATUS de cada relé para quem estiver usando o Site do WebServer dela, ou seja: Se ligar pela serial (ou até mesmo alimentando os pinos IN1 AO IN8) ela atualiza o status do site. (porém não sei como seria para ler o STATUS dos relés pelo Harbour)
Resposta do ChatGPT sobre a questão da serial dela:
Para ligar o relé 1 da placa NC1000 através da entrada serial de 2 pinos, você precisa enviar um comando específico para a placa. O comando para ligar o relé 1 é "REL1ON", que significa "Relé 1 ligado". Esse comando deve ser enviado em formato de string, utilizando os caracteres ASCII correspondentes a cada letra. Dependendo da linguagem de programação que você estiver utilizando, pode ser necessário converter a string para um vetor de bytes antes de enviá-la pela porta serial. Por exemplo, em Python, você pode utilizar a função "bytes()" para converter a string em bytes e a biblioteca "pyserial" para enviar os dados pela porta serial.
MÉTODO 2:
=========
E com a postagem do Quintas,
ficou claro pra mim que que é possível enviar a URL completa, já com o endereço final do comando que liga/desliga determinado relé.JoséQuintas escreveu:cUrl := "http://192.168.1.6/nao-sei-algum-dia-vã ... ho-e-olhar"
o := Win_OleCreateObject( "MSXML2.ServerXMLHTTP" )
o:Open( "GET", cUrl, .F.)
o:Send()
cRetorno := o:ResponseBody()
No caso do comando realmente ser REL1ON, então a URL para enviar para o navegador seria:
cUrl := "http://192.168.1.4:30000/REL1ON
E como saber qual código (Url) usar para cada comando pelo navegador?
Simples, ligue a placa na rede, faça ela funcionar e clica no botao de ligar o relé 01, feito isso verifica qual é o endereço que está no navegador, acredito que copiando e colando esse endereço direto no navegador deva ligar o rele, (No WebServer com arduino funciona dessa forma) a menos que a placa mande a URL com o comando para ligar o relé e em seguida mude o endereço.
O problema desse método 2 é que abrirá sempre o navegador, não sei se tem como abrir em segundo plano sem tela, ou em modo gráfico criar uma caixa de URL invisível no aplicativo e depois apagar ela.
Em um site de vendas de produto similar encontrei isso:
Mas acredito que seria ":" no lugar de "/" após o 30000 e que os comando podem ser diferentes.SPECIFICATION
RJ45 interface, via RJ45 telecommunications connection for network control.
Support for 8 Channels relay which means you could controll more to 8 different devices at the same time.
Unique dual TCP connect control, corresponding with above trait, local as TCP server
accept client control, when connect to remote server as TCP client
Supply core module detailed information
Default IP:192.168.1.4 prot:30000 http://192.168.1.4/30000 (You could change the default IP address)
HTTP comment:
http://192.168.1.4/30000/00 : Relay-01 OFF
http://192.168.1.4/30000/01 : Relay-01 ON
http://192.168.1.4/30000/02 : Relay-02 OFF
http://192.168.1.4/30000/03 : Relay-02 ON
http://192.168.1.4/30000/04 : Relay-03 OFF
http://192.168.1.4/30000/05 : Relay-03 ON
http://192.168.1.4/30000/14 : Relay-8 OFF
http://192.168.1.4/30000/15 : Relay-8 ON
http://192.168.1.4/30000/41 : Enter
http://192.168.1.4/30000/40 : Exit
http://192.168.1.4/30000/42 : Next Page
http://192.168.1.4/30000/43 : Next Page



