(? Support›¢Ó= d:\Programme\WAGO-IO-PRO 32\LIB2 d:\Programme\WAGO-IO-PRO 32\WORK {FileName}{Page} ¥ýÿÿÿ (ÃKÑKßKíK+ŒŒQþs/‘ÁÒš–`çÞSSerial (RS232)(Sans titre)Prise Console3S Serial RS232 driver,èPortCOM1COM2YéBaudrateKÀ4800€%9600K19200–38400á57600Â1152004êParityNoEvenOdd3ëStop bits11,527dMotorola byteorderNoYes_ŒQþs/‘ÁÒš–`çÞSSerial (RS232)(Sans titre)Prise Console3S Serial RS232 driver,èPortCOM1COM2YéBaudrateKÀ4800€%9600K19200–38400á57600Â1152004êParityNoEvenOdd3ëStop bits11,527dMotorola byteorderNoYesHG1ݵ[Óˆ`—ÎïCANopenHilscherCIF30WAGO CANopen Hilscher Treiber_èKartennummerKartenauswahlBoard 0Board 1Board 2Board 3§éBaudrateBaudratenauswahl 10 kBaud20 kBaud50 kBaud100 kBaud125 kBaud250 kBaud500 kBaud800 kBaud1 MBaudOêKnotennummerKnoten mit dem kommuniziert wird (1..126) ~YëDatenbankLöschen der Hilscher DatenbankLÖSCHENBEIBEHALTEN=ìDebug StufeImmer 0, nur für internen GebrauchƒQþs/‘ÁÒš–`çÞSSerial (RS232)diagnostic_cable3S Serial RS232 driver,èPortCOM1COM2YéBaudrateKÀ4800€%9600K19200–38400á57600Â1152004êParityNoEvenOdd3ëStop bits11,527dMotorola byteorderNoYesK Ía~ÍÍÍÍÍÍÍÍ/*3S-CONFIG5*/ K750-837/65535-65535 V0.0hBÙG"ÍÍÍÍÍÍÍÍ^$ûÿÿÿÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍStandardÿÿÿÿ ÍÍÍÍÍÍÍÍ'ÍÍÍÍÍÍÍÍAccess_Variablenÿÿÿÿ ÍÍÍÍÍÍÍÍVAR_ACCESS END_VAR ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ'ÍÍÍÍÍÍÍÍGlobale_Variablenÿÿÿÿ ÍÍÍÍÍÍÍÍVAR_GLOBAL END_VAR ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ'ÍÍÍÍÍÍÍÍVariablen_Konfigurationÿÿÿÿ ÍÍÍÍÍÍÍÍVAR_CONFIG END_VAR ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ,šš@PLC_PRGÿÿi ÍÍÍÍÍÍÍÍ“(************************************************************************************************************************ SDO_Write4.pro D. Oepping 03.09.2001 This Example shows how to configure a client SDO connection between an 750-837 and a 750-337 updated by johannes bachem 11.02.02 peer to peer communication to node #2, from snmt master controller node ID #3 ************************************************************************************************************************) PROGRAM PLC_PRG VAR Status: INT := 0; Data:ARRAY[1..4] OF BYTE; GET_LOCAL_ID: CIA405_GET_LOCAL_NODE_ID; OwnNodeID:CIA405_DEVICE; SDO_WRITE4:CIA405_SDO_WRITE4; ERROR: BOOL := FALSE; Input1 AT %IX0.0: BOOL; (*1st digital Input*) Input2 AT %IX0.1: BOOL; (*2nd digital Input*) scf: SEND_CAN_FRAME; candata: ARRAY[0..7] OF BYTE; errorcheck:ARRAY[0..50] OF WORD; END_VARÐCASE Status OF 0: (*Get local Node ID*) (*adresa stanice, kde bezi program - PLC*) GET_LOCAL_ID; OwnNodeID:=GET_LOCAL_ID.Device; Status:=1; 1: (*Enter Node 2: Index 0x1280, COB ID Client-->Server (tx), 0x602*) (*PLC je klient, musime zadat SDO vzdalene stanice, se kterou chceme komunikovat a ktera je server*) (*server SDO = 0x600 + ID_stanice*) (*v nasem pripade: 0x0602*) Data[1]:=16#02; Data[2]:=16#06; Data[3]:=16#00; Data[4]:=16#00; (* nabezna hrana na parametru ENABLE spousti funkcni blok SDO_WRITE4*) SDO_WRITE4(DEVICE:=OwnNodeID , INDEX:=16#1280 , SUBINDEX:=1 , ENABLE:=TRUE , DATA:=Data , DATALENGTH:=4 ); IF SDO_WRITE4.CONFIRM=TRUE THEN errorcheck[status]:=SDO_WRITE4.error; Status:=2; (* nuluje se parametr ENABLE po uspesnem potrvzeni funkce SDO_WRITE4, abychom se pripravili na dalsi nabeznou hranu *) SDO_WRITE4(DEVICE:=OwnNodeID , INDEX:=16#1280 , SUBINDEX:=1 , ENABLE:=FALSE , DATA:=Data , DATALENGTH:=4 ); END_IF; 2: (*Enter Node 2: Index 0x1280, COB ID server-->client (rx), 0x582, server*) (*nastaveni PLC, na jakem COB ID bude server vracet data*) (*client SDO = 0x580 + ID_stanice*) (*v nasem pripade 0x582 *) Data[1]:=16#82; Data[2]:=16#05; Data[3]:=16#00; Data[4]:=16#00; SDO_WRITE4(DEVICE:=OwnNodeID , INDEX:=16#1280 , SUBINDEX:=2 , ENABLE:=TRUE , DATA:=Data , DATALENGTH:=4 ); IF SDO_WRITE4.CONFIRM=TRUE THEN errorcheck[status]:=SDO_WRITE4.error; Status:=3; SDO_WRITE4(DEVICE:=OwnNodeID , INDEX:=16#1280 , SUBINDEX:=2 , ENABLE:=FALSE , DATA:=Data ,DATALENGTH:=4 ); END_IF; 3: (*Enter Node 2: Index 0x1280, sidx 2 Module ID 02*) (*je treba vlozit ID stanice, se kterou komunikujeme *) Data[1]:=16#02; Data[2]:=16#00; Data[3]:=16#00; Data[4]:=16#00; SDO_WRITE4(DEVICE:=OwnNodeID , INDEX:=16#1280 , SUBINDEX:=3 , ENABLE:=TRUE , DATA:=Data , DATALENGTH:=4 ); IF SDO_WRITE4.CONFIRM=TRUE THEN errorcheck[status]:=SDO_WRITE4.error; Status:=4; SDO_WRITE4(DEVICE:=OwnNodeID , INDEX:=16#1280 , SUBINDEX:=3 , ENABLE:=FALSE , DATA:=Data ,DATALENGTH:=4 ); END_IF; 4: (*make unvalid the cob ID of the 1st tx PDO, node2 to remap it*) (*PLC je klient, musime zadat SDO vzdalene stanice, se kterou chceme komunikovat a ktera je server*) (*server SDO = 0x600 + ID_stanice*) (*v nasem pripade: 0x0602*) Data[1]:=16#80; Data[2]:=16#01; Data[3]:=16#00; Data[4]:=16#80; (* nabezna hrana na parametru ENABLE spousti funkcni blok SDO_WRITE4*) SDO_WRITE4(DEVICE:=3 , INDEX:=16#1800 , SUBINDEX:=1 , ENABLE:=TRUE , DATA:=Data , DATALENGTH:=4 ); IF SDO_WRITE4.CONFIRM=TRUE THEN errorcheck[status]:=SDO_WRITE4.error; Status:=2; (* nuluje se parametr ENABLE po uspesnem potrvzeni funkce SDO_WRITE4, abychom se pripravili na dalsi nabeznou hranu *) SDO_WRITE4(DEVICE:=3 , INDEX:=16#1800 , SUBINDEX:=1 , ENABLE:=FALSE , DATA:=Data , DATALENGTH:=4 ); END_IF; 5: (*map 1st tx PDO of node2 to COB ID 16#200*) (*PLC je klient, musime zadat SDO vzdalene stanice, se kterou chceme komunikovat a ktera je server*) (*server SDO = 0x600 + ID_stanice*) (*v nasem pripade: 0x0602*) Data[1]:=16#80; Data[2]:=16#01; Data[3]:=16#00; Data[4]:=16#00; (* nabezna hrana na parametru ENABLE spousti funkcni blok SDO_WRITE4*) SDO_WRITE4(DEVICE:=3 , INDEX:=16#1800 , SUBINDEX:=1 , ENABLE:=TRUE , DATA:=Data , DATALENGTH:=4 ); IF SDO_WRITE4.CONFIRM=TRUE THEN errorcheck[status]:=SDO_WRITE4.error; Status:=5; (* nuluje se parametr ENABLE po uspesnem potrvzeni funkce SDO_WRITE4, abychom se pripravili na dalsi nabeznou hranu *) SDO_WRITE4(DEVICE:=3 , INDEX:=16#1800 , SUBINDEX:=1 , ENABLE:=FALSE , DATA:=Data , DATALENGTH:=4 ); END_IF; 6: (*make unvalid the cob ID of the 1st rx PDO, node ID 3 to remap it*) (*PLC je klient, musime zadat SDO vzdalene stanice, se kterou chceme komunikovat a ktera je server*) (*server SDO = 0x600 + ID_stanice*) (*v nasem pripade: 0x0602*) Data[1]:=16#80; Data[2]:=16#01; Data[3]:=16#00; Data[4]:=16#80; (* nabezna hrana na parametru ENABLE spousti funkcni blok SDO_WRITE4*) SDO_WRITE4(DEVICE:=2 , INDEX:=16#1400 , SUBINDEX:=1 , ENABLE:=TRUE , DATA:=Data , DATALENGTH:=4 ); IF SDO_WRITE4.CONFIRM=TRUE THEN errorcheck[status]:=SDO_WRITE4.error; Status:=2; (* nuluje se parametr ENABLE po uspesnem potrvzeni funkce SDO_WRITE4, abychom se pripravili na dalsi nabeznou hranu *) SDO_WRITE4(DEVICE:=2 , INDEX:=16#1400 , SUBINDEX:=1 , ENABLE:=FALSE , DATA:=Data , DATALENGTH:=4 ); END_IF; 7: (*map 1st tx PDO of node2 to COB ID 16#200*) (*PLC je klient, musime zadat SDO vzdalene stanice, se kterou chceme komunikovat a ktera je server*) (*server SDO = 0x600 + ID_stanice*) (*v nasem pripade: 0x0602*) Data[1]:=16#80; Data[2]:=16#01; Data[3]:=16#00; Data[4]:=16#00; (* nabezna hrana na parametru ENABLE spousti funkcni blok SDO_WRITE4*) SDO_WRITE4(DEVICE:=2 , INDEX:=16#1400 , SUBINDEX:=1 , ENABLE:=TRUE , DATA:=Data , DATALENGTH:=4 ); IF SDO_WRITE4.CONFIRM=TRUE THEN errorcheck[status]:=SDO_WRITE4.error; Status:=2; (* nuluje se parametr ENABLE po uspesnem potrvzeni funkce SDO_WRITE4, abychom se pripravili na dalsi nabeznou hranu *) SDO_WRITE4(DEVICE:=2 , INDEX:=16#1400 , SUBINDEX:=1 , ENABLE:=FALSE , DATA:=Data , DATALENGTH:=4 ); END_IF; 8:(*set nodes operational*) (*vyslani ramce, ktery spusti vzdalene stanice *) (*ramec NMT: COB_ID=0, 0x01=prikaz spusteni vzdalene stanice, 0x00=vsechny stanice na siti, jinak adresa stanice *) candata[0]:=16#1; candata[1]:=16#0; scf(COB_ID:=0 , RTR_FRAME:=FALSE , DATA:= candata, DATALENGTH:=2 , ENABLE:=TRUE ); status:=18; END_CASE;ýÿÿÿ,°°V)cia405.lib*17.10.00 14:35:46STANDARD.LIB*15.6.00 06:54:06ÍÍÍÍÍÍÍÍÿÿ2ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ POUsPLC_PRG Data typesVisualizationsGlobal VariablesAccess_VariablenGlobale_VariablenVariablen_Konfiguration; .6œž ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìîðòôöøúüý NOT_AVAILABLEINIT RESET_COMM RESET_APPPRE_OPERATIONAL DISCONNECTED CONNECTING PREPARINGPREPARED OPERATIONAL  NMT_ERROR EMY_ERROR SDO_ERROR NMT_GUARD_ERRORNMT_STATE_ERRORNMT_TOGGLE_ERROREMY_QUEUE_ERROREMY_NO_DATABYTE SDO_HDL_ERRORSDO_STATE_ERRORSDO_TOGGLE_ERROR SDO_LEN_ERRORSDO_ABORT_ERROR SDO_TIMEOUT_ERROR NO_ERROR INVALID_NODEMEMORY_OVERFLOW RESET_NODERESET_COMMUNICATIONSET_PRE_OPERATIONALSET_OPERATIONAL SET_STOPPED CHANGE_OKCHANGE_SEND_ERRORCHANGE_INVALID_NODEGUARD_OKGUARD_INVALID_NODESEND_OK SEND_ERROR COB_ID_ERRORDATALENGTH_ERRORSYNC_OK SYNC_ID_ERRORSYNC_SEND_ERRORPLC_PRG Status@@Data @@ GET_LOCAL_ID CIA405_GET_LOCAL_NODE_ID@@ OwnNodeID@@ SDO_WRITE4 CIA405_SDO_WRITE4@@ ERROR@ Input1 IXŒÎ%Input2 IXŒÎ%scf SEND_CAN_FRAME@@candata @@. errorcheck 2@@6&2 NOT_AVAILABLE DœINIT Dž RESET_COMM D  RESET_APP D¢PRE_OPERATIONAL D¤ DISCONNECTED D¦ CONNECTING D¨ PREPARING DªPREPARED D¬ OPERATIONAL D® NMT_ERROR D° EMY_ERROR D² SDO_ERROR D´NMT_GUARD_ERROR D¶NMT_STATE_ERROR D¸NMT_TOGGLE_ERROR DºEMY_QUEUE_ERROR D¼EMY_NO_DATABYTE D¾ SDO_HDL_ERROR DÀSDO_STATE_ERROR DÂSDO_TOGGLE_ERROR DÄ SDO_LEN_ERROR DÆSDO_ABORT_ERROR DÈSDO_TIMEOUT_ERROR DÊNO_ERROR DÌ INVALID_NODE DÎMEMORY_OVERFLOW DÐ RESET_NODE DÒRESET_COMMUNICATION DÔSET_PRE_OPERATIONAL DÖSET_OPERATIONAL DØ SET_STOPPED DÚ CHANGE_OK DÜCHANGE_SEND_ERROR DÞCHANGE_INVALID_NODE DàGUARD_OK DâGUARD_INVALID_NODE DäSEND_OK Dæ SEND_ERROR Dè COB_ID_ERROR DêDATALENGTH_ERROR DìSYNC_OK Dî SYNC_ID_ERROR DðSYNC_SEND_ERROR Dò Cpu_Status@ô Index7001Pö Index7002Pø Index7003Pú bBool7001Pü bRetain7001Pý