panic mode

MrPLC Admin
  • Content count

    2544
  • Joined

  • Last visited

Community Reputation

103 Excellent

About panic mode

Contact Methods

  • Website URL http://www.google.com
  • ICQ 0

Profile Information

  • Gender Male
  • Location Mississauga, ON
  • Country Canada
  • Interests many...

Recent Profile Visitors

11324 profile views
  1. Support Required in Using SPD function

    simply check the reponses you already got. the very first one shows info from the page of the manual. it shows exactly what SPD does, with all parameters etc. as well as equation it is built on. that equation is the key to do any simulation without actual PLC hardware. minimum frequency is determined by value in S2. 
  2. Taking Screen shots

    btw even if one is not into PC programming, one can still quickly make small apps like this using scripting tools like AutoIt3, plus it includes option to compile it into EXE for true portability.
  3. Taking Screen shots

    for screen capture i use one little program that i made. it is a tiny self contained EXE file that runs on any 32-bit or 64-bit windows and it does what i want it to do, for example i can tell it to use specific key. handy when taking screenshots on machines and robots which usually run older OS or don't have full keyboard.  for editing, ... anything goes,,,but usually IrfanView (small, speedy and very powerful). some cleanup or highlight may be done with Paint too since is it s almost everywhere.  Snipping tool is nice but it is not on every windows and associated 3-key key combination is rather ... brutal.   
  4. PLC Software recommendation ?

    my recommendation is to contact manufacturer
  5. Timers do not work in Sturctural Text

    exactly... this is not OO environment, programing style is procedural and on most systems (not just Mitsubishi) all data resources are already created (and initialized) so you just access them. for example you get fixed number of M devices for certain CPU. and fixed number of D registers.... some of them have special function so you need to check documentation. CPUs with more memory may offer larger blocks of data and possibility to trade size of one data type for another (within limits) or specify areas are backed up (retentive). an smaller CPUs all of this is fixed.
  6. i guess the problem is not that it works for 10 seconds but rather that it stops afterwards. how is it configured? did you check the codes and troubleshooting section of the manual?
  7. Mitsubishi PLC comparison function

    note that coil instruction either sets and resets assigned memory location - every time it is scanned. output is true if condition is true (in this case it is ANDed) but if condition is not true, output will get reset as in this pseudo code example:   IF (M2==TRUE) AND (D1 == 0) THEN     M3 = TRUE ELSE    M3= FALSE ENDIF
  8. Signal Tower Error Code(s)

    no problem... i guess i could have mentioned that no guarantees are offered since don't have access to PLC software at the moment. I did it from memory while pretending to watch some stupid chick movie that my wife picked...   
  9. Signal Tower Error Code(s)

    don't know about Morris code, I guess you meant Morse code. one way is to create a lookup table (list as an array of integers or integer data table). then for each alarm set count value into corresponding integer in that array/table one can use system clock though custom clock is simpler to synchronize with alarm. this just avoids random duration of the first flash. and use two counters: one that count pulses, and another that keeps track of alarm number. if alarm is present keep looping each counter: increment pulse counter (counter#1) on each clock and reset it when moving to next alarm. when reseting Counter#1, increment Counter#2 (alarm number) using indirect addressing (or array index) you can get correct preset for number of pulses for each alarm from the list. once you get this value (saved in one register), add 2 or whatever fixed vlaue to it (save to another register). this will be actual number of pulses to count before reseting counter#1 and incrementing #2.  of course add condition to return to first alarm when you exceed the last one (if you reach non-existent alarm #7, reset counter#2). activate tower light if alarm is present, pulse is active (0.5sec clock) and pulse count is less than value you read using indirect addressing. this way 2 or whatever fixed value will be the delay (2 sec or whatever). maybe something like this :  
  10. Signal Tower Error Code(s)

  11. Timers do not work in Sturctural Text

    " It seems in ST an Timer instances die after the code is finished after a scan. " well, this is true for ALL programs (used language makes no difference). that is how computers work in general. task that need to run continously is placed into a loop. this is what PLC scan really is....
  12. Timers do not work in Sturctural Text

    don't know about ST on Mitsi but...   is it scanned? are you sure that Start is on (inside PoU, not M20)? if not problem is not the timer but type of parameter transfer so what is the type of transfer for parameter "Start"? If "VAR_INPUT" transfer type corresponds to ByVal (which i am pretty sure it does), then it will never change from FALSE to TRUE even if M20 does. changing signals must be transfered ByRef. easy way to test is is to make sure M20 is on when your sub is called. Or just remove timer and activate Hello directly by Start ByRef is usually represented by "VAR_INPUT_OUTPUT" or just "VAR_OUTPUT".  
  13. Plc beginner need advice

    programming is not-intuitive, it takes time and practice to get proficient. and like with anything else, it can be done in steps. start small, build basic logic blocks. then use the blocks to build something.    some very basic blocks / milestones that are used all the time include: 1. start/stop logic using seal-in branch (selfresets on powerup, regardless if used memory is retentive or not) 2. set/reset logic (can be used to retain info after powerdown - if used memory is retentive)  3. reset block of memory (such as faults etc) 4. watch dog timer logic (to detect timout conditions, essential to build diagnostics and alarms) 5. toggle bit (flip-flop) 6. mode selection (auto/manual/ whatever) 7. debounce logic   8. using timers and counters 9. using subprograms 10. sequencer (logic that drives some proces in certain usually predefined flow)  11. indirect/indexed addressing 12. string manipulation etc.   once you master some of those you can replicate them (happens a lot) and combine into something that has useful purpose.  then you are no longer thinking in terms of individual lines of code but how the code blocks fit together to accomplish the task. and when you are moving to a different platform, you can quickly create same blocks and get going.  learning programming involves readingprograms written by other people. one can learn a lot from both good and bad programs. check download section for some examples.     
  14. Newbie using FX0s 3 motors forward then reverse

    you need to create a sequencer to drive your I/Os. there are different ways to accomplish this and examples should be in the download section. check Pick and Place for example. i have used such logic on literally hundreds of projects. this is just a scaled down example for demonstration purposes, includes printout and code.   
  15. It's been 30 years since i was there so cannot recommend anyone specific. i would start with googling "schaltschrankbau", maybe  https://www.horsch-gmbh.com/kontakt/