Colin Carpenter

MrPLC Member
  • Content count

    471
  • Joined

  • Last visited

Everything posted by Colin Carpenter

  1. IEC Developer Memory Problem

    Does anyone else get this problem with IEC Developer V5.02 When builfing, re-building or checking, I quite often get the Error Message "OUT OF MEMORY". The programme will let me save and recover the project, but it will also then say "Cannot Allocate Share Memory". This happens on Windows 98 and also XP Pro. My laptop is a 1.6 GHz Centrino with 512 MB ram running XP Pro .... wouldn't think there is a shortage there. When I'm really making it work hard ..... deleting global variables then building again to find the variables I've missed, it happens for a pastime. Love to know what the workaround is. Mitsubishi just say "What else is running?" .... but it makes no difference, lots of of other apps or no apps, it still happens the same. Somthing's up, but I don't know what.
  2. FX2N + E600

    >The problem is that now i have to connect 2 panels and PC to one PLC. Is it possible and what cofiguration can be used in that case?< Fit an ethernet card to each of the E600s. Connect them by using a hub, switch or cross over cable. Set up the client / server info in E-Designer. Connect one of the E600s to the Programming Port of the FX2N. Connect PC to the serial port of this E600 and programme in transparent mode. If you need a SCADA PC continuously connected, the above might not be that good - maybe use the 485 BD. System works well ... both screens have access to the FX2N data.
  3. mitsubishi a series commands

    DFRO H16 K0 D211 K1 Reads one double word (K1) from Buffer Memory 0 (K0) into Data Register D211 from Special Function Module at address Hex 160 (H16) DSFLP D600 K10 Shifts the contents of Data Registers D600 to D610 into D610 to D611, then puts a 0 into D600 WOR - TOP - TO - FROM FROM - as DFRO but for single words - used with special function modules. TO and TOP - TOP is the "single line pulse" version of TO. Used for writing set up info to special function modules. WOR - individual bit addition of 16 bit words. That's an odd one!!
  4. IEC Developer Memory Problem

    I can answer this problem now after going into "I'm not going away until I get the answer" mode with Mitsubishi UK. Turns out that every time you do a Build or a Rebuild All with IEC Developer, any errors get caught up in an invisible error log which never goes away, and only grows with time, making the saved project much bigger than it needs to be. It eats up memory and causes the problem. The "work around" is to export the project as an ASCII file, then start a new project and import everything from the ASCII file. This has the effect of "purging" the project of all the unwanted rubbish. When I did this on one of my projects, the main file shrank in size from 12 MB to 4 MB ..... for exactly the same project!!. Seems like the latest version handles it better, but maybe still not well enough. Looks like all my projects are due a backup, ASCII export and ASCII Import now to get rid of all the accumulated rubbish that they have picked up in development. Why don't they put this stuff in the manuals, can somebody tell me?
  5. hello all

    1. Create a POU and put the code in. 2. Create a Task (TSK) ... maybe call it MAIN 3. Open the Task, add your POU to it (select from drop down arrow) 4. FILE / REBUILD ALL to compile your code into Instruction Code. 5. FILE/ TRANSFER/ Download to PLC to send it to the PLC. POU = Programme Organisation Unit (as long or as short s you like) TASK = where you tell the programme what POUs you want to use. REBUILD = converts graphics to code and checks for validity Download = send to PLC. You need to know about Global and Local Variables as well. Good Luck
  6. Changing online value display options in GX-DEV

    Found the ASCII look up table in the manual, which gives the HEX Codes for the ASCII Symbols Which means that your first four Hex values H3035, H3130 , H3430 and H3435 are equivalent to Ascii 05, 10, 40, 45 as it says in the comments. Your decimal value of 12341 is calculates to H3031 which then equates to ASCII 01, not the 10 you were expecting. Possibly the best bet would be to switch GX Developer to Hex View mode (which I'm sure you can do, you could in Medoc) and work in Hex, as the comparison constants are shown in Hex? ASCIICode HEX 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 Symbol ’0’ ’1’ ’2’ ’3’ ’4’ ’5’ ’6’ ’7’ ’8’ ’9’ ’A’ ’B’ ’C’ ’D’ ’E’ ’F’
  7. Changing online value display options in GX-DEV

    When you say ASCII, do you actually mean HEX? The code looks like you're comparing a data register with a HEX value? Think ASCII values are only used with string variables, and I'm afraid I've never used them.
  8. I Need an PID examples of the A2ASCPU

    The manual for the QnA series says that the LED, LEDC and LEDR commands are used for: "Displays the ACII data (16 characters) ....etc..... at the LED display at the front of the CPU". Haven't a clue what this is about as it seems to indicate there is an LED display on the front of the CPU which can display characters 0-9, A-Z and various other special symbols. Never seen one of those to my knowledge. It doesn't mention the LEDB command, and nor does the PID manual. Totally baffled on that one, sorry.
  9. I Need an PID examples of the A2ASCPU

    I've had that error light problem as well .... means that the CPU runs OK but you get a constant red light on the CPU. After a lot of head scratching and looking at error flags, I came to the conclusion that it was a "divide by zero error" which happened if the PID software was immediately run before variables had been set to proper numbers. Holding off the PID software for a while so that it was not operational on the first cycle seemed to cure the problem. Having said that, the error light never caused a problem, so I tended to ignore it. Have to re-programme one of my olf CPUs soon, so will look into it a bit more. Real numbers are very easy in IEC Developer .... just use INT_to_REAL to convert to real numbers, then do all your maths using system variables to store the interim results, then REAL_to_INT to convert back to Integer values. Obviously use DINT if you are using 32 bit numbers. A tip when working with integers is to work with values 100 times greater if you want a couple of decimal places accuracy. eg, 32.89 would be 3289 etc. I tend to use double integers all the time when doing calculations and then use DINT_to_INT right at the end if I'm sure that the value will be less than 32767. The QnAs are really good at it, the A2A can do it, but not sure about anything lower eg the A1S. There are "experts" who can tell you ways to tune PID loops, but I don't pretend to understand them. I find that every application I've done (mostly flow control) I use 0 as the Differential constant, and 300 to 400 for both Proportional and Integral Constants. Gives a relaxed, fairly lazy response, but that always seems to work in most cases. I hate neurotic people and neurotic control systems .....:)
  10. I Need an PID examples of the A2ASCPU

    It's the very same as far as I can make out. I bought the paper manual for the AnA series and downloaded the QnA manual thinking it might be different, but I couldn't find any differences at all. Incidentally, the QnA CPUs are much more efficient at compiling the code when using IEC developer. I had a programme running 6 PID loops and lots of floating point maths, on an A2AS it was using about 12K steps, which was giving me a headache as it was getting close to maximum. Changed the CPU to a Q2AS, recompiled and the resulting programme used in the region of 4K steps. Massive reduction indicates more power in the CPU.
  11. A2SH

    What is the default mode for Mitsubishi PLCs? Must admit that in 20 years of programming these things, I've never *truly* got my head around when one way is preferable to another. Anybody got any preferences?
  12. I Need an PID examples of the A2ASCPU

    What software are you using to programme it with? How many PID loops are there in the application? I have ASCII files that can be imported into IEC developer to set up Global Variables and PID Function Blocks for any number of PID loops up to 10, I believe. Tested and working now, but will only work with IEC developer.
  13. PLC functions

    You'd have to write some code into the PLC to make the programme write values to the Data Register, eg. LD M8000 (Always ON) MOV K100 D100 Would continuously write a value of 100 (decimal) to D100 Obviously you can change M8000 to other bits to suit your programme. You can also use MOVP which will "flash" a value into it at the first instance that the bit comes on. Battery backed data registers are normally D200 to D511 in the bigger FX series, but not necessarily in the smaller variants.
  14. PLC functions

    If you're using DOS MEDOC, and you are connected to the PLC, then to change the value of a data register D1. EDIT INSTR or EDIT LADDER to see the code. [F2] to enter the editor [F8] to go online [F7] then enter the address D1, then type the value you want Page Up and Page Down enables you to move up or down 1 data register when in this mode
  15. Level Control

    Hi, I'd like to ask for some advice from the experienced programmers on the forum. I'm currently programming a FX2N plus E700 HMI system to do the following: The system is designed to enable operators at a processing dairy to easily create correctly mixed batches of yogurt, soured cream etc. To do this, the operator selects the product he wants to make and the kgs of the batch that he wants to produce. The system then calculates (using Floating Point maths) the correct volumes of skim, concentrate and cream that need to be blended together to supply an intermediate balance tank (1000 litres capacity) that will then gravity feed to a pasteuriser running at 9000 litres per hour. Each of the three product feeds has it's own pump. control valve and feedback flow meter, which enables a PID loop to be used for each of the 3 produt flows ..... setpoint for each is the relevant determined volumetric flow rate ( so the 3 combined will equal 9000), feedback is the relevant flow rate and the control output is the control valve. No problem so far .... all programmed and ready to run. The thing I can't work out for sure is the way to control the level in the intermediate balance tank. Ideally, I want it to run at 80% full (good head to feed the pasteuriser), but the flow rate in the pasteuriser will never be EXACTLY 9000 lph, and there are times when I need to almost run the tank empty, then build it back to the 80% level (eg at the end of one batch, followed by another). The volumetric ratio of the 3 products must always be the same, regardless of flow rate. I'm tempted to use some simple logic ...... eg, if the tank level is less than 30% and more than 20% then make the combined flow rate, say, 9200 lph, and reduce it as it approaches the desired level, but part of me thinks there must be a PID way of doing this. Any ideas? Thanks.
  16. Level Control

    Ah, I see what you mean now. PID Loop 1 would use the tank level as the PV, 80% as the SP and the MV would be fed directly onto the proportional valve of the main ingredient flow. Then read the flow rate of this product, apply the ratio maths to find the flow rate set points for the other 2 products and use PID loops 2 and 3 applied to their respective proportional valves to control their flow rates to the 2 calculated flow set points. Interesting ..... very interesting. Gonna have to think on this a bit more ...... what would happen if any one of the products can be the major constituent? (As is in fact the case) Thanks for that ...... I see what you mean about avoiding the product until the loops are tuned. Historically, I like to tune them with a very relaxed attitude to life, having started the valves in manual close to where I know the valves will end up.
  17. Level Control

    Yes, the ratios have to be precise, but that's not a problem. If the system decides that the flowrate has to be 9000 lph, then it will calculate the flowrates of each of the three and the PID loops will then use these calculated value s to control the flow of each one. What I'm not sure of, is how to determine the total flowrate into the buffer tank of the 3 product flows. For example, if the buffer tank is low, then the level needs to be raised up, so the total flow rate needs to be greater than 9000 lph ( the rate at which it is gravity feeding out of the tank). Conversely, if the level is high, then I need to reduce the total flow rate to less than 9000 lph. The ideal situation would be steady state flow at 80% full buffer tank .... which may or may not be exactly 9000 depending on other factors. If it was a single control valve controlling the feed of a single liquid into the buffer tank, the PV would be liquid level, SP would be required height (80%) and CV would be applied to the control valve (0-1000 bits equivalent to 4-20 mA in my case). PID would work fine. In my case though, I need a PID loop which modifies the 9000 lph flow rate variable, and the rest would then follow. It's the maths to convert the CV into a flowrate that's baffling me a bit. Thanks for your help
  18. Mitsubishi Download Site

    Hi, Can anyone tell me the address of Mitsubishi download sites for manuals etc? I know that Chris often says use www.meau.com, but that seems to be country specific as I'm not allowed entry to the site ..... presumably because it knows I'm not based in the States. Can't find a thing on the UK site ..... chronic attempt really. Seem to recall there was a Canadian web site that allowed access, but my bookmark has disappeared for some reason. Just want to know what the new features in the latest version (6.x) of IEC developer are when compared with V5.x Thanks in advance
  19. Mitsubishi Download Site

    Thanks, that'll do nicely. The one I was moaning about was http://www.mitsubishi.co.uk/automation/ .... can't seem to find a thing on there
  20. A1S 62DA Analogue output card

    Please find attached PDF showing one programmed in IEC developer on a Q2AS CPU ..... easy to change. Have you remembered to turn on the Y outputs in order to get the channels to work? 62AD.pdf