MrPLC Member
  • Content count

  • Joined

  • Last visited

Community Reputation

9 Neutral


About pop29684

  • Rank
  • Birthday 12/19/56

Profile Information

  • Gender Male
  • Country United States
  1. PE Exam

    JRoss, I think we agree on the bottom line. A qualified PE is valuable. Taking the PE exam and passing it is an important notch to have in one's belt, so to speak. And I have clearly, and repeatedly said that there is nothing wrong with pursuing such a notable achievement. I was taking exception with what I perceived was an expression that seemed (to me) to be careless and incompletely thought out. So let me reiterate one more time - there is nothing wrong with pursuing, holding, or hiring a qualified PE. The original  question was whether one should pursue taking the exam. My answer is unequivocal - yes. But I have offered a caveat - don't assume that just because a person holds a valid PE certification that they are capable. This is the reason we have review boards - to investigate allegations of incapacity and wrong-doing. If every engineer holding a valid PE certificate was unquestionably qualified and capable, then such review boards would not be necessary. I think I have quite clearly enunciated my thoughts and position. I do not wish to continue this debate.
  2. PE Exam

    JRoss, you are correct. And every medical doctor must satisfactorily complete a residency/internship before given their own shingle to hang out for their own independent practice. This residency/internship includes supervision and mentoring from "seasoned" medical professionals. But I'm sure you recognize that there are doctors who have completed the requirements but whose skills are questionable. Or maybe their business practices are questionable. Or there could be other factors involved that could impair their judgement and/or practices. The point I am making is that the key is not to *exclusively* nor *blindly* trust any test - including the PE exam. I don't care who the PE in question is, I'm going to do my own research and try to determine to *my* satisfaction that the engineer is credible, capable, and has an impeccable reputation. For example, I certainly don't want to hire someone who has a history of litigation, no matter how incredible their skills are; I don't want such a history to potentially drag me into a similar mess. And of course, there is the question of cost. We all know that cost is usually one of the biggest - if not the biggest - factors in any business equation. So you might have incredible skills for which you think you should be able to command a premium price for. But how good are those skills if your potential client opts to hire another PE for half or three-quarters of your cost, and whose skills are not as polished as yours? Let me return to the original question. Yes, pursue the license. It could open doors for you that would never otherwise open. Just remember that the PE exam, like any other exam, only proves that you were capable of  passing the exam on the day of the exam, and under the conditions existent during that time period. It is not predictive. Let me affirm one more time, I'm not against the exam. Or any exam, for that matter. They are devices widely accepted - and necessary - for ranking knowledge, skills, etc. Just keep in mind that there will always be other factors to include in your considerations, and in your client's considerations. And *no* test or certification should ever be the sole factor in any decision-making process.
  3. PE Exam

    Sorry, but not valid reasoning, in my opinion. Not trying to flame anyone. But I've worked with many people who couldn't pass an exam to save their life. But could do outstanding work. I've also worked with others that were the exact opposite - could ace a test any day of the week under any conditions but couldn't perform worth squat. Don't misunderstand me - I'm not against tests. But realize that tests are not to be blindly trusted as the most accurate indicator of a person's ability to perform quality work. Just as correlation does not always equal causation. One must understand the context, not just the end result. It is like writing a PLC program. I can teach any breathing being to write a program to make a machine move. But can they do it safely? Simply? Efficiently? In a way easily understood by anyone else? I would guess that perhaps you have never hired or relied on the services of someone else based on a high recommendation or qualifying credentials - only to personally experience less than satisfactory service. It does happen.
  4. What is the purpose of a "cooler" way? Are you trying to impress with your skills? Are you trying to make life more difficult for anyone who comes after you and wants to understand the program? I can tell you that when I was working as a technician that I was less than impressed with programmers who wanted to flaunt their knowledge and abilities. Now as an engineer, that has not changed. KISS it. Remember, time is money. And the longer it takes for a third party to figure out your program logic, the longer the system is down. The longer the system is down, the greater the profit loss to  the company.
  5. First fault detection

    Are the 14 bits you are using all part of a single 16 bit word? If so, perhaps you could compare the value of the word to zero. If the word value is equal to zero then set the fault bit. This comparison would need to be included in each fault bit evaluation network. This adds a comparison in each network but eliminates the need of having to interrogate every fault bit (present or future) in each fault bit network. And marker instructions are immediate, meaning that the markers are set/reset in the current scan and do not wait for a table update (as the I/O). I'm sure there are more elegant or simple solutions but this is the first one that popped into my mind.
  6. How are you reading the data? Is it written directly to a memory/data block by the temperature controller? Or are you using a READ instruction of some kind? If the latter, it seems easy enough to timestamp the data every time it is read and transferred to the data block.
  7. How to increase STRING length in Data Block in S7 300 PLC program

    Currently in the data block shown, "SerialNumber" is type "string" with a specified length of [10] and "MCR" is type "string" with a specified length of [10]. The address of "SerialNumber" is 0. The address of "MCR" is 12. If you wish to increase the length of the "SerialNumber" string to 12 characters then edit the length in the "Type" column: String[12]. When you do this, the address of "MCR" will change automatically. It will no longer begin at address 12. It will begin at address 14. This is important because you will have to trace this address throughout the entire program logic and verify that the logic queries the correct address for "MCR" (direct addressing). You also need to verify that if any pointers are used in the current program to point to "MCR", these pointer offsets will need to be changed to reflect the new address of "MCR".
  8. Count cycle time on step 7 300

    Your logic will work with a little re-arrangement: 1. Remove current rung six (NW6) and insert it somewhere before current rung five (NW5). 2. Use address T1 for the N.O. contact of the counter CU parameter. Counters (or any other logic) used to count timer pulses should always be used ahead of (before, prior to) the timer when used in the same module. I don't have a clear explanation except that I have experienced this before. I think it has to do with the execution of timers, counters, and markers. Which are all immediate - not written to a table and then read on the subsequent scan. Although if you were to place your counter in a different module that was executed after the timer module, the counter should still work.
  9. How to increase STRING length in Data Block in S7 300 PLC program

    You should be able to directly edit the length of the "SerialNumber" string in the data block (DB). Please keep in mind that if you change the length of the string you might find it necessary to change a step or offset (pointer) value elsewhere in the logic because the MCR string will no longer begin at 12.0.
  10. Micrologix 1400 Post mortem

    Or perhaps there was no snubber/clamp on the coil . . . . Collapsing magnetic fields can be destructive.
  11. Fast Fourier transform on PLC

    I found it. Use the search term, "jaakko pasanen".

    Is this PV600 connected to a Siemens PLC?
  13. Monitor alarm block

    What have you tried so far?
  14. S5 STL Help

    Ah, yes. Actually, F2.0 and F2.1 act as flip/flops (F/F). They are driven by F2.2. Which is acting as a one-shot because of its placement after T31. The period of the F/F pulse is: T31 * 2 = 500ms * 2 = 1s The duty cycle is 50 percent. Replacing the SET and RESET instructions with an EQUAL instruction will streamline the logic a little, permitting the elimination of two networks and one marker bit. // (NW1) Load and start timer :AN M 2.2 :L KT 005.1 :SD T 31 // (NW2) Create one-shot bit :A T 31 := F 2.2 // (NW3) Create F/F :A F 2.2 :AN F 2.0 :O :AN F 2.2 :A F 2.0 := F 2.0 // (NW7) BLOCK END (return) :BE
  15. S5 STL Help

    I'm not sure what the overall operation of the code is because I don't know what the conditions are that SET some of the bits used in your example. However, the second and third lines preset a timer. I've found that separating contiguous STL code into NW segments significantly improves my understanding and speeds the conversion process to LAD. I've edited the STL code you provided and made some editorial clarifications regarding timer types and timer timebases. // (NW1) Use a marker bit to load and start a timer :AN F 2.2 :L KT 005.1 // Preset timer with 5 cycles of 100ms = 500ms :SD T 31    // Activate timer (T31) // (NW2) Use the timer bit to activate a marker bit :A T 31 := F 2.2 // (NW3) Use two marker bits to SET a marker bit :A F 2.2 :AN F 2.1 :S F 2.0 // (NW4) Use two marker bits to RESET a marker bit :A F 2.2 :A F 2.1 :R F 2.0 // (NW5) Use two marker bits to SET a marker bit :AN F 2.2 :A F 2.0 :S F 2.1 // (NW6) Use two marker bits RESET a marker bit :AN F 2.2 :AN F 2.0 :R F 2.1 // (NW7) BLOCK END (return) :BE // Information // Step 5 Timebases // 0 =  0.01s = 10ms // 1 =  0.1s  = 100ms // 2 =  1s    = 1000ms // 3 = 10s    = 10000ms // Timer types // SD > S_ODT (on-delay) // SF > S_OFFDT (off-delay) // SP > S_PULSE (pulse) // SE > S_PEXT (extended pulse) // SS > S_ODTS (retentive on-delay) S5 STL Conversion matt_C_25.txt