apmcs1

MrPLC Member
  • Content count

    4
  • Joined

  • Last visited

Community Reputation

0 Neutral

About apmcs1

  • Rank
    Hi, I am New!

Contact Methods

  • ICQ 0
  1. Hardware problem S7-224

    Again late reply but if you have another S7-224 and a memory cartridge then load any program to the cartridge and plug it into the malfunctioning PLC and it should load the program from the cartridge (on power-up), replacing the current program. hmm never used a memory cartridge, it may not store the communications setup.
  2. S7-200 cpu 224 and OP3

    Late reply but you can use the first scan or Run Power up bit to determine if the PLC has restarted First_Scan_On SM0.1 This bit is ON for the first scan cycle only. One use is to call an initialization subroutine. or RUN_Power_Up SM0.3 This bit is turned ON for one scan cycle when RUN mode is entered from a power-up condition. This bit can be used to provide machine warm-up time before starting an operation. You would have to program what you wanted to do on startup, you could clear the registers or set an alarm or stop your process, whatever. Cheers
  3. Indirect addressing of DB address in S7-300

    Wow! Thank you so much Groo I knew what I wanted to do but was so far off it's pitiful. I am now looking up all the functions you used so I will understand it all before using it. I'm sorry but I just don't get a lot of their explanations in the help files, I come from a background of Modicon 584, 984, Allen Bradley PLC5, SKC500, Direct Logic, plus various small PLC's and these Siemens seem very powerful but are very different. What also makes it hard to understand the programs I have right now in S7-200's and a S7-300 is that all the descriptors and comments are in German. Thanks again Dave Welch
  4. I want to indirectly address DB50.DBW 420.0 through DB50 DBW 459.0 a word at a time (16 bit). This is in an FC using STL What I want to accomplish is check each word to see if it is between 20 hex and 7E hex and if it is not to set it to 20 hex. Would it be easier to just use decimal? 32 and 126 anyway this is what I have so far STRT: NOP 0 L p20 Load hex 20 into ACCU1 L DB50.DBW 420.0 Load value in DBW 420 into ACCU1 (moving old value into ACCU2) <L comparison is ACCU2 < ACCU1 (20<DBW 420) JC CHNG Jump conditionally (if true) to CHNG L p 7E >L JC CHNG JU NOCH CHNG: NOP 0 L p 20 T DB50.DBW 420.0 NOCH: NOP 0 Here I would like to add one to a pointer that is added to the beginning address of DB50.DBW 420.0 Check to see if the pointer is <=40 JC STRT Jump to start of this program to check the next register if pointer less than 40 clear or zero the pointer END Not sure if I am loading a hex value of 20 when I do the L p 20 I don't understand the indirect addressing I have ordered a book on Siemens S7-300, 400 but I don't have it yet, I am trying to learn by reading the help and the PDFs but their explanations and examples don't always make sense to me. Also ordered the step by step CDs from Siemens. Any help would be appreciated Thanks Dave