// mbxfel.cpp: implementation de la classe CMb // #include "mbxfel.h" /* CMb::CMb()//constructeur :CRemoteModbus() //nom de l'instance mais c'est un appel implicite { } CMb::CMb(CString sHost,WORD nPort,DWORD nrTimeout)//constructeur :CRemoteModbus(sHost,nPort,nrTimeout)//appel CRemoteModbus::CRemoteModbus(sHost,nPort,nrTimeout) { } CMb::~CMb()//destructeur { // closeConnection(); } CString CMb::errorMessage(WORD errorCode) { CString sRetValue(""); return sRetValue; } BOOL CMb::openConnection(CString sHost, WORD nPort, DWORD nrTimeOut) { } BOOL CMb::closeConnection() { } */ CMb::CMb()//constructeur { serverHost = "127.0.0.1"; numberPort = 502; noResponseTimeout = 3000; } CMb::CMb(String* sHost,int nPort,unsigned int nrTimeout)//constructeur { serverHost = sHost; numberPort = nPort; noResponseTimeout = nrTimeout; } CMb::~CMb()//destructeur { closeConnection(); } String* CMb::errorMessage(int errorCode) { String* sRetValue(""); return sRetValue; } bool CMb::openConnection(String* sHost, int nPort, String* message) { /* try { // creation TcpClient. // le serveur doit lancé. client = new TcpClient(sHost, nPort); // convertit le message en ascii et on le met dans un tableau Byte data[] = Text::Encoding::ASCII->GetBytes(message); // Retourne le NetworkStream utilisé pour l'envoi et // la réception de données NetworkStream* stream = client->GetStream(); // envoie le message au TcpServer. stream->Write(data, 0, data->Length); Console::WriteLine(S"Sent: {0}", message); // Reponse du TcpServer. // Buffer pour la réponse. data = new Byte[256]; // pour memoriser la reponse en ascii String* responseData = String::Empty; // lecture des octets venant du TcpServer. Int32 bytes = stream->Read(data, 0, data->Length); responseData = Text::Encoding::ASCII->GetString(data, 0, bytes); Console::WriteLine(S"Received: {0}", responseData); } catch (ArgumentNullException* e) { Console::WriteLine(S"ArgumentNullException: {0}", e); } catch (SocketException* e) { Console::WriteLine(S"SocketException: {0}", e); } */ // ctx = modbus_new_tcp(sHost, nPort); Console::WriteLine(S"CMb::openConnection : modbus_new_tcp..."); // ctx = modbus_new_tcp("134.158.91.254", 502);//JCM // modbus_set_debug(ctx, 1); Console::WriteLine(S"Press Enter to continue..."); // Console::Read(); return true; } bool CMb::closeConnection() { // Close everything // client->Close(); // modbus_free(ctx); return true; } void CMb::setServerHost(String* sHost) { serverHost = sHost; } void CMb::setNumberPort(int nPort) { numberPort = nPort; } void CMb::setNrTimeout(unsigned nrTimeout) { noResponseTimeout = nrTimeout; }