kaare_t

MrPLC Member
  • Content count

    2264
  • Joined

  • Last visited

Community Reputation

137 Excellent

7 Followers

About kaare_t

  • Rank
    Propeller Head

Contact Methods

  • ICQ 0

Profile Information

  • Country Norway

Recent Profile Visitors

6239 profile views
  1. How to connect Address between 2 CPU

    Yes, you need to setup Network Ranges for LB/LW) - transferring data between the two stations, and then LB->B and LW-> W to exchange/refresh data between them.
  2. How to connect Address between 2 CPU

    Post with replies here: http://forums.mrplc.com/index.php?/topic/36092-how-to-connect-address-between-2-cpu/
  3. Implementation of a counter in ST on GX Works 3

    See below, a full example of a counter with pulse (PLS) to trigger the counting: PLS(yourTrigger, singlePulse); MOV(TRUE, K32000, counterMaxValue); OUT_C(singlePulse, C1, counterMaxValue); RST(rstCounterValue, C1);  
  4. You have two options: Use UDP instead of TCP for both MC protocols (probably not possible since you maybe don't have control over the "other" equipment?) Setup more connections on the Ethernet port in GX Works2 so that you have dedicated connections for each application connecting into the CPU. In other words, the "other" application can open/close their connection freely and so can you on your other/different connection The problem you are describing have nothing to do with Mitsubishi on its own, it's simply the mechanics of a TCP connection.
  5. Bit to word

    Why use function block when you can use function, or even better -> instruction? If you want the "Schneider-style" function block or function I would recommend you to create a function (FUN), inside it you take 16 bits and use "SET_BIT_OF_INT" to set status to the individual bits in the FUN. THen you can have 16 bit inputs freely selectable and 1 INT output that you can connect to whatever you would like...
  6. Bit to word

    You cannot use "MOVE" on a bit. Use ladder or a suitable instruction if needed to trigger bits. Ladder example below: [STORING_Netfout]--(D401.0) You can also specify in GVL these addresses, e.g. define TestDataBit = D401.0: [STORING_Netfout]--(TestDataBit) If you want to batchmove a lot, use "INT_TO_BITARR" instruction. You'll need to create an array of the bits if you are using labels either in local header, or in GVL.
  7. GX Work2 Comments in Arrays

    For arrays this won't work. However, if you "must" have comments on each one like you describe and you would like to group them, why not create a "Structured Data Type"? Then you can work with an unassigned "collection" of bits combined. use the SDT in Global List and assign a specific variable to the first element in the SDT and it will populate the rest. I've made a simple screenshot containing several windows, I'll explain below: Lower left corner: The SDT/DUT specification (bLabel0_0 and so on - these are "inside" the array or collection) Upper center (all the way): Defined the SDT in Global Labels Right center: Specified M0 as the first device, all others populate automatically. Doable?  
  8. PT1 term

    I haven't tested PID in GX Simulator for GX Works3, but in all previous versions PID didn't work properly in the simulator. My guess is that the simulator won't function properly in GW3 either and you'll need a PLC. Why do you want to simulate the PID regulator?
  9. Communicate with GxWorks3 simulator

    I am pretty sure (not 100% though) that the simulator will not work with SLMP. I think you need the iQ-R PLC for test purposes.
  10. 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.
  11. 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...
  12. 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...
  13. 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?
  14. 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.
  15. 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).