[RESOLVIDO] C# + Arduino, não pode ser comunicação SERIAL tem que ser TCP/IP.

Boa tarde pessoal,

Eu tenho uma aplicação desenvolvida em C# que controla as portas do arduino para ligar reles. Mas a questão é que eu estou utilizando a conexão serial, e estou precisando fazer a mesma coisa mas tenho que utilizar soquetes para fazer uma conexão TCP/IP, estou precisando muito de uma ajuda pois tenho pesquisado muito mas não obtive sucesso! Obrigado.

Exibições: 1505

Responder esta

Respostas a este tópico

Você tem um modulo ethernet Shield acoplado com o Arduino?

Boa tarde Carlos,

tenho sim!!

Se tiver algum código pronto poste, se tem que começar do zero avise.

Abs.

Oi Carlos, eu tenho o código pronto e esta funcionando perfeitamente, Porém minha conexão é serial e eu preciso fazer a mesma coisa mas através da rede utilizando TCP/IP.

Segue meu código do C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Iluminacao
{
public partial class Form1 : Form
{
byte[] comando1 = {0,200,201};
byte[] comando2 = { 0,202,203};
byte[] comando3 = { 0,204,205};
byte[] comando4 = { 0,206,207};
byte[] comando5 = { 0,208,209};
byte[] comando6 = { 0,210,211};
byte[] comando7 = { 0,212,213};
byte[] comando8 = { 0,214,215};
byte[] comando9 = { 0,216,217};
byte[] comando10 = {0,218,219};

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
this.button1.BackColor = Color.BlueViolet;
this.button2.BackColor = Color.White;
this.button3.BackColor = Color.White;
this.button4.BackColor = Color.White;
this.button5.BackColor = Color.White;
this.button6.BackColor = Color.White;
this.button7.BackColor = Color.White;
this.button8.BackColor = Color.White;

try
{

if (button1.BackColor == Color.BlueViolet)
{
Porta.Write(comando1, 1, 1);
}
else
{
Porta.Write(comando1, 2, 1);
}
}

catch
{
MessageBox.Show("Cabo desconectado", "Erro");
Close();
}
}

private void button2_Click(object sender, EventArgs e)
{
this.button2.BackColor = Color.BlueViolet;
this.button1.BackColor = Color.White;
this.button3.BackColor = Color.White;
this.button4.BackColor = Color.White;
this.button5.BackColor = Color.White;
this.button6.BackColor = Color.White;
this.button7.BackColor = Color.White;
this.button8.BackColor = Color.White;

try
{
if (button2.BackColor == Color.BlueViolet)
{
Porta.Write(comando2, 1, 1);
}
else
{
Porta.Write(comando2, 2, 1);
}
}
catch
{
MessageBox.Show("Cabo desconectado", "Erro");
Close();
}
}

private void button3_Click(object sender, EventArgs e)
{
this.button3.BackColor = Color.BlueViolet;
this.button1.BackColor = Color.White;
this.button2.BackColor = Color.White;
this.button4.BackColor = Color.White;
this.button5.BackColor = Color.White;
this.button6.BackColor = Color.White;
this.button7.BackColor = Color.White;
this.button8.BackColor = Color.White;

try
{
if (button3.BackColor == Color.BlueViolet)
{
Porta.Write(comando3, 1, 1);
}
else
{
Porta.Write(comando3, 2, 1);
}
}
catch
{
MessageBox.Show("Cabo desconectado", "Erro");
Close();
}
}

private void button4_Click(object sender, EventArgs e)
{
this.button4.BackColor = Color.BlueViolet;
this.button1.BackColor = Color.White;
this.button2.BackColor = Color.White;
this.button3.BackColor = Color.White;
this.button5.BackColor = Color.White;
this.button6.BackColor = Color.White;
this.button7.BackColor = Color.White;
this.button8.BackColor = Color.White;

try
{
if (button4.BackColor == Color.BlueViolet)
{
Porta.Write(comando4, 1, 1);
}
else
{
Porta.Write(comando4, 2, 1);
}
}
catch
{
MessageBox.Show("Cabo desconectado", "Erro");
Close();
}
}

private void button5_Click(object sender, EventArgs e)
{
this.button5.BackColor = Color.BlueViolet;
this.button1.BackColor = Color.White;
this.button2.BackColor = Color.White;
this.button3.BackColor = Color.White;
this.button4.BackColor = Color.White;
this.button6.BackColor = Color.White;
this.button7.BackColor = Color.White;
this.button8.BackColor = Color.White;

try
{
if (button5.BackColor == Color.BlueViolet)
{
Porta.Write(comando5, 1, 1);
}
else
{
Porta.Write(comando5, 2, 1);
}
}
catch
{
MessageBox.Show("Cabo desconectado", "Erro");
Close();
}
}

private void button6_Click(object sender, EventArgs e)
{
this.button6.BackColor = Color.BlueViolet;
this.button1.BackColor = Color.White;
this.button2.BackColor = Color.White;
this.button3.BackColor = Color.White;
this.button4.BackColor = Color.White;
this.button5.BackColor = Color.White;
this.button7.BackColor = Color.White;
this.button8.BackColor = Color.White;

try
{
if (button6.BackColor == Color.BlueViolet)
{
Porta.Write(comando6, 1, 1);
}
else
{
Porta.Write(comando6, 2, 1);
}
}
catch
{
MessageBox.Show("Cabo desconectado", "Erro");
Close();
}
}

private void button7_Click(object sender, EventArgs e)
{
this.button7.BackColor = Color.BlueViolet;
this.button1.BackColor = Color.White;
this.button2.BackColor = Color.White;
this.button3.BackColor = Color.White;
this.button4.BackColor = Color.White;
this.button5.BackColor = Color.White;
this.button6.BackColor = Color.White;
this.button8.BackColor = Color.White;

try
{
if (button7.BackColor == Color.BlueViolet)
{
Porta.Write(comando7, 1, 1);
}
else
{
Porta.Write(comando7, 2, 1);
}
}
catch
{
MessageBox.Show("Cabo desconectado", "Erro");
Close();
}
}

private void button8_Click(object sender, EventArgs e)
{
this.button8.BackColor = Color.BlueViolet;
this.button1.BackColor = Color.White;
this.button2.BackColor = Color.White;
this.button3.BackColor = Color.White;
this.button4.BackColor = Color.White;
this.button5.BackColor = Color.White;
this.button6.BackColor = Color.White;
this.button7.BackColor = Color.White;

try
{
if (button8.BackColor == Color.BlueViolet)
{
Porta.Write(comando8, 1, 1);
}
else
{
Porta.Write(comando8, 2, 1);
}
}
catch
{
MessageBox.Show("Cabo desconectado", "Erro");
Close();
}
}

private void button9_Click(object sender, EventArgs e)
{

this.button1.BackColor = Color.White;
this.button2.BackColor = Color.White;
this.button3.BackColor = Color.White;
this.button4.BackColor = Color.White;
this.button5.BackColor = Color.White;
this.button6.BackColor = Color.White;
this.button7.BackColor = Color.White;
this.button8.BackColor = Color.White;


try
{
if (button9.BackColor == Color.BlueViolet)
{
Porta.Write(comando9, 1, 1);
}
else
{
Porta.Write(comando9, 2, 1);
}
}
catch
{
MessageBox.Show("Cabo desconectado", "Erro");
Close();
}
}

private void button10_Click(object sender, EventArgs e)
{
this.button1.BackColor = Color.BlueViolet;
this.button2.BackColor = Color.BlueViolet;
this.button3.BackColor = Color.BlueViolet;
this.button4.BackColor = Color.BlueViolet;
this.button5.BackColor = Color.BlueViolet;
this.button6.BackColor = Color.BlueViolet;
this.button7.BackColor = Color.BlueViolet;
this.button8.BackColor = Color.BlueViolet;

try
{
if (button10.BackColor == Color.BlueViolet)
{
Porta.Write(comando10, 1, 1);
}
else
{
Porta.Write(comando10, 2, 1);
}
}
catch
{
MessageBox.Show("Cabo desconectado", "Erro");
Close();
}
}

private void Form1_Load(object sender, EventArgs e)
{
try
{
Porta.Open();
}
catch
{
MessageBox.Show("Cabo desconectado", "Erro");
Close();
}
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
if (Porta.IsOpen)
{
Porta.Close();
}
}
catch
{ }
}
}
}

