Changeset 9440 for trunk/MagicSoft
- Timestamp:
- 05/09/09 16:31:40 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Cosy/aposs/MAGIC II.exp
r8878 r9440 2 2 3 3 (* @PATH := '\/Kommunikation' *) 4 (* @SYMFILEFLAGS := ' 59392' *)5 PROGRAM Ethernet 4 (* @SYMFILEFLAGS := '2048' *) 5 PROGRAM EthernetIn 6 6 7 7 VAR 8 Empfangszaehler :DINT;9 Sendezaehler :DINT;10 SendezaehlerZyklisch :DINT;11 Ret_Send1 :DINT;12 Ret_Send2 :DINT;13 14 8 VerbindungBesteht :BOOL :=FALSE; 15 9 16 fdsFdSet :SOCKET_FD_SET;17 fdsTime :SOCKET_TIMEVAL;18 10 SockKomm :DINT; 19 11 SockadrKomm :SOCKADDRESS; 20 12 SockadrKommSize :DINT; 21 13 22 SockadrKomm2 :SOCKADDRESS; 23 SockadrKommSize2 :DINT; 14 fdsFdSet :SOCKET_FD_SET; 15 fdsTime :SOCKET_TIMEVAL; 16 17 RC_SysSockSelect :DINT; 18 RC_SysSockSelect3 :DINT; 19 RC_SysSockRecv :DINT; 20 RC_SysSockClose :BOOL; 21 24 22 Catch :BOOL; 25 RC_SysSockConnect :BOOL :=FALSE; 26 RC_SysSockClose :BOOL; 27 RC_SysSockSelect :DINT; 28 RC_SysSockRecv :DINT; 29 RC_SysSockSelect2 :DINT; 30 RC_SysSockSelect3 :DINT; 23 24 Empfangszaehler :DINT; 31 25 END_VAR 26 27 32 28 (* @END_DECLARATION := '0' *) 33 29 (* Auf Verbi ndung warten *) … … 49 45 END_IF 50 46 51 52 47 (* Daten empfangen *) 53 48 IF VerbindungBesteht=TRUE THEN … … 72 67 END_IF 73 68 END_IF 74 75 69 END_PROGRAM 70 71 72 (* @PATH := '\/Kommunikation' *) 73 (* @SYMFILEFLAGS := '59392' *) 74 PROGRAM EthernetOut 75 76 VAR 77 SockadrKomm2: SOCKADDRESS; 78 SockadrKommSize2: DINT; 79 80 RC_SysSockConnect: BOOL :=FALSE; 81 RC_SysSockSelect2: DINT; 82 Ret_Send1: DINT; 83 Ret_Send2: DINT; 84 85 fdsFdSet: SOCKET_FD_SET; 86 fdsTime: SOCKET_TIMEVAL; 87 88 Sendezaehler: DINT; 89 SendezaehlerZyklisch: DINT; 90 91 ulBlockMode: DINT := 1; 92 93 RC_Ioctl: DINT; 94 END_VAR 95 96 97 (* @END_DECLARATION := '0' *) 76 98 (* Daten Senden *) 77 (* IF DatenSenden THEN *) 78 79 80 81 99 100 SockadrKomm2.sin_addr:=SysSockHtonl(IP_Address); (*192.168.0.3*) 101 SockadrKomm2.sin_family:=2; 102 SockadrKomm2.sin_port:=SysSockHtons(Socket_Out_Port); 103 SockadrKommSize2 := SIZEOF(SockadrKomm2); 82 104 83 105 IF NOT RC_SysSockConnect THEN … … 85 107 END_IF 86 108 87 (*TRUE=success*) 88 RC_SysSockSelect2:=-1; 89 IF RC_SysSockConnect THEN 90 fdsFdSet.fd_count :=1; 91 fdsFdSet.fd_array[0]:=SendSock; 92 fdsTime.tv_sec :=0; 93 fdsTime.tv_usec :=0; 94 RC_SysSockSelect2:=SysSockSelect(diWidth:=SIZEOF(fdsFdSet), fdRead:=0, fdWrite:=ADR(fdsFdSet), fdExcept:=0, ptvTimeout:=ADR(fdsTime)); 95 (*1=success*, 0=time-out, -1=error*) 109 RC_SysSockSelect2:=-1; 110 IF RC_SysSockConnect THEN (* SysSockConnect==True dann nuetzt auch ein Cosy-Neustart nicht *) 111 fdsFdSet.fd_count :=1; 112 fdsFdSet.fd_array[0]:=SendSock; 113 fdsTime.tv_sec :=0; 114 fdsTime.tv_usec :=0; 115 RC_SysSockSelect2:=SysSockSelect(diWidth:=SIZEOF(fdsFdSet), fdRead:=0, fdWrite:=ADR(fdsFdSet), fdExcept:=0, ptvTimeout:=ADR(fdsTime)); 116 (*1=success*, 0=time-out, -1=error*) 117 END_IF 118 119 Ret_Send1:=-1; 120 Ret_Send2:=-1; 121 122 IF RC_SysSockSelect2>0 THEN 123 Ret_Send1:=0; 124 Ret_Send2:=0; 125 IF DatenSenden THEN 126 Ret_Send1:=SysSockSend(diSocket:=SendSock, pbyBuffer:=ADR(ByteBufferTX), diBufferSize:=11, diFlags:=0); 96 127 END_IF 97 Ret_Send1:=-1; 98 Ret_Send2:=-1; 99 IF RC_SysSockSelect2>0 THEN 100 Ret_Send1:=0; 101 Ret_Send2:=0; 102 IF DatenSenden THEN 103 Ret_Send1:=SysSockSend(diSocket:=SendSock, pbyBuffer:=ADR(ByteBufferTX), diBufferSize:=11, diFlags:=0); 104 END_IF 105 IF ZyklischeDatenSenden THEN 106 Ret_Send2:=SysSockSend(diSocket:=SendSock, pbyBuffer:=ADR(ByteBufferTXzyklisch), diBufferSize:=11, diFlags:=0); 107 END_IF 108 END_IF 109 110 IF Ret_Send1=-1 OR Ret_Send2=-1 THEN 111 SysSockClose(diSocket:=SendSock); 112 END_IF 113 (* Socket 'gracefully closed' (Ret_Send1=0) NOT existing(?) in SPS! *) 114 IF Ret_Send1<0 OR Ret_Send2<0 OR SendSock<0 THEN 115 SendSock:=SysSockCreate(diAddressFamily:=SOCKET_AF_INET, diType:=SOCKET_STREAM, diProtocol:=SOCKET_IPPROTO_IP); 116 RC_SysSockConnect := FALSE; 117 END_IF 118 IF Ret_Send1>0 THEN 119 DatenSenden:=FALSE; 120 Sendezaehler:=Sendezaehler+1; 121 END_IF 122 IF Ret_Send2>0 THEN 123 ZyklischeDatenSenden:=FALSE; 124 SendezaehlerZyklisch:=SendezaehlerZyklisch+1; 125 END_IF 126 127 (* END_IF *) 128 129 130 (* Zyklische Daten Senden *) 131 (* 132 IF ZyklischeDatenSenden THEN 133 SockadrKomm2.sin_addr:=SysSockHtonl(IP_Address); (*192.168.0.3*) 134 SockadrKomm2.sin_family:=2; 135 SockadrKomm2.sin_port:=SysSockHtons(Socket_Out_Port); 136 SockadrKommSize2 := SIZEOF(SockadrKomm2); 137 SysSockConnect(diSocket:=SendSock, pSockAddr:=ADR(SockadrKomm2), diSockAddrSize:=SockadrKommSize2); 138 Ret_Send2:=SysSockSend(diSocket:=SendSock, pbyBuffer:=ADR(ByteBufferTXzyklisch), diBufferSize:=11, diFlags:=0); 139 IF Ret_Send2=-1 THEN 140 SysSockClose(diSocket:=SendSock); 141 SendSock:=SysSockCreate(diAddressFamily:=SOCKET_AF_INET, diType:=SOCKET_STREAM, diProtocol:=SOCKET_IPPROTO_IP); 142 ELSE 143 ZyklischeDatenSenden:=FALSE; 144 SendezaehlerZyklisch:=SendezaehlerZyklisch+1; 128 IF ZyklischeDatenSenden THEN 129 Ret_Send2:=SysSockSend(diSocket:=SendSock, pbyBuffer:=ADR(ByteBufferTXzyklisch), diBufferSize:=11, diFlags:=0); 145 130 END_IF 146 131 END_IF 147 *) 132 133 IF Ret_Send1=-1 OR Ret_Send2=-1 THEN 134 SysSockClose(diSocket:=SendSock); 135 (*SendSock:=0;*) 136 137 (* Socket 'gracefully closed' (Ret_Send1=0) NOT existing(?) in SPS! *) 138 139 SendSock:=SysSockCreate(diAddressFamily:=SOCKET_AF_INET, diType:=SOCKET_STREAM, diProtocol:=SOCKET_IPPROTO_IP); 140 (* ------------------------- NEW NEW NEW NEW NEW ------------------------- *) 141 (* Set newly created socket to non-blocking mode to make sure SysSockConnect doesn' t block infinitly *) 142 (* Unix ioctl documentation says: On error -1 is returned, 0 ususally in case of success *) 143 RC_Ioctl:=SysSockIoctl(diSocket:=SendSock, diCommand:=SOCKET_FIONBIO, piParameter:=ADR(ulBlockMode)); 144 (* ------------------------------------------------------------------------------------------ *) 145 RC_SysSockConnect := FALSE; 146 END_IF 147 148 IF Ret_Send1>0 THEN 149 DatenSenden:=FALSE; 150 Sendezaehler:=Sendezaehler+1; 151 END_IF 152 153 IF Ret_Send2>0 THEN 154 ZyklischeDatenSenden:=FALSE; 155 SendezaehlerZyklisch:=SendezaehlerZyklisch+1; 156 END_IF 148 157 END_PROGRAM 149 158 … … 156 165 TX_COB_ID :WORD; (* Enthält NODE_ID und FUNCTION_CODE *) 157 166 TX_NODE_ID :WORD; (* 1 = Motor drehen, 3 = Motor kippen, 4 = Encoder Kippen 1, 5 = Encoder Kippen 2, 6 = Encoder Drehen *) 158 (* Globale konstante Variablen:159 NODE_ID_Mac_Az: BYTE:=1;160 NODE_ID_Mac_Zd: BYTE:=3;161 NODE_ID_SE_Az: BYTE:=16;162 NODE_ID_SE_Zd1: BYTE:=17;163 NODE_ID_SE_Zd2: BYTE:=18;164 *)165 167 TX_FUNCTION_CODE :WORD; (* 3=PDO1 5=PDO2 7=PDO3 *) 168 166 169 TX1M_LEER1 :BYTE; 167 170 TX1M_LEER2 :BYTE; … … 183 186 184 187 Zyklus :INT; 188 185 189 X_Err_ID_Old :WORD; 186 190 Z_Err_ID_Old :WORD; 187 TX3M_STATUS_OldX :BYTE;188 TX3M_STATUS_OldZ :BYTE;189 TX2E_POSITION_OldX :DINT;190 TX2E_POSITION_OldY :DINT;191 TX2E_POSITION_OldZ :DINT;192 TX2E_GESCHWINDIGKEIT_OldX :INT;193 TX2E_GESCHWINDIGKEIT_OldY :INT;194 TX2E_GESCHWINDIGKEIT_OldZ :INT;195 191 END_VAR 196 192 (* @END_DECLARATION := '0' *) … … 198 194 (* Jeder Zyklus ist 10-mal pro Sekunde dran .........!!!!Oder100mal???*) 199 195 Zyklus:=Zyklus+1; 200 IF Zyklus> 10THEN196 IF Zyklus>6 THEN 201 197 Zyklus:=1; 202 198 END_IF … … 223 219 TX_NODE_ID:=NODE_ID_Mac_Az; (* Motor 1 drehen *) 224 220 TX_FUNCTION_CODE:=3; (* PDO1 *) 225 TX1M_POSITION:=-X_Pos_ist; (*X_Pos_ist; nehmen an, dass die SE schon genau genug.*) 226 TX1M_STATUS.1:= (NOT X_in_Standstill OR NOT X_in_AntriebHalt) AND ( (NOT X_PC_VStart AND NOT X_in_Pos) OR X_PC_StartMovement); 227 TX1M_STATUS.2:=X_PC_VStart; 228 TX1M_STATUS.6:=NOT X_ist_freigegeben; 229 TX1M_STATUS2.0:=X_EinmaligeFreigabe; 221 222 TX1M_POSITION:=X_pos_ist; (*X_Pos_ist; nehmen an, dass die SE schon genau genug.*) 223 TX2E_POSITION:=X_Pos_Geber2; 224 230 225 ZyklischeDatenSenden:=TRUE; 231 226 END_IF … … 234 229 TX_NODE_ID:=NODE_ID_Mac_Zd; (* Motor 3 kippen *) 235 230 TX_FUNCTION_CODE:=3; (* PDO1 *) 236 TX1M_POSITION:=-Z_Pos_ist; (*Z_Pos_ist; nehmen an, dass die SE schon genau genug.*) 237 TX1M_STATUS.1:=(NOT Z_in_Standstill OR NOT Z_in_AntriebHalt) AND ((NOT Z_PC_VStart AND NOT Z_in_Pos) OR Z_PC_StartMovement); 238 TX1M_STATUS.2:=Z_PC_VStart; 239 TX1M_STATUS.6:=NOT Z_ist_freigegeben; 240 TX1M_STATUS2.0:=Z_EinmaligeFreigabe; 231 232 TX1M_POSITION:=Z_pos_ist; (*X_Pos_ist; nehmen an, dass die SE schon genau genug.*) 233 TX2E_POSITION:=Z_Pos_Geber2; 234 241 235 ZyklischeDatenSenden:=TRUE; 242 236 END_IF … … 273 267 TX_NODE_ID:=NODE_ID_Mac_Az; (* Motor 1 drehen *) 274 268 TX_FUNCTION_CODE:=7; (* PDO3 *) 269 270 TX1M_STATUS.1:= ((NOT X_in_Standstill OR NOT X_in_AntriebHalt) AND (NOT X_PC_VStart AND NOT X_in_Pos)) OR X_PC_AnnounceStartMovement (*OR X_PC_StartMovement*); 271 TX1M_STATUS.2:=X_PC_VStart; 272 TX1M_STATUS.6:=NOT X_ist_freigegeben; 273 TX1M_STATUS2.0:=X_EinmaligeFreigabe; 274 275 275 TX3M_STATUS.0:=X_ist_betriebsbereit; 276 276 TX3M_STATUS.1:=Leistung_DKC_IO; … … 279 279 TX3M_STATUS.4:=NOT IN_PC_Betrieb; 280 280 TX3M_STATUS.5:=X_ist_freigegeben; 281 TX3M_STATUS.6:=Zusatz_Bremse_Z; 282 IF TX3M_STATUS<>TX3M_STATUS_OldX THEN 281 TX3M_STATUS.6:=IN_Zusatz_Bremse_Z; 282 TX3M_STATUS.7:=Leistung_Ein; 283 284 IF TX1M_STATUS<>TX1M_STATUS_OldX OR TX3M_STATUS<>TX3M_STATUS_OldX OR X_PC_ForcePDO3 THEN 283 285 ZyklischeDatenSenden:=TRUE; 284 286 END_IF 287 X_PC_ForcePDO3 :=FALSE; 288 TX1M_STATUS_OldX:=TX1M_STATUS; 285 289 TX3M_STATUS_OldX:=TX3M_STATUS; 290 291 X_PC_AnnounceStartMovement := FALSE; 286 292 END_IF 287 293 … … 289 295 TX_NODE_ID:=NODE_ID_Mac_Zd; (* Motor 3 kippen *) 290 296 TX_FUNCTION_CODE:=7; (* PDO3 *) 297 298 TX1M_POSITION:=Z_Pos_ist; (*Z_Pos_ist; nehmen an, dass die SE schon genau genug.*) 299 TX1M_STATUS.1:=((NOT Z_in_Standstill OR NOT Z_in_AntriebHalt) AND (NOT Z_PC_VStart AND NOT Z_in_Pos)) OR Z_PC_AnnounceStartMovement (*OR Z_PC_StartMovement*); 300 TX1M_STATUS.2:=Z_PC_VStart; 301 TX1M_STATUS.6:=NOT Z_ist_freigegeben; 302 TX1M_STATUS2.0:=Z_EinmaligeFreigabe; 303 291 304 TX3M_STATUS.0:=Z_ist_betriebsbereit; 292 305 TX3M_STATUS.1:=Leistung_DKC_IO; … … 295 308 TX3M_STATUS.4:=NOT IN_PC_Betrieb; 296 309 TX3M_STATUS.5:=Z_ist_freigegeben; 297 TX3M_STATUS.6:=Zusatz_Bremse_Z; 298 IF TX3M_STATUS<>TX3M_STATUS_OldZ THEN 310 TX3M_STATUS.6:=IN_Zusatz_Bremse_Z; 311 TX3M_STATUS.7:=Leistung_Ein; 312 313 IF TX1M_STATUS<>TX1M_STATUS_OldZ OR TX3M_STATUS<>TX3M_STATUS_OldZ OR Z_PC_ForcePDO3 THEN 299 314 ZyklischeDatenSenden:=TRUE; 300 315 END_IF 316 Z_PC_ForcePDO3 :=FALSE; 317 TX1M_STATUS_OldZ:=TX1M_STATUS; 301 318 TX3M_STATUS_OldZ:=TX3M_STATUS; 319 320 Z_PC_AnnounceStartMovement := FALSE; 302 321 END_IF 303 322 304 (*-------------------------------------------------------------------ENCODER-------------------------------------------------------------------*)305 306 323 IF Zyklus=7 THEN 307 TX_NODE_ID:=NODE_ID_SE_Az; (* Encoder 3 drehen *)308 TX_FUNCTION_CODE:=5; (* PDO2 *)309 TX2E_POSITION:=X_Pos_Geber2;310 TX2E_GESCHWINDIGKEIT:=DINT_TO_INT(1*(TX2E_POSITION-TX2E_POSITION_OldX)/1000);311 TX2E_BESCHLEUNIGUNG:=1*(TX2E_GESCHWINDIGKEIT-TX2E_GESCHWINDIGKEIT_OldX);312 IF (TX2E_POSITION_OldX<>TX2E_POSITION) OR (TX2E_GESCHWINDIGKEIT_OldX<>TX2E_GESCHWINDIGKEIT) THEN313 ZyklischeDatenSenden:=TRUE;314 END_IF315 TX2E_POSITION_OldX:=TX2E_POSITION;316 TX2E_GESCHWINDIGKEIT_OldX:=TX2E_GESCHWINDIGKEIT;317 END_IF318 319 IF Zyklus=8 THEN320 TX_NODE_ID:=NODE_ID_SE_Zd1; (* Encoder 1 kippen *)321 TX_FUNCTION_CODE:=5; (* PDO2 *)322 TX2E_POSITION:=Z_Pos_Geber2;323 TX2E_GESCHWINDIGKEIT:=DINT_TO_INT(1*(TX2E_POSITION-TX2E_POSITION_OldY)/1000);324 TX2E_BESCHLEUNIGUNG:=1*(TX2E_GESCHWINDIGKEIT-TX2E_GESCHWINDIGKEIT_OldY);325 IF (TX2E_POSITION_OldY<>TX2E_POSITION) OR (TX2E_GESCHWINDIGKEIT_OldY<>TX2E_GESCHWINDIGKEIT) THEN326 ZyklischeDatenSenden:=TRUE;327 END_IF328 TX2E_POSITION_OldY:=TX2E_POSITION;329 TX2E_GESCHWINDIGKEIT_OldY:=TX2E_GESCHWINDIGKEIT;330 END_IF331 332 IF Zyklus=9 THEN333 TX_NODE_ID:=NODE_ID_SE_Zd2; (* Encoder 2 kippen *)334 TX_FUNCTION_CODE:=5; (* PDO2 *)335 TX2E_POSITION:=-Z_Pos_Geber2;336 TX2E_GESCHWINDIGKEIT:=DINT_TO_INT(1*(TX2E_POSITION-TX2E_POSITION_OldZ)/1000);337 TX2E_BESCHLEUNIGUNG:=1*(TX2E_GESCHWINDIGKEIT-TX2E_GESCHWINDIGKEIT_OldZ);338 IF (TX2E_POSITION_OldZ<>TX2E_POSITION) OR (TX2E_GESCHWINDIGKEIT_OldZ<>TX2E_GESCHWINDIGKEIT) THEN339 ZyklischeDatenSenden:=TRUE;340 END_IF341 TX2E_POSITION_OldZ:=TX2E_POSITION;342 TX2E_GESCHWINDIGKEIT_OldZ:=TX2E_GESCHWINDIGKEIT;343 END_IF344 345 IF Zyklus=10 THEN346 324 TX_NODE_ID:=0; 347 325 TX_FUNCTION_CODE:=0; … … 359 337 (* spezifischer Teil - Motor PDO 1 *) 360 338 IF (TX_NODE_ID=NODE_ID_Mac_Az OR TX_NODE_ID=NODE_ID_Mac_Zd) AND TX_FUNCTION_CODE=3 THEN 361 ByteBufferTXzyklisch[3]:=TX1M_LEER1; 362 ByteBufferTXzyklisch[4]:=TX1M_LEER2; 363 ByteBufferTXzyklisch[5]:=TX1M_STATUS2; 364 ByteBufferTXzyklisch[6]:=TX1M_STATUS; 365 ByteBufferTXzyklisch[7]:=DWORD_TO_BYTE(TX1M_POSITION AND 16#000000FF); 366 ByteBufferTXzyklisch[8]:=DWORD_TO_BYTE(SHR(TX1M_POSITION AND 16#0000FF00,8)); 367 ByteBufferTXzyklisch[9]:=DWORD_TO_BYTE(SHR(TX1M_POSITION AND 16#00FF0000,16)); 368 ByteBufferTXzyklisch[10]:=DWORD_TO_BYTE(SHR(TX1M_POSITION AND 16#FF000000,24)); 339 ByteBufferTXzyklisch[3]:=DWORD_TO_BYTE(TX1M_POSITION AND 16#000000FF); 340 ByteBufferTXzyklisch[4]:=DWORD_TO_BYTE(SHR(TX1M_POSITION AND 16#0000FF00,8)); 341 ByteBufferTXzyklisch[5]:=DWORD_TO_BYTE(SHR(TX1M_POSITION AND 16#00FF0000,16)); 342 ByteBufferTXzyklisch[6]:=DWORD_TO_BYTE(SHR(TX1M_POSITION AND 16#FF000000,24)); 343 344 ByteBufferTXzyklisch[7]:=DWORD_TO_BYTE(TX2E_POSITION AND 16#000000FF); 345 ByteBufferTXzyklisch[8]:=DWORD_TO_BYTE(SHR(TX2E_POSITION AND 16#0000FF00,8)); 346 ByteBufferTXzyklisch[9]:=DWORD_TO_BYTE(SHR(TX2E_POSITION AND 16#00FF0000,16)); 347 ByteBufferTXzyklisch[10]:=DWORD_TO_BYTE(SHR(TX2E_POSITION AND 16#FF000000,24)); 348 369 349 END_IF 370 350 … … 383 363 (* spezifischer Teil - Motor PDO 3 *) 384 364 IF (TX_NODE_ID=NODE_ID_Mac_Az OR TX_NODE_ID=NODE_ID_Mac_Zd) AND TX_FUNCTION_CODE=7 THEN 385 ByteBufferTXzyklisch[3]:=TX3M_LEER1; 386 ByteBufferTXzyklisch[4]:=TX3M_LEER2; 387 ByteBufferTXzyklisch[5]:=TX3M_LEER3; 388 ByteBufferTXzyklisch[6]:=TX3M_STATUS; 389 ByteBufferTXzyklisch[7]:=DWORD_TO_BYTE(TX3M_LEER4 AND 16#000000FF); 390 ByteBufferTXzyklisch[8]:=DWORD_TO_BYTE(SHR(TX3M_LEER4 AND 16#0000FF00,8)); 391 ByteBufferTXzyklisch[9]:=DWORD_TO_BYTE(SHR(TX3M_LEER4 AND 16#00FF0000,16)); 392 ByteBufferTXzyklisch[10]:=DWORD_TO_BYTE(SHR(TX3M_LEER4 AND 16#FF000000,24)); 365 ByteBufferTXzyklisch[3]:=TX3M_STATUS;(*TX1M_LEER1;*) 366 ByteBufferTXzyklisch[4]:=16#FE; (*TX1M_LEER2;*) 367 ByteBufferTXzyklisch[5]:=TX1M_STATUS2; 368 ByteBufferTXzyklisch[6]:=TX1M_STATUS; 393 369 END_IF 394 370 395 (* spezifischer Teil - Encoder PDO 2 *)396 IF (TX_NODE_ID=NODE_ID_SE_Az OR TX_NODE_ID=NODE_ID_SE_Zd1 OR TX_NODE_ID=NODE_ID_SE_Zd2) AND TX_FUNCTION_CODE=5 THEN397 ByteBufferTXzyklisch[3]:=DWORD_TO_BYTE(TX2E_POSITION AND 16#000000FF);398 ByteBufferTXzyklisch[4]:=DWORD_TO_BYTE(SHR(TX2E_POSITION AND 16#0000FF00,8));399 ByteBufferTXzyklisch[5]:=DWORD_TO_BYTE(SHR(TX2E_POSITION AND 16#00FF0000,16));400 ByteBufferTXzyklisch[6]:=DWORD_TO_BYTE(SHR(TX2E_POSITION AND 16#FF000000,24));401 ByteBufferTXzyklisch[7]:=WORD_TO_BYTE(TX2E_GESCHWINDIGKEIT AND 16#00FF);402 ByteBufferTXzyklisch[8]:=WORD_TO_BYTE(SHR(TX2E_GESCHWINDIGKEIT AND 16#FF00,8));403 ByteBufferTXzyklisch[9]:=WORD_TO_BYTE(TX2E_BESCHLEUNIGUNG AND 16#00FF);404 ByteBufferTXzyklisch[10]:=WORD_TO_BYTE(SHR(TX2E_BESCHLEUNIGUNG AND 16#FF00,8));405 END_IF406 371 END_PROGRAM 407 372 … … 442 407 IF NeueDatenDa THEN 443 408 NeueDatenDa:=FALSE; 444 409 (* 445 410 IF X_PC_AntriebHalt THEN 446 411 X_PC_StartMovement := FALSE; … … 449 414 Z_PC_StartMovement := FALSE; 450 415 END_IF 451 416 *) 452 417 (* Empfangenes Telegramm zerlegen *) 453 418 (* Angabe der Nutzbytes im ersten Byte wird ignoriert *) … … 463 428 IF RX_NODE_ID<>NODE_ID_Mac_Az 464 429 AND RX_NODE_ID<>NODE_ID_Mac_Zd 465 AND RX_NODE_ID<>NODE_ID_SE_Az430 (*AND RX_NODE_ID<>NODE_ID_SE_Az 466 431 AND RX_NODE_ID<>NODE_ID_SE_Zd1 467 AND RX_NODE_ID<>NODE_ID_SE_Zd2 432 AND RX_NODE_ID<>NODE_ID_SE_Zd2*) 468 433 THEN RETURN; 469 434 END_IF 470 435 471 IF ((RX_NODE_ID=NODE_ID_Mac_Az OR RX_NODE_ID=NODE_ID_Mac_Zd) AND NOT IN_PC_Betrieb) OR436 (* IF ((RX_NODE_ID=NODE_ID_Mac_Az OR RX_NODE_ID=NODE_ID_Mac_Zd) AND NOT IN_PC_Betrieb) OR 472 437 (RX_NODE_ID=NODE_ID_Mac_Az AND (NOT X_ist_betriebsbereit OR NOT X_in_Referenz OR NOT X_ist_freigegeben)) OR 473 438 (RX_NODE_ID=NODE_ID_Mac_Zd AND (NOT Z_ist_betriebsbereit OR NOT Z_in_Referenz OR NOT Z_ist_freigegeben)) 474 439 THEN RETURN; 440 END_IF*) 441 (* 442 IF ((RX_NODE_ID=NODE_ID_Mac_Az AND NOT (X_IsOnline AND Y_IsOnline)) OR 443 (RX_NODE_ID=NODE_ID_Mac_Zd AND NOT Z_IsOnline)) 444 THEN RETURN; 475 445 END_IF 476 446 *) 477 447 (* Antworttelegramm mit Daten aus empfangenen Telegramm vorbesetzen *) 478 448 TX_NODE_ID :=RX_NODE_ID; … … 488 458 489 459 (* Auf ausgewählte Telegramme antworten *) 460 461 (* 490 462 (*-----------------------------------------------------------------------------------------------------------------ENCODER----------------------------------------------------------*) 491 463 (*IF RX_NODE_ID>=4 AND RX_NODE_ID<=6 THEN (* Encoder *) durch konstant globale Variablen ersetzt *) 464 492 465 IF RX_NODE_ID=NODE_ID_SE_Az 493 466 OR RX_NODE_ID=NODE_ID_SE_Zd1 494 467 OR RX_NODE_ID=NODE_ID_SE_Zd2 THEN 495 496 468 (* ---------------------------------------------------------------------PC will Antwort haben------------------------------------------------*) 469 497 470 IF RX_COMMAND=16#40 THEN 498 471 TX_COMMAND:=16#43; (* 4-Byte-Antwort *) … … 514 487 CASE RX_NODE_ID OF 515 488 NODE_ID_SE_Zd1: TX_VALUE:=Z_Pos_Geber2(*+Z_Offset_Geber2*); 516 NODE_ID_SE_Zd2: TX_VALUE:=-Z_Pos_Geber2(*-Z_Offset_Geber2*);517 489 NODE_ID_SE_Az: TX_VALUE:=X_Pos_Geber2(*+X_Offset_Geber2*); 518 490 END_CASE; 519 DatenSenden:=TRUE;520 (* Dummy's *)521 16#100C, 16#100D, 16#100E: TX_VALUE:=16#00000000;522 491 DatenSenden:=TRUE; 523 492 END_CASE; … … 553 522 END_IF 554 523 END_IF 555 524 *) 556 525 (*-----------------------------------------------------------------------------------------------MOTOREN-------------------------------------------------------------------------------------------*) 557 526 … … 564 533 CASE RX_INDEX OF 565 534 (* 0=Einmalige Freigabe erteilt, 1=Nicht *) 566 16#1000: IF RX_SUBINDEX=1 THEN 567 CASE RX_NODE_ID OF 568 NODE_ID_Mac_Az: IF X_EinmaligeFreigabe=FALSE THEN TX_VALUE:=16#00000000; ELSE TX_VALUE:=16#00000001; END_IF 569 NODE_ID_Mac_Zd: IF Z_EinmaligeFreigabe=FALSE THEN TX_VALUE:=16#00000000; ELSE TX_VALUE:=16#00000001; END_IF 570 END_CASE 571 DatenSenden:=TRUE; 572 END_IF 535 16#1000: CASE RX_NODE_ID OF 536 NODE_ID_Mac_Az: IF X_EinmaligeFreigabe=FALSE THEN TX_VALUE:=16#00000000; ELSE TX_VALUE:=16#00000001; END_IF 537 NODE_ID_Mac_Zd: IF Z_EinmaligeFreigabe=FALSE THEN TX_VALUE:=16#00000000; ELSE TX_VALUE:=16#00000001; END_IF 538 END_CASE 539 DatenSenden:=TRUE; 573 540 (* Letzter Fehler *) 574 16#1003: IF RX_SUBINDEX=2 THEN 575 CASE RX_NODE_ID OF 576 NODE_ID_Mac_Az: TX_VALUE:=SHL(WORD_TO_DWORD(X_Err_ID),16) OR 16#FF; 577 NODE_ID_Mac_Zd: TX_VALUE:=SHL(WORD_TO_DWORD(Z_Err_ID),16) OR 16#FF; 578 END_CASE 579 DatenSenden:=TRUE; 580 END_IF 581 (* 1 zurückgeben *) 582 16#1004: IF RX_SUBINDEX=1 THEN 583 TX_VALUE:=16#00000001; 584 DatenSenden:=TRUE; 585 END_IF 586 (* 0 zurückgeben *) 587 IF RX_SUBINDEX=1 THEN 588 TX_VALUE:=16#00000000; 589 DatenSenden:=TRUE; 590 END_IF 591 (* 1 zurückgeben *) 592 IF RX_SUBINDEX=2 THEN 593 TX_VALUE:=16#00000001; 594 DatenSenden:=TRUE; 595 END_IF 596 (* 0x4080 zurückgeben *) 597 16#1005: TX_VALUE:=16#00004080; 541 16#1003: CASE RX_NODE_ID OF 542 NODE_ID_Mac_Az: TX_VALUE:=SHL(WORD_TO_DWORD(X_Err_ID),16) OR 16#FF; 543 NODE_ID_Mac_Zd: TX_VALUE:=SHL(WORD_TO_DWORD(Z_Err_ID),16) OR 16#FF; 544 END_CASE 598 545 DatenSenden:=TRUE; 599 546 (* Node-Nr 1 oder 3 zurückgeben *) … … 602 549 (* Version, Subversion zurückgeben, je ein wort *) 603 550 16#100A: TX_VALUE:=16#00010002; 604 DatenSenden:=TRUE;605 (* 0 zurückgeben *)606 16#100C, 16#100D, 16#100E: TX_VALUE:=16#00000000;607 DatenSenden:=TRUE;608 (* 1 zurückgeben *)609 16#1010: TX_VALUE:=16#00000001;610 DatenSenden:=TRUE;611 (* 0 zurückgeben *)612 16#1011: TX_VALUE:=16#00000000;613 551 DatenSenden:=TRUE; 614 552 (* Gesetzte Geschwindigkeit für Pos-Betrieb *) … … 619 557 DatenSenden:=TRUE; 620 558 (* Gesetzte Beschleunigung für nächsten Fahrbefehl (Nur für Pos) *) 621 16#2003: IF RX_SUBINDEX=0 THEN 622 CASE RX_NODE_ID OF 623 NODE_ID_Mac_Az: TX_VALUE:=X_PC_PosBeschleunigung; 624 NODE_ID_Mac_Zd: TX_VALUE:=Z_PC_PosBeschleunigung; 625 END_CASE; 626 DatenSenden:=TRUE; 627 END_IF 628 (* Gesetzte Verzögerung für nächsten Fahrbefehl (Nur für Pos) *) 629 IF RX_SUBINDEX=1 THEN 630 CASE RX_NODE_ID OF 631 NODE_ID_Mac_Az: TX_VALUE:=X_PC_PosVerzoegerung; 632 NODE_ID_Mac_Zd: TX_VALUE:=Z_PC_PosVerzoegerung; 633 END_CASE; 634 DatenSenden:=TRUE; 635 END_IF 636 (* Einheit der Geschwindigkeit *) 637 16#6002: TX_VALUE:= VelocityResolution; (*16#00000000;*) 559 16#2003: CASE RX_NODE_ID OF 560 NODE_ID_Mac_Az: TX_VALUE:=X_PC_PosBeschleunigung; 561 NODE_ID_Mac_Zd: TX_VALUE:=Z_PC_PosBeschleunigung; 562 END_CASE; 563 DatenSenden:=TRUE; 564 (* Unit of Velocity *) 565 16#6002: TX_VALUE:=VelocityResolution; 566 DatenSenden:=TRUE; 567 (* Maximum Velocity *) 568 16#6003: CASE RX_NODE_ID OF 569 NODE_ID_Mac_Az: TX_VALUE:=X_MaximumVelocity; 570 NODE_ID_Mac_Zd: TX_VALUE:=Z_MaximumVelocity; 571 END_CASE; 638 572 DatenSenden:=TRUE; 639 573 (* Aktuelle Position *) 640 574 16#6004: IF RX_SUBINDEX=0 THEN 641 575 CASE RX_NODE_ID OF 642 NODE_ID_Mac_Az: TX_VALUE:= -X_Pos_ist; (*X_Pos_ist; nehmen an, SE schon genau genug*)643 NODE_ID_Mac_Zd: TX_VALUE:= -Z_Pos_ist; (*Z_Pos_ist; nehmen an, SE schon genau genug*)576 NODE_ID_Mac_Az: TX_VALUE:=X_Pos_ist; (*X_Pos_ist; nehmen an, SE schon genau genug*) 577 NODE_ID_Mac_Zd: TX_VALUE:=Z_Pos_ist; (*Z_Pos_ist; nehmen an, SE schon genau genug*) 644 578 END_CASE; 645 579 DatenSenden:=TRUE; 646 580 END_IF 581 IF RX_SUBINDEX=1 THEN 582 CASE RX_NODE_ID OF 583 NODE_ID_Mac_Az: TX_VALUE:=X_Pos_Geber2; (*X_Pos_ist; nehmen an, SE schon genau genug*) 584 NODE_ID_Mac_Zd: TX_VALUE:=Z_Pos_Geber2; (*Z_Pos_ist; nehmen an, SE schon genau genug*) 585 END_CASE; 586 DatenSenden:=TRUE; 587 END_IF 588 647 589 (* Anzahl der Striche pro Umdrehung *) 648 16#6501: TX_VALUE:= RotaryEncoderResolution;590 16#6501: TX_VALUE:=ShaftEncoderResolution; 649 591 DatenSenden:=TRUE; 650 592 (* Geschwindigkeitsmaximalwert (den für Testzwecke) ausgeben *) … … 666 608 CASE RX_INDEX OF 667 609 (* Einmalige Freigabe etwas zu machen *) 668 16#1000: IF RX_SUBINDEX=1 AND RX_VALUE=1 THEN 669 CASE RX_NODE_ID OF 670 NODE_ID_Mac_Az: X_EinmaligeFreigabe:=TRUE; 671 NODE_ID_Mac_Zd: Z_EinmaligeFreigabe:=TRUE; 672 END_CASE 673 TX_VALUE:=16#00000000; 674 DatenSenden:=TRUE; 675 END_IF 676 (* Fehler löschen *) 610 16#1000: CASE RX_NODE_ID OF 611 NODE_ID_Mac_Az: 612 IF RX_VALUE=1 THEN 613 X_EinmaligeFreigabe:=TRUE; 614 ELSE 615 X_EinmaligeFreigabe:=FALSE; 616 END_IF 617 NODE_ID_Mac_Zd: 618 IF RX_VALUE=1 THEN 619 Z_EinmaligeFreigabe:=TRUE; 620 ELSE 621 Z_EinmaligeFreigabe:=FALSE; 622 END_IF 623 END_CASE 624 TX_VALUE:=16#00000000; 625 DatenSenden:=TRUE; 626 16#1001: CASE RX_NODE_ID OF 627 NODE_ID_Mac_Az: 628 IF RX_VALUE=1 THEN 629 X_PC_ForcePDO3:=TRUE; 630 END_IF 631 NODE_ID_Mac_Zd: 632 IF RX_VALUE=1 THEN 633 Z_PC_ForcePDO3:=TRUE; 634 END_IF 635 END_CASE 636 TX_VALUE:=16#00000000; 637 DatenSenden:=TRUE; 638 (* Fehler löschen 677 639 16#1003: IF RX_SUBINDEX=0 AND RX_VALUE=0 THEN 678 640 TX_VALUE:=16#00000000; 679 641 DatenSenden:=TRUE; 680 END_IF 681 (* Set guard time*) 682 16#100C: TX_VALUE:=16#00000000; 683 DatenSenden:=TRUE; 684 (* Set lifetime factor*) 685 16#100D: TX_VALUE:=16#00000000; 686 DatenSenden:=TRUE; 687 (* Selbstständig PDO's schicken *) 688 16#1800: IF RX_SUBINDEX=1 THEN 689 TX_VALUE:=16#00000000; 690 DatenSenden:=TRUE; 691 END_IF 642 END_IF*) 692 643 (* Geschwindigkeit für nächsten Fahrbefehl (Nur für Pos) *) 693 644 (* Wenn noch nie eine gesetzt 1% *) … … 699 650 DatenSenden:=TRUE; 700 651 (* Beschleunigung für nächsten Fahrbefehl (Nur für Pos) 600.000.000 ist Maximum *) 701 16#2003: IF RX_SUBINDEX=0 THEN 702 CASE RX_NODE_ID OF 703 NODE_ID_Mac_Az: X_PC_PosBeschleunigung:=RX_VALUE; 704 NODE_ID_Mac_Zd: Z_PC_PosBeschleunigung:=RX_VALUE; 705 END_CASE 706 TX_VALUE:=16#00000000; 707 DatenSenden:=TRUE; 708 END_IF 709 (* Verzögerung für nächsten Fahrbefehl (Nur für Pos) 600.000.000 ist Maximum *) 710 IF RX_SUBINDEX=1 THEN 711 CASE RX_NODE_ID OF 712 NODE_ID_Mac_Az: X_PC_PosVerzoegerung:=RX_VALUE; 713 NODE_ID_Mac_Zd: Z_PC_PosVerzoegerung:=RX_VALUE; 714 END_CASE 715 TX_VALUE:=16#00000000; 716 DatenSenden:=TRUE; 717 END_IF 652 16#2003: CASE RX_NODE_ID OF 653 NODE_ID_Mac_Az: X_PC_PosBeschleunigung:=RX_VALUE; 654 NODE_ID_Mac_Zd: Z_PC_PosBeschleunigung:=RX_VALUE; 655 END_CASE 656 TX_VALUE:=16#00000000; 657 DatenSenden:=TRUE; 718 658 (* Wenn VALUE= 'p' 'o' 't' 's' dann Fahrbefehl abbrechen (Pos und V-Regelung) *) 719 659 16#3000: CompareDwordString4_IDB(D:=RX_VALUE, Str:='stop'); … … 733 673 (* Wenn einmalige Freigabe nicht da -> Error *) 734 674 (* Wenn VALUE= 'p' 'o' 't' 's' dann Geschwindigkeitsregelung stoppen *) 735 16#3006: IF RX_SUBINDEX=0 THEN 736 CompareDwordString4_IDB(D:=RX_VALUE, Str:='stop'); 737 IF CompareDwordString4_IDB.Ergebnis THEN 738 CASE RX_NODE_ID OF 739 NODE_ID_Mac_Az: 740 X_PC_VStart:=FALSE; 741 X_PC_AntriebHalt:=TRUE; 742 X_PC_StartMovement:=FALSE; (* maybe not necessary *) 743 (*X_PC_PosZiel:=X_Pos_ist;*) 744 NODE_ID_Mac_Zd: 745 Z_PC_VStart:=FALSE; 746 Z_PC_AntriebHalt:=TRUE; 747 Z_PC_StartMovement:=FALSE; (* maybe not necessary *) 748 (*Z_PC_PosZiel:=Z_Pos_ist;*) 749 END_CASE 750 DatenSenden:=TRUE; 751 END_IF 752 CompareDwordString4_IDB(D:=RX_VALUE, Str:='strt'); 753 IF CompareDwordString4_IDB.Ergebnis THEN 754 CASE RX_NODE_ID OF 755 NODE_ID_Mac_Az: (*IF X_EinmaligeFreigabe THEN*) 756 X_PC_VStart:=TRUE; 757 X_PC_AntriebHalt:=FALSE; 758 X_PC_VGeschwindigkeit:=0; 759 (*X_PC_StartMovement:=TRUE;*) 760 (*END_IF*) 761 NODE_ID_Mac_Zd: (*IF Z_EinmaligeFreigabe THEN*) 762 Z_PC_VStart:=TRUE; 763 Z_PC_AntriebHalt:=FALSE; 764 Z_PC_VGeschwindigkeit:=0; 765 (*Z_PC_StartMovement:=TRUE; war auskmmentiert*) 766 (*END_IF*) 767 END_CASE 768 DatenSenden:=TRUE; (* Wenn keine einmalige Freigabe bleibt dieses Bit auf FALSE -> Error-Telegramm *) 769 END_IF 770 TX_VALUE:=16#00000000; 771 END_IF 772 (* Geschwindigkeit für Geschwindigkeitsregelung *) 773 IF RX_SUBINDEX=1 THEN 675 16#3006: CompareDwordString4_IDB(D:=RX_VALUE, Str:='stop'); 676 IF CompareDwordString4_IDB.Ergebnis THEN 774 677 CASE RX_NODE_ID OF 775 678 NODE_ID_Mac_Az: 776 IF (X_PC_VGeschwindigkeit>=0 AND RX_VALUE<0) OR (X_PC_VGeschwindigkeit<=0 AND RX_VALUE>0) THEN 777 X_PC_StartMovement:=TRUE;778 END_IF779 X_PC_VGeschwindigkeit:=RX_VALUE;679 X_PC_VStart:=FALSE; 680 X_PC_AntriebHalt:=TRUE; 681 (*X_PC_StartMovement:=FALSE; *)(* maybe not necessary *) 682 (*X_PC_PosZiel:=X_Pos_ist;*) 780 683 NODE_ID_Mac_Zd: 781 IF (Z_PC_VGeschwindigkeit>=0 AND RX_VALUE<0) OR (Z_PC_VGeschwindigkeit<=0 AND RX_VALUE>0) THEN 782 Z_PC_StartMovement:=TRUE; 783 END_IF 784 Z_PC_VGeschwindigkeit:=RX_VALUE; 785 (*Z_PC_StartMovement:=TRUE; Kommentar ersatzweise fuer den oben*) 684 Z_PC_VStart:=FALSE; 685 Z_PC_AntriebHalt:=TRUE; 686 (*Z_PC_StartMovement:=FALSE;*) (* maybe not necessary *) 687 (*Z_PC_PosZiel:=Z_Pos_ist;*) 786 688 END_CASE 787 TX_VALUE:=16#00000000;788 689 DatenSenden:=TRUE; 789 690 END_IF 691 CompareDwordString4_IDB(D:=RX_VALUE, Str:='strt'); 692 IF CompareDwordString4_IDB.Ergebnis THEN 693 CASE RX_NODE_ID OF 694 NODE_ID_Mac_Az: (*IF X_EinmaligeFreigabe THEN*) 695 X_PC_VStart:=TRUE; 696 X_PC_IsRelative:=TRUE; 697 X_PC_AntriebHalt:=FALSE; 698 X_PC_VGeschwindigkeit:=0; 699 X_AnnounceStartMovement:=TRUE; 700 (*X_PC_StartMovement:=TRUE;*) 701 (*END_IF*) 702 NODE_ID_Mac_Zd: (*IF Z_EinmaligeFreigabe THEN*) 703 Z_PC_VStart:=TRUE; 704 Z_PC_IsRelative:=TRUE; 705 Z_PC_AntriebHalt:=FALSE; 706 Z_PC_VGeschwindigkeit:=0; 707 Z_AnnounceStartMovement:=TRUE; 708 (*Z_PC_StartMovement:=TRUE; war auskmmentiert*) 709 (*END_IF*) 710 END_CASE 711 DatenSenden:=TRUE; (* Wenn keine einmalige Freigabe bleibt dieses Bit auf FALSE -> Error-Telegramm *) 712 END_IF 713 TX_VALUE:=16#00000000; 714 (* Geschwindigkeit für Geschwindigkeitsregelung *) 715 16#3007: CASE RX_NODE_ID OF 716 NODE_ID_Mac_Az: 717 IF (X_PC_VGeschwindigkeit>=0 AND DWORD_TO_DINT(RX_VALUE)<0) OR (X_PC_VGeschwindigkeit<=0 AND DWORD_TO_DINT(RX_VALUE)>0) THEN 718 X_PC_StartMovement := NOT X_PC_StartMovement; 719 END_IF 720 X_PC_VGeschwindigkeit:=RX_VALUE; 721 NODE_ID_Mac_Zd: 722 IF (Z_PC_VGeschwindigkeit>=0 AND DWORD_TO_DINT(RX_VALUE)<0) OR (Z_PC_VGeschwindigkeit<=0 AND DWORD_TO_DINT(RX_VALUE)>0) THEN 723 Z_PC_StartMovement := NOT Z_PC_StartMovement; 724 END_IF 725 Z_PC_VGeschwindigkeit:=RX_VALUE; 726 (*Z_PC_StartMovement:=TRUE; Kommentar ersatzweise fuer den oben*) 727 END_CASE 728 TX_VALUE:=16#00000000; 729 DatenSenden:=TRUE; 790 730 (* absolute Position & Fahrbefehl starten (Nur für Pos) *) 791 731 (* Wenn einmalige Freigabe nicht da -> Error *) 792 16#6004: (*IF RX_SUBINDEX=0 THEN 793 CASE RX_NODE_ID OF 794 NODE_ID_Mac_Az: 795 IF X_EinmaligeFreigabe THEN 796 X_PC_PosZiel:=RX_VALUE; 797 X_PC_AntriebHalt:=FALSE; 798 X_PC_StartMovement:=TRUE; 799 TX_VALUE:=16#00000000; 800 ELSE 801 TX_VALUE:=16#00000001; 802 END_IF 803 DatenSenden:=TRUE; (* Wenn keine einmalige Freigabe bleibt dieses Bit auf FALSE -> Error-Telegramm *) 804 NODE_ID_Mac_Zd: 805 IF Z_EinmaligeFreigabe THEN 806 Z_PC_PosZiel:=RX_VALUE; 807 Z_PC_AntriebHalt:=FALSE; 808 Z_PC_StartMovement:=TRUE; 809 TX_VALUE:=16#00000000; 810 ELSE 811 TX_VALUE:=16#00000001; 812 END_IF 813 DatenSenden:=TRUE; (* Wenn keine einmalige Freigabe bleibt dieses Bit auf FALSE -> Error-Telegramm *) 814 END_CASE 815 END_IF*) 732 16#6004: CASE RX_NODE_ID OF 733 NODE_ID_Mac_Az: 734 IF X_EinmaligeFreigabe THEN 735 X_PC_IsRelative:=FALSE; 736 X_PC_PosZiel:=RX_VALUE; 737 X_PC_AntriebHalt:=FALSE; 738 X_PC_StartMovement := NOT X_PC_StartMovement; 739 X_PC_AnnounceStartMovement := TRUE; 740 X_AnnounceStartMovement := TRUE; 741 TX_VALUE:=16#00000000; 742 ELSE 743 TX_VALUE:=16#00000001; 744 END_IF 745 DatenSenden:=TRUE; (* Wenn keine einmalige Freigabe bleibt dieses Bit auf FALSE -> Error-Telegramm *) 746 NODE_ID_Mac_Zd: 747 IF Z_EinmaligeFreigabe THEN 748 Z_PC_IsRelative:=FALSE; 749 Z_PC_PosZiel:=RX_VALUE; 750 Z_PC_AntriebHalt:=FALSE; 751 Z_PC_StartMovement := NOT Z_PC_StartMovement; 752 Z_PC_AnnounceStartMovement := TRUE; 753 Z_AnnounceStartMovement := TRUE; 754 TX_VALUE:=16#00000000; 755 ELSE 756 TX_VALUE:=16#00000001; 757 END_IF 758 DatenSenden:=TRUE; (* Wenn keine einmalige Freigabe bleibt dieses Bit auf FALSE -> Error-Telegramm *) 759 END_CASE 816 760 (* relative Position & Fahrbefehl starten (Nur für Pos) *) 817 761 (* Wenn einmalige Freigabe nicht da -> Error *) 818 IF RX_SUBINDEX=1 THEN 819 CASE RX_NODE_ID OF 820 NODE_ID_Mac_Az: 821 IF X_EinmaligeFreigabe THEN 822 X_PC_PosZiel:=-REAL_TO_DWORD(DWORD_TO_REAL(RX_VALUE)*RotationalPositionResolution/RotaryEncoderResolution/ArbitraryMACFactor); 823 X_PC_AntriebHalt:=FALSE; 824 X_PC_StartMovement:=TRUE; 825 TX_VALUE:=16#00000000; 826 ELSE 827 TX_VALUE:=16#00000001; 828 END_IF 829 DatenSenden:=TRUE; (* Wenn keine einmalige Freigabe bleibt dieses Bit auf FALSE -> Error-Telegramm *) 830 NODE_ID_Mac_Zd: 831 IF Z_EinmaligeFreigabe THEN 832 Z_PC_PosZiel:=-REAL_TO_DWORD(DWORD_TO_REAL(RX_VALUE)*RotationalPositionResolution/RotaryEncoderResolution/ArbitraryMACFactor); 833 Z_PC_AntriebHalt:=FALSE; 834 Z_PC_StartMovement:=TRUE; 835 TX_VALUE:=16#00000000; 836 ELSE 837 TX_VALUE:=16#00000001; 838 END_IF 839 DatenSenden:=TRUE; (* Wenn keine einmalige Freigabe bleibt dieses Bit auf FALSE -> Error-Telegramm *) 840 END_CASE 841 END_IF 762 16#6005: CASE RX_NODE_ID OF 763 NODE_ID_Mac_Az: 764 IF X_EinmaligeFreigabe THEN 765 X_PC_IsRelative:=TRUE; 766 (*X_PC_PosZiel:=REAL_TO_DWORD(DWORD_TO_REAL(RX_VALUE)*RotationalPositionResolution/RotaryEncoderResolution/ArbitraryMACFactor);*) 767 X_PC_PosZiel:=RX_VALUE; 768 X_PC_AntriebHalt:=FALSE; 769 X_PC_StartMovement := NOT X_PC_StartMovement; 770 X_PC_AnnounceStartMovement := TRUE; 771 X_AnnounceStartMovement := TRUE; 772 TX_VALUE:=16#00000000; 773 ELSE 774 TX_VALUE:=16#00000001; 775 END_IF 776 DatenSenden:=TRUE; (* Wenn keine einmalige Freigabe bleibt dieses Bit auf FALSE -> Error-Telegramm *) 777 NODE_ID_Mac_Zd: 778 IF Z_EinmaligeFreigabe THEN 779 Z_PC_IsRelative:=TRUE; 780 (*Z_PC_PosZiel:=REAL_TO_DWORD(DWORD_TO_REAL(RX_VALUE)*RotationalPositionResolution/RotaryEncoderResolution/ArbitraryMACFactor);*) 781 Z_PC_PosZiel:=RX_VALUE; 782 Z_PC_AntriebHalt:=FALSE; 783 Z_PC_StartMovement := NOT Z_PC_StartMovement; 784 Z_PC_AnnounceStartMovement := TRUE; 785 Z_AnnounceStartMovement := TRUE; 786 TX_VALUE:=16#00000000; 787 ELSE 788 TX_VALUE:=16#00000001; 789 END_IF 790 DatenSenden:=TRUE; (* Wenn keine einmalige Freigabe bleibt dieses Bit auf FALSE -> Error-Telegramm *) 791 END_CASE 842 792 (* Maximale Geschwindigkeit begrenzen (für Beides) (Nur zu Testzwecken) *) 843 793 16#6502: CASE RX_NODE_ID OF … … 845 795 NODE_ID_Mac_Zd: Z_PC_Maximalgeschwindigkeit:=RX_VALUE; 846 796 END_CASE 847 TX_VALUE:=16#00000000;848 DatenSenden:=TRUE;849 (* Dummy's *)850 16#6002,16#6200,16#6500:851 797 TX_VALUE:=16#00000000; 852 798 DatenSenden:=TRUE; … … 881 827 882 828 (*-----------------------------------------------------------------------------------------------Zusatzbedingungen-------------------------------------------------------------------------------------------*) 883 IF X_PC_Maximalgeschwindigkeit<X_PC_PosGeschwindigkeit THEN829 (*IF X_PC_Maximalgeschwindigkeit<X_PC_PosGeschwindigkeit THEN 884 830 X_PC_PosGeschwindigkeit:=X_PC_Maximalgeschwindigkeit; 885 831 END_IF … … 896 842 Z_PC_VGeschwindigkeit:=Z_PC_Maximalgeschwindigkeit; 897 843 END_IF 844 *) 898 845 899 846 IF NOT X_EinmaligeFreigabe THEN … … 1179 1126 1180 1127 END_PROGRAM 1181 1182 1183 (* @PATH := '\/Unterprogramme' *)1184 (* @SYMFILEFLAGS := '2048' *)1185 FUNCTION_BLOCK AccMACStoDKC1186 1187 VAR_INPUT1188 MACS :DWORD;1189 END_VAR1190 1191 VAR_OUTPUT1192 DKC :DWORD;1193 END_VAR1194 (* @END_DECLARATION := '0' *)1195 (*DKC:=REAL_TO_DWORD(DWORD_TO_REAL(MACS)*PI/MaximumVelocity+0.5);*)1196 DKC:=REAL_TO_DWORD(DWORD_TO_REAL(MACS)*PI/MaximumVelocity*ArbitraryMACFactor+0.5);1197 END_FUNCTION_BLOCK1198 1128 1199 1129 … … 1422 1352 _POSITIV 1423 1353 IN_FB_Betrieb 1424 _FUNCTIONBLOCK 1354 _FUNCTION 1355 _BOX_EXPR : 1 1356 _OPERATOR 1357 _BOX_EXPR : 3 1358 _OPERATOR 1359 _BOX_EXPR : 2 1360 _OPERATOR 1361 _BOX_EXPR : 1 1362 _OPERATOR 1363 _BOX_EXPR : 2 1364 _OPERAND 1365 _EXPRESSION 1366 _POSITIV 1367 Pos_ist 1368 _OPERAND 1369 _EXPRESSION 1370 _POSITIV 1371 Pos_soll 1372 _EXPRESSION 1373 _POSITIV 1374 SUB 1375 _EXPRESSION 1376 _POSITIV 1377 ABS 1378 _OPERAND 1379 _EXPRESSION 1380 _POSITIV 1381 -1000 1382 _EXPRESSION 1383 _POSITIV 1384 LT 1385 _OPERAND 1386 _EXPRESSION 1387 _POSITIV 1388 PC_PosBeschleunigung 1389 _OPERAND 1390 _EXPRESSION 1391 _POSITIV 1392 PC_PosVerzoegerung 1393 _EXPRESSION 1394 _POSITIV 1395 SEL 1396 _EXPRESSION 1397 _POSITIV 1425 1398 AccMACStoDKC 1426 _BOX_EXPR : 11427 _OPERATOR1428 _BOX_EXPR : 31429 _OPERATOR1430 _BOX_EXPR : 21431 _OPERATOR1432 _BOX_EXPR : 11433 _OPERATOR1434 _BOX_EXPR : 21435 _OPERAND1436 _EXPRESSION1437 _POSITIV1438 Pos_ist1439 _OPERAND1440 _EXPRESSION1441 _POSITIV1442 Pos_soll1443 _EXPRESSION1444 _POSITIV1445 SUB1446 _EXPRESSION1447 _POSITIV1448 ABS1449 _OPERAND1450 _EXPRESSION1451 _POSITIV1452 -10001453 _EXPRESSION1454 _POSITIV1455 LT1456 _OPERAND1457 _EXPRESSION1458 _POSITIV1459 PC_PosBeschleunigung1460 _OPERAND1461 _EXPRESSION1462 _POSITIV1463 PC_PosVerzoegerung1464 _EXPRESSION1465 _POSITIV1466 SEL1467 _EXPRESSION1468 _POSITIV1469 AccMACStoDKC1470 _OUTPUTS : 01471 1399 _OPERAND 1472 1400 _EXPRESSION … … 1573 1501 1574 1502 VAR_INPUT 1575 Betriebsart_1 :BOOL;1576 Betriebsart_2 :BOOL;1577 Sammelstoerung :BOOL;1503 Betriebsart_1: BOOL; 1504 Betriebsart_2: BOOL; 1505 Sammelstoerung: BOOL; 1578 1506 END_VAR 1579 1507 1580 1508 VAR_OUTPUT 1581 Betriebszustand_ok :BOOL;1509 Betriebszustand_ok: BOOL; 1582 1510 END_VAR 1583 1511 1584 1512 VAR 1585 Betriebsart_aktiv :BOOL; 1586 FL_pos: R_TRIG; 1587 FL_neg: F_TRIG; 1588 Betriebszustand_geaendert :BOOL; 1513 Betriebsart_aktiv: BOOL; 1514 DetectEdge: RF_TRIG; 1589 1515 END_VAR 1590 1516 (* @END_DECLARATION := '0' *) 1591 1517 _FBD_BODY 1592 _NETWORKS : 31518 _NETWORKS : 2 1593 1519 _NETWORK 1594 1520 … … 1624 1550 1625 1551 _COMMENT 1626 Flankenauswertung Automatik 1552 1627 1553 _END_COMMENT 1628 1554 _ASSIGN … … 1630 1556 _BOX_EXPR : 2 1631 1557 _FUNCTIONBLOCK 1632 FL_pos 1558 DetectEdge 1633 1559 _BOX_EXPR : 1 1634 1560 _OPERAND … … 1637 1563 Betriebsart_aktiv 1638 1564 _EXPRESSION 1639 _ POSITIV1640 R _TRIG1565 _NEGATIV 1566 RF_TRIG 1641 1567 _OUTPUTS : 0 1642 _FUNCTIONBLOCK1643 FL_neg1644 _BOX_EXPR : 11645 _OPERAND1646 _EXPRESSION1647 _POSITIV1648 Betriebsart_aktiv1649 _EXPRESSION1650 _POSITIV1651 F_TRIG1652 _OUTPUTS : 01653 _EXPRESSION1654 _POSITIV1655 OR1656 _EXPRESSION1657 _POSITIV1658 _OUTPUTS : 11659 _OUTPUT1660 _POSITIV1661 _NO_SET1662 Betriebszustand_geaendert1663 _NETWORK1664 1665 _COMMENT1666 1667 _END_COMMENT1668 _ASSIGN1669 _OPERATOR1670 _BOX_EXPR : 21671 _OPERAND1672 _EXPRESSION1673 _NEGATIV1674 Betriebszustand_geaendert1675 1568 _OPERAND 1676 1569 _EXPRESSION … … 1696 1589 1697 1590 VAR_INPUT 1698 D :DWORD;1699 Str :STRING(4);1591 D: DWORD; 1592 Str: STRING(4); 1700 1593 END_VAR 1701 1594 1702 1595 VAR_OUTPUT 1703 Ergebnis :BOOL;1596 Ergebnis: BOOL; 1704 1597 END_VAR 1705 1598 1706 1599 VAR 1707 i :INT;1708 B1 :BYTE;1709 B2 :BYTE;1710 ptr :POINTER TO BYTE;1600 i: INT; 1601 B1: BYTE; 1602 B2: BYTE; 1603 ptr: POINTER TO BYTE; 1711 1604 END_VAR 1712 1605 (* @END_DECLARATION := '0' *) … … 1784 1677 1785 1678 VAR_INPUT 1786 Freigabe :BOOL; (*Antriebstatus Uebergang Ab -> Ah*)1787 ReleaseAntriebHalt :BOOL; (*Explicitly release Antrieb Halt*)1788 FehlerQuittieren :BOOL; (*Stoerung quittieren*)1789 Absolutmasssetzen :BOOL; (*Absolutmass setzen*)1790 TippenAn :BOOL; (*Betriebart Tippen ausgewaehlt*)1791 TippenPlus :BOOL; (*Tippen vorwaerts*)1792 TippenMinus :BOOL; (*Tippen rueckwaerts*)1793 Start :BOOL; (*Positionierung starten*)1679 Freigabe: BOOL; (*Antriebstatus Uebergang Ab -> Ah*) 1680 ReleaseAntriebHalt: BOOL; (*Explicitly release Antrieb Halt*) 1681 FehlerQuittieren: BOOL; (*Stoerung quittieren*) 1682 Absolutmasssetzen: BOOL; (*Absolutmass setzen*) 1683 TippenAn: BOOL; (*Betriebart Tippen ausgewaehlt*) 1684 TippenPlus: BOOL; (*Tippen vorwaerts*) 1685 TippenMinus: BOOL; (*Tippen rueckwaerts*) 1686 Start: BOOL; (*Positionierung starten*) 1794 1687 RelativesPositionieren: BOOL; 1795 SollwertPosition :DINT; (*Soll-Position*) 1796 SollwertGeschwindigkeit :DINT; (*Soll-Geschwindigkeit*) 1688 Geschwindigkeitsregelung: BOOL; 1689 SollwertPosition: DINT; (*Soll-Position*) 1690 SollwertGeschwindigkeit: DINT; (*Soll-Geschwindigkeit*) 1797 1691 PositionierBeschleunigung: DWORD; (*PositionierBeschleunigung*) 1798 1692 PC_Mode: BOOL; 1799 Zusatzfenster_POS_OK :DINT; (*POS_OK Fenster in der SPS*) 1800 PEW1 :WORD; (*Eingangswort 1*) 1801 PEW2 :WORD; (*Eingangswort 2*) 1802 PEW3 :WORD; (*Eingangswort 3*) 1803 PEW4 :WORD; (*Eingangswort 4*) 1804 PEW5 :WORD; (*Eingangswort 5*) 1805 PEW6 :WORD; (*Eingangswort 6*) 1806 PEW7 :WORD; (*Eingangswort 7*) 1807 PEW8 :WORD; (*Eingangswort 8*) 1808 PEW9 :WORD; (*Eingangswort 9*) 1809 END_VAR 1810 1811 VAR_IN_OUT 1693 PEW1: WORD; (*Eingangswort 1*) 1694 PEW2: WORD; (*Eingangswort 2*) 1695 PEW3: WORD; (*Eingangswort 3*) 1696 PEW4: WORD; (*Eingangswort 4*) 1697 PEW5: WORD; (*Eingangswort 5*) 1698 PEW6: WORD; (*Eingangswort 6*) 1699 PEW7: WORD; (*Eingangswort 7*) 1700 PEW8: WORD; (*Eingangswort 8*) 1701 PEW9: WORD; (*Eingangswort 9*) 1812 1702 StartMovement :BOOL; 1813 1703 END_VAR … … 1828 1718 IstwertGeschwindigkeit :DINT; (*Aktuelle Geschwindigkeit, actual velocity*) 1829 1719 PositionFeedback2 :DINT; 1720 IsOnline :BOOL; (* Drive is online on the bus *) 1830 1721 PAW1 :WORD; (*Ausgangswort 1*) 1831 1722 PAW2 :WORD; (*Ausgangswort 2*) … … 1840 1731 1841 1732 VAR 1842 ek_in_eco: struct_ek_in_eco; (*Feldbusschnittstelle-Eingänge*) 1843 ek_out_eco: struct_ek_out_eco; (*Feldbusschnittstelle-Eingänge*) 1844 INTERN_FRG: BOOL; 1845 INTERN_JOG_FORWARD: BOOL; 1846 INTERN_JOG_BACKWARD: BOOL; 1847 INTERN_POS_START: BOOL; 1848 Negate: NEG; 1849 RStest: RS; 1850 PC_Start_pos: BOOL; 1851 Decoder: Decode; 1852 Encoder: Encode; 1853 Delay_StartMovement: TON; 1854 SetpointAcknowledgment: RF_TRIG; 1855 FA: BOOL; 1856 Dummy: TOF; 1857 RStest2: RS; 1733 ek_in_eco: struct_ek_in_eco; (*Feldbusschnittstelle-Eingänge*) 1734 ek_out_eco: struct_ek_out_eco; (*Feldbusschnittstelle-Eingänge*) 1735 INTERN_FRG: BOOL; 1736 INTERN_JOG_FORWARD: BOOL; 1737 INTERN_JOG_BACKWARD: BOOL; 1738 INTERN_POS_START: BOOL; 1739 Negate: NEG; 1740 RStest: RS; 1741 PC_Start_pos: BOOL; 1742 Decoder: Decode; 1743 Encoder: Encode; 1744 DelayResetOfStartMovement: TON; 1745 ToggleStartMovement: BLINK; 1746 DelayInPosition: TON; 1747 PositionFeedback1: DINT; 1748 DelayStartMovementTon: TON; 1749 DelayStartMovementTof: TOF; 1750 dummy: BOOL; 1751 dummys: BOOL; 1858 1752 END_VAR 1859 1753 (* @END_DECLARATION := '0' *) 1860 1754 _FBD_BODY 1861 _NETWORKS : 481755 _NETWORKS : 51 1862 1756 _NETWORK 1863 1757 … … 1974 1868 _ASSIGN 1975 1869 _FUNCTIONBLOCK 1976 Negate1977 _BOX_EXPR : 11978 _FUNCTIONBLOCK1979 1870 Decoder 1980 1871 _BOX_EXPR : 2 … … 1993 1884 _EXPRESSION 1994 1885 _POSITIV 1995 NEG1996 _OUTPUTS : 01997 _EXPRESSION1998 _POSITIV1999 1886 _OUTPUTS : 1 2000 1887 _OUTPUT … … 2002 1889 _NO_SET 2003 1890 PositionFeedback2 1891 _NETWORK 1892 1893 _COMMENT 1894 1895 _END_COMMENT 1896 _ASSIGN 1897 _OPERAND 1898 _EXPRESSION 1899 _POSITIV 1900 ek_in_eco.pos_act 1901 _EXPRESSION 1902 _POSITIV 1903 _OUTPUTS : 1 1904 _OUTPUT 1905 _POSITIV 1906 _NO_SET 1907 PositionFeedback1 2004 1908 _NETWORK 2005 1909 … … 2233 2137 _POSITIV 2234 2138 _NO_SET 2235 INTERN_JOG_ FORWARD2139 INTERN_JOG_BACKWARD 2236 2140 _NETWORK 2237 2141 … … 2267 2171 _POSITIV 2268 2172 _NO_SET 2269 INTERN_JOG_ BACKWARD2173 INTERN_JOG_FORWARD 2270 2174 _NETWORK 2271 2175 … … 2508 2412 _END_COMMENT 2509 2413 _ASSIGN 2414 _OPERATOR 2415 _BOX_EXPR : 2 2416 _OPERAND 2417 _EXPRESSION 2418 _POSITIV 2419 PositionFeedback1 2420 _OPERATOR 2421 _BOX_EXPR : 2 2422 _OPERAND 2423 _EXPRESSION 2424 _POSITIV 2425 SollwertPosition 2426 _OPERAND 2427 _EXPRESSION 2428 _POSITIV 2429 PositionFeedback2 2430 _EXPRESSION 2431 _POSITIV 2432 SUB 2433 _EXPRESSION 2434 _POSITIV 2435 ADD 2436 _EXPRESSION 2437 _POSITIV 2438 _OUTPUTS : 1 2439 _OUTPUT 2440 _POSITIV 2441 _NO_SET 2442 ek_out_eco.pos_cmd 2443 _NETWORK 2444 2445 _COMMENT 2446 2447 _END_COMMENT 2448 _ASSIGN 2510 2449 _OPERAND 2511 2450 _EXPRESSION … … 2528 2467 _EXPRESSION 2529 2468 _POSITIV 2530 RelativesPositionieren 2469 Geschwindigkeitsregelung 2531 2470 _EXPRESSION 2532 2471 _POSITIV … … 2556 2495 2557 2496 _COMMENT 2558 This checks whether the DKC is in the third operating mode (ek_in_eco.a_operating_mode_Bit0=1 AND ek_in_eco.a_operating_mode_Bit1=0).2497 This checks whether the DKC is in the third operating mode (ek_in_eco.a_operating_mode_Bit0=1 AND ek_in_eco.a_operating_mode_Bit1=0). 2559 2498 This construction assures that ek_out_eco.setpoint_acceptance is only set in the right operating mode. Afterwards it is toggled so that there are edges to be detected. 2499 It seems that the setpoint_acknowledge doesn't really toggle if the it was accepted (Dummy was ek_out_eco.setpoint_acceptance, dummys was StartMovement) 2560 2500 _END_COMMENT 2561 2501 _ASSIGN … … 2584 2524 StartMovement 2585 2525 _EXPRESSION 2586 _ POSITIV2526 _NEGATIV 2587 2527 AND 2588 2528 _EXPRESSION … … 2592 2532 _POSITIV 2593 2533 _NO_SET 2594 ek_out_eco.setpoint_acceptance 2595 _NETWORK 2596 2597 _COMMENT 2598 2599 _END_COMMENT 2600 _ASSIGN 2534 dummy 2535 _NETWORK 2536 2537 _COMMENT 2538 Reset the StartMovement such that the setpoint_accept bit gets toggled back to false in the next cycle. The delay is a workaround which makes sure that the axis 2539 as "moving" in the PDOs (StartMoving==TRUE) already if it is still standing still and hasn' t start its movement yet. Please not that within this second no new 2540 positioning command can be accepted. 2541 _END_COMMENT 2542 _ASSIGN 2543 _FUNCTIONBLOCK 2544 DelayResetOfStartMovement 2545 _BOX_EXPR : 2 2601 2546 _FUNCTIONBLOCK 2602 2547 RStest … … 2609 2554 _EXPRESSION 2610 2555 _POSITIV 2611 ek_out_eco.setpoint_acceptance 2556 dummy 2612 2557 _EXPRESSION 2613 2558 _POSITIV 2614 2559 RS 2615 2560 _OUTPUTS : 0 2616 _EXPRESSION 2617 _POSITIV 2618 _OUTPUTS : 1 2619 _OUTPUT 2620 _POSITIV 2621 _NO_SET 2561 _OPERAND 2562 _EXPRESSION 2563 _POSITIV 2564 T#50ms 2565 _EXPRESSION 2566 _POSITIV 2567 TON 2568 _OUTPUTS : 1 2569 _OUTPUT 2570 _POSITIV 2571 _NO_SET 2572 _EMPTY 2573 _EXPRESSION 2574 _POSITIV 2575 _OUTPUTS : 1 2576 _OUTPUT 2577 _POSITIV 2578 _NO_SET 2579 dummys 2580 _NETWORK 2581 2582 _COMMENT 2583 2584 _END_COMMENT 2585 _ASSIGN 2586 _OPERATOR 2587 _BOX_EXPR : 3 2588 _OPERATOR 2589 _BOX_EXPR : 2 2590 _OPERAND 2591 _EXPRESSION 2592 _POSITIV 2593 RelativesPositionieren 2594 _OPERAND 2595 _EXPRESSION 2596 _POSITIV 2597 TRUE 2598 _EXPRESSION 2599 _POSITIV 2600 OR 2601 _OPERATOR 2602 _BOX_EXPR : 2 2603 _FUNCTIONBLOCK 2604 ToggleStartMovement 2605 _BOX_EXPR : 3 2606 _OPERAND 2607 _EXPRESSION 2608 _POSITIV 2609 TRUE 2610 _OPERAND 2611 _EXPRESSION 2612 _POSITIV 2613 t#250ms 2614 _OPERAND 2615 _EXPRESSION 2616 _POSITIV 2617 t#15ms 2618 _EXPRESSION 2619 _POSITIV 2620 BLINK 2621 _OUTPUTS : 0 2622 _OPERATOR 2623 _BOX_EXPR : 2 2624 _OPERATOR 2625 _BOX_EXPR : 1 2626 _OPERATOR 2627 _BOX_EXPR : 2 2628 _OPERAND 2629 _EXPRESSION 2630 _POSITIV 2631 SollwertPosition 2632 _OPERAND 2633 _EXPRESSION 2634 _POSITIV 2635 PositionFeedback2 2636 _EXPRESSION 2637 _POSITIV 2638 SUB 2639 _EXPRESSION 2640 _POSITIV 2641 ABS 2642 _OPERAND 2643 _EXPRESSION 2644 _POSITIV 2645 500000 2646 _EXPRESSION 2647 _POSITIV 2648 GT 2649 _EXPRESSION 2650 _POSITIV 2651 AND 2652 _OPERAND 2653 _EXPRESSION 2654 _POSITIV 2622 2655 StartMovement 2623 _NETWORK 2624 2625 _COMMENT 2626 Reset the StartMovement command whenever the new setpoint was acknowledged (DOESN'T WORK, WHY?) 2627 _END_COMMENT 2628 _ASSIGN 2656 _EXPRESSION 2657 _POSITIV 2658 SEL 2659 _EXPRESSION 2660 _POSITIV 2661 _OUTPUTS : 1 2662 _OUTPUT 2663 _POSITIV 2664 _NO_SET 2665 dummys 2666 _NETWORK 2667 2668 _COMMENT 2669 2670 _END_COMMENT 2671 _ASSIGN 2672 _OPERATOR 2673 _BOX_EXPR : 2 2629 2674 _FUNCTIONBLOCK 2630 RStest2 2675 DelayStartMovementTon 2676 _BOX_EXPR : 2 2677 _FUNCTIONBLOCK 2678 DelayStartMovementTof 2631 2679 _BOX_EXPR : 2 2632 2680 _OPERAND … … 2634 2682 _POSITIV 2635 2683 StartMovement 2636 _FUNCTIONBLOCK 2637 SetpointAcknowledgment 2638 _BOX_EXPR : 1 2639 _OPERATOR 2640 _BOX_EXPR : 2 2641 _OPERAND 2642 _EXPRESSION 2643 _POSITIV 2644 ek_out_eco.setpoint_acknowledge 2645 _OPERAND 2646 _EXPRESSION 2647 _POSITIV 2648 FALSE 2684 _OPERAND 2685 _EXPRESSION 2686 _POSITIV 2687 t#25ms 2688 _EXPRESSION 2689 _POSITIV 2690 TOF 2691 _OUTPUTS : 1 2692 _OUTPUT 2693 _POSITIV 2694 _NO_SET 2695 _EMPTY 2696 _OPERAND 2697 _EXPRESSION 2698 _POSITIV 2699 t#25ms 2700 _EXPRESSION 2701 _POSITIV 2702 TON 2703 _OUTPUTS : 1 2704 _OUTPUT 2705 _POSITIV 2706 _NO_SET 2707 _EMPTY 2708 _OPERAND 2709 _EXPRESSION 2710 _POSITIV 2711 TRUE 2649 2712 _EXPRESSION 2650 2713 _POSITIV … … 2652 2715 _EXPRESSION 2653 2716 _POSITIV 2654 RF_TRIG 2655 _OUTPUTS : 0 2656 _EXPRESSION 2657 _POSITIV 2658 RS 2659 _OUTPUTS : 0 2660 _EXPRESSION 2661 _POSITIV 2662 _OUTPUTS : 1 2663 _OUTPUT 2664 _POSITIV 2665 _NO_SET 2666 StartMovement 2717 _OUTPUTS : 1 2718 _OUTPUT 2719 _POSITIV 2720 _NO_SET 2721 ek_out_eco.setpoint_acceptance 2667 2722 _NETWORK 2668 2723 … … 2671 2726 _END_COMMENT 2672 2727 _ASSIGN 2673 _OPERATOR2674 _BOX_EXPR : 12675 _OPERATOR2676 _BOX_EXPR : 22677 _OPERATOR2678 _BOX_EXPR : 22679 _OPERATOR2680 _BOX_EXPR : 12681 2728 _OPERAND 2682 2729 _EXPRESSION … … 2685 2732 _EXPRESSION 2686 2733 _POSITIV 2687 DWORD_TO_REAL2688 _OPERAND2689 _EXPRESSION2690 _POSITIV2691 -RotaryEncoderResolution2692 _EXPRESSION2693 _POSITIV2694 MUL2695 _OPERAND2696 _EXPRESSION2697 _POSITIV2698 ShaftEncoderResolution2699 _EXPRESSION2700 _POSITIV2701 DIV2702 _EXPRESSION2703 _POSITIV2704 REAL_TO_DWORD2705 _EXPRESSION2706 _POSITIV2707 2734 _OUTPUTS : 1 2708 2735 _OUTPUT … … 2713 2740 2714 2741 _COMMENT 2715 Istwerte anzeigen 2716 _END_COMMENT 2717 _ASSIGN 2742 2743 _END_COMMENT 2744 _ASSIGN 2745 _OPERAND 2746 _EXPRESSION 2747 _POSITIV 2748 ek_in_eco.vel_act 2749 _EXPRESSION 2750 _POSITIV 2751 _OUTPUTS : 1 2752 _OUTPUT 2753 _POSITIV 2754 _NO_SET 2755 IstwertGeschwindigkeit 2756 _NETWORK 2757 2758 _COMMENT 2759 2760 _END_COMMENT 2761 _ASSIGN 2762 _OPERAND 2763 _EXPRESSION 2764 _POSITIV 2765 ek_in_eco.diagnosis 2766 _EXPRESSION 2767 _POSITIV 2768 _OUTPUTS : 1 2769 _OUTPUT 2770 _POSITIV 2771 _NO_SET 2772 Diagnosewort 2773 _NETWORK 2774 2775 _COMMENT 2776 2777 _END_COMMENT 2778 _ASSIGN 2779 _OPERAND 2780 _EXPRESSION 2781 _POSITIV 2782 ek_in_eco.drive_Error_ZKL1 2783 _EXPRESSION 2784 _POSITIV 2785 _OUTPUTS : 1 2786 _OUTPUT 2787 _POSITIV 2788 _NO_SET 2789 FehlerStehtAn 2790 _NETWORK 2791 2792 _COMMENT 2793 2794 _END_COMMENT 2795 _ASSIGN 2796 _OPERAND 2797 _EXPRESSION 2798 _POSITIV 2799 ek_in_eco.in_reference 2800 _EXPRESSION 2801 _POSITIV 2802 _OUTPUTS : 1 2803 _OUTPUT 2804 _POSITIV 2805 _NO_SET 2806 InReferenz 2807 _NETWORK 2808 2809 _COMMENT 2810 2811 _END_COMMENT 2812 _ASSIGN 2813 _OPERAND 2814 _EXPRESSION 2815 _POSITIV 2816 ek_in_eco.setpoint_reached 2817 _EXPRESSION 2818 _POSITIV 2819 _OUTPUTS : 1 2820 _OUTPUT 2821 _POSITIV 2822 _NO_SET 2823 InPosition 2824 _NETWORK 2825 2826 _COMMENT 2827 2828 _END_COMMENT 2829 _ASSIGN 2830 _OPERAND 2831 _EXPRESSION 2832 _POSITIV 2833 ek_in_eco.in_standstill 2834 _EXPRESSION 2835 _POSITIV 2836 _OUTPUTS : 1 2837 _OUTPUT 2838 _POSITIV 2839 _NO_SET 2840 InStillstand 2841 _NETWORK 2842 2843 _COMMENT 2844 Endschalter erreicht (*ueberfluessig*) 2845 _END_COMMENT 2846 _ASSIGN 2847 _OPERATOR 2848 _BOX_EXPR : 4 2849 _OPERATOR 2850 _BOX_EXPR : 2 2851 _OPERAND 2852 _EXPRESSION 2853 _POSITIV 2854 Diagnosewort 2855 _OPERAND 2856 _EXPRESSION 2857 _POSITIV 2858 16#E829 2859 _EXPRESSION 2860 _POSITIV 2861 EQ 2862 _OPERATOR 2863 _BOX_EXPR : 2 2864 _OPERAND 2865 _EXPRESSION 2866 _POSITIV 2867 Diagnosewort 2868 _OPERAND 2869 _EXPRESSION 2870 _POSITIV 2871 16#E843 2872 _EXPRESSION 2873 _POSITIV 2874 EQ 2875 _OPERATOR 2876 _BOX_EXPR : 2 2877 _OPERAND 2878 _EXPRESSION 2879 _POSITIV 2880 Diagnosewort 2881 _OPERAND 2882 _EXPRESSION 2883 _POSITIV 2884 16#F643 2885 _EXPRESSION 2886 _POSITIV 2887 EQ 2888 _OPERATOR 2889 _BOX_EXPR : 2 2890 _OPERATOR 2891 _BOX_EXPR : 2 2892 _OPERAND 2893 _EXPRESSION 2894 _POSITIV 2895 Diagnosewort 2896 _OPERAND 2897 _EXPRESSION 2898 _POSITIV 2899 16#E831 2900 _EXPRESSION 2901 _POSITIV 2902 EQ 2903 _OPERAND 2904 _EXPRESSION 2905 _POSITIV 2906 INTERN_JOG_FORWARD 2907 _EXPRESSION 2908 _POSITIV 2909 AND 2910 _EXPRESSION 2911 _POSITIV 2912 OR 2913 _EXPRESSION 2914 _POSITIV 2915 _OUTPUTS : 1 2916 _OUTPUT 2917 _POSITIV 2918 _NO_SET 2919 EndschalterPlus 2920 _NETWORK 2921 2922 _COMMENT 2923 Ueberfluessig 2924 _END_COMMENT 2925 _ASSIGN 2926 _OPERATOR 2927 _BOX_EXPR : 4 2928 _OPERATOR 2929 _BOX_EXPR : 2 2930 _OPERAND 2931 _EXPRESSION 2932 _POSITIV 2933 Diagnosewort 2934 _OPERAND 2935 _EXPRESSION 2936 _POSITIV 2937 16#E830 2938 _EXPRESSION 2939 _POSITIV 2940 EQ 2941 _OPERATOR 2942 _BOX_EXPR : 2 2943 _OPERAND 2944 _EXPRESSION 2945 _POSITIV 2946 Diagnosewort 2947 _OPERAND 2948 _EXPRESSION 2949 _POSITIV 2950 16#E844 2951 _EXPRESSION 2952 _POSITIV 2953 EQ 2954 _OPERATOR 2955 _BOX_EXPR : 2 2956 _OPERAND 2957 _EXPRESSION 2958 _POSITIV 2959 Diagnosewort 2960 _OPERAND 2961 _EXPRESSION 2962 _POSITIV 2963 16#F644 2964 _EXPRESSION 2965 _POSITIV 2966 EQ 2967 _OPERATOR 2968 _BOX_EXPR : 2 2969 _OPERATOR 2970 _BOX_EXPR : 2 2971 _OPERAND 2972 _EXPRESSION 2973 _POSITIV 2974 Diagnosewort 2975 _OPERAND 2976 _EXPRESSION 2977 _POSITIV 2978 16#E831 2979 _EXPRESSION 2980 _POSITIV 2981 EQ 2982 _OPERAND 2983 _EXPRESSION 2984 _POSITIV 2985 INTERN_JOG_BACKWARD 2986 _EXPRESSION 2987 _POSITIV 2988 AND 2989 _EXPRESSION 2990 _POSITIV 2991 OR 2992 _EXPRESSION 2993 _POSITIV 2994 _OUTPUTS : 1 2995 _OUTPUT 2996 _POSITIV 2997 _NO_SET 2998 EndschalterMinus 2999 _NETWORK 3000 3001 _COMMENT 3002 3003 _END_COMMENT 3004 _ASSIGN 3005 _OPERATOR 3006 _BOX_EXPR : 2 3007 _OPERAND 3008 _EXPRESSION 3009 _POSITIV 3010 Diagnosewort 2718 3011 _OPERAND 2719 3012 _EXPRESSION … … 2721 3014 0 2722 3015 _EXPRESSION 2723 _POSITIV 2724 _OUTPUTS : 1 2725 _OUTPUT 2726 _POSITIV 2727 _NO_SET 2728 IstwertPosition 2729 _NETWORK 2730 2731 _COMMENT 2732 2733 _END_COMMENT 2734 _ASSIGN 2735 _OPERAND 2736 _EXPRESSION 2737 _POSITIV 2738 ek_in_eco.vel_act 2739 _EXPRESSION 2740 _POSITIV 2741 _OUTPUTS : 1 2742 _OUTPUT 2743 _POSITIV 2744 _NO_SET 2745 IstwertGeschwindigkeit 2746 _NETWORK 2747 2748 _COMMENT 2749 2750 _END_COMMENT 2751 _ASSIGN 2752 _OPERAND 2753 _EXPRESSION 2754 _POSITIV 2755 ek_in_eco.diagnosis 2756 _EXPRESSION 2757 _POSITIV 2758 _OUTPUTS : 1 2759 _OUTPUT 2760 _POSITIV 2761 _NO_SET 2762 Diagnosewort 2763 _NETWORK 2764 2765 _COMMENT 2766 2767 _END_COMMENT 2768 _ASSIGN 2769 _OPERAND 2770 _EXPRESSION 2771 _POSITIV 2772 ek_in_eco.drive_Error_ZKL1 2773 _EXPRESSION 2774 _POSITIV 2775 _OUTPUTS : 1 2776 _OUTPUT 2777 _POSITIV 2778 _NO_SET 2779 FehlerStehtAn 2780 _NETWORK 2781 2782 _COMMENT 2783 2784 _END_COMMENT 2785 _ASSIGN 2786 _OPERAND 2787 _EXPRESSION 2788 _POSITIV 2789 ek_in_eco.in_reference 2790 _EXPRESSION 2791 _POSITIV 2792 _OUTPUTS : 1 2793 _OUTPUT 2794 _POSITIV 2795 _NO_SET 2796 InReferenz 2797 _NETWORK 2798 2799 _COMMENT 2800 2801 _END_COMMENT 2802 _ASSIGN 2803 _OPERAND 2804 _EXPRESSION 2805 _POSITIV 2806 ek_in_eco.setpoint_reached 2807 _EXPRESSION 2808 _POSITIV 2809 _OUTPUTS : 1 2810 _OUTPUT 2811 _POSITIV 2812 _NO_SET 2813 InPosition 2814 _NETWORK 2815 2816 _COMMENT 2817 2818 _END_COMMENT 2819 _ASSIGN 2820 _OPERAND 2821 _EXPRESSION 2822 _POSITIV 2823 ek_in_eco.in_standstill 2824 _EXPRESSION 2825 _POSITIV 2826 _OUTPUTS : 1 2827 _OUTPUT 2828 _POSITIV 2829 _NO_SET 2830 InStillstand 2831 _NETWORK 2832 2833 _COMMENT 2834 Endschalter erreicht (*ueberfluessig*) 2835 _END_COMMENT 2836 _ASSIGN 2837 _OPERATOR 2838 _BOX_EXPR : 4 2839 _OPERATOR 2840 _BOX_EXPR : 2 2841 _OPERAND 2842 _EXPRESSION 2843 _POSITIV 2844 Diagnosewort 2845 _OPERAND 2846 _EXPRESSION 2847 _POSITIV 2848 16#E829 2849 _EXPRESSION 2850 _POSITIV 3016 _NEGATIV 2851 3017 EQ 2852 _OPERATOR 2853 _BOX_EXPR : 2 2854 _OPERAND 2855 _EXPRESSION 2856 _POSITIV 2857 Diagnosewort 2858 _OPERAND 2859 _EXPRESSION 2860 _POSITIV 2861 16#E843 2862 _EXPRESSION 2863 _POSITIV 2864 EQ 2865 _OPERATOR 2866 _BOX_EXPR : 2 2867 _OPERAND 2868 _EXPRESSION 2869 _POSITIV 2870 Diagnosewort 2871 _OPERAND 2872 _EXPRESSION 2873 _POSITIV 2874 16#F643 2875 _EXPRESSION 2876 _POSITIV 2877 EQ 2878 _OPERATOR 2879 _BOX_EXPR : 2 2880 _OPERATOR 2881 _BOX_EXPR : 2 2882 _OPERAND 2883 _EXPRESSION 2884 _POSITIV 2885 Diagnosewort 2886 _OPERAND 2887 _EXPRESSION 2888 _POSITIV 2889 16#E831 2890 _EXPRESSION 2891 _POSITIV 2892 EQ 2893 _OPERAND 2894 _EXPRESSION 2895 _POSITIV 2896 INTERN_JOG_FORWARD 2897 _EXPRESSION 2898 _POSITIV 2899 AND 2900 _EXPRESSION 2901 _POSITIV 2902 OR 2903 _EXPRESSION 2904 _POSITIV 2905 _OUTPUTS : 1 2906 _OUTPUT 2907 _POSITIV 2908 _NO_SET 2909 EndschalterPlus 2910 _NETWORK 2911 2912 _COMMENT 2913 Ueberfluessig 2914 _END_COMMENT 2915 _ASSIGN 2916 _OPERATOR 2917 _BOX_EXPR : 4 2918 _OPERATOR 2919 _BOX_EXPR : 2 2920 _OPERAND 2921 _EXPRESSION 2922 _POSITIV 2923 Diagnosewort 2924 _OPERAND 2925 _EXPRESSION 2926 _POSITIV 2927 16#E830 2928 _EXPRESSION 2929 _POSITIV 2930 EQ 2931 _OPERATOR 2932 _BOX_EXPR : 2 2933 _OPERAND 2934 _EXPRESSION 2935 _POSITIV 2936 Diagnosewort 2937 _OPERAND 2938 _EXPRESSION 2939 _POSITIV 2940 16#E844 2941 _EXPRESSION 2942 _POSITIV 2943 EQ 2944 _OPERATOR 2945 _BOX_EXPR : 2 2946 _OPERAND 2947 _EXPRESSION 2948 _POSITIV 2949 Diagnosewort 2950 _OPERAND 2951 _EXPRESSION 2952 _POSITIV 2953 16#F644 2954 _EXPRESSION 2955 _POSITIV 2956 EQ 2957 _OPERATOR 2958 _BOX_EXPR : 2 2959 _OPERATOR 2960 _BOX_EXPR : 2 2961 _OPERAND 2962 _EXPRESSION 2963 _POSITIV 2964 Diagnosewort 2965 _OPERAND 2966 _EXPRESSION 2967 _POSITIV 2968 16#E831 2969 _EXPRESSION 2970 _POSITIV 2971 EQ 2972 _OPERAND 2973 _EXPRESSION 2974 _POSITIV 2975 INTERN_JOG_BACKWARD 2976 _EXPRESSION 2977 _POSITIV 2978 AND 2979 _EXPRESSION 2980 _POSITIV 2981 OR 2982 _EXPRESSION 2983 _POSITIV 2984 _OUTPUTS : 1 2985 _OUTPUT 2986 _POSITIV 2987 _NO_SET 2988 EndschalterMinus 2989 _NETWORK 2990 2991 _COMMENT 2992 Ausgangssignale an Profibus schreiben 2993 _END_COMMENT 2994 _ASSIGN 2995 _OPERAND 2996 _EXPRESSION 2997 _POSITIV 2998 ek_out_eco.steuerwort 2999 _EXPRESSION 3000 _POSITIV 3001 _OUTPUTS : 1 3002 _OUTPUT 3003 _POSITIV 3004 _NO_SET 3005 PAW1 3018 _EXPRESSION 3019 _POSITIV 3020 _OUTPUTS : 1 3021 _OUTPUT 3022 _POSITIV 3023 _NO_SET 3024 IsOnline 3006 3025 _NETWORK 3007 3026 … … 3094 3113 _NO_SET 3095 3114 PAW7 3115 _NETWORK 3116 3117 _COMMENT 3118 Ausgangssignale an Profibus schreiben 3119 _END_COMMENT 3120 _ASSIGN 3121 _OPERAND 3122 _EXPRESSION 3123 _POSITIV 3124 ek_out_eco.steuerwort 3125 _EXPRESSION 3126 _POSITIV 3127 _OUTPUTS : 1 3128 _OUTPUT 3129 _POSITIV 3130 _NO_SET 3131 PAW1 3096 3132 _NETWORK 3097 3133 … … 3221 3257 3222 3258 VAR_INPUT 3223 In :DWORD;3259 In: DWORD; 3224 3260 END_VAR 3225 3261 3226 3262 VAR_OUTPUT 3227 Out :DWORD;3263 Out : DWORD; 3228 3264 END_VAR 3229 3265 … … 3247 3283 END_VAR 3248 3284 VAR 3249 RaisingEdge: R_TRIG;3285 RaisingEdge: R_TRIG; 3250 3286 FallingEdge: F_TRIG; 3251 3287 END_VAR … … 3302 3338 3303 3339 VAR 3304 Antrieb_1 : Ecodrive_7W_Antr_Gef_Pos; 3305 Beschleunigung : DINT; 3306 X_AccMACStoDKC : AccMACStoDKC; 3307 X_Stehengeblieben: R_TRIG; 3308 X_ResetAH_after_move: RS; 3340 Antrieb_1: Ecodrive_7W_Antr_Gef_Pos; 3341 Beschleunigung: DINT; 3342 X_AntriebHalt_Delay: TOF; 3309 3343 END_VAR 3310 3344 (* @END_DECLARATION := '0' *) 3311 3345 _FBD_BODY 3312 _NETWORKS : 63346 _NETWORKS : 8 3313 3347 _NETWORK 3314 3348 … … 3384 3418 _EXPRESSION 3385 3419 _NEGATIV 3420 x_PC_AntriebHalt 3421 _EXPRESSION 3422 _POSITIV 3423 AND 3424 _OPERAND 3425 _EXPRESSION 3426 _POSITIV 3427 X_Pos_Geber2 3428 _OPERATOR 3429 _BOX_EXPR : 3 3430 _OPERAND 3431 _EXPRESSION 3432 _POSITIV 3433 X_PC_VStart 3434 _OPERATOR 3435 _BOX_EXPR : 3 3436 _OPERAND 3437 _EXPRESSION 3438 _POSITIV 3439 X_PC_IsRelative 3440 _OPERAND 3441 _EXPRESSION 3442 _POSITIV 3443 X_PC_PosZiel 3444 _OPERATOR 3445 _BOX_EXPR : 2 3446 _OPERAND 3447 _EXPRESSION 3448 _POSITIV 3449 X_PC_PosZiel 3450 _OPERAND 3451 _EXPRESSION 3452 _POSITIV 3453 X_Pos_Geber2 3454 _EXPRESSION 3455 _POSITIV 3456 ADD 3457 _EXPRESSION 3458 _POSITIV 3459 SEL 3460 _OPERATOR 3461 _BOX_EXPR : 3 3462 _OPERATOR 3463 _BOX_EXPR : 2 3464 _OPERAND 3465 _EXPRESSION 3466 _POSITIV 3467 X_PC_VGeschwindigkeit 3468 _OPERAND 3469 _EXPRESSION 3470 _POSITIV 3471 0 3472 _EXPRESSION 3473 _POSITIV 3474 LT 3475 _OPERAND 3476 _EXPRESSION 3477 _POSITIV 3478 576580649 3479 _OPERAND 3480 _EXPRESSION 3481 _POSITIV 3482 -576580649 3483 _EXPRESSION 3484 _POSITIV 3485 SEL 3486 _EXPRESSION 3487 _POSITIV 3488 SEL 3489 _EXPRESSION 3490 _POSITIV 3491 SEL 3492 _EXPRESSION 3493 _POSITIV 3494 _OUTPUTS : 1 3495 _OUTPUT 3496 _POSITIV 3497 _NO_SET 3498 X_Pos_soll 3499 _NETWORK 3500 3501 _COMMENT 3502 In first MUL 1 was ArbitraryMACFactor 3503 _END_COMMENT 3504 _ASSIGN 3505 _OPERATOR 3506 _BOX_EXPR : 3 3507 _OPERAND 3508 _EXPRESSION 3509 _POSITIV 3510 X_PC_VStart 3511 _OPERAND 3512 _EXPRESSION 3513 _POSITIV 3514 X_PC_PosGeschwindigkeit 3515 _OPERATOR 3516 _BOX_EXPR : 1 3517 _OPERAND 3518 _EXPRESSION 3519 _POSITIV 3520 X_PC_VGeschwindigkeit 3521 _EXPRESSION 3522 _POSITIV 3523 ABS 3524 _EXPRESSION 3525 _POSITIV 3526 SEL 3527 _EXPRESSION 3528 _POSITIV 3529 _OUTPUTS : 1 3530 _OUTPUT 3531 _POSITIV 3532 _NO_SET 3533 X_Vel_soll 3534 _NETWORK 3535 3536 _COMMENT 3537 Beschleunigung wird auch fuer Tipp-Betrieb gesetzt 3538 _END_COMMENT 3539 _ASSIGN 3540 _OPERATOR 3541 _BOX_EXPR : 3 3542 _OPERAND 3543 _EXPRESSION 3544 _POSITIV 3545 IN_FB_Betrieb 3546 _OPERAND 3547 _EXPRESSION 3548 _POSITIV 3549 X_PC_PosBeschleunigung 3550 _OPERAND 3551 _EXPRESSION 3552 _POSITIV 3553 X_HandBeschl 3554 _EXPRESSION 3555 _POSITIV 3556 SEL 3557 _EXPRESSION 3558 _POSITIV 3559 _OUTPUTS : 1 3560 _OUTPUT 3561 _POSITIV 3562 _NO_SET 3563 Beschleunigung 3564 _NETWORK 3565 3566 _COMMENT 3567 Set AntriebHalt whenever PC signal moving is reset with a delay of 3s 3568 _END_COMMENT 3569 _ASSIGN 3570 _OPERATOR 3571 _BOX_EXPR : 2 3572 _FUNCTIONBLOCK 3573 X_AntriebHalt_Delay 3574 _BOX_EXPR : 2 3575 _OPERATOR 3576 _BOX_EXPR : 2 3577 _OPERATOR 3578 _BOX_EXPR : 2 3579 _OPERATOR 3580 _BOX_EXPR : 2 3581 _OPERAND 3582 _EXPRESSION 3583 _NEGATIV 3584 X_in_Standstill 3585 _OPERAND 3586 _EXPRESSION 3587 _NEGATIV 3588 X_in_AntriebHalt 3589 _EXPRESSION 3590 _POSITIV 3591 OR 3592 _OPERAND 3593 _EXPRESSION 3594 _NEGATIV 3595 X_in_Pos 3596 _EXPRESSION 3597 _POSITIV 3598 AND 3599 _OPERAND 3600 _EXPRESSION 3601 _POSITIV 3602 X_AnnounceStartMovement 3603 _EXPRESSION 3604 _POSITIV 3605 OR 3606 _OPERAND 3607 _EXPRESSION 3608 _POSITIV 3609 T#3s 3610 _EXPRESSION 3611 _NEGATIV 3612 TOF 3613 _OUTPUTS : 1 3614 _OUTPUT 3615 _POSITIV 3616 _NO_SET 3617 _EMPTY 3618 _OPERAND 3619 _EXPRESSION 3620 _POSITIV 3386 3621 X_PC_AntriebHalt 3387 3622 _EXPRESSION 3388 3623 _POSITIV 3389 AND 3390 _OPERAND 3391 _EXPRESSION 3392 _POSITIV 3393 0 3394 _OPERATOR 3395 _BOX_EXPR : 3 3396 _OPERAND 3397 _EXPRESSION 3398 _POSITIV 3399 X_PC_VStart 3400 _OPERAND 3401 _EXPRESSION 3402 _POSITIV 3403 X_PC_PosZiel 3404 _OPERATOR 3405 _BOX_EXPR : 3 3406 _OPERATOR 3407 _BOX_EXPR : 2 3408 _OPERAND 3409 _EXPRESSION 3410 _POSITIV 3411 X_PC_VGeschwindigkeit 3412 _OPERAND 3413 _EXPRESSION 3414 _POSITIV 3415 0 3416 _EXPRESSION 3417 _POSITIV 3418 LT 3419 _OPERAND 3420 _EXPRESSION 3421 _POSITIV 3422 -576580649 3423 _OPERAND 3424 _EXPRESSION 3425 _POSITIV 3426 576580649 3427 _EXPRESSION 3428 _POSITIV 3429 SEL 3430 _EXPRESSION 3431 _POSITIV 3432 SEL 3433 _EXPRESSION 3434 _POSITIV 3435 SEL 3436 _EXPRESSION 3437 _POSITIV 3438 _OUTPUTS : 1 3439 _OUTPUT 3440 _POSITIV 3441 _NO_SET 3442 X_Pos_soll 3443 _NETWORK 3444 3445 _COMMENT 3446 In first MUL 1 was ArbitraryMACFactor 3447 _END_COMMENT 3448 _ASSIGN 3449 _OPERATOR 3450 _BOX_EXPR : 3 3451 _OPERAND 3452 _EXPRESSION 3453 _POSITIV 3454 X_PC_VStart 3455 _OPERAND 3456 _EXPRESSION 3457 _POSITIV 3458 X_PC_PosGeschwindigkeit 3459 _OPERATOR 3460 _BOX_EXPR : 1 3461 _OPERATOR 3462 _BOX_EXPR : 2 3463 _OPERAND 3464 _EXPRESSION 3465 _POSITIV 3466 X_PC_VGeschwindigkeit 3467 _OPERAND 3468 _EXPRESSION 3469 _POSITIV 3470 1 3471 _EXPRESSION 3472 _POSITIV 3473 MUL 3474 _EXPRESSION 3475 _POSITIV 3476 ABS 3477 _EXPRESSION 3478 _POSITIV 3479 SEL 3480 _EXPRESSION 3481 _POSITIV 3482 _OUTPUTS : 1 3483 _OUTPUT 3484 _POSITIV 3485 _NO_SET 3486 X_Vel_soll 3487 _NETWORK 3488 3489 _COMMENT 3490 Beschleunigung wird auch fuer Tipp-Betrieb gesetzt 3491 _END_COMMENT 3492 _ASSIGN 3493 _OPERATOR 3494 _BOX_EXPR : 3 3495 _OPERAND 3496 _EXPRESSION 3497 _POSITIV 3498 IN_FB_Betrieb 3499 _FUNCTIONBLOCK 3500 X_AccMACStoDKC 3501 _BOX_EXPR : 1 3502 _OPERATOR 3503 _BOX_EXPR : 3 3504 _OPERATOR 3505 _BOX_EXPR : 2 3506 _OPERATOR 3507 _BOX_EXPR : 1 3508 _OPERATOR 3509 _BOX_EXPR : 2 3510 _OPERAND 3511 _EXPRESSION 3512 _POSITIV 3513 X_Pos_ist 3514 _OPERAND 3515 _EXPRESSION 3516 _POSITIV 3517 X_Pos_soll 3518 _EXPRESSION 3519 _POSITIV 3520 SUB 3521 _EXPRESSION 3522 _POSITIV 3523 ABS 3524 _OPERAND 3525 _EXPRESSION 3526 _POSITIV 3527 -1000 3528 _EXPRESSION 3529 _POSITIV 3530 LT 3531 _OPERAND 3532 _EXPRESSION 3533 _POSITIV 3534 X_PC_PosBeschleunigung 3535 _OPERAND 3536 _EXPRESSION 3537 _POSITIV 3538 X_PC_PosVerzoegerung 3539 _EXPRESSION 3540 _POSITIV 3541 SEL 3542 _EXPRESSION 3543 _POSITIV 3544 AccMACStoDKC 3545 _OUTPUTS : 0 3546 _OPERAND 3547 _EXPRESSION 3548 _POSITIV 3549 X_HandBeschl 3550 _EXPRESSION 3551 _POSITIV 3552 SEL 3553 _EXPRESSION 3554 _POSITIV 3555 _OUTPUTS : 1 3556 _OUTPUT 3557 _POSITIV 3558 _NO_SET 3559 Beschleunigung 3624 OR 3625 _EXPRESSION 3626 _POSITIV 3627 _OUTPUTS : 1 3628 _OUTPUT 3629 _POSITIV 3630 _NO_SET 3631 X_PC_AntriebHalt 3632 _NETWORK 3633 3634 _COMMENT 3635 3636 _END_COMMENT 3637 _ASSIGN 3638 _OPERAND 3639 _EXPRESSION 3640 _POSITIV 3641 FALSE 3642 _EXPRESSION 3643 _POSITIV 3644 _OUTPUTS : 1 3645 _OUTPUT 3646 _POSITIV 3647 _NO_SET 3648 X_AnnounceStartMovement 3560 3649 _NETWORK 3561 3650 … … 3601 3690 _EXPRESSION 3602 3691 _POSITIV 3603 TRUE 3692 X_PC_IsRelative 3693 _OPERAND 3694 _EXPRESSION 3695 _POSITIV 3696 X_PC_VStart 3604 3697 _OPERAND 3605 3698 _EXPRESSION … … 3621 3714 _EXPRESSION 3622 3715 _POSITIV 3623 X_Pos_Fenster3624 _OPERAND3625 _EXPRESSION3626 _POSITIV3627 3716 %IW100 3628 3717 _OPERAND … … 3665 3754 _POSITIV 3666 3755 Ecodrive_7W_Antr_Gef_Pos 3667 _OUTPUTS : 2 23756 _OUTPUTS : 23 3668 3757 _OUTPUT 3669 3758 _POSITIV … … 3718 3807 _NO_SET 3719 3808 X_Pos_Geber2 3809 _OUTPUT 3810 _POSITIV 3811 _NO_SET 3812 X_IsOnline 3720 3813 _OUTPUT 3721 3814 _POSITIV … … 3918 4011 _EXPRESSION 3919 4012 _POSITIV 4013 ??? 4014 _OPERAND 4015 _EXPRESSION 4016 _POSITIV 3920 4017 X_Pos_soll 3921 4018 _OPERAND … … 3934 4031 _EXPRESSION 3935 4032 _POSITIV 3936 X_Pos_Fenster3937 _OPERAND3938 _EXPRESSION3939 _POSITIV3940 4033 %IW100 3941 4034 _OPERAND … … 3978 4071 _POSITIV 3979 4072 Ecodrive_7W_Antr_Gef_Pos 3980 _OUTPUTS : 2 24073 _OUTPUTS : 23 3981 4074 _OUTPUT 3982 4075 _POSITIV … … 4031 4124 _NO_SET 4032 4125 X_Pos_Geber2 4126 _OUTPUT 4127 _POSITIV 4128 _NO_SET 4129 _EMPTY 4033 4130 _OUTPUT 4034 4131 _POSITIV … … 4083 4180 4084 4181 VAR 4085 Antrieb_2 :Ecodrive_7W_Antr_Gef_Pos; 4086 Dummy: BOOL; 4182 Antrieb_2: Ecodrive_7W_Antr_Gef_Pos; 4087 4183 ReleaseAH_Slave: BOOL; 4088 4184 ReleaseAH_Delay: TOF; … … 4213 4309 _EXPRESSION 4214 4310 _POSITIV 4311 FALSE 4312 _OPERAND 4313 _EXPRESSION 4314 _POSITIV 4215 4315 0 4216 4316 _OPERAND … … 4229 4329 _EXPRESSION 4230 4330 _POSITIV 4231 04232 _OPERAND4233 _EXPRESSION4234 _POSITIV4235 4331 %IW140 4236 4332 _OPERAND … … 4269 4365 _EXPRESSION 4270 4366 _POSITIV 4271 Dummy 4367 FALSE 4272 4368 _EXPRESSION 4273 4369 _POSITIV 4274 4370 Ecodrive_7W_Antr_Gef_Pos 4275 _OUTPUTS : 2 24371 _OUTPUTS : 23 4276 4372 _OUTPUT 4277 4373 _POSITIV … … 4326 4422 _NO_SET 4327 4423 _EMPTY 4424 _OUTPUT 4425 _POSITIV 4426 _NO_SET 4427 Y_IsOnline 4328 4428 _OUTPUT 4329 4429 _POSITIV … … 4371 4471 4372 4472 VAR 4373 Antrieb_3 : Ecodrive_7W_Antr_Gef_Pos; 4374 Time_Brake : TON; 4375 Beschleunigung : DINT; 4376 Z_AccMACStoDKC : AccMACStoDKC; 4377 Z_Stehengeblieben: R_TRIG; 4378 Z_ResetAH_after_move: RS; 4473 Antrieb_3: Ecodrive_7W_Antr_Gef_Pos; 4474 Time_Brake: TON; 4475 Beschleunigung: DINT; 4476 Z_AntriebHalt_Delay: TOF; 4379 4477 END_VAR 4380 4478 (* @END_DECLARATION := '0' *) 4381 4479 _FBD_BODY 4382 _NETWORKS : 74480 _NETWORKS : 9 4383 4481 _NETWORK 4384 4482 … … 4461 4559 _EXPRESSION 4462 4560 _POSITIV 4561 Z_Pos_Geber2 4562 _OPERATOR 4563 _BOX_EXPR : 3 4564 _OPERAND 4565 _EXPRESSION 4566 _POSITIV 4567 Z_PC_VStart 4568 _OPERATOR 4569 _BOX_EXPR : 3 4570 _OPERAND 4571 _EXPRESSION 4572 _POSITIV 4573 Z_PC_IsRelative 4574 _OPERAND 4575 _EXPRESSION 4576 _POSITIV 4577 Z_PC_PosZiel 4578 _OPERATOR 4579 _BOX_EXPR : 2 4580 _OPERAND 4581 _EXPRESSION 4582 _POSITIV 4583 Z_PC_PosZiel 4584 _OPERAND 4585 _EXPRESSION 4586 _POSITIV 4587 Z_Pos_Geber2 4588 _EXPRESSION 4589 _POSITIV 4590 ADD 4591 _EXPRESSION 4592 _POSITIV 4593 SEL 4594 _OPERATOR 4595 _BOX_EXPR : 3 4596 _OPERATOR 4597 _BOX_EXPR : 2 4598 _OPERAND 4599 _EXPRESSION 4600 _POSITIV 4601 Z_PC_VGeschwindigkeit 4602 _OPERAND 4603 _EXPRESSION 4604 _POSITIV 4463 4605 0 4606 _EXPRESSION 4607 _POSITIV 4608 LT 4609 _OPERAND 4610 _EXPRESSION 4611 _POSITIV 4612 175256485 4613 _OPERAND 4614 _EXPRESSION 4615 _POSITIV 4616 -175256485 4617 _EXPRESSION 4618 _POSITIV 4619 SEL 4620 _EXPRESSION 4621 _POSITIV 4622 SEL 4623 _EXPRESSION 4624 _POSITIV 4625 SEL 4626 _EXPRESSION 4627 _POSITIV 4628 _OUTPUTS : 1 4629 _OUTPUT 4630 _POSITIV 4631 _NO_SET 4632 Z_Pos_soll 4633 _NETWORK 4634 4635 _COMMENT 4636 In first MUL 1 was ArbitraryMACFactor 4637 _END_COMMENT 4638 _ASSIGN 4464 4639 _OPERATOR 4465 4640 _BOX_EXPR : 3 … … 4471 4646 _EXPRESSION 4472 4647 _POSITIV 4473 Z_PC_PosZiel 4648 Z_PC_PosGeschwindigkeit 4649 _OPERATOR 4650 _BOX_EXPR : 1 4651 _OPERAND 4652 _EXPRESSION 4653 _POSITIV 4654 Z_PC_VGeschwindigkeit 4655 _EXPRESSION 4656 _POSITIV 4657 ABS 4658 _EXPRESSION 4659 _POSITIV 4660 SEL 4661 _EXPRESSION 4662 _POSITIV 4663 _OUTPUTS : 1 4664 _OUTPUT 4665 _POSITIV 4666 _NO_SET 4667 Z_Vel_soll 4668 _NETWORK 4669 4670 _COMMENT 4671 Beschleunigung wird auch fuer Tipp-Betrieb gesetzt 4672 _END_COMMENT 4673 _ASSIGN 4474 4674 _OPERATOR 4475 4675 _BOX_EXPR : 3 4476 _OPERATOR 4477 _BOX_EXPR : 2 4478 _OPERAND 4479 _EXPRESSION 4480 _POSITIV 4481 Z_PC_VGeschwindigkeit 4482 _OPERAND 4483 _EXPRESSION 4484 _POSITIV 4485 0 4486 _EXPRESSION 4487 _POSITIV 4488 LT 4489 _OPERAND 4490 _EXPRESSION 4491 _POSITIV 4492 -175256485 4493 _OPERAND 4494 _EXPRESSION 4495 _POSITIV 4496 175256485 4676 _OPERAND 4677 _EXPRESSION 4678 _POSITIV 4679 IN_FB_Betrieb 4680 _OPERAND 4681 _EXPRESSION 4682 _POSITIV 4683 Z_PC_PosBeschleunigung 4684 _OPERAND 4685 _EXPRESSION 4686 _POSITIV 4687 Z_HandBeschl 4497 4688 _EXPRESSION 4498 4689 _POSITIV … … 4500 4691 _EXPRESSION 4501 4692 _POSITIV 4502 SEL 4503 _EXPRESSION 4504 _POSITIV 4505 SEL 4506 _EXPRESSION 4507 _POSITIV 4508 _OUTPUTS : 1 4509 _OUTPUT 4510 _POSITIV 4511 _NO_SET 4512 Z_Pos_soll 4513 _NETWORK 4514 4515 _COMMENT 4516 In first MUL 1 was ArbitraryMACFactor 4517 _END_COMMENT 4518 _ASSIGN 4519 _OPERATOR 4520 _BOX_EXPR : 3 4521 _OPERAND 4522 _EXPRESSION 4523 _POSITIV 4524 Z_PC_VStart 4525 _OPERAND 4526 _EXPRESSION 4527 _POSITIV 4528 Z_PC_PosGeschwindigkeit 4529 _OPERATOR 4530 _BOX_EXPR : 1 4531 _OPERATOR 4532 _BOX_EXPR : 2 4533 _OPERAND 4534 _EXPRESSION 4535 _POSITIV 4536 Z_PC_VGeschwindigkeit 4537 _OPERAND 4538 _EXPRESSION 4539 _POSITIV 4540 1 4541 _EXPRESSION 4542 _POSITIV 4543 MUL 4544 _EXPRESSION 4545 _POSITIV 4546 ABS 4547 _EXPRESSION 4548 _POSITIV 4549 SEL 4550 _EXPRESSION 4551 _POSITIV 4552 _OUTPUTS : 1 4553 _OUTPUT 4554 _POSITIV 4555 _NO_SET 4556 Z_Vel_soll 4557 _NETWORK 4558 4559 _COMMENT 4560 Beschleunigung wird auch fuer Tipp-Betrieb gesetzt 4561 _END_COMMENT 4562 _ASSIGN 4563 _OPERATOR 4564 _BOX_EXPR : 3 4565 _OPERAND 4566 _EXPRESSION 4567 _POSITIV 4568 IN_FB_Betrieb 4693 _OUTPUTS : 1 4694 _OUTPUT 4695 _POSITIV 4696 _NO_SET 4697 Beschleunigung 4698 _NETWORK 4699 4700 _COMMENT 4701 Set AntriebHalt whenever PC signal moving is reset with a delay of 3s 4702 _END_COMMENT 4703 _ASSIGN 4704 _OPERATOR 4705 _BOX_EXPR : 2 4569 4706 _FUNCTIONBLOCK 4570 Z_AccMACStoDKC 4571 _BOX_EXPR : 1 4572 _OPERATOR 4573 _BOX_EXPR : 3 4574 _OPERATOR 4575 _BOX_EXPR : 2 4576 _OPERATOR 4577 _BOX_EXPR : 1 4578 _OPERATOR 4579 _BOX_EXPR : 2 4580 _OPERAND 4581 _EXPRESSION 4582 _POSITIV 4583 Z_Pos_ist 4584 _OPERAND 4585 _EXPRESSION 4586 _POSITIV 4587 Z_Pos_soll 4588 _EXPRESSION 4589 _POSITIV 4590 SUB 4591 _EXPRESSION 4592 _POSITIV 4593 ABS 4594 _OPERAND 4595 _EXPRESSION 4596 _POSITIV 4597 -1000 4598 _EXPRESSION 4599 _POSITIV 4600 LT 4601 _OPERAND 4602 _EXPRESSION 4603 _POSITIV 4604 Z_PC_PosBeschleunigung 4605 _OPERAND 4606 _EXPRESSION 4607 _POSITIV 4608 Z_PC_PosVerzoegerung 4609 _EXPRESSION 4610 _POSITIV 4611 SEL 4612 _EXPRESSION 4613 _POSITIV 4614 AccMACStoDKC 4615 _OUTPUTS : 0 4616 _OPERAND 4617 _EXPRESSION 4618 _POSITIV 4619 Z_HandBeschl 4620 _EXPRESSION 4621 _POSITIV 4622 SEL 4623 _EXPRESSION 4624 _POSITIV 4625 _OUTPUTS : 1 4626 _OUTPUT 4627 _POSITIV 4628 _NO_SET 4629 Beschleunigung 4707 Z_AntriebHalt_Delay 4708 _BOX_EXPR : 2 4709 _OPERATOR 4710 _BOX_EXPR : 2 4711 _OPERATOR 4712 _BOX_EXPR : 2 4713 _OPERATOR 4714 _BOX_EXPR : 2 4715 _OPERAND 4716 _EXPRESSION 4717 _NEGATIV 4718 Z_in_Standstill 4719 _OPERAND 4720 _EXPRESSION 4721 _NEGATIV 4722 Z_in_AntriebHalt 4723 _EXPRESSION 4724 _POSITIV 4725 OR 4726 _OPERAND 4727 _EXPRESSION 4728 _NEGATIV 4729 Z_in_Pos 4730 _EXPRESSION 4731 _POSITIV 4732 AND 4733 _OPERAND 4734 _EXPRESSION 4735 _POSITIV 4736 Z_AnnounceStartMovement 4737 _EXPRESSION 4738 _POSITIV 4739 OR 4740 _OPERAND 4741 _EXPRESSION 4742 _POSITIV 4743 T#3s 4744 _EXPRESSION 4745 _NEGATIV 4746 TOF 4747 _OUTPUTS : 1 4748 _OUTPUT 4749 _POSITIV 4750 _NO_SET 4751 _EMPTY 4752 _OPERAND 4753 _EXPRESSION 4754 _POSITIV 4755 Z_PC_AntriebHalt 4756 _EXPRESSION 4757 _POSITIV 4758 OR 4759 _EXPRESSION 4760 _POSITIV 4761 _OUTPUTS : 1 4762 _OUTPUT 4763 _POSITIV 4764 _NO_SET 4765 Z_PC_AntriebHalt 4766 _NETWORK 4767 4768 _COMMENT 4769 4770 _END_COMMENT 4771 _ASSIGN 4772 _OPERAND 4773 _EXPRESSION 4774 _POSITIV 4775 FALSE 4776 _EXPRESSION 4777 _POSITIV 4778 _OUTPUTS : 1 4779 _OUTPUT 4780 _POSITIV 4781 _NO_SET 4782 Z_AnnounceStartMovement 4630 4783 _NETWORK 4631 4784 … … 4671 4824 _EXPRESSION 4672 4825 _POSITIV 4673 TRUE 4826 Z_PC_IsRelative 4827 _OPERAND 4828 _EXPRESSION 4829 _POSITIV 4830 Z_PC_VStart 4674 4831 _OPERAND 4675 4832 _EXPRESSION … … 4691 4848 _EXPRESSION 4692 4849 _POSITIV 4693 Z_Pos_Fenster4694 _OPERAND4695 _EXPRESSION4696 _POSITIV4697 4850 %IW180 4698 4851 _OPERAND … … 4735 4888 _POSITIV 4736 4889 Ecodrive_7W_Antr_Gef_Pos 4737 _OUTPUTS : 2 24890 _OUTPUTS : 23 4738 4891 _OUTPUT 4739 4892 _POSITIV … … 4788 4941 _NO_SET 4789 4942 Z_Pos_Geber2 4943 _OUTPUT 4944 _POSITIV 4945 _NO_SET 4946 Z_IsOnline 4790 4947 _OUTPUT 4791 4948 _POSITIV … … 5101 5258 _EXPRESSION 5102 5259 _POSITIV 5260 ??? 5261 _OPERAND 5262 _EXPRESSION 5263 _POSITIV 5103 5264 Z_Pos_soll 5104 5265 _OPERAND … … 5117 5278 _EXPRESSION 5118 5279 _POSITIV 5119 Z_Pos_Fenster5120 _OPERAND5121 _EXPRESSION5122 _POSITIV5123 5280 %IW180 5124 5281 _OPERAND … … 5161 5318 _POSITIV 5162 5319 Ecodrive_7W_Antr_Gef_Pos 5163 _OUTPUTS : 2 25320 _OUTPUTS : 23 5164 5321 _OUTPUT 5165 5322 _POSITIV … … 5214 5371 _NO_SET 5215 5372 Z_Pos_Geber2 5373 _OUTPUT 5374 _POSITIV 5375 _NO_SET 5376 _EMPTY 5216 5377 _OUTPUT 5217 5378 _POSITIV … … 5266 5427 5267 5428 VAR 5268 Blinkgen :BLINK;5429 Blinkgen: BLINK; 5269 5430 END_VAR 5270 5431 (* @END_DECLARATION := '0' *) … … 5274 5435 5275 5436 _COMMENT 5276 5437 Blinks an led (digital output) on the module to signal that the SPS is properly running 5277 5438 _END_COMMENT 5278 5439 _ASSIGN … … 5298 5459 _EXPRESSION 5299 5460 _POSITIV 5300 _OUTPUTS : 25461 _OUTPUTS : 1 5301 5462 _OUTPUT 5302 5463 _POSITIV 5303 5464 _NO_SET 5304 5465 Visual_1Hz 5305 _OUTPUT 5306 _POSITIV 5307 _NO_SET 5308 Blink_1_I 5309 _NETWORK 5310 5311 _COMMENT 5312 Zykluszähler 5466 _NETWORK 5467 5468 _COMMENT 5469 Counts the number of cycles executed already 5313 5470 _END_COMMENT 5314 5471 _ASSIGN … … 5479 5636 (* @END_DECLARATION := '0' *) 5480 5637 _FBD_BODY 5481 _NETWORKS : 95638 _NETWORKS : 10 5482 5639 _NETWORK 5483 5640 … … 5562 5719 _EXPRESSION 5563 5720 _POSITIV 5564 Ethernet 5721 EthernetIn 5565 5722 _OUTPUTS : 0 5566 5723 _NETWORK … … 5574 5731 _EXPRESSION 5575 5732 _POSITIV 5576 Protokoll_SDO 5733 EthernetOut 5577 5734 _OUTPUTS : 0 5578 5735 _NETWORK … … 5586 5743 _EXPRESSION 5587 5744 _POSITIV 5745 Protokoll_SDO 5746 _OUTPUTS : 0 5747 _NETWORK 5748 5749 _COMMENT 5750 5751 _END_COMMENT 5752 _FUNCTIONBLOCK 5753 ??? 5754 _BOX_EXPR : 0 5755 _EXPRESSION 5756 _POSITIV 5588 5757 Protokoll_PDO 5589 5758 _OUTPUTS : 0 … … 5603 5772 5604 5773 VAR 5605 ST_Not :RS;5606 ST_Vers :RS;5607 ST_X :RS;5608 ST_Y :RS;5609 ST_Z :RS;5610 ST_24V :RS;5611 ST_Brems :RS;5774 ST_Not: RS; 5775 ST_Vers: RS; 5776 ST_X: RS; 5777 ST_Y: RS; 5778 ST_Z: RS; 5779 ST_24V: RS; 5780 ST_Brems : RS; 5612 5781 END_VAR 5613 5782 (* @END_DECLARATION := '0' *) … … 5951 6120 (* @SYMFILEFLAGS := '2048' *) 5952 6121 VAR_GLOBAL CONSTANT 5953 a_operating_mode_Bit0 :INT:=8;5954 a_operating_mode_Bit1 :INT:=9;5955 setpoint_acknowledge :INT:=10;5956 message_ZKL3 :INT:=11;5957 warning_ZKL2 :INT:=12;5958 drive_Error_ZKL1 :INT:=13;5959 ready_to_operate_Bit0 :INT:=14;5960 ready_to_operate_Bit1 :INT:=15;5961 o_mode_acknowledge_Bit0 :INT:=0;5962 o_mode_acknowledge_Bit1 :INT:=1;5963 in_reference :INT:=2;5964 in_standstill :INT:=3;5965 setpoint_reached :INT:=4;5966 command_change_bit :INT:=5;5967 operating_mode_error :INT:=6;5968 status_setpoint_process :INT:=7;5969 5970 set _operating_mode_Bit0 :INT:=8;5971 set_operating_mode_Bit1 :INT:=9;5972 reserved :INT:=10;5973 reserved1 :INT:=11;5974 IPOSYNC :INT:=12;5975 drive_halt :INT:=13;5976 drive_enable :INT:=14;5977 drive_on :INT:=15;5978 set point_acceptance :INT:=0; (*????!!!!! WHY???*)5979 operating_mode_set :INT:=1;5980 drive_to_zero_point :INT:=2;5981 absolute_relative :INT:=3;5982 immediate_block_change :INT:=4;5983 error_delete :INT:=5;5984 jog_forward :INT:=6;5985 jog_backwards :INT:=7;5986 5987 Signal_Absolutmasssetzen :INT:=96;6122 o_mode_acknowledge_Bit0: INT := 0; 6123 o_mode_acknowledge_Bit1: INT := 1; 6124 in_reference: INT := 2; 6125 in_standstill: INT := 3; 6126 setpoint_reached: INT := 4; 6127 command_change_bit: INT := 5; 6128 operating_mode_error: INT := 6; 6129 status_setpoint_process: INT := 7; (* "Status Sollwert Verarbeitung", 1=Antrieb folgt sollwert nicht, 0=Antrieb folgt Sollwert, Antrieb folgt Sollwert, erst dann Fahrbefehl schicken *) 6130 a_operating_mode_Bit0: INT := 8; 6131 a_operating_mode_Bit1: INT := 9; 6132 setpoint_acknowledge: INT := 10; 6133 message_ZKL3: INT := 11; 6134 warning_ZKL2: INT := 12; 6135 drive_Error_ZKL1: INT := 13; 6136 ready_to_operate_Bit0: INT := 14; 6137 ready_to_operate_Bit1: INT := 15; 6138 6139 setpoint_acceptance: INT := 0; (*????!!!!! WHY???*) 6140 operating_mode_set: INT := 1; 6141 drive_to_zero_point: INT := 2; 6142 absolute_relative: INT := 3; 6143 immediate_block_change: INT := 4; 6144 error_delete: INT := 5; 6145 jog_forward: INT := 6; 6146 jog_backwards: INT := 7; 6147 set_operating_mode_Bit0: INT := 8; 6148 set_operating_mode_Bit1: INT := 9; 6149 reserved: INT := 10; 6150 reserved1: INT := 11; 6151 IPOSYNC: INT := 12; 6152 drive_halt: INT := 13; 6153 drive_enable: INT := 14; 6154 drive_on: INT := 15; 6155 6156 Signal_Absolutmasssetzen: INT := 96; 5988 6157 5989 6158 (* IP Communication parameters *) 5990 IP_Address: UDINT := 16#C0A80003; (* IP Address to send the data to *)6159 IP_Address: UDINT := 16#C0A80003; (* IP Address to send the data to *) 5991 6160 Socket_Out_Port: WORD := 5358; (* Port to send the data to *) 5992 6161 Socket_In_Port: WORD := 5357; (* Port to listen at *) … … 6000 6169 6001 6170 (* Zeitverzoegerung zur Brermsfreigabe nach Leistung_ein; war t#1s *) 6002 DelayTime_Brake: TIME := T#1s; (*Zeitverzoegerung zur Brermsfreigabe nach Leistung_ein; war t#1s*)6171 DelayTime_Brake: TIME := T#1s; (*Zeitverzoegerung zur Brermsfreigabe nach Leistung_ein; war t#1s*) 6003 6172 6004 6173 (* Gear Ratio as set in DKC -- to be read from DKC via SDO *) 6005 X_Gear: UINT := 1340; 6006 Z_Gear: UINT := 1; 6007 6008 (* Aceleration values for both axes in remote control mode *) 6009 X_HandBeschl: UDINT := 12600; (*Skalierung 10^-3, war 25000, max 50000 bei 3000rpm*) 6010 Z_HandBeschl: UDINT := 12600; (* War 50000*) 6174 (* X_Gear: UINT := 1340; *) 6175 (* Z_Gear: UINT := 1140; *) (* Between 1200 at 100deg and 0deg and 1140 between, TO BE CHECKED *) 6176 6177 (* Aceleration values for both axes in remote control mode Unit: 1/1000 rad/s^2 of load axis *) 6178 X_HandBeschl: UDINT := 10000000; (* Maximum 300.000 to reach 2.85rpm (allowed: 0.03 - 0.01 *) 6179 Z_HandBeschl: UDINT := 1000; (* *) 6180 6181 (* Position: 360.000.000 = 360deg = 1 revolution *) 6182 (* Velocity: 100.000.000 = 1 rpm *) 6183 (* Acc/Dec: 1.000 = 1 rad/s^2 *) 6011 6184 6012 6185 (* Output resolution of the Motor and Shaftencoder values, as the output and DKC velocity scale *) 6013 RotationalPositionResolution: UDINT := 360000; (*S-0-0079 from DKC*) 6014 ShaftEncoderResolution: UDINT := RotationalPositionResolution; (*14: (*14 Bit Resolution = 16384 ticks*)*) 6015 RotaryEncoderResolution: UDINT := 1500; (*RotationalPositionResolution; (* 9; (*9 Bit Resolution = 512 ticks*)*)*) 6016 MaximumVelocity: UINT := 3000; (*Einheit ist U/min, analog zu VELMAX in den MACS*) 6017 DKC_Velocity_Scale: UINT := 10000; (*0.0001U/min*) 6018 VelocityResolution: UDINT := 30000000; (*DKC_Velocity_Scale*MaximumVelocity*) 6186 ShaftEncoderResolution: UDINT := 360000000; (* ticks per load revolution (* Magic I: 16384 *) *) 6187 X_MaximumVelocity: UDINT := 280000000; (* rpm in DKC units (1/1000 rpm) max allowed vel of load axis (* Absolute maximum possible 4000/1340=2.95rpm *) (* Magic I similar: VELMAX in MACS, rpm of motor *) *) 6188 Z_MaximumVelocity: UDINT := 315000000; (* rpm in DKC units (1/1000 rpm) max allowed vel of load axis (* Absolute maximum possible 4000/1340=2.95rpm *) (* Magic I similar: VELMAX in MACS, rpm of motor *) *) 6189 VelocityResolution: UDINT := 100000000; (* 1 U/min *) 6019 6190 6020 6191 (* Maximum velocity to initialize with *) 6021 PC_V_max_START: DINT := 45000000;6192 PC_V_max_START: DINT := 250000000; (* Load RPM in DKC units (i.e. *DKC_Velocity_Scale) , Maximum allowed velocity set by PC, can be overwritten for test purpose, SDO 0x6502 *) 6022 6193 6023 6194 (* An arbitrary factor coming from an oddity of the MACS *) 6024 ArbitraryMACFactor: BYTE := 4; (*No longer in use for velocity*)6195 ArbitraryMACFactor: BYTE := 1; (*No longer in use for velocity, no longer in use for acc/pos, was 4*) 6025 6196 END_VAR 6026 6197 (* @OBJECT_END := 'Globale_Variablen' *) … … 6038 6209 6039 6210 (* Daten X-Achse *) 6040 X_Pos_soll :DINT; (* Sollposition X-Achse für Positionierung *) 6041 X_Vel_soll :DINT; (* Sollvorgabe Geschwindigkeit *) 6042 X_Pos_ist :DINT; (* Istposition X-Achse *) 6043 X_Vel_ist :DINT; (* Istgeschwindigkeit X-Achse *) 6044 X_Err_ID :WORD; (* Fehler Nr. ECo-Drive *) 6045 X_Pos_Fenster :DINT; 6046 X_Pos_Geber2 :DINT; 6211 X_Pos_soll: DINT; (* Sollposition X-Achse für Positionierung *) 6212 X_Vel_soll: DINT; (* Sollvorgabe Geschwindigkeit *) 6213 X_Pos_ist: DINT; (* Istposition X-Achse *) 6214 X_Vel_ist: DINT; (* Istgeschwindigkeit X-Achse *) 6215 X_Err_ID: WORD; (* Fehler Nr. Eco-Drive *) 6216 X_Pos_Geber2: DINT; 6047 6217 6048 6218 (*Allgemein für Drive 01 - Ecodrive*) 6049 X_Fehler :BOOL; (* 1= Regler meldet über Profibus Störung *) 6050 X_StandStill :BOOL; (* 1= Regler meldet Stillstand *) 6051 X_Pos_Start :BOOL; (* 1= Positionierung starten Achse X *) 6052 X_Pos_ready :BOOL; (* 1= Positionierung fertig Achse X *) 6053 X_Pos_active :BOOL; (* 1= Positionierung aktiv Achse X *) 6054 X_Auto_Start :BOOL; (* 1= Auto Positionieren Start X *) 6055 X_Jog_pos :BOOL; (* 1= Tippen Achse X pos *) 6056 X_Jog_neg :BOOL; (* 1= Tippen Achse X neg *) 6057 X_Homing :BOOL; (* 1= Anrtieb referenzieren aktiv *) 6058 X_in_pos :BOOL; (* 1= Anrtieb in Position *) 6059 X_ist_freigegeben :BOOL; (* 1= Anrtieb Rückmeldung Freigabe *) 6060 X_in_Ref :BOOL; (* 1= Anrtieb Rückmeldung in Referenz *) 6061 X_in_Standstill :BOOL; (* 1= Anrtieb Rückmeldung in Stillstand *) 6062 X_ist_betriebsbereit :BOOL; 6063 X_in_AntriebHalt: BOOL; 6064 X_PC_StartMovement: BOOL; 6219 X_Fehler: BOOL; (* 1= Regler meldet über Profibus Störung *) 6220 X_Jog_pos: BOOL; (* 1= Tippen Achse X pos *) 6221 X_Jog_neg: BOOL; (* 1= Tippen Achse X neg *) 6222 X_Homing: BOOL; (* 1= Antrieb referenzieren aktiv *) 6223 X_in_pos: BOOL; (* 1= Antrieb in Position *) 6224 X_ist_freigegeben: BOOL; (* 1= Antrieb Rückmeldung Freigabe *) 6225 X_in_Ref: BOOL; (* 1= Antrieb Rückmeldung in Referenz *) 6226 X_in_Standstill: BOOL; (* 1= Antrieb Rückmeldung in Stillstand *) 6227 X_ist_betriebsbereit: BOOL; 6228 X_IsOnline: BOOL; (* 1= Antrieb connected to bus *) 6229 X_in_AntriebHalt: BOOL; 6230 X_EinmaligeFreigabe: BOOL; 6231 X_in_Referenz: BOOL; 6232 X_AnnounceStartMovement: BOOL := FALSE; 6233 6234 X_PC_PosGeschwindigkeit: DINT; 6235 X_PC_PosBeschleunigung: UDINT; 6236 X_PC_PosZiel: DINT; 6237 X_PC_VGeschwindigkeit: DINT; 6238 X_PC_Maximalgeschwindigkeit: DINT; 6239 X_PC_IsRelative: BOOL; 6240 X_PC_VStart: BOOL := FALSE; 6241 X_PC_AntriebHalt: BOOL := TRUE; 6242 X_PC_StartMovement: BOOL := FALSE; 6243 X_PC_AnnounceStartMovement: BOOL := FALSE; 6244 X_PC_ForcePDO3: BOOL := FALSE; 6065 6245 END_VAR 6066 6246 … … 6081 6261 6082 6262 (*Allgemein für Drive 01 - Ecodrive*) 6083 Y_Fehler :BOOL; (* 1= Regler meldet über Profibus Störung *) 6084 Y_ist_freigegeben :BOOL; (* 1= Anrtieb Rückmeldung Freigabe *) 6085 Y_in_Standstill :BOOL; (* 1= Anrtieb Rückmeldung in Stillstand *) 6086 Y_ist_betriebsbereit :BOOL; 6263 Y_Fehler: BOOL; (* 1= Regler meldet über Profibus Störung *) 6264 Y_ist_freigegeben: BOOL; (* 1= Antrieb Rückmeldung Freigabe *) 6265 Y_in_Standstill: BOOL; (* 1= Antrieb Rückmeldung in Stillstand *) 6266 Y_ist_betriebsbereit: BOOL; 6267 Y_IsOnline: BOOL; (* 1= Antrieb connected to bus *) 6087 6268 END_VAR 6088 6269 … … 6101 6282 6102 6283 (* Daten X-Achse *) 6103 Z_Pos_soll :DINT; (* Sollposition X-Achse für Positionierung *) 6104 Z_Vel_soll :DINT; (* Sollvorgabe Geschwindigkeit *) 6105 Z_Pos_ist :DINT; (* Istposition X-Achse *) 6106 Z_Vel_ist :DINT; (* Istgeschwindigkeit X-Achse *) 6107 Z_Err_ID :WORD; (* Fehler Nr. ECo-Drive *) 6108 Z_Pos_Fenster :DINT; 6109 Z_Pos_Geber2 :DINT; 6284 Z_Pos_soll: DINT; (* Sollposition X-Achse für Positionierung *) 6285 Z_Vel_soll: DINT; (* Sollvorgabe Geschwindigkeit *) 6286 Z_Pos_ist: DINT; (* Istposition X-Achse *) 6287 Z_Vel_ist: DINT; (* Istgeschwindigkeit X-Achse *) 6288 Z_Err_ID: WORD; (* Fehler Nr. ECo-Drive *) 6289 Z_Pos_Geber2: DINT; 6110 6290 6111 6291 (*Allgemein für Drive 01 - Ecodrive*) 6112 Z_Fehler :BOOL; (* 1= Regler meldet über Profibus Störung *) 6113 Z_StandStill :BOOL; (* 1= Regler meldet Stillstand *) 6114 Z_Pos_Start :BOOL; (* 1= Positionierung starten Achse X *) 6115 Z_Pos_ready :BOOL; (* 1= Positionierung fertig Achse X *) 6116 Z_Pos_active :BOOL; (* 1= Positionierung aktiv Achse X *) 6117 Z_Auto_Start :BOOL; (* 1= Auto Positionieren Start X *) 6118 Z_Jog_pos :BOOL; (* 1= Tippen Achse X pos *) 6119 Z_Jog_neg :BOOL; (* 1= Tippen Achse X neg *) 6120 Z_in_pos :BOOL; (* 1= Anrtieb in Position *) 6121 Z_ist_freigegeben :BOOL; (* 1= Anrtieb Rückmeldung Freigabe *) 6122 Z_in_Ref :BOOL; (* 1= Anrtieb Rückmeldung in Referenz *) 6123 Z_in_Standstill :BOOL; (* 1= Anrtieb Rückmeldung in Stillstand *) 6124 Z_ist_betriebsbereit :BOOL; 6125 Z_PC_StartMovement: BOOL; 6292 Z_Fehler: BOOL; (* 1= Regler meldet über Profibus Störung *) 6293 Z_Jog_pos: BOOL; (* 1= Tippen Achse X pos *) 6294 Z_Jog_neg: BOOL; (* 1= Tippen Achse X neg *) 6295 Z_in_pos: BOOL; (* 1= Antrieb in Position *) 6296 Z_ist_freigegeben: BOOL; (* 1= Antrieb Rückmeldung Freigabe *) 6297 Z_in_Ref: BOOL; (* 1= Antrieb Rückmeldung in Referenz *) 6298 Z_in_Standstill: BOOL; (* 1= Antrieb Rückmeldung in Stillstand *) 6299 Z_ist_betriebsbereit: BOOL; 6300 Z_IsOnline: BOOL; (* 1= Antrieb connected to bus *) 6301 Z_EinmaligeFreigabe: BOOL; 6302 Z_in_AntriebHalt: BOOL; 6303 Z_in_Referenz: BOOL; 6304 Z_AnnounceStartMovement: BOOL := FALSE; 6305 6306 Z_PC_PosGeschwindigkeit: DINT; 6307 Z_PC_PosBeschleunigung: UDINT; 6308 Z_PC_PosZiel: DINT; 6309 Z_PC_VGeschwindigkeit: DINT; 6310 Z_PC_Maximalgeschwindigkeit: DINT; 6311 Z_PC_IsRelative: BOOL; 6312 Z_PC_StartMovement: BOOL := FALSE; 6313 Z_PC_VStart: BOOL := FALSE; 6314 Z_PC_AntriebHalt: BOOL := TRUE; 6315 Z_PC_AnnounceStartMovement: BOOL := FALSE; 6316 Z_PC_ForcePDO3: BOOL := FALSE; 6126 6317 END_VAR 6127 6318 … … 6144 6335 Stoerung_MSS_Bremse: BOOL; (* 1= Störung MSS Bremse *) 6145 6336 Sammelstoerung: BOOL; (* 1= Sammelstoerung ist aktiv *) 6146 6147 (* Blinktakte *)6148 Blink_1_I: BOOL; (* Blinktakt 1Hz Impuls *)6149 6337 6150 6338 (* Ethernet *) … … 6158 6346 ByteBufferTXzyklisch: ARRAY[0..99] OF BYTE; 6159 6347 6160 (* PC-Daten *) 6161 X_EinmaligeFreigabe: BOOL; 6162 Z_EinmaligeFreigabe: BOOL; 6348 (* Daten *) 6163 6349 Zykluszaehler: DINT; 6164 X_PC_PosGeschwindigkeit: DINT;6165 X_PC_PosBeschleunigung: DINT;6166 X_PC_PosVerzoegerung: DINT;6167 X_PC_PosZiel: DINT;6168 X_PC_VGeschwindigkeit: DINT;6169 X_PC_VStart: BOOL;6170 X_PC_Maximalgeschwindigkeit: DINT;6171 Z_PC_PosGeschwindigkeit: DINT;6172 Z_PC_PosBeschleunigung: DINT;6173 Z_PC_PosVerzoegerung: DINT;6174 Z_PC_PosZiel: DINT;6175 Z_PC_VGeschwindigkeit: DINT;6176 Z_PC_VStart: BOOL;6177 Z_PC_Maximalgeschwindigkeit: DINT;6178 6350 Betriebszustand_FB_ok: BOOL; 6179 6351 Betriebszustand_PC_ok: BOOL; 6180 6352 Soll_Freigabe: BOOL; 6181 X_PC_PosRelative: BOOL; 6182 Z_PC_PosRelativ: BOOL; 6183 X_PC_AntriebHalt: BOOL := TRUE; 6184 Z_PC_AntriebHalt: BOOL := TRUE; 6185 Z_in_AntriebHalt: BOOL; 6186 X_in_Referenz: BOOL; 6187 Z_in_Referenz: BOOL; 6353 6354 (* Communication *) 6355 TX1M_STATUS_OldX :BYTE:=16#FF; 6356 TX1M_STATUS_OldZ :BYTE:=16#FF; 6357 TX3M_STATUS_OldX :BYTE:=16#FF; 6358 TX3M_STATUS_OldZ :BYTE:=16#FF; 6359 TX2E_POSITION_OldX :DINT:=0; 6360 TX2E_POSITION_OldY :DINT:=0; 6361 TX2E_GESCHWINDIGKEIT_OldX :INT:=0; 6362 TX2E_GESCHWINDIGKEIT_OldY :INT:=0; 6188 6363 END_VAR 6189 6364 … … 6226 6401 6227 6402 LIBRARY 6228 Iecsfc.lib 28.10.05 0 7:59:006403 Iecsfc.lib 28.10.05 08:59:00 6229 6404 (* @LIBRARYSYMFILEINFO := '0' *) 6230 6405 NumOfPOUs: 1 … … 6235 6410 6236 6411 LIBRARY 6237 oscat14.lib 8.2.07 1 4:40:306412 oscat14.lib 8.2.07 15:40:30 6238 6413 (* @LIBRARYSYMFILEINFO := '0' *) 6239 6414 NumOfPOUs: 203 … … 6448 6623 6449 6624 LIBRARY 6450 RIL_Check.lib 20.1.05 1 3:40:006625 RIL_Check.lib 20.1.05 14:40:00 6451 6626 (* @LIBRARYSYMFILEINFO := '0' *) 6452 6627 NumOfPOUs: 8 … … 6464 6639 6465 6640 LIBRARY 6466 RIL_CommonTypes.lib 14.6.05 09:08:586641 RIL_CommonTypes.lib 14.6.05 10:08:58 6467 6642 (* @LIBRARYSYMFILEINFO := '0' *) 6468 6643 NumOfPOUs: 1 … … 6474 6649 6475 6650 LIBRARY 6476 RIL_UTILITIES.lib 31.3.05 11:30:44 6651 RIL_ProfibusDP.lib 23.7.04 09:36:48 6652 (* @LIBRARYSYMFILEINFO := '0' *) 6653 NumOfPOUs: 17 6654 DP_ADDR: 51200 6655 DP_ID: 51200 6656 DP_RDIAG: 51200 6657 DP_RDIAG_EXT: 2048 6658 DP_RDREC: 51200 6659 DP_SLOT: 51200 6660 DP_SYCFR: 2048 6661 DP_WRREC: 51200 6662 fbdBaudrateGet: 51200 6663 fbdBmErrorGet: 51200 6664 fbdBmInfoGet: 51200 6665 fbdBmStateGet: 51200 6666 fbdKsdListGet: 51200 6667 fbdPdTypeGet: 51200 6668 fbdPrjSlaveListGet: 51200 6669 fbdSlaveDiagListGet: 51200 6670 Version_RIL_ProfibusDP_01V01: 2048 6671 NumOfGVLs: 1 6672 Globale_Variablen: 0 6673 END_LIBRARY 6674 6675 LIBRARY 6676 RIL_UTILITIES.lib 31.3.05 12:30:44 6477 6677 (* @LIBRARYSYMFILEINFO := '0' *) 6478 6678 NumOfPOUs: 34 … … 6516 6716 6517 6717 LIBRARY 6518 Standard.lib 28.10.05 0 7:59:006718 Standard.lib 28.10.05 08:59:00 6519 6719 (* @LIBRARYSYMFILEINFO := '0' *) 6520 6720 NumOfPOUs: 21 … … 6544 6744 6545 6745 LIBRARY 6546 SYSLIBCALLBACK.LIB 28.10.05 0 7:59:006746 SYSLIBCALLBACK.LIB 28.10.05 08:59:00 6547 6747 (* @LIBRARYSYMFILEINFO := '0' *) 6548 6748 NumOfPOUs: 2 … … 6553 6753 6554 6754 LIBRARY 6555 SysLibSockets.lib 28.10.05 0 7:59:006755 SysLibSockets.lib 28.10.05 08:59:00 6556 6756 (* @LIBRARYSYMFILEINFO := '0' *) 6557 6757 NumOfPOUs: 25 … … 6586 6786 6587 6787 LIBRARY 6588 SysLibSocketsAsync.lib 28.10.05 0 7:59:006788 SysLibSocketsAsync.lib 28.10.05 08:59:00 6589 6789 (* @LIBRARYSYMFILEINFO := '0' *) 6590 6790 NumOfPOUs: 25 … … 6619 6819 6620 6820 LIBRARY 6621 SysLibTime.lib 28.10.05 0 7:59:006821 SysLibTime.lib 28.10.05 08:59:00 6622 6822 (* @LIBRARYSYMFILEINFO := '0' *) 6623 6823 NumOfPOUs: 2 … … 6629 6829 6630 6830 LIBRARY 6631 SysTaskInfo.lib 28.10.05 0 7:59:006831 SysTaskInfo.lib 28.10.05 08:59:00 6632 6832 (* @LIBRARYSYMFILEINFO := '0' *) 6633 6833 NumOfPOUs: 1 … … 6638 6838 6639 6839 LIBRARY 6640 Util.lib 28.10.05 0 7:59:006840 Util.lib 28.10.05 08:59:00 6641 6841 (* @LIBRARYSYMFILEINFO := '0' *) 6642 6842 NumOfPOUs: 24 … … 7054 7254 7055 7255 MACRO 7056 MacroName: '??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? Diagnosis.mac'7256 MacroName: '??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? Diagnosis.mac' 7057 7257 END_MACRO 7058 7258
Note:
See TracChangeset
for help on using the changeset viewer.