kaare_t

MrPLC Member
  • Content count

    2306
  • Joined

  • Last visited

Everything posted by kaare_t

  1. com error in QJ71MT91 modbus module

    @diraemon: For curiosity, what was the solution to your problem? It would be nice to know as others in the forum might read in the future, and if you post your solution they can see that and take correct action based on it.
  2. Labels and Addresses Not Shown / iQ-r R08cpu

    Is it possible to upload the program here on the forum, or "no-go"? It's an odd situation...
  3. PT1 term

    Hi, not sure what you mean by "PT1", could you tell us a bit more about this? I believe running PID loops in the GX Simulator won't work as intended...
  4. FX5U and FX5-ENET/IP

    You are sure you want to communicate with "Ethernet/IP" - the protocol? And not Ethernet or TCP/IP? There's a huge difference in the two, so a precise answer here will clarify a lot. The reason I'm asking is because I googled "Digital IN X1" and at first glance it looks to be a door-entry system. Could you specify the manufacturer and model-number you want to communicate with using the FX5? And just to be sure, it is the protocol Ethernet/IP transferring over Ethernet you want to use?
  5. QJ71E71-100 communication between PLC

    I'm pretty sure it should be able to communicate with the FX3U-ENET-ADP using MC protocol. There should be some function blocks available that supports MC protocol in the Q-series. Basically what was done was to write the protocol in code, and use "No protocol" settings on the Q Ethernet card. That way, all data is sent via the regular MC protocol, which the ADP card supports. I don't have an ENET-ADP card so it's a bit hard for me to test it, but I'll take a look for the FB's needed. I won't guarantee it, but I would believe it's perfectly doable. However, @Paolo_911: You will need to use a project with labels to utilize FBs in your code. As mentioned, I'll look for the FBs.
  6. FX Invertor communication

    You are using a total of 7 IVCK and 1 IVDR. I see that you have noe sequence control over them, I'm not sure if this will work since all of them will be triggered at the "exact same time", but since you are testing it right now it obviously works. I'm not sure how Mitsubishi has implemented the two instructions in the CPU, but since you got it working it seems OK. In Modbus you will have to make a sequence that runs through each telegram one by one, and not all at the same time. But if we look at what you've got working now, I suspect you only send the IVDR once, and the 7 IVCK are sent all the time. You've got 4 inverters in your best case and 7 IVCK per inverter. That's a total of 28 telegrams for a cycle. Now, if we divide 1 second cycle time by 4 inverters we got 250ms per inverter. Then, divide 250 by 7 and you've got 35,71ms per instruction. I would say it's within the normal range. Now, your problem here isn't directly connected to the serial bus speed. It's more the number of transmissions per inverter. Even with Gbit TCP/IP you would have a problem if you sequenced 28 transmissions due to the time it takes to initiate, communicate and break down the link. What I'm saying is that the problem here is Mitsubishi's implementation of the IVCK instruction and that you can only handle one data at a time. Since you want to read out 7 different values, you should look at ModbusRTU and read all those 7 values in one single telegram. Let's say that the seven values are located at 30001, 30010, 30011, 30012, 30017, 30020, 30030. They are spread out, but what you do is to initiate i single read multiple inputs, with starting address 30001 and a count of 30. Then you will receive all the values between 30001 and 30030 and you simply only MOV the values that are interesting. Of course, sometimes we need to use multiple telegrams because the data we want to read are spread across large areas, but the whole point here is to avoid many small telegrams. It's better to transmit one large block of data than many small. IF it's possible to read out the values you need in one ModbusRTU telegram, then I would guess that you can lower the complete cycle time from 1s to about 150ms or so (this is only a guess).
  7. SC11 to USB

    Hi and welcome! A standard USB<->RS232 converter normally works fine. In the latest years I have just purchased these from well-known online suppliers like RS or similar.
  8. IEC Developer Ethernet Peer to Peer Comms

    I haven't downloaded the code you are referring to, but in your screenshots you are moving the possible error code by using Read_Done[0] and Write_Done[0]. I would say that are two good candidates for ACK... So something like: Trigger send signal Wait for e.g. Read_Done[0] -> set a temporary bit high Wait one scan Use the temporary bit to trigger send signal, and then reset temporary bit It will be a small sequence, but this is how I would have done it. Just to ensure that nothing will ever "stop" the Ethernet transmissions, no matter the scantime...
  9. Mitsubishi iQ-R connection

    Hi and welcome! I'm sorry you are facing issues with the Mitsubishi support in your region, I guess it differs where we are located in the world... Anyhow, regarding your specific question, you will need an Ethernet/IP module for doing Ethernet/IP protocol. However, I'm a bit unsure if you're talking about the protocol Ethernet/IP, or if you are talking about Ethernet in general. Would you please specify what it is you need? Ethernet/IP is a specific protocol, and can be compared to ModbusTCP or similar protocols. Ethernet is a defined way of transferring data (or upper layer protocols if you wish). The reason I'm asking is if you need Ethernet/IP you will need the specific Ethernet/IP module for that protocol. However, if you wish to transfer data via Ethernet you may be able to use the CPU Ethernet port (for light load), or alternatively a dedicated Ethernet card.
  10. IEC Developer Ethernet Peer to Peer Comms

    It looks good @Colin Carpenter, however I just wish to add a comment: You are using a timer for triggering the instructions. Note that this isn't always the best choice. A 100ms timer is good, but if you go down on the timer interval you risk that the scantime exceeds the timer value, hence you will not alternate (and trigger) the send/receive instructions and it won't work. I'm just writing in case someone sees this post and tries this with lower timer values. What I normally do is to wait for the receive ACK signal (command executed "OK"), then wait one scan and then execute again. That is basically as fast as possible after receiving the ACK, without any special measures, and what I would normally recommend. That way, the routine for sending/receiving Ethernet data will always work even with high scantimes.
  11. Anyone used an RFID reader on company badges?

    I'm not sure what you mean by "such systems exist", but since you posted this in the Mitsubishi forum I'm just guessing you want to integrate it with a Mitsubishi controller? I've worked with barcode readers and RFID readers, both serial connected and Ethernet connected. It's very straight forward and you just connect the reader (barcode/RFID) to your controller using whatever medium (serial/Ethernet/other). Then you interpret the numbers that are input from the reader. It's just a binary or an ASCII string... What is more challenging is often what to do or how to process the input data: When you have received the string, what should be done? Do you have an internal table in the controller (e.g. input from an HMI)? Alternatively, what I have done some places, is to have a MES module and integrate with a centralized DB. It can be a DB for personnel, products, gates etc. Just make a general query in the MES/DB and use the input string (barcode/RFID) as a parameter. As said, based on your question it's a bit hard to answer more precisely... Feel free to continue the topic if you have more information to add or if anything in my post is unclear.
  12. FX Invertor communication

    Per inverter: How many instructions do you execute in sequence? For example: 3 IVCK and one IVDR per inverter? Or other? What I believe is happening is the following sequence (based on 3/1): IVCK1 (frequency) IVCK2 (current) IVCK3 (voltage) IVDR1 (setfrequency) The problem here is most likely the number of transmissions or transactions. Each of them takes processing time, and many small is worse than one large most often. I would suggest you to consider changing to ModbusRTU which I believe all your units supports by default (alternatively if you're not sure then list all your equipment with full names). By using ModbusRTU you can probably read a complete block of data (e.g. above, you can put all 3 IVCK in one transaction). Can you specify a bit more regarding what your reading (all parameters/values)? You only have one IVDR, what is it for?
  13. I see, well then you have to make some decisions... Good luck with decisions, and let us know if you have questions or concerns and we'll try to give some tips and pointers
  14. PID TUning

    Based on the information you have provided I can give a general note: Tune the P value (without I and D) Tune the I time (without D) Consider if D time is needed, if so then tune it On a general note, PID tuning in general is almost impossible to do via a forum or in messages. You need to tune it on-site, live. The whole point of a PID regulator is to be dynamic and usable in most different processes. Therefore they always need to be tuned according to the specific process. But as a tip you should start with switching off (0) I and D and tune in P so that the process is highly responsive but not over-response. It will never be spot on the setpoint since you're missing I but it will be stable above or below (depending on processvalue direction), and should be stable there. After P is tuned good, then adjust I to a time that makes the process tune spot on the setvalue during an acceptable amount of time. Sometimes D can also be used to more efficiently achieve the setpoint in processes where you have sudden "large" deviations in processvalue.
  15. FX Invertor communication

    Are you sending one telegram for send/receive data, or multiple telegrams for sending/receiving data? Normally the best option is to have one telegram per send/receive for multiple areas even if it means a total of more devices than actually needed if there are gaps in between the data you want to receive or send. To put it simple: If possible, create one telegram for send and one for receive per inverter, nothing more!
  16. IEC Developer Compiler Question

    Great! I know it wasn't a direct answer to your original question, but I hope it's enough. If you still need to remove all other information than error (and possibly warnings), let us know. Maybe there is a way, but I don't have GX IEC on the computer I'm currently on...
  17. IEC Developer Compiler Question

    Just press "F4" (if I recall) when you have errors in the list that you are searching. When the compiler dialog is open and you press F4 (if correct), it will go to the first error if I recall... Let us know if it works
  18. com error in QJ71MT91 modbus module

    @diraemon: Are you connecting the QJ71MT91 directly to your computer (no switch in between)? If so, what Ethernet port does your computer have (100Mbit port, or 1Gbit port)? The reason I'm asking is that the QJ71MT91 has a 100Mbit port, without "auto-pair-switching". This means that if your computer uses a regular 100Mbit Ethernet port (which normally does not have auto-pair-switching), you need a crossed Ethernet cable (not a regular patch cable). Or, the easiest is to connect everything via a switch, so QJ71MT91<->Switch and Computer <-> Switch. If all above is checked and OK, and it still doesn't work, can you list which IP addresses you are using for: QJ71MT91 and Computer? It is pointless to use the Modbus debugger/simulation tool without successful ping operations.
  19. Well, when you say you need that quantity of data to be transferred I'm not sure I would recommend SLMP either... I would say CCLinkIE Field. I know it's more expensive, but a system like you describe is probably worth it, or? I would say that with the fairly complexity of your system it would be worth it to cut down on man-hours since it will be easier to setup and maintain than any alternative. But of course, SLMP gives you a flexibility that CCLinkIE Basic doesn't offer... I must have misunderstood your original post, as you mentioned an alarm-handling system. I thought you were to transfer some alarms from "nodes" to a central unit, but the way you are writing makes me think you might want some more (which is fully understandable), but that changes the game a little. In any way, you don't need any special cabling for CCLinkIE Field. It's standard CAT6 cabling for Gigabit Ethernet, and it's both switchable and routeable.
  20. Upgrading ACPU to IQ-R Series help

    Hi there, You write you have a R08EN-CPU. Are you sure you have this? The reason I'm asking is that all the R's have an Ethernet port already built-in on the CPU, if you have the R**EN then it occupies two slots (twice the width of a regular module), and you have a total of 3 Ethernet ports on the "CPU unit". IF you have the R08EN, you need to add an Ethernet module ("CPU Extension") to the rack in the parameter settings in GW3 (GX Works3). Simply do the following: Select "System Parameter" (under "Parameter") If not already selected, apply your mainboard/base Go to "I/O Assignment Setting" (in the tree to the left in your current System Parameter view) In slot 0(0-0), select "Module Type = CPU Extension", then select Module Name = [The module type you want it for] (the module type is what you want to use....)* OK/OK Then you can configure all your networks. In the "Module Configuration" windows, it will look a little odd since it seems to be a R08 CPU and a regular Ethernet card - this is correct. *The type is dependent on what you wish to use the extra Ethernet ports for. You now have one regular Ethernet port on the CPU, and you can choose between 1 Ethernet port and 1 CCLinkIE Field/Control, or a pure CCLinkIE Field/Control configuration. It's best to configure this correctly the first time, as reconfiguration leads to resetting of parameters for the Ethernet ports, so ask here first if you are unsure which one to select. Then you wont have to constantly reconfigure the ports... If you bump into issues during any stage, post some screenshots if possible - it helps us help you On a general note, Mitsubishi has been quite good with upgrading ancient PLC code, but from an old A to iQ-R (or even Q) is a pretty big jump. And as a last comment; why on earth do you go from an A** to a R08EN??? If I recall (though it's a long time since I looked at an A system), even the biggest A's can fit their code into a smaller R-CPU. Do you plan on implementing a lot of new code into these CPU's? Can I ask which A model you are replacing?
  21. How configure RUN

    Did you put the physical switch on the PLC to "RUN"??? The input you are referring to is optional and should only be used if you by any chance want to deactivate the PLC with a physical input signal.
  22. GXworks2 can't detect error

    Yeah: Initial is meant for initial processing only (like startup routines) Scan is meant for continously scanning (normal code) Fixed is meant for a predefined scantime (e.g. scan each 50ms with an interrupt to start) Standby is meant for... well... "Standby" (if you have a code that is standing by to take over if someting occurs) Most likely you'll want to use Scan.
  23. IEC Developer Ethernet Peer to Peer Comms

    Look into the already made function blocks from Mitsubishi for Fixed Buffer for the Q-series (made in GID7.04). Screenshot from their website. I think you'll have to dig a little regarding the QnAS though... As @collinsd70 writes; let us know how you get on
  24. GXworks2 can't detect error

    Double-post, thread available here: http://forums.mrplc.com/index.php?/topic/35887-gxworks2-cant-detect-error/
  25. GXworks2 can't detect error

    @deon1123: Drag and drop your POU name from POU tree into "Program Setting" (Execution program). Make sure it is listed somewhere under execution program to ensure the code is executed.