APPENDIX
int nErrorStatus;
int Dmykeyin;
int Closeflag;
int socketno;
int main()
{
WORD wVersionRequested=MAKEWORD(1,1);
WSADATA wsaData;
int length;
unsigned char s_buf[BUF_SIZE];
unsigned char r_buf[BUF_SIZE];
int rbuf_idx;
int recv_size;nt recv_size;
struct sck_inf sc;
struct sockaddr_in hostdata;
struct sockaddr_in aj71e71;
void Sockerror(int);
unsigned long ulCmdArg ;
sc.my_addr.s_addr=htonl(INADDR_ANY);
sc.my_port=htons(0);
sc.aj_addr.s_addr=inet_addr("192.0.1.253");
sc.aj_port=htons(0x2000);
Closeflag=FLAG_OFF;
nErrorStatus=WSAStartup(wVersionRequested,&wsaData); // Procesamiento inicial Winsock
if(nErrorStatus!=SOCK_OK) {
Sockerror(ERROR_INITIAL);
return(SOCK_NG);
}
printf("Winsock Version is %ld.%ld\n",HIBYTE(wsaData.wVersion),LOBYTE(wsaData.wVersion));
printf("AJ_test Start\n");
socketno=socket(AF_INET,SOCK_STREAM,0);
if(socketno==INVALID_SOCKET){
Sockerror(ERROR_SOCKET);
return(SOCK_NG);
}
hostdata.sin_family=AF_INET;
hostdata.sin_port=sc.my_port;
hostdata.sin_addr.s_addr=sc.my_addr.s_addr;
App - 21
// Información de error variable de almacenaje
// Entrada fictícia de teclado
// Señalizador de finalización de conexión
// Winsock solicitud versión 1.1
// Largo de datos de comunicación
// Buffer de envío
// Buffer de recepción
// Indice principal almacenaje datos de recepción
// Número de datos de recepción
// Datos del lado del dispositivo externo
// Datos del lado del módulo Ethernet
// Función de manejo de error
// Señalizador asignación en modo no bloqueado
// Dirección IP del lado del dispositivo externo
// Número de puerto de lado de dispositivo externo
// Dirección IP del lado del módulo Ethernet
// (C00001FDH)
// Número de puerto del lado del módulo Ethernet
// Señalizador finalización de conexión apagado
// Manejo de error
// Crea socket para TCP/IP
// Manejo de error
MELSEC-Q
App - 21