jydepower

MrPLC Member
  • Content count

    52
  • Joined

  • Last visited

Community Reputation

0 Neutral

About jydepower

  • Rank
    Sparky

Profile Information

  • Gender Male
  • Country Denmark
  1. understanding capacity of qplc

    Hallo. I think its a little hard to figure out what is what, when it comes to space in a q plc. There are steps, devices, standard ram etc. Usually i only care about steps. But in my latest project im running out of room for device registers. Im using a Q06UDVCPU. The specs states: Program capacity 60K steps (which i understand). Device capacity 424K (40K standard device+384K standard RAM) here i understand and know how to allocate the 40K standard device between D devices etc. But i dont understand the 384K standard RAM. what can they be used for? At the moment im running out of the 40K standard device for D registers, which i use for GOT tags. So im wondering can i use the 384K standard ram for more D devices? If not can i use some sort of memory card for extending the devices? The devices i use for GOT tags does not need to be fast. Its basically a recipe database which takes up a lot of space.  
  2. Array of SDT as I/O on FB

    1) not sure why you need to see the programme. It’s a general question about working with sdt.  2) so you’re saying to access global vars directly from inside the fb? Instead of adding locals to work with them? to break it down... I create a sdt named recipe i create 2 global vars. var1 = of recipe var2 =array(1..7) of recipe I then create a fb with 1 input = sdt (recipe) and 1 input/output = array(1..7) of sdt(recipe)  What I want to do. Is to bmov the input vars to the input/output vars. Which doesn’t work.  On the other hand. If use a move on a single var from the sdtit works fine. 
  3. Array of SDT as I/O on FB

    Hallo.  Im trying to make a fb where I have an array of sdt as an input output type.  The reason is to have write and read access to my connected global vars inside the fb.  This works fine in most cases. But when trying to use a bmov where moving an array of sdt input to the array of sdt I/O I get strange results. The first array element is correct. But then rest are mostly zeroes. It is writing zeroes. I tried the same outside the fb, and it works fine.  Only thing I can think of  is that inside the fb all vars gets a local random register. Maybe this can cause it to fail? the array of sdt input and array of sdt I/O are of same sdt type  The sdt consist of mixed data types   I’m using gx works 2 with a q plc  can someone shed some light on this matter? and will using the array of sdt as input on fb cause more execution time? I’m thinking the cpu maybe have to cope the vars to local before using them?
  4. program efficiency

    Hallo. Im trying to optimize our inverter block. Initially the block have local IO variables to handle the inverter IOs (RX,RY,RWr, RWw). This means i have all the inverter variables both global and local. This made me think that im using steps to copy the vars to the block itself and im using a lot of vars hence the locals. So i tried to make a version without the locals. And had the block call the globals inverter IOs directly. Hoping i would save steps and vars. But when compiling i get the exact same usage result. Does this make any sense? Can someone shed some light on this? Im using gx works 2 inverters are in cc-link ie.    
  5. Hallo. I want to know if its possible to write to eeprom of an A800E inverter via cc-link ie. I have successfully written and read any parameter to the ram. But now i need some parameters to be stored in the eeprom. Im using the A8NCE card on the inverter. The manual only states a bit to write speed and torque to eeprom, but nothing on any other parameters.
  6. Power-on inhibit FR-A7NP

    Hallo i want to know if the supply for the fr-e740 inverter with Fr-a7np is gone.  I was thinking that bit 6 of the status word could be used. Power on inhibit. The manual only states that 0 is returned. Anyone knows what that mean? is it 0 when on and 1 when on? And or vice verse?
  7. A little input on a few things needed

    Got the profiles installed. Thanks for the help and inputs gambit.
  8. A little input on a few things needed

    Did you find the FR-A800 profiles for CC-Link IE / Basic Do you mean inside navigator when you say profiles? I think I did but there are no inverters in IE. in the last project they used something called general intelligent device station. And set points manually. Should there be inverters in the profile? And what if I use the interface module FR-A8NC?  
  9. A little input on a few things needed

    We have made one project with the new setup. First we wanted to use the e model. But we ended up using a cc link ie interface card for the inverter. Because the e module only had one Ethernet port I believe. And also the my colleague couldn’t get the block to work. I really want to use the e model because of cost price   So I don’t know. All I know is I’m up next. And want to be more prepared than the last project was. 
  10. A little input on a few things needed

    I actually have my hands on a working block. It’s from a friend of a colleague. However in this block the b registers use 48 points and the w registers use 32 points. So it takes op a lot of space. I haven’t studied the block yet. But when I drag a fr inverter i at classic cc link it’s takes a lot less points. So made me want to find a original basic block. To see what is needed just to run with basic stuff. Then modify it to my needs.  The danish local sellers know less than us. Since they started selling Mitsubishi recently when Beijer and Mitsubishi stopped working together. Before our local seller was Beijer. 
  11. A little input on a few things needed

    Thanks for the replies gambit. Seems like I’m on the correct path the.   The block I was looking for is for cc-link ie
  12. Hallo. Im hoping someone can shed some light on these topics. The company im working for have been using gx developer iec 7.04 for ages. The setup we have been using is QxUDE plc with beijer HMI and FR-E700 inverters on profibus. Recently(finally) we have been forced to start using gx works 2 because of newer plcs. With new software come new questions as always. And since im feeling we have been hanging in old software for too long. I want to make sure we are up to date this time. The setup we plan on using is QxUDV cpu, CC-link ie (QJ71GF11-T2), FR-A800 inverters and GOT 2000 for HMI I have made a few project in siemens and TIA portal. And software wise it has always annoyed me, that mitsubishi lacked the same integrated software package as siemens. This made me discover navigator. With system labels navigator makes the variable control, hardware setup and project overview im missing from siemens possible. My question to navigator is. Does people use this? i dont see much about it on the forum? is it already outdated? Gx works 2 or 3 Again i cant figure out what is new and what is old. What are the pros and con for choosing either? CC-link ie or CC-link From internet reading. I find that IE is the newest and faster CC-link version? Is the classic CC-link on the way out? If not why should i choose IE over classic? When setting up CC-link IE in navigator i dont get the same hardware in the catalog as CC-link. To setup inverters i need to user general intelligent device station. Whereas in cc-link i can choose FR-inverters. Is this the way it works? or can hardware catalogs be updated somehow? Blocks for FR-A800 Maybe its just me. but i really think the search function on the mitsubishi download page is crap. When i filter QPLC i get LPLC etc. ive been trying to find some blocks to control inverters without luck. Do i start creating it myself or can you point me in the right direction? I know these are a lot of mixes questions. But i feel we have been non-efficient for years because of bad software choices. Hope someone can shed some light one these points.
  13. Error code: 4140

    Hallo Kaare and thanks for you reply. You were right. The problem was external (HMI). I haven't found the problem in my own project yet. But the pictures below shows dumps from a test plc, where there same error heppened yesterday (the reason for my post). It turns out that the test plc in our office was talking to a test hmi, where a colleague of mine have put in some program. See the D800 overlap. This error is of course obvious. But im glad to see it made the NAN value, which i've never been able to provoke before. Now i just have to find the most likely same error in my own project.  
  14. Error code: 4140

    Hallo. Recently ive got an error i haven't seen before. Error 4140 im using GX IEC developer  CPU is Q06UDEH I cannot figure out why the error happens.  When show the location to the step where the error occurs it makes no sense. The specific area has only got simple bool operations. When trying to recompile the entire project. The error "moved" to another location in the program. At this step there was a lot of float operations. When monitoring one of the variable value was NAN. I could not find anything about NAN in the manuals. But google stated it could mean not a number, which makes sense when reading the error description. I know it impossible to help me with my specific problem, when i cant really tell where or why the problem happens. But im pretty sure it has to do with me using float operations wrong. Ive tried to do a simple test program just to see if i could provoke the error, but no luck. How can i make a number go out of range, make it unnormal, nonnumeric or even infinite? Maybe someone could give me a simple example how to provoke this error, which might help me on my search in my own program. Thanks. Below is a screen-dump from the manual on this error.
  15. Hallo. Im trying to make a function. Im not sure what aproach to take. I have an array of int [1..15] with mixed numbers. What i need to be able to do, is to find the element that is closest and LT a value(search number). Lets say the array is [1..5] instead for easy example and the values are 4000, 2000, 3500, 6000, 1000. My search number is = 3000 My result would be element 2 = 2000. My approach to find this was to use the SORT function. Then i could start a loop comparation from the high end, and the first value that was under was the correct on. My problem is. When using the SORT function i loose my array index order which i need onwards. So i my idea was to convert to a DINT and ADD a "tracking number" in the upper half of the DINT. Do the SORT and then look at the sencond half of all the DINT's when doing the loop. Something like this 10000004000, 20000002000, 30000003500, 40000006000, 50000001000 (i know the numbers arent correct). In case this is a good aproach. I need to know how to ADD the two INTs into a DINT. I cant find a function that does it. Does this make sense? is it even possible? what way would you go?