Herunterladen Inhalt Inhalt Diese Seite drucken

Mitsubishi Electric MELSEC System Q Bedienungsanleitung Seite 452

Speicher programmierbare steuerungen
Vorschau ausblenden Andere Handbücher für MELSEC System Q:
Inhaltsverzeichnis

Werbung

Programmbeispiel für ein verbundenes Gerät
// Sys tem A con nect pro cess ing
socketnoA = socket(AF_INET, SOCK_STREAM, 0);
if(socketnoA != INVALID_SOCKET) {
} else {
}
// Sys tem B con nect pro cess ing
socketnoB = socket(AF_INET, SOCK_STREAM, 0);
if(socketnoB != INVALID_SOCKET) {
(Fort set zung auf der nächs ten Seite)
A - 62
hostdataA.sin_fam ily = AF_INET;
hostdataA.sin_port = scA.my_port;
hostdataA.sin_addr.s_addr = scA.my_addr.s_addr;
if(bind(socketnoA, (LPSOCKADDR)&hostdataA, sizeof(hostdataA)) == SOCK_OK) {
qj71e71A.sin_fam ily = AF_INET;
qj71e71A.sin_port = scA.qj_port;
qj71e71A.sin_addr.s_addr = scA.qj_addr.s_addr;
if(con nect(socketnoA, (LPSOCKADDR)&qj71e71A, sizeof(qj71e71A)) ==
ShutdownflagA = FLAG_ON;
CloseflagA = FLAG_ON;
// Set to non-block ing mode
ulCmdArgA = 1;
ioctlsocket(socketnoA, FIONBIO, &ulCmdArgA);
} else {
ConnectLastErrorA = ERROR_CON NECT; // Con nec tion estab lish ment fail ure
}
} else {
ConnectLastErrorA = ERROR_BIND;
}
ConnectLastErrorA = ERROR_SOCKET;
hostdataB.sin_fam ily = AF_INET;
hostdataB.sin_port = scB.my_port;
hostdataB.sin_addr.s_addr = scB.my_addr.s_addr;
if(bind(socketnoB, (LPSOCKADDR)&hostdataB, sizeof(hostdataB)) == SOCK_OK) {
qj71e71B.sin_fam ily = AF_INET;
qj71e71B.sin_port = scB.qj_port;
qj71e71B.sin_addr.s_addr = scB.qj_addr.s_addr;
// TCP/IP socket (for Sys tem A con nec tion) cre ation
// Bind (Sys tem A)
// Con nect (Active open: Sys tem A)
// Shut down flag ON
// Con nec tion end flag ON
// Set to non-block ing mode (for Sys tem A con nec tion)
// Bind fail ure
// Socket cre ation fail ure
// TCP/IP socket (for Sys tem B con nec tion) cre ation
// Bind (Sys tem A)
An hang
SOCK_OK) {
MITSUBISHI ELECTRIC

Werbung

Inhaltsverzeichnis
loading

Diese Anleitung auch für:

Qj71e71-b2Qj71e71-b5Qj71e71-100

Inhaltsverzeichnis