Codigo do Arduino.

int i;
void setup(){
Serial.begin(9600);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
}
void loop(){
if(Serial.available()){
byte dado = Serial.read();

if(dado == 200)
for(i=0;i<=3;i++)
{
digitalWrite(2,1); // ************ EFEITO 1 **************
delay(0050);
digitalWrite(2,0);
delay(0150);
digitalWrite(5,1);
delay(0050); // ************ EFEITO 1 **************
digitalWrite(5,0);
delay(0150);
digitalWrite(7,1);
delay(0050);
digitalWrite(7,0); // ************ EFEITO 1 **************
delay(0150);
digitalWrite(3,1);
delay(0050);
digitalWrite(3,0);
delay(0150);
digitalWrite(6,1); // ************ EFEITO 1 **************
delay(0050);
digitalWrite(6,0);
delay(0150);
digitalWrite(4,1);
delay(0050);
digitalWrite(4,0); // ************ EFEITO 1 **************
delay(0150);
}

if(dado == 201)
{
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(7,0);
}
//###############################################################

if(dado == 202)
for(i=0;i<=15;i++)
{
digitalWrite(2,1);// ************ EFEITO 2 **************
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,1); // ************ EFEITO 2 **************
delay(0030);
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,0); // ************ EFEITO 2 **************
digitalWrite(7,0);
delay(0150);
}

