Levent1970

MrPLC Member
  • Content count

    30
  • Joined

  • Last visited

Community Reputation

2 Neutral

About Levent1970

  • Rank
    Sparky

Profile Information

  • Country Germany
  1. 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;
  2. 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
  3. 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)    
  4. 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;
  5. 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.
  6. FX5U and FX5-ENET/IP

    Thank you !!! have you a Link for the EDS file of the R30iB ?
  7. 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?
  8. 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?
  9. 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.
  10. 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 ?
  11. 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? 
  12. Set Current Value to Zero

    Edited
  13. 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  
  14. 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) ?  
  15. 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.