Jump to content

Bryon Sol

Administrators
  • Posts

    142
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Bryon Sol's Achievements

Contributor

Contributor (5/14)

  • First Post Rare
  • Collaborator Rare
  • Conversation Starter Rare
  • Week One Done
  • One Month Later

Recent Badges

3

Reputation

  1. Something that Mitsubishi programmers need to do on a regular basis is communicate with a device on a CC-Link network. This can be CC-Link classic, CC-Link IE Field, CC-Link IE Field Basic or CC-Link IE TSN. No matter which flavor of CC-Link is used the process is similar and consists of a few steps. This article is not intended to be a step-by-step how-to but instead to give an overview of the process. Step 1: Configure the network with the devices and their required data size(s). Step 2: Configure a set of Refresh Data to transfer the information from the CC-Link module (whether that's the built-in Ethernet port for CC-Link IE Field Basic, or an actual add-on module like RJ61BT11 or FX5-CCL-MS etc). Step 3: Understand the data and use it! I like to diagram this out as follows: STEP 1: - Configure the network For Step 1 - configuring the network, all of the configuration screens look similar, you drag and drop the devices onto your network and set station numbers. For Ethernet devices you need to set IP addresses as well. On the devices themselves you need to either parameterize them or configure their station information to match. Here's an example screenshot showing a VFD on a CC-Link network You simply drag the device onto the network and then in the upper portion of the window you configure the details for the station. For instance this is set for Version 1 of CC-Link and a single occupied station. STEP 2: Configure the Refresh Data This moves the data into the PLCs usable device memory. This will look something like the following: RX Devices are Remote Input bits and in the above picture we are transferring them into B bits in the PLC RY Devices are Remote Output bits and in the above picture we are transferring them into B bits in the PLC RWr Devices are Remote Input Words (Remote Word Read) and in the above picture we are transferring them into W words in the PLC RWw Devices are Remote Output Words (Remote Word Write) and in the above picture we are transferring them into W words in the PLC What this step does is make the devices on our CC-Link network accessible via PLC internal devices, in this case B bits and W words. B bits and W words were chosen because they are addressed in Hexadecimal just like RX, RY, RWr and RWw devices. You can see here RX0 through RX1F is getting mapped to B0 through B1F. Similarly RY0 through RY1F are being mapped to B100 through B11F. The RWr and RWw follow a similar pattern. The B bits and W words chosen are set by the programmer. STEP 3: Use the Data. In order to use the data we need to go to the manual for the device we are controlling and see what the manufacturer tells us. For example with a Mitsubishi VFD on CC-Link IE Field basic we get these two maps: The RX and RY devices look like this: The RWr and RWw can change but the most simple option is this: It's now up to you as a programmer. We can hard code devices for use. For instance since RY0 = B100 we can simply turn on B100 to turn on the Start Forward signal of the VFD, or we can create labels. For example here's a data structure for the RY devices showing the device that we've mapped. With data structures in place, labels created for our CC-Link devices and then our mapping complete we can have code that looks like this to turn on/off the VFD Hopefully this helps you conceptualize device mapping in Mitsubishi PLCs.
  2. Version 1.0.0

    6 downloads

    The attached PDF describes how the safety circuit works on Epson Robots. It shows some alternative diagrams to help explain how to use the safety of the robots. Proper safety wiring and configuration is the responsibility of the end-user and must be implemented correctly.
  3. Version 1.0.0

    11 downloads

    This uses a newer approach to connecting an FX5 CPU to the Epson robot via Modbus/TCP using Simple CPU Communications
  4. As of last week, November 30th, 2023 Mitsubishi released their own Function Block for doing this same thing. Search for document #: 3E26SJWH3ZZR-425423887-2504 IAI ROBO Cylinder Series MITSUBISHI ELECTRIC MELSEC iQ-F Series MODBUS/RTU Connection Quick Start Guide This is a well documented solution that performs Jogging, Homing and Positioning Table editing as well as commanding a move to the positions in the table. However, the solution provided here by Gibson has a few more features such as: Ensuring SIO is enabled Status monitoring Reading the position of the actuator However the moving in the Gibson libraries can go to any position without having to set the position in the table first. Both libraries are valuable and have their own strengths.
  5. Recently we had a situation where we needed to change a job file on a Cognex In-Sight camera from a UR Robot. At first we attempted to do it via Modbus/TCP, but were unable to do so. So we switched gears and used UR Script. In the UR Script we use Socket commands to connect to the Cognex camera and use Native Mode commands to perform the job change. To change a job in Cognex you need to: Connect on port 23 (Telnet) Provide username and password Take the camera offline Send the job change command Put the camera back online Disconnect from the camera There's more than can be done in terms of fool-proofing and error handling, but this script provides the needed functions to change your job. Here's the UR Script we created in order to make this work: # This script uses Sockets in the UR and Native Mode Commands # to change the job in a Cognex In-Sight Camera # First thing to do is open a Socket - this is a connection to the Cognex Camera # The default port for a Native Mode socket is port 23 - TELNET # Specify the IP address of the camera and port 23 # Name the Socket "CogCam" so that we can refer to the specific socket connection socket_open("192.168.3.94",23,"CogCam") #Open Camera UR connection , Port: 23 # The camera should respond with a welcome message and then ask for username # We do a read from the socket to clear this data # You could evaluate this response to ensure the port opened correctly # You could also add a timeout # socket_read_line(socket_name=’socket_0’, timeout=2) strOpenResponse=socket_read_line("CogCam") #get connection response # Now we need to log into the camera. The default username is "admin" # we also need to send Carriage Return and Line Feed characters, so we'll add those # using bytes with integer value of 13 and 10 respectively socket_send_string("admin","CogCam") #Login to Camera socket_send_byte(13,"CogCam") socket_send_byte(10,"CogCam") # Now we can read the response to the user name - it should now ask for password # you could evaluate the response, but here we're just clearing the socket # of incoming data # then we'll send an empty string - the default password for admin EmptySocketData=socket_read_line("CogCam") #Empties Queue socket_send_string("","CogCam") #Password To Camera socket_send_byte(13,"CogCam") socket_send_byte(10,"CogCam") # Now that we should be logged in, again empty the Socket # then take the camera offline with SO0 command EmptySocketData=socket_read_line("CogCam") #Empties Queue socket_send_string("SO0","CogCam") #Takes Camera Offline socket_send_byte(13,"CogCam") socket_send_byte(10,"CogCam") # We could parse the response, 0 = fail, 1=pass but we are # assuming it worked. # The advantage of a read is that the script won't send the next # command until we get a response to the previous command # Now we send LFJOBNAME.job to the camera to load the job we want # in this example, our job is 02.job Status1=socket_read_line("CogCam") socket_send_string("LF02.job","CogCam") #Loads New Job File socket_send_byte(13,"CogCam") socket_send_byte(10,"CogCam") # It may take several seconds for the job file to load # using the socket_read_line without a timeout means we wait for the camera # to respond to the request Status2=socket_read_line("CogCam") # Now that we have a response, we put the camera back online with SO1 command socket_send_string("SO1","CogCam") #Puts Camera Back Online socket_send_byte(13,"CogCam") socket_send_byte(10,"CogCam") # This isn't necessary, but we could check for a 0 or 1 response to see # if we are back online or not Status3=socket_read_line("CogCam") # Lastly we should close the socket socket_close("CogCam") JobChangeScript2.script
  6. I'm very excited to announce that with the update the GX Works3 version 1.095Z and firmware 1.290, Online Program Changes are now possible in SFC programming on the FX5U and FX5UC PLCs. We have had the ability to program SFC on the FX5U/FX5UC PLCs for a while now, however if you needed to do a program change it required you to stop the PLC and rewrite the entire program. With this new update you can use the standard Online Change capability to update your SFC code without having to stop the processor. This is a huge advancement and helps to dramatically reduce program development times.
  7. Using the built-in Modbus/TCP capabilities of the Epson robots we can connect a Mitsubishi GOT Quick program attached which works with the Epson robots. Notes: 1. This was created for an OLD GOT Simple so if you try to put it in a new one, change your Settings to GS21xx-WTBD-N in the project 2. This uses the default config for slave IO on the Epson side starting at Bit 512. 3. You then have to understand how Epson Maps internal bits 512 (512 is duplicated for inputs and outputs as you see above) to Modbus registers. We can then address higher Words if we want to send/receive data from Epson as values other than just bits. The GOT Project only has two screens, one that's looking at some RAW data as bits and words The other screen is only looking at the first couple of words in/out as they map to default functions so that you can quickly use buttons to start/stop programs, reset the robot, turn motors on/off etc. GS21_To_Epson_Modbus_Ex01.GTX
  8. Some updates to this post. Since the original post, Mitsubishi has updated the firmware on the FX5UJ and now you can do User Web Pages on the FX5UJ as well as the FX5U. Also Mitsubishi has now released the FX5S series. With the FX5S series you have reduced expandability in order to bring costs down. The base unit has Ethernet and mini-USB but no SD card and can be purchased in I/O from 30 to 60 points. It is non-expandable for IO but does offer some expansion via front connection and left side. If you add an FX5-SDCD module to the front of the FX5S, you can then use the User Web Page functionality to provide a simple web based user interface to interact with your PLC.
  9. Version 1.0.0

    13 downloads

    This file includes code examples and PDF walk through in how to set up communications from the iQ-F (FX5) Mitsubishi PLC to an Epson Robot using Modbus/TCP. This procedure uses Predefined Protocol Support function of the FX5U PLC.
  10. Okay, so here's where I admit that I was intimidated by servos for years in my early career. Why? Because they were expensive and I was afraid to get it wrong, plus there were so many options that I was overwhelmed. But in terms of Mitsubishi Servos it's actually pretty simple. You are either using an IO controlled servo, or a networked servo. So how do we know which is which? Starting with the amplifiers, let's break down an example part number: MR-J4-20A1-RJ The MR simply means it's a servo amplifier meant for general automation. The J4 is the series of amplifiers. The 20 means it's a 200 Watt amplifier. This is the power it can deliver to the servo motor. The A indicates the control type, in this case digital I/O control, we'll discuss this much more later. The 1 after the A indicates that this is a 100V amplifier, meaning the power to the amplifier is 100VAC (100-120 works). The RJ indicates that this amplifier has a Safe Torque Off functionality, earlier versions did not have this functionality and didn't have the RJ suffix. There's a little more to this than what's shown above but in general this is what we are looking at when it comes to picking an amplifier. They all start with MR, then a series (J4, JE, JN, J5, JET etc), then a power rating, a control type, a voltage modifier may or may not be present (1=100V, 4=400V, nothing = 200V), and finally other modifiers as necessary for special features. CONTROL TYPE The first thing I like to look at when picking an amplifier is actually the control type. You will find a few control types with Mitsubishi Servo Amps, basically there are two main categories with a couple of sub categories. Servo amplifiers are either digitally controlled (inputs and outputs) or network controlled. Here are the various Control Types you'll see in the Mitsubishi Line Up: A Type Amps (example MR-J4-20A1-RJ) These are Digital IO Control, this can be pulse and direction. Some have table mode where you program positions inside the drive and call them via digital IO and some have the ability to do Program Mode where a script can run in the drive. No matter which mode you use (pulse and direction, table or program) the drive is controlled by 24V digital IO signals wired to the front of the drive. B or BF Type Amps (example MR-J4-70B-RJ, MR-JE-200BF) These drives work on an SSCNET Fiber Optic Control Network. These get their control signals from a Motion Control Module connected to your PLC. All series of Mitsubishi PLCs have various cards that can control these drives, you can use an FX3, FX5 (iQ-F), L Series, Q Series or R Series (iQ-R) PLC with an appropriate motion card to drive these. Some of the advantages include the fact that Fiber Optic networks are not affected by electrical noise, they are very fast and the motion cards can do coordinated motion, so if you need to do 2-axis linear motion or 2-axis circular motion or even more complex motions like camming etc, these amplifiers can be controlled by a motion card in a coordinated fashion. The MR-JE series can be purchased as MR-JE-xxxB or MR-JE-xxxBF the F adds Safe Torque Off (STO) functionality to the drive. C Type Amps (example MR-JE-40C) These drives work on the CC-Link IE Field Basic network. This is a low cost option for point-to-point control. All of the FX5, L-Series, Q-Series and R-Series PLCs with built-in Ethernet can control the servos directly from this built-in Ethernet port (some older systems may not be able to do this, check for the CC-Link IE Field Basic marking on the front of the PLC). The big advantage here is cost. If you need to do simple point to point moves, or speed control, or torque control, these amps can do it without a motion card being needed. G Type Amps (example MR-JET-40G) These drives work on an Ethernet network and there are a few sub options. The straight G type are meant for Mitsubishi control and will work on CC-Link IE TSN networks for coordinated motion, but they can also function on CC-Link IE Field Basic for a low cost solution for point-to-point uses. The sub-type G-N1 are EtherCAT controlled drives. There are also GF type amps (MR-J4-70GF-RJ for example) that are ethernet based that can work as either CC-Link IE Field (not TSN) or CC-Link IE Field Basic. TM Type Amps (example MR-J4-40TM-EIP) These drives work on an Ethernet network and can be purchased as either ECT for EtherCAT, EIP for Ethernet/IP or PNT for PROFINET compatibility. You can get application notes and how-to guides from Mitsubishi which will show you how to use these drives with third party PLCs such as Beckhoff, Allen-Bradley and Siemens among others. Amplifier Series As of Spring 2023 here are the current families of Servo Amplifiers and general info about them: MR-JN Series These are only pulse and direction and are designed for simple applications. They are available in 100V and 200V systems with a variety of motors and output powers up to 400 Watts. MR-JE Series These are available as A, BF and C type control and are 200VAC up to 3kW. They have a wide variety of control methods and are a lower cost option with 17-bit encoder resolution for general servo applications. MR-J4 Series These were the top of the line servo series until the MR-J5 series came out. With 24VDC/48VDC controllers, 100VAC Single Phase up to 400VAC three phase options and from 10 Watt motors up to 55kW, this series provides options for motors and amplifiers for almost any application. And with A, B, GF and TM control options, almost any type of control is possible with this series. On top of this with 22-bit encoders on the motors precision was unsurpassed until the J5 series came out. MR-JET Series These are network only amplifiers working on G and G-N1 networks. Similar to the JE series being the lower cost alternative to the J4 series, the JET series is the lower cost alternative to the J5 series and is the step up from the JE series. With 200VAC and 400VAC options with power up to 3kW and 22-bit resolution on the encoders on the motors, this series represents a fantastic price/performance option. MR-J5 Series These are the top of the line amplifiers from Mitsubishi with A type and G type options allowing pulse train control or CC-Link IE Field TSN as well as EtherCAT with the G-N1 versions. The series is still expanding but current operates on 200VAC or 400VAC from 100 Watt output to 22kW. And with 26-bit resolution on the encoders the precision of control has reached new levels never seen before. So which one do I choose? For lower cost solutions, you are typically looking at pulse/direction systems. These are your A Type amplifiers. So stick with the MR-JN or MR-JE series, or even the MR-J4 or MR-J5 for higher performance. But understand that unless your control system can do multi-axis pulse and direction, most likely this is single actuator point-to-point motion only. For more control, step up to networked devices. For instance, with Mitsubishi PLCs with built-in CC-Link IE Field Basic you can get positional feedback, alarm info etc over the network. So going to an MR-JE-C, MR-J4-GF, MR-JET-G, or MR-J5-G allows more interaction, but still lower cost because you don't have a motion control card on your PLC. For the best control, add a motion card to match the network of your drive and either go the the B type amplifiers like the MR-JE-BF, or MR-J4-B series, or move up to CC-Link IE Field with the MR-J4-GF series. Or for top end applications move to CC-Link IE TSN and go with MR-JET-G or MR-J5-G series amplifiers. Mitsubishi also provides servo sizing tools to help you pick the right motor type (low inertia, mid inertia etc) and the right wattage for your loads. If you need any assistance picking or sizing your servo, don't hesitate to reach out to your sales rep for support!
  11. The iQ-F series PLC (FX5 series) is a major step forward from the previous generation FX3 and before PLCs. It has a significantly faster bus between modules. You are unable to simply connect previous FX2N and FX3U series right side modules to the FX5 (iQ-F) PLCs. If you have an FX5UC PLC you want to use a FX5-CNV-BUSC, and if you have an FX5U or FX5UJ or FX5S you want the FX5-CNV-BUS. These are the bus conversion modules. Anything after the module must be an FX3 series module and the connectable modules are listed below.
  12. There are a couple of reasons why you might not be able to write to the HMI over ethernet. 1. You have a fresh GOT with no program in it. When GOTs ship from the factory they have no BootOS and no Ethernet setup. You must always use USB or serial the first time to set them up. 2. You don't have the correct IP settings on your PC, make sure your PC's IP address and subnet match that of the HMI. 3. The HMI was set up to connect to a serial only device and therefore has deactivated the Ethernet port! This one is a little strange, but if you have a 3rd party (non-Mitsubishi) device connected via Serial port to the HMI and you haven't configured the Ethernet port to do anything, then it will be dormant. To activate it, go to I/F Communication Settings and set the Ethernet Download settings.
  13. Another PLC that has been asked about a few times recently is the venerable FX series, such as FX-32MR or FX-24MR etc. The FX series use the F2-40BL battery just like the FX2N does.
  14. Cognex also provides a guide on doing this as well. https://www.cognex.com/support/downloads/ns/1/11/91/HTTP tiled mode.pdf
  15. Version 1.0.0

    0 downloads

    I was recently asked if it was possible to show the last 4 images on a VisionView. The solution I came up with was to use the LatchImage and ScaleImage functions in Spreadsheet in order to overlay images on top of the main image for display purposes. While this has it's limitations, it provided the customer what they needed in their application. Overall it looks like this: Step 1: Create a Count function to keep a rolling count of images: Step 2: Add Latching Logic (4x), notice this points to our Count cell. Step 3: Add LatchImage Functions (4x) Step 4: Add ScaleImage Functions (4x) Step 5: Add Text Overlays to indicate which image is which: Step 6: Link to the checkbox for turning on/off this display.
×
×
  • Create New...