if(dado == 203)
{
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0); // ************ EFEITO 2 **************
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(7,0);
}

//################################################################
if(dado == 204)
{
for(i=0;i<=3;i++){
digitalWrite(2,1);
delay(0030);
digitalWrite(2,0);
delay(0100); // ************ EFEITO 3 **************
}
for(i=0;i<=3;i++){
digitalWrite(3,1);
delay(0030);
digitalWrite(3,0);
delay(0100);
}
for(i=0;i<=3;i++){
digitalWrite(4,1);
delay(0030); // ************ EFEITO 3 **************
digitalWrite(4,0);
delay(0100);
}
for(i=0;i<=3;i++){
digitalWrite(5,1);
delay(0030);
digitalWrite(5,0);
delay(0100);
}
for(i=0;i<=3;i++){ // ************ EFEITO 3 **************
digitalWrite(6,1);
delay(0030);
digitalWrite(6,0);
delay(0100);
}
for(i=0;i<=3;i++){
digitalWrite(7,1);
delay(0030);
digitalWrite(7,0); // ************ EFEITO 3 **************
delay(0100);
}
if(dado == 205)
{
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0); // ************ EFEITO 3 **************
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(7,0);
}
}
//######################################################################
if(dado == 206){
for(i=0;i<=2;i++){
digitalWrite(2,1);
digitalWrite(7,1);
delay(0050); // ****************** EFEITO 4 ******************
digitalWrite(2,0);
digitalWrite(7,0);
delay(0150);
}
for(i=0;i<=2;i++){
digitalWrite(3,1);
digitalWrite(6,1);
delay(0050);
digitalWrite(3,0);// ****************** EFEITO 4 ******************
digitalWrite(6,0);
delay(0150);
}
for(i=0;i<=1;i++){
digitalWrite(4,1);
digitalWrite(5,1);
delay(0050);
digitalWrite(4,0); // ****************** EFEITO 4 ******************
digitalWrite(5,0);
delay(0150);
}
for(i=0;i<=1;i++){
digitalWrite(4,1);
digitalWrite(5,1);
delay(0050); // ****************** EFEITO 4 ******************
digitalWrite(4,0);
digitalWrite(5,0);
delay(0150);
}
for(i=0;i<=2;i++){
digitalWrite(3,1);
digitalWrite(6,1);
delay(0050);
digitalWrite(3,0);// ****************** EFEITO 4 ******************
digitalWrite(6,0);
delay(0150);
}
for(i=0;i<=2;i++){
digitalWrite(2,1);
digitalWrite(7,1);
delay(0050); // ****************** EFEITO 4 ******************
digitalWrite(2,0);
digitalWrite(7,0);
delay(0150);
}
}
if(dado == 207)
{
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0); // ************ EFEITO 3 **************
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(7,0);
}
{
//#######################################################################
if (dado == 208)
{
digitalWrite(2,1);// ************ EFEITO 5 **************
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,1); // ************ EFEITO 5 **************
delay(0030);
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,0); // ************ EFEITO 5 **************
digitalWrite(7,0);
delay(0500);
digitalWrite(2,1);// ************ EFEITO 5 **************
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,1); // ************ EFEITO 5 **************
delay(0030);
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,0); // ************ EFEITO 5 **************
digitalWrite(7,0);
delay(0500);
for(i=0;i<=3;i++){
digitalWrite(2,1);// ************ EFEITO 5 **************
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,1); // ************ EFEITO 5 **************
delay(0030);
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,0); // ************ EFEITO 5 **************
digitalWrite(7,0);
delay(0150);
}

delay(0500);

