MrPLC Member
  • Content count

  • Joined

  • Last visited

Community Reputation

2 Neutral

About Mitsu

  • Rank

Profile Information

  • Country Belgium

Recent Profile Visitors

3205 profile views
  1. FIxed Buffer Communication

    There might be another method to intercept the communication between plc and device by using two networks cards in your pc. I assume you have one network card already. You could add an extra network card by using a cheap ethernet to usb "network" card (which will probably come in handy for other uses too, especially if your pc is already connected to an office network). Plug the plc and pc in a normal switch, plug the device into your usb network card and bridge them together in Windows. As such, you can intercept the traffic from plc to device in both directions using Wireshark on your pc. It sounds complicated but it isn't. I've used it on occasion for analysing profinet data between io-controller and io-device. However, if you need to intercept data regulary, a hub or intelligent switch would probably be easier.
  2. GX Works2 Reversing word order (32bit)

    A float is 2 words (32-bit) so i'm not sure what you mean by "I tried using XCH to swap the words, but then I am left with 2 words (rather than 1 float)." What are you intending to do with the floats? Do you want to use them in your plc program? In that case, you have to approach the data with float instructions instead of normal instructions (E*, E-,...). Mitsubishi doesn't really have datatypes in a sense that the whole data adressing structure is 16-bit (word). The way you approach the data (the instruction) defines the datatype. You can do "+ D10 D20" (word addition), "D+ D10 D20" (double word addition) and "E+ D10 D20" (float addition).
  3. Adding multiple registries in Q Series

    As pointed out earlier, WSUM is ideal for this kind of thing (or if structured, increase the number of var pins)
  4. GX Works2 Reversing word order (32bit)

    You can use XCH for swapping the content of two words. It's worth checking if there isn't an option in the card/software itself in the case of when data arrives in a certain format.
  5. Look Up Table

    If i understand correctly, you've got a graph (not linear) with a certain amount of (xn = probe units, yn = % fat) points. For a given x, you need to find the y? You can make a table with 2 columns (40 rows, or more depending on your division): - first column = x1,x2... xn = probe units (let's say these points go into D0 - D39) - second column = y1, y2,... yn = % fat (let's say these points go into D50-D89) For a certain x, you need to find y. You can do this with a simple loop. - search the position of the x in the xn column: with a FOR NEXT loop, you look up the x in D0-D39, starting with D0z0 (first row) and working your way through the rows until you find the value - when you get a match, get the corresponding y in the yn column: D50z0 If your x is between two xn values, you can save both x and y values between which the x is and interpolate. Let's say your x is between row 14 and 15, you save x and y from row 14 and x and y from row 15 and interpolate. That are different search methods for faster searching but for a column with a small amount of rows, that shouldn't be an issue. In the QnU, Mitsubishi has introduced the great SCL instruction for this type of thing. But that doesn't help in your case.
  6. Interesting case. It would be interesting to know what solution you eventually decide to use in this case, skye. It would also be interesting to know how many bar code scanners you have on each QJ71E71. @kaare_t: what solution would you advice (purely out of interest)? Each bar code scanner will take up 2 out of max 16 available buffers (or ports). So you could connect max 8 scanners tcp/ip on one QJ71E71. You would also need 2 buffers (send/receive) to communicate with the EWM system. So max. 7 scanners and 1 tcp/ip connection to get the data to and from the EWM system. I assume the interrupt based receive instruction (RECVS) could handle the required speed. So scanners connected with tcp/ip to the QJ71E71 and the QJ71E71 communicating with the EWM system with two (or more) of the remainging ports (unless scanners allow UDP, which doesn't seem to be the case)? @skye: what plc cpu's are used in the system?
  7. iQ Works Q & A

    The next generation of Mitsubishi products was announced at the SPS fair in Germany: - Melsec iQ-R (next generation Q, coming in 2014 with GX Works3) - FX5 (next generation FX, also coming 2014 i think) - GOT2000 - FR-A800 (next generation frequency drive, coming with FR Configurator2, which is iQ Works based) (coming december 2013 in Japan, spring 2014 Europe) More info is availabe at the Mitsubishi Europe website (inlcuding some promo flyers and a picture of the iQ-R). 2014 is going to be an interesting year.
  8. iQ Works Q & A

    According to the Mitsubishi newsletter and promo flyers,the "all new" GX Works3 will launch alongside the new Melsec iQ-R series sometime next year.
  9. A1SHCPU with MR-J2S-700A driver

    If you want to see what's in the buffer memory of the card, you can do this without programming. I assume you're using GX Developer? If yes, then select Online/Monitor/Buffer Memory Batch. Input your Module Start Address and the Buffer memory Address (104) that you want to monitor.
  10. Indeed, there is no setting for the frame type necessary. The Mitsubishi ethernet card (in this case the QnU) will analyse the data it receives and if it matches a frame that it knows (in case of QnU 3E and 1E but 1E only from a certain firmware version since it was added later on), it will automatically send back a reply (which is the nice thing about MC Protocol: you only need to program communication on one side). You do seem to have the TCP connection succesfully opened with that particular port? The frame does need to be correct ofcourse or otherwise the card will not respond. I think we did approach a QnU with the 1E frame at some point but i can't check at the moment. Have you defined the actual command (e.g. i want to batch read 10 words starting from D0)? In this manual, the frame layout is described for several different commands. See chapter 3.3 for the defintion of the commands and examples.
  11. See chapter 5 in this manual. You need to define "MC Protocol" in your port settings and binary/ascii (depending on what you use) in your Q parameter settings. If you're not sure about your 3E frame, you can try with the much more simple 1E frame to test (is only available in some of the newer QnU cpu's though, see appendices). There seems to be some limitations to the MC protocol commands you can use in QnU compared to dedicated ethernet cards.
  12. In cases like this where you need byte access, WTOB and BTOW are very useful. In your case, you could dissamble the message into bytes (WTOB) and then reassemble the bytes into words again (BTOW). When re-assembling, you can decide to omit the bytes you don't need (in this case, the first byte). This solution is most useful if the data you need to process isn't too long or in general, if you need byte access in a word device. There are other solutions, like Sergei's method of moving to bit device memory and then moving again to word device. I don't think there is any real clean solution since you can't address bytes directly as offset in typcical move instructions like BMOV. It would be interesting to know if there are nicer solutions.
  13. SCADA

    @Paez: maybe you should get in contact with the distributor from whom MX4 was bought? They will probably be able to tell you more. I'm not sure at all about this (other people on this forum with closer links to distributors will probably be able to confirm if this is true) but is MX4 still supported/abailable since Schneider bought Citect? I had the impression that Mitsubishi and Citect had a good relationship with good dedicated drivers for Mitsubishi plc's. But it remains to be seen which way Citect is heading under Schneider (it was a real surprise to see Citect being acquired by Schneider). However, there seems to be a trend in the automation industry that each plc vendor now also has to have it's own SCADA. Mitsubishi (Europe) is now strongly linked with Adroit Technologies (it even has shares in the company) and is offering Maps, which is somewhat similar to what MX4 was with Citect (but now with the SCADA from Adroit). I was wondering though: is there any reason at this point why you would want to upgrade to a new version of Citect? You have everything you need for development. Unless MX4 is causing you problems, maybe you should start with what you have now (MX4)? Once you have a better understanding of Citect, you can then still decide to upgrade to a newer version of Citect (or another scada software). At that point, i think you will need to talk to Schneider to see if your MX4 version can be upgraded to a standard CitectSCADA version. As far as i know, Schneider has decided to be the only distributor for CitectSCADA from now on (former distributors like Beijer aren't allowed to distribute the software anymore). It also depends on what your future plans are for this project. Will you be making a lot of changes? If you are taking over the project and you plan to do a lot of changes and you have the budget, then maybe you could opt for a scada solution that you are familiar with. If the budget is limited and the changes are small, then i would start with using MX4 and see how it goes.
  14. Need explanation

    You need to define a bigger area of devices for the compiler to use. The compiler needs a device memory area (for each device datatype: timers, bits, counters, latch dataregisters...) which it can use to assign local labels (and global labels without device assigned to them) at compilation time. You can define these in the Tool menu (Device/Label Automatic-Assign Setting). For example, say you use a local label of datatype Bit somewhere in your code. The compiler needs to assign an address to this local bit at compilation time before transferring it to the plc. In my example, the compiler takes a device address out of the device memory area that you have reserved for bits. That could be an M-range (e.g. M6000 to M7000) or a B-range or whatever depending on what you have defined. At compilation time, the compiler will take an address out of the memory area and assign it to the local label, e.g. to M6999. In your case, say that you have defined 1000 local labels of datatype Bit and that you have only reserved 500 in total, the compiler will generate this error.
  15. Moving Ascii Code for laser marker in A series

    Glad to hear it works. The dedicated instruction mechanism in the A-serie wasn't the most elegant (or short) system around. In a case like this, for a simple string addition, you need to write 5 lines of code to execute 1 instruction. Thankfully, Mitsubishi simplified this a lot in the Q serie cpu's.