MrPLC Member
  • Content count

  • Joined

  • Last visited

Everything posted by Levent1970

  1. FX5U and FX5-ENET/IP

    If you have on both Modules the MS in Green, your Communication is OK. My Example: Open your Communication with the Ethernet-IP Module FX5ENETIP_1.bSet_CommunicationStartupRequest_D:=TRUE; Send Words:                      U2\G60001:= Value_Current;                                                              //My Module is the 2.nd Intelligent Module, use "U1" for 1.st Send Bits: U2\G60007.1:= Lamp_Welding; Receive Words: Value_Current_from_TP := U2\G12000; Receive Bits: bPowder_On_Button:= U2\G12019.2 You can Take in FX5-ENET_IP Users Manual Page 147 the Adresses for Class1 input ( Input starts with Un\G12000 and ends Un\G14999) and Class1 output [ Output from Un\G60000 to Un\G62999) 
  2. FX5U and FX5-ENET/IP

    Hello Guys, I need some Help to Configure my Program for EthernetIP. I Have to Link my Digital and Analog In-/Outputs to EthernetIP to Control it over a Fanuc Robot. Has someone do that? Some Ideas? 
  3. Positioning with FX5U and FX5-40SSC

    Hi Friends. I need some Help with Positioning. I'm using the FX5U PLC and the FX5-40SSC "Simple" Motion Controller with Servo MR-JE-20B and Servo Motor HG-KN23K which is controlling a Linear Guide. The JOG Modus is Working, Home Position is Working too, but I cant Programm a Position where the Motor have to Drive. I hope someone can Help. Part of My Program looks like:   FX5SSC_1.stsysctrl_d.bPLC_Ready_D:=TRUE; FX5SSC_1.stSysMntr2_D.bReady_D:=TRUE; M_Ax1_PLC_Ready:=TRUE; M_Ax2_PLC_Ready:=TRUE; M_Ax3_PLC_Ready:=TRUE; IF FX5SSC_1.stSysMntr2_D.bReady_D THEN     FX5SSC_1.stSysCtrl_D.bAllAxisServoOn_D:=TRUE;      END_IF; IF M_Ax2_Error_Reset THEN          MOV( bEnable OR PLC_1st_scan , K0 , K4M700 );     M_FX5SSC_OperateError_Ax2 (i_bEN:= TRUE ,i_stModule:= FX5SSC_1 ,i_uAxis:= 2    ,i_bErrReset:= M_Ax2_Error_Reset ,o_bModuleErr=> bEnable ,o_uModuleErrId=> D_Ax2_Operate_Error);      END_IF; IF P_Achse_HomeDrive THEN          M_FX5SSC_StartPositioning_Ax2(i_bEN:= P_Achse_HomeDrive ,i_stModule:= FX5SSC_1 ,i_uAxis:= 2 ,i_uStartNo:= 9001 ,     o_bOK=> bEnable1 ,o_bErr=> bEnable2);          RST( bEnable1 OR bEnable2 , P_Achse_HomeDrive );     P_Achse_Referenziert:=TRUE;     RST( TRUE , Referenzfahrt_TP_Ein_Aus );      RST( TRUE , Fehleranzeige_P_Achse_nicht_Ref );      END_IF;   SpeicherP1:= REAL_TO_INT (Startposition_TP_P_Achse); M_FX5SSC_SetPositioningData_Ax2(i_bEN:= Beginne_FahrtP ,i_stModule:= FX5SSC_1 ,i_uAxis:= 2 ,i_uDataNo:= 1); M_FX5SSC_StartPositioning_Ax2(i_bEN:= Beginne_FahrtP ,i_stModule:= FX5SSC_1 ,i_uAxis:= 2 ,i_uStartNo:= 1);  M_FX5SSC_ChangeSpeed_Ax2(i_bEN:= Beginne_FahrtP ,i_stModule:= FX5SSC_1 ,i_uAxis:= 2 ,i_udSpeedChangeValue:= 100); M_FX5SSC_ChangePosition_Ax2(i_bEN:= Beginne_FahrtP ,i_stModule:= FX5SSC_1 ,i_uAxis:= 2 ,i_dTargetNewPosition:= REAL_TO_DINT(Startposition_TP_P_Achse) ,i_udTargetNewSpeed:= INT_TO_DWORD(Fahrgeschwindigkeit_TP_P_Achse));       IF StartPAxis THEN          FX5SSC_1.stnAxCtrl1_D[1].dTargetNewPosition_D:=REAL_TO_DINT(Endposition_TP_P_Achse);     FX5SSC_1.stnAxCtrl2_D[1].uPositioningStart_D:=1;      END_IF;
  4. Positioning with FX5U and FX5-40SSC

    OK it Works, it was a Bit by Initializing :) How can i set a 3rd Position like a "Parkposition" in my List? Its only a Position, which my Axis drives after Start to there and if its done with the Oscillation between Start and Endposition (List Pos. 11 and 12) it drives again to my Parkposition.
  5. Positioning with FX5U and FX5-40SSC

    Thanks Gambit, I started to use the FB s from Mitsubishi, I'm not so Familar with the MC FB, I found out how i can send my Axis to the Position, my problem is, i cant do it again. I have to restart the PLC to drive it once time to this position. DMOV( TRUE , INT_TO_DINT(Sollgeschwindigkeit_TP_P_Achse) , U1\G7104 );        //Startposition Geschwindigkeit DMOV( TRUE , INT_TO_DINT(Sollgeschwindigkeit_TP_P_Achse) , U1\G7114 );        //Endposition Geschwindigkeit DMOV( TRUE , INT_TO_DINT(Sollgeschwindigkeit_TP_P_Achse) , U1\G7084 );        //Parkposition Geschwindigkeit DMOV( TRUE , REAL_TO_DINT(Parkposition_TP_P_Achse /1.3103) , U1\G7086 ); DMOV( TRUE , REAL_TO_DINT(Startposition_TP_P_Achse/1.3103) , U1\G7106 ); DMOV( TRUE , REAL_TO_DINT(Endposition_TP_P_Achse/1.3103) , U1\G7116 ); M_FX5SSC_StartPositioning_Ax2(i_bEN:= Schweissen_ein OR Taster_Schweissen_Ein AND P_Achse_Referenziert ,i_stModule:= FX5SSC_1 ,i_uAxis:= 2 ,i_uStartNo:= 11 ,o_bOK=> StartPosition_OK );  Achse2_InPosition:=U1\G2517.F; Achse2_InArbeit:=U1\G31501.1;
  6. FX5U ENET/IP communication with EX260-SEN1

    Open your Communication with the Ethernet-IP Module FX5ENETIP_1.bSet_CommunicationStartupRequest_D:=TRUE; Send Words:                      U2\G60001:= Value_Current;                                                              //My Module is the 2.nd Intelligent Module, use "U1" for 1.st Send Bits: U2\G60007.1:= Lamp_Welding; Receive Words: Value_Current_from_TP := U2\G12000; Receive Bits: bPowder_On_Button:= U2\G12019.2 Use an EDS file like the attached one in your Ethernet Configuration Tool (See recent Posts from me)     ex260_sen1_2_3_4_22_v21.zip
  7. A function that waits for a specific signal to activate

    Try this: Local Label: StartBit                 Bit              VAR TimerStart           TON           VAR OKBit                     Bit             VAR ProgramBody: TimerStart(IN:= StartBit ,PT:= t#2s ,Q=> OKBit)    
  8. A function that waits for a specific signal to activate

    Why you dont use IF ..... THEN ? like:   IF ConfirmationSignal THEN      NextStep:=TRUE;      ELSE      NextStep:=FALSE; END_IF; IF NExtStep THEN      NExtNextStep:=TRUE;      ELSE      NExtNextStep:=FALSE; END_IF;
  9. FX5U and FX5-ENET/IP

    I Give you here what i found out: For Open the Communication with the Module: M_FX5ENETIP_ConnectionOpen_00A_1(i_bEN:= TRUE ,i_stModule:= FX5ENETIP_1 ,i_uConnectionNo:= 1); To Write WORDs TO the Module M_FX5ENETIP_Class1SetOutputData_00A_1(i_bEN:= TRUE ,i_stModule:= FX5ENETIP_1 ,i_uConnectionNo:= 1 ,i_uOutputData:= D0 ); To Read WORDs FROM the Module M_FX5ENETIP_Class1GetInputData_00A_1(i_bEN:= TRUE ,i_stModule:= FX5ENETIP_1 ,i_uConnectionNo:= 2);   To the Robot from the Module: FX5ENETIP_1.unVal_Class1OutputDataOffset_Connection_D[1] := INT_TO_WORD(EIP_Istwert_Strom); FX5ENETIP_1.unVal_Class1OutputDataOffset_Connection_D[2] := DINT_TO_WORD(REAL_TO_DINT(EIP_Istwert_Spannung)); FX5ENETIP_1.unVal_Class1OutputDataOffset_Connection_D[3] := INT_TO_WORD(EIP_Errechneter_Sollwert_Pulvermenge);   From the Robot to the Module EIP_Sollwert_Transferstrom := WORD_TO_INT(FX5ENETIP_1.unVal_Class1InputDataOffset_Connection_D[2]); EIP_Sollwert_Pulvermenge := WORD_TO_INT(FX5ENETIP_1.unVal_Class1InputDataOffset_Connection_D[3]);   I cant Test it and I need a Solution to Send and Receive my Bit`s with the Robot.
  10. FX5U and FX5-ENET/IP

    Thank you !!! have you a Link for the EDS file of the R30iB ?
  11. FX5U and FX5-ENET/IP

    I got the Parts today, after Update my new FX5U to 1.110, no Errors now. The EthernetIP Configuration Tool have found the ENET/IP Module. Now, how can I Share my In and Outputs over the ENET/IP Module with the Fanuc?
  12. FX5U and FX5-ENET/IP

    They send me (I hope it arrives in the next Days) an FX5U with Firmware  Ver. 1.110 or later. It will be Possible with that one. Can you send me an Example, how you Build your Program for Share your In- and  Outputs with the Fanuc?
  13. FX5U and FX5-ENET/IP

    I Have to Communicate with a Fanuc Robot Arcmate 100iD, its running ArcTool Software and the Fanuc is the Server. Ethernet/IP is the Recommended Field Bus System of the Customer.
  14. FX5U and FX5-ENET/IP

    My Problem is, I have a FX5U with 1.066, its not running with the E-NET/IP, I Just Ordered one with 17X0001 or Higher Serial Number. Have you an Example how i can Build my Program to Communicate my Digital IN X1 over EthernetIP ?
  15. Set Current Value to Zero

  16. Set Current Value to Zero

    Hi, how can i set the Current Value from a Motor to Zero, in Example a Linear Unit is on a Limit Switch, and i want to set This Position as Zero. Thanks a lot.
  17. Set Current Value to Zero

    Its on "Data Set Method", I'm Driving with Jog. The Part of my Programm: IF Referenzfahrt_TP_Ein_Aus THEN            M_Ax2_Jog_RVS:=TRUE;      END_IF; IF NOT Endschalter_P_Achse_minus THEN            M_Ax2_Jog_RVS:=FALSE;       FX5SSC_1.stnAxCtrl1_D[1].uPositioningStartNo_D:=9003;       FX5SSC_1.stnCmdGenAxCtrl_D[1].uPositioningStartNo_D:=1;          END_IF; HPr Status:  StatusAxis2HPR:=FX5SSC_1.stnAxMntr_D[1].uStatus_D;    8   (It's Axis 2) Pr21 is set 1:Update of Feed Current Value Pr55 is set 1:Positioning Control is Executed  
  18. Mass Flow Controller MKS MF-1 Modbus TCP FX5U

    I Found this solution:  ModbusTcpClient(ConnectionNo:= 3 ,LocalPortNo:= 5645 ,RemoteIPAddress:= 16#0A2E6749 ,RemotePortNo:= 502 ,UnitId:= 255 ,  EnableConnection:= EnableConnection ,StartSend:= StartSend ,FirstAddress1:= FirstAddress ,ResponseTimeout:= 100 ,NoOfRetries:= 1 ,  SingleDevicesFCode05h06h:= SingleDevices ,ReadOnlyDevicesFCode02h04h:= ReadOnlyDevices ,Read:= Read ,Write:= Write ,BitOrRegister:= BitOrRegister ,  ReadStartAddress:= ReadStartAddr ,ReadNoOfDevices:= ReadNoOfDevs ,WriteStartAddress:= WriteStartAddr ,WriteNoOfDevices:= WriteNoOfDevs ,WriteData:= WriteData ,  OpenComplete=> OpenComplete ,CommandCompleted=> CommandCompleted ,ReadData=> ReadData ,ReadDataByteCount=> ReadDataByteCount ,ReadDataWordCount=> ReadDataWordCount ,  OpenError=> OpenError ,OpenErrorCode=> OpenErrorCode ,Error=> GeneralError ,ResponseTimeoutError=> ResponseTimeoutError ,InvalidCommand=> InvalidCommand ,  InvalidResponse=> InvalidResponse ,ModbusException=> ModbusException ,ModbusExceptionCode=> ModbusExceptionCode );      Now i can Read and Write something to the MFC Controller, in Example if i send: WriteData[0].0:=TRUE; Opens the Valve and a FALSE close this.   Now my Problem is, I need to set the Flowpoint. How I Can Use 0x0001  Bit 1..16 like below (WriteData[0].0:=TRUE; OR WriteData[0]:=1234) Or Read in Example the ThermalMassFlowRate 0x0001 bit 1..16 (ReadData[1]:=XXXXXX) ?  
  19. Hi ! I have to Control and Read an Masss Flow Controller (MFC) MKS MF-1, I have give this one an IP Adress ( How can I Control it over Modbus TCP? I found in GX Works 3 in Tool/Predifined Protocol Support function the Modbus Menue, but i have no Idea how to Config it, i have no Idea how Modbus works..... Have someone an Example for a Configuration? 
  20. Set Current Value to Zero

    No Luck, its only Blinking between 0 and and the Current Value, if i move it away from this Point the Current Value is still there.
  21. Set Current Value to Zero

    I Have a Blackout, U1\G5928 is an INT, how can i set my Digital Input x27 to this INT?
  22. Set Current Value to Zero

    In the Selection for the DOG Signal is "Servo Amplifier" or "Buffer Memory" I have No connection on the Servo Amplifier to Connect a DOG Signal (my Limit Switch). Where can i set my Limit Switch as my DOG Signal or Use the Buffer Memory to say in example Input X27 is my Limit Switch and i want to set it as my DOG Signal.
  23. Set Current Value to Zero

    Yes it Works with M_FX5SSC_StartPositioning_01A (M_FX5SSC_StartHoming_Ax2) I set the Parameters for Homeposition but i cant Set the DOG Signal.  
  24. Set Current Value to Zero

    Yes, the Home function is Right. I Have the FX5U with MR JE 20B and HG-KN23BK. my Programpart: IF Referenzfahrt_TP_Ein_Aus THEN          M_Ax2_Jog_RVS:=TRUE;          IF NOT Endschalter_P_Achse_minus THEN              M_Ax2_Jog_RVS:=FALSE;         U1\G2500:=0;                  END_IF;      END_IF;  
  25. Hi, I am searching for a  Possibility to Set bits in Set or Reset State. How can i do that? in Example the Code in LD: and in ST EQ_E( Merker79 AND Referenzfahrt_TP_Ein_Aus = TRUE , bDummy , P_Achse_Istpos_pulse , 0 ); PLS( bDummy , Drehrichtung_P_Achse AND M8140 AND Loeschen_Positionszaehler_Achsen AND Startpos_anfahren_nach_Referenzi AND P_Achse_Referenziert = TRUE );