digitalWrite(2,1);// ************ EFEITO 5 **************
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,1); // ************ EFEITO 5 **************
delay(0030);
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,0); // ************ EFEITO 5 **************
digitalWrite(7,0);
delay(0500);
digitalWrite(2,1);// ************ EFEITO 5 **************
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,1); // ************ EFEITO 5 **************
delay(0030);
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,0); // ************ EFEITO 5 **************
digitalWrite(7,0);
delay(0500);
for(i=0;i<=3;i++){
digitalWrite(2,1);// ************ EFEITO 5 **************
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,1); // ************ EFEITO 5 **************
delay(0030);
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,0); // ************ EFEITO 5 **************
digitalWrite(7,0);
delay(0150);
}
}
if (dado == 209)
{
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0); // ************ EFEITO 3 **************
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(7,0);
}
//#######################################################################
if (dado == 210)
{
for(i=0;i<=3;i++){
digitalWrite(2,1);
digitalWrite(5,1);
delay(0050);
digitalWrite(2,0);
digitalWrite(5,0);
delay(0200);
}
for(i=0;i<=3;i++){
digitalWrite(4,1);
digitalWrite(7,1);
delay(0050);
digitalWrite(4,0);
digitalWrite(7,0);
delay(0200);
}
for(i=0;i<=3;i++){
digitalWrite(3,1);
digitalWrite(6,1);
delay(0030);
digitalWrite(3,0);
digitalWrite(6,0);
delay(0100);

delay(0500);

for(i=0;i<=3;i++){
digitalWrite(2,1);
digitalWrite(5,1);
delay(0050);
digitalWrite(2,0);
digitalWrite(5,0);
delay(0200);
}
for(i=0;i<=3;i++){
digitalWrite(4,1);
digitalWrite(7,1);
delay(0050);
digitalWrite(4,0);
digitalWrite(7,0);
delay(0200);
}
for(i=0;i<=3;i++){
digitalWrite(3,1);
digitalWrite(6,1);
delay(0030);
digitalWrite(3,0);
digitalWrite(6,0);
delay(0100);
}
}
}
if (dado == 211)
{
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0); // ************ EFEITO 3 **************
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(7,0);
}

//#######################################################################

if(dado == 212)
{
digitalWrite(2,1);
delay(0050);
digitalWrite(2,0);
delay(0150);
digitalWrite(2,1);
delay(0050);
digitalWrite(2,0);
delay(0150);
digitalWrite(2,1);
delay(0050);
digitalWrite(2,0);
delay(0150);

digitalWrite(7,1);
delay(0050);
digitalWrite(7,0);
delay(0150);
digitalWrite(7,1);
delay(0050);
digitalWrite(7,0);
delay(0150);
digitalWrite(7,1);
delay(0050);
digitalWrite(7,0);
delay(0150);

digitalWrite(3,1);
delay(0050);
digitalWrite(3,0);
delay(0150);
digitalWrite(3,1);
delay(0050);
digitalWrite(3,0);
delay(0150);
digitalWrite(3,1);
delay(0050);
digitalWrite(3,0);
delay(0150);

digitalWrite(6,1);
delay(0050);
digitalWrite(6,0);
delay(0150);
digitalWrite(6,1);
delay(0050);
digitalWrite(6,0);
delay(0150);
digitalWrite(6,1);
delay(0050);
digitalWrite(6,0);
delay(0150);

digitalWrite(4,1);
delay(0050);
digitalWrite(4,0);
delay(0150);
digitalWrite(4,1);
delay(0050);
digitalWrite(4,0);
delay(0150);
digitalWrite(4,1);
delay(0050);
digitalWrite(4,0);
delay(0150);

digitalWrite(5,1);
delay(0050);
digitalWrite(5,0);
delay(0150);
digitalWrite(5,1);
delay(0050);
digitalWrite(5,0);
delay(0150);
digitalWrite(5,1);
delay(0050);
digitalWrite(5,0);
delay(0150);

digitalWrite(3,1);
delay(0050);
digitalWrite(3,0);
delay(0150);
digitalWrite(3,1);
delay(0050);
digitalWrite(3,0);
delay(0150);
digitalWrite(3,1);
delay(0050);
digitalWrite(3,0);
delay(0150);

digitalWrite(6,1);
delay(0050);
digitalWrite(6,0);
delay(0150);
digitalWrite(6,1);
delay(0050);
digitalWrite(6,0);
delay(0150);
digitalWrite(6,1);
delay(0050);
digitalWrite(6,0);
delay(0150);

digitalWrite(2,1);
delay(0050);
digitalWrite(2,0);
delay(0150);
digitalWrite(2,1);
delay(0050);
digitalWrite(2,0);
delay(0150);
digitalWrite(2,1);
delay(0050);
digitalWrite(2,0);
delay(0150);

digitalWrite(7,1);
delay(0050);
digitalWrite(7,0);
delay(0150);
digitalWrite(7,1);
delay(0050);
digitalWrite(7,0);
delay(0150);
digitalWrite(7,1);
delay(0050);
digitalWrite(7,0);
delay(0150);

}

if(dado == 213)
{
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0); // ************ EFEITO 3 **************
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(7,0);
}

//########################################################################

if(dado == 214)
for(i=0;i<=10;i++)
{
digitalWrite(2,1);// ************ EFEITO 2 **************
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,1); // ************ EFEITO 2 **************
delay(0030);
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,0); // ************ EFEITO 2 **************
digitalWrite(7,0);
delay(1000);
}
}

if(dado == 215)
{
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0); // ************ EFEITO 3 **************
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(7,0);
}

//######################################################################

if(dado == 216)
{
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0); // ************ EFEITO 9 **************
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(7,0);
}


if(dado == 217)
{
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0); // ************ EFEITO 9 **************
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(7,0);
}

//###############################################################
if(dado == 218)
{
digitalWrite(2,1);
digitalWrite(3,1);
digitalWrite(4,1); // ************ EFEITO 10 **************
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,1);
}
if(dado == 219)
{
digitalWrite(2,1);
digitalWrite(3,1);
digitalWrite(4,1); // ************ EFEITO 10 **************
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,1);
}
//###########################################################
}
}

Oi Leandro,

Da próxima vez, se quiser é claro, cole seu código no www.pastebin.com , fica mais pratico para as pessoas interagirem com você sem precisar copiar colar etc.

Bem pelo visto tem todo o código, vai conectar na ethernet ou internet não ficou claro, mas para o caso por em quanto é irrelevante.

O que precisa dizer é o que esta precisando: Um tutorial para o código funcionar em uma rede?

Uma mexida no seu código para isso? Alguma informação especifica sobre um determinado assunto sobre como conectar em uma rede?

No Aguardo, o pessoal daqui tem um sentido de colaboração pouco visto em outros fóruns tenho certeza que muitos outros colegas irão te ajudar e eu também na medida que for ficando mais claro, sei da ansiedade de ter o projeto funcionando, todos temos esse desejo, mas tenha um pouco de paciência e informe o mais que puder.

Abraço.

Bom dia Carlos, muito obrigado pela dica do site www.pastebin.com irei usa-lo da proxima vez que eu precisar postar um código. É isso mesmo Carlos eu preciso mudar essa minha conexão serial (via cabo usb) para usa-lo em uma rede com um shield ethernet. ou seja mudar essa minha conexão serial para tcp/ip. Eu venho procurando muito na internet mas não consigo achar o que eu preciso, O exemplo mais proximo do que eu preciso eu achei nesse link que vou postar abaixo mas mesmo assim eu não estou conseguindo. Valeu um abraço!

http://labdegaragem.com/forum/topics/comunica-o-com-sockets-entre-c...

Boa noite.
Do lado do Arduíno você pode usar o protocolo modbus TCP/IP. Isso ja esta pronto e testado, na duvida pode testar o hardware com o scadaBR ou qualquer outro software que tenha suporte.
Do lado do PC pode usar esse exemplo de socket como client http://csharp.net-informations.com/communications/csharp-client-soc... . Ai sera necessário implementar o protocolo modbus TCP/IP operando como master, porem é bem simples nem calculo de CRC é necessário. Para começar os testes, pode deixar como nesse exemplo e em cada click do botão vc solicita um pacote, depois implementa um timer pra controlar o pooling da rede.

Boa sorte!!

Bom dia Jucelei,

Muito obrigado pela dica vou tentar fazer da maneira que vc descreveu eu assim que eu testar eu posto aqui no forum se deu certo blz!! obrigado msm t+

se quiser ver também tem este outro tutorial que da uma boa introdução ao socket em c#

http://www.codeproject.com/Articles/10649/An-Introduction-to-Socket...

Bom dia Pessoal,

Muito obrigado pela ajuda de vocês, valeu mesmo!! após pesquisar muito mais muito mesmo na internet eu achei esse link --> http://www.electrocorner.net/project/led-control-and-checking-tempe... e consegui fazer o que eu tanto queria!!! rsrsrs

valeu abraços pessoal!!

Leandro Hasimoto.

Espero que esse link ajude outras pessoas também!!

Que bom Leandro!!!!

Faça um favor a todos então, mude o titulo de seu tópico colocando a palavra RESOLVIDO antes do titulo que tem agora, desta forma servira para consultas de outros colegas.

Um abraço!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço