EasyManua.ls Logo

Omron CS CJ1W-ETN21 - Page 213

Omron CS CJ1W-ETN21
242 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
189
FINS/TCP Method Section 7-4
139 alarm(RESP_TIMEOUT); /*
140 printf("FINS/TCP header send length %d¥n",sendlen);
141 }
142 else {
143 err_exit("FINS/TCP header send error");
144 }
145
146
147 /* SEND FINS COMMAND FRAME*/
148 /*
149 *
150 * (READ 150 WORDS FROM DM 100)
151 */
152 fins_cmnd[0] = 0x80; /* ICF */
153 fins_cmnd[1] = 0x00; /* RSV */
154 fins_cmnd[2] = 0x02; /* GCT */
155 fins_cmnd[3] = 0x00; /* DNA */
156 fins_cmnd[4] = srv_node_no; /* DA1 *//*
157 fins_cmnd[5] = 0x00; /* DA2 */
158 fins_cmnd[6] = 0x00; /* SNA */
159 fins_cmnd[7] = cli_node_no; /* SA1 *//*
160
161 fins_cmnd[8] = 0x00; /* SA2 */
162 fins_cmnd[9] = ++sid; /* SID */
163 fins_cmnd[10] = 0x01; /* MRC */
164 fins_cmnd[11] = 0x01; /* SRC */
165 fins_cmnd[12] = 0x82; /*
166 fins_cmnd[13] = 0x00; /*
167 fins_cmnd[14] = 0x64;
168 fins_cmnd[15] = 0x00;
169 fins_cmnd[16] = 0x00; /*
170 fins_cmnd[17] = 0x96;
171
/*
SEND FINS COMMAND FRAME*/
172 signal(SIGALRM,recv_fail);
173 sendlen = 18;
174 if (send(sockfd,fins_cmnd,sendlen,0) == sendlen)
175 {
176 printf("send length %d¥n",sendlen);
177 }
178 else
179 {
180 err_exit("send error");
181 }
182
183 /* RECEIVE FINS/TCP COMMAND (READ RECEIVE FUNCTIONS)*/
184 recvlen = 16;
185 if (tcp_recv(sockfd, fins_tcp_header, recvlen) == recvlen)
186 {
187 /*
CONFIRM WHETHER FINS FRAME SEND COMMAND WAS RECEIVED*/
188 if ((fins_tcp_header[8] != 0x00) || (fins_tcp_header[9] != 0x00) ||
189 (fins_tcp_header[10] != 0x00) || (fins_tcp_header[11] != 0x02))
190 {
191 err_exit("FINS/TCP illegal command error");
GENERATE MEMORY AREA READ COMMAND
Ethernet Unit FINS NODE NUMBER*/
WS FINS NODE NUMBER OBTAINED
AUTOMATICALLY*/
VARIABLE TYPE: DM*/
READ START ADDRESS: 100*/
WORDS READ: 150*/
START RESPONSE MONITOR TIMER*/

Table of Contents

Related product manuals