dunc

MrPLC Member
  • Content count

    141
  • Joined

  • Last visited

Posts posted by dunc


  1. i tried that already. deleted about 30-40 steps and it made no difference. i could have been more ruthless and got rid of more, but i thought it would just be a waste of my time. there isnt even 7k steps used in the program and it should take up to 28k so i cant see why it doesnt like it!!!?

  2. just double checked that. all statements (no notes are used in this program) are set to separate. it must be a memory issue somewhere along the line as it allows the keyword to go in when no program, or just part of the full program is present. whichever way you try and fit the information in, it will not allow you to squeeze anything more. what I cant understand is that it is using less than 1/4 of its maximum step capacity yet it still complains of not having enough room for a keyword?

  3. right, removed CPU and all it has is Q2ASCPU Max 28kstep checked the step number total of the program manually and it has 6675 steps spread across 21 programs within the main 'program' heading. that is nowhere near the limit number of steps!?!? could there be any settings affecting this? could a software limit be imposed on the memory capacity within the parameters somewhere? it is a bit frustrating. I have gone over the entire site and it is only 2 PLC's that I cannot password protect due to this issue. thanks for your help.

  4. right had another go. formatted the PLC memory and then tried to add the keyword, this worked ok. then when I went to reload the program was told it had run out of memory and noticed a program section was missing from the PLC memory. formatted again and out the program back in first, did an arrange memory and then tried the keyword, still no luck. how much room does a keyword take up? is there any other way to protect the program from alteration other than by using the keyword? looks like this company tried to save as much money as possible by fitting a CPU with the minimal amount of memory they could get away with :(

  5. I think that will have to be the next plan. I find it strange that we were supplied a system that is already at its maximum capacity from new, that is why I thought it could have been something I was missing!?!? the program isn't really all that big either, perhaps all the comments are stored on there or something? will report back if I get anywhere with it. thanks

  6. i have been going round our site adding keywords to all the PLC's to help with revision control and stop people fiddling. All have been perfectly fine until I got to a couple of Q2as cpus that were installed by some German company that has gone under. the issue I am having is that the keyword wont be accepted as it informs me that the PLC has run out of memory? I have never had this issue before. I am aware that PLC cpu's have a finite memory but have never had any that have been so close to the limit that they wont accept anything more. other than the obvious, deleting parts of the program, is there anything I can do to free up enough space to allow the keyword to be accepted? thanks

  7. right. I think I finally get it, thanks. I guess as long as you are only mapping bits in that way instead of whole words and you are aware of what bits are where when transferred over the network via the buffer addresses you could transfer them either way as you would still end up mapping the same quantity of bits over in total, it would only affect their placing within the buffer addresses? are the buffer memory addresses single or double word registers or does that depends on the address? I was just wondering what would happen if you put [TO H1A H220 K8M1064 K4] would the 32 bit word overflow the register and cause issues or would the 16 LSB be lost? I understand you argument though, in the first example it is better to think of the K4M702 as a 16 bit word rather than M702 + 15 consecutive bits. that way the quantity value at the end of the instruction makes more sense across all instructions. as for you comment about finding out what the head address of the card is. is it always the same depending on the position of the card in the rack or can it always be different? for example if I had a rack with power supply,CPU then CClink card would the head address of that card be the same if I was to build another system and put the card in the same place? sorry if my questions seem a little basic, im only really familiar with melsecnet as we are a little behind the times where I work! thanks again, that has been a great help in understanding this.

  8. right, so the second K value at the end of the instruction is a multiplier? for example: [FMOV K0 K1M702 K8] would move a value of 0 into M702-M734 [FMOV K0 K2M702 K4] would also move a value of 0 into M702-M734 i assume this is done because you cant go any bigger than a double word value (K8M702) in one go so this gives you the ability to move more than a 32 bit word in a single instruction? please correct me if i am wrong and thankyou for your help :)

  9. I am even more confused now!? could you explain it in respect to the fmov command I posted up please? I have done very little cclink so may be easier for me to understand with a local command. for example; what would be the difference in operation with the following 2 commands: [FMOV K0 K4M702 K14] [FMOV K0 K4M702 K8] thanks

  10. can someone explain the following statements to me as simply as possible as however many times i read the explanations it doesn't sink in; [FMOV K0 K4M702 K14] [TO H1A H220 K4M1064 K4] i think i get some of it; in the first example you are moving the constant value '0' to M702 - M717? i am unsure of the function of the K14 a the end of the instruction? in the second example you are moving the data 'TO' the cclink card which has the designation H1A? H220 is the buffer memory address? K4M1064 means you are sending 16 bits from M1064, again, i am unsure of the function of the K4, other than it matching the K4 of the K4M1064, but this isn't always the case. after reading a few manuals etc it appears the K4M702 or K4M1064 is the head address with the end K4 being the amount of 'nibbles' to be transferred? if that is correct, why have the head address as a block of bits? this is on an A series PLC. any help would be appreciated. thankyou Duncan