data transmission between YRC1000 and IFM 3D sensor

  • Hi everyone,


    My current settings: IFM 3D sensor connected to YRC 1000 using Ethernet cable in LAN 2, and is triggered using normal Dout function.


    Task: This sensor sends a data (example: 0.666, 0.458, 0.567....) and how or where to get this data from the inform (inform function) in the programming pendent or the analoginputs. :wallbash:


    Or any easier way is possible. :help:


    Advance thanks


    deadpool

  • What is that data? Some type of digital offset? More info please.


    DIN instruction would read the data into a Byte variable or Double variable. Read from whatever input group or user group the data comes into.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

    Edited once, last by 95devils ().

  • data ( it is an analog value) such as 600,560, 656 and so on. Value I get from 3D sensor, via Ethernet port.


    I get the actual position of robot n Z direction minus the values I get from the sensor i gives me the new position for the robot. So basically the position of the robot changes only in Z direction.


    so you are saying, using the DIN I can read the analog data and work on it ?

  • The DIN doesn't read analog data, only digital. Don't know what model 3D sensor you have? Looks like pin 4 is the analog pin. In one layout they show it going to an analog plc board (analog output), another layout going to a digital plc board (switching output). Where did you wire this to? The documentation is a little hard to make out without having the sensor and software in front of me. Reading the manual it looks like the process values for robot pick and place assuming center point is decimal data and converted to 16-bit integers before transmission. X is byte 22 and 23. Y is byte 24 and 25, Z is byte 26 and 27.


    Analog signals typically are wired to either a EW board or an additional CP board. These values reside inside an M-register. M600, M601, etc.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • I have a O3D300 IFM sensor 8 pole model. It is connected to the robot via Ethernet cable (from which the values/data of the sensor is transmitted).

    The software associated with it, with which I can regulated the kind output I need ( Ex: single value like 0.665 or 600, multiple values like 565 and 606.....but this is just for description).

    My only problem is I am using MotoGSI to access this VALUE of the sensor, and I don't know how to find/read it ( via INFORM code or any other means ?).


    What I have done till know:

    -Try to connect to the camera via GSI_TCP CONNECT

    -Try to read data of the sensor via GSI_READ DATA

    -Now I don't know where the value is stored or saved to access it


    I hope I explained myself correctly this time, thanks in advance.

  • Unfortunately, I can't help with MotoGSI. That is, I believe, a product from Europe, not Japan, or the US.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • hello.

    I worked with MOTOGSI before. It is a good protocol for take data.

    The GSI_TCP CONNECT is for communication between controller and camera. There are some tags that you must input those same as IP address and port number.

    After a good communication, you can read data from camera via GSI_READ DATA. This instruction have some tags two, one tag for error code, one for take read is done, one is for save data in controller. It usually save in B variable but after receive data you must use a formula for create correct data because the B variables only can take data max 255. For example if the 10 set in one of tags in GSI_READ DATA ,the value save from B10. If the value is more than 255, it go to B10, B11,B12,B14 and after these you must use formula for get main value.

    Maybe I can send you more info for saturday because I am not at office friday.

  • hello.

    I worked with MOTOGSI before. It is a good protocol for take data.

    The GSI_TCP CONNECT is for communication between controller and camera. There are some tags that you must input those same as IP address and port number.

    After a good communication, you can read data from camera via GSI_READ DATA. This instruction have some tags two, one tag for error code, one for take read is done, one is for save data in controller. It usually save in B variable but after receive data you must use a formula for create correct data because the B variables only can take data max 255. For example if the 10 set in one of tags in GSI_READ DATA ,the value save from B10. If the value is more than 255, it go to B10, B11,B12,B14 and after these you must use formula for get main value.

    Maybe I can send you more info for saturday because I am not at office friday.

    thanks asgary64 for the info it helped to understand my problem and find an easier way to my solution and also 95devils for an imidiate respose.


    I found the solution for the problem, remedies of my obstacle that I faced are being discussed following:

    - For all who wanted to know MOTOGSI is for free and can download from http://www.yaskawa.eu.com - service - Robotics software download after registration (I am using yrc1000 controller)

    -After you install MOTOGSI and change the range of variables note to have a 'FLASH ' reset.

    - Make sure that the initial communication between the camera and the robot is done correctly, i.e. GSI_TCP CONNECT ( IP address and the port number can be found in the software provided by the camera or you can set a predefined one ) read the manual V1.33

    - Using the GSI_READ DATA the analog data is read and is stored in the B variable of the communication handle/RetvalPointer and you can recall the function by B[RetValPointer] for example calljob:job MOTOGSI_READ DATA (0,10,B020,50,12) the value is stored in B020 you can recall it by B[B020] in the motion function of the informlist.

    - My main problem lies here the robot was moving but at a very slow pace almost equal to none. SO YOU HAVE TO USE A SCALING FACTOR TO INCREASE THE VALUE THAT YOU OBTAINED FROM THE CAMERA, BY MULTIPLYING IT WITH 0.5,2,5,10,20,50,100,200 or so on as to the value is easily recognised by the robot.

    - If the sensor value is more than 255 you again have to use the scaling factor in the camera software, to make sure that the value is always below 255.

    - In the end if required you have to write a small formula of equation to get the desired motion from robot.


    hope I explained and shared solutions for my problems in an understandable way.

    :smiling_face_with_sunglasses:

  • hello.

    I worked with MOTOGSI before. It is a good protocol for take data.

    The GSI_TCP CONNECT is for communication between controller and camera. There are some tags that you must input those same as IP address and port number.

    After a good communication, you can read data from camera via GSI_READ DATA. This instruction have some tags two, one tag for error code, one for take read is done, one is for save data in controller. It usually save in B variable but after receive data you must use a formula for create correct data because the B variables only can take data max 255. For example if the 10 set in one of tags in GSI_READ DATA ,the value save from B10. If the value is more than 255, it go to B10, B11,B12,B14 and after these you must use formula for get main value.

    Maybe I can send you more info for saturday because I am not at office friday.

    hi Asgary64,


    I tried to run the GSI_TCPCONNECT,

    but the controller is unable to connect to pc via tcp/ip, it is showing error value 255 always.

    could you share the program with me.


    any help is appreciated,

    Mr. Pool

Advertising from our partners