graemeian

MrPLC Member
  • Content count

    43
  • Joined

  • Last visited

Community Reputation

2 Neutral

About graemeian

  • Rank
    Sparky
  • Birthday 11/04/68

Profile Information

  • Gender Male
  • Location Durham, North Carolina
  • Country United States
  • Interests PLCs, robotics, building things beyond my skill set.

Recent Profile Visitors

1823 profile views
  1. receiving clocked data

    I only need about 20 different modes so I used a two digit counter method. It gives me plenty of different combinations. For example, the flag pin is raised. One pin toggles 6 times and the other toggled 7, I now have 67 when the flag pin is lowered.
  2. receiving clocked data

    I have an older Omrom PLC with some input cards and a solid state output card. ID211 and OD203. I have another PC controlled device (microcontroller with 24v I/Os) and I want to send and receive simple commands ( a number between 0 and 255). I have three input lines and three output lines. Both talkers could act as a master. To send a number to the PLC, I plan to use the following format. Raise pin1(attention). Toggle pin2 (CLK) at ~20 HZ for eight toggles. Pin3 will be the data and change on the rising clock edge. After the word is transferred, (attention goes to zero) the PLC will act accordingly. This protocol is just a thought. My intent is to transfer data to and from the PLC. The rate as described will be about 2-3 bytes per second or faster if there is a minimal baud rate for a particular instruction). What "instructions" would be best for this type of command transfer? I have it working with a page of KEEPs, MOVs, and COUNTs. I would like something cleaner. Thanks  
  3. Bits on Contactor

    I had mentioned in my initial question, "I can use the counter as a contact to close when it reaches zero. " I assume that one can only use a contact as follows: [P_1s] ----------------------------------------------------------------------------------------------------------------------------------------------------(Counter7) [Counter7]--------------------------------------------------------------------------------------------------------------------------------------------------(A switch would change when Counter7=0) and not something like... [Counter7, bit#3]---------------------------------------------------------------------------------------------(A switch would only follow the status of bit#3) Is that correct?        
  4. Bits on Contactor

    I use ladder logic in its most simple form. In ladder logic on the left, I have contacts(ANDs and ORs configuration). They are either switches, logic results of functions or switches, or canned strobing On the right, I have all types of functions, timers, keeps, counters, etc. As a simple example, I have a canned 1 second strobe feeding a counter. I can use the counter as a contact to close when it reaches zero. Does all of the" business" have to happen on the right? For example, the left side of the IF/(contact) statement can I put something like a bit comparison on the left? Something like... Counter, Bit# Or do I have to use a bit comparison on the right and its binary result as a contact and put it on the left?     Thanks    
  5. If you decide to use a CJ2M with an added MD21* for your motion application then this article in the downloads sections is very useful. Though written for a CJ1M it is still applicable to the CJ2M.

    http://forums.mrplc.com/index.php?/files/file/268-cj1m-motion-and-interupts-quickstart/

  6. I/O fatal error

    Thank you very much Sleepy. I had the same issue.
  7. Relay Digital signals

    I have a CJ1M-CPU13. It will be used for a prototype and later if successful, a better PLC fit will be employed. This system does not have the ability to drive pulses for servo control. However, will this system relay a digital signal at ~1kHz? I also need the PLC to count the pulses, reset at 1000 and start again continuously and never miss an input pulse. I see that the published transactions give  <15 microsecond decision times. I would think it would be no issue. Thank you.
  8. Puls train.

    Mine is a CJ1M-CPU13. I now see the problem. Thanks.        
  9. Puls train.

    I am using a cj1m with an OD203 output and other input and relay output cards.  I want to use this card to feed pulses to a servo motor.  I see from rise and fall times, the upper output limit of the OD203 is ~1 kHz or greater. That should be sufficient. Here is my example.  I adjust my servo to 1000 pulses per rev.  Using the OD203, I want to ramp up to 1 kHz on a signal. The servo is happily spinning at 1 Hz. On a signal change, I want to stop the servo at the next multiple of 1000 pulses within the ACC rate.  The motor may spin 10 revs and stop or 10000 pulses. Will the card I have work for this application? Can I do this independently with two channels? Thank you.
  10. Getting to memory.

    It makes even more sense now. I have always been in run mode.(There were other modes...) I also wiped the D memory after saving it and everything works as planned. Thank you very much. You guys make this a great and informative site.
  11. Getting to memory.

    It makes a lot of sense now. Using the Monitor function, I now have an idea of what the other banks of memory do. The current PLC I am using was removed from a decommissioned high end piece of automation equipment. It was funny to note that the programmer used the same handful of commands as me. (timers, KEEPs, counters and MOVs. ). After I wiped the many pages of ladder logic, there are values left in the D memory.  So if I understand it correctly, all of the D memory is used by the programmer and with a new program, I am free to use all of the locations of the D memory?  
  12. Getting to memory.

    I see that one can to use MOV to put a constant into W memory. If I write directly on the W memory and save it, the transfer to PLC stays gray and I cannot get it active (black).  
  13. Getting to memory.

    I know enough Ladder logic to get in trouble. Although, I do have a few PLCs controlling machines that I wired and programmed and they are running well (as long as I can remember what those buttons I added do.) I cannot figure out how to get memory into the PLC.  For example, I have a Counter where I have entered the following: CNT 0005 W1 ( I am driving it with a 1s clock and the reset is an external button.)) I then went to working memory and entered a number as position 1 (I entered 234) When I load the program and press the button to reset, CNT is starting at 0. When I move the W memory from PLC to PC there is 0 at that position. All of the boxes are checked when I compile/transfer. Is my CNT format correct? How does one get the memory to the PLC?    
  14. Expand my PCL Horizons

    Thank you very much Garry.
  15. Expand my PCL Horizons

    Hi, I have a couple of C200HS's set up with DIOs and they work very well for me. I use the ladders, Timers, KEEP, and Counters to control hydraulic injection molding machines. Those are the only PLC commands I really know and use.  For a new piece of equipment with solenoids and two speed motors, I will also use DIO cards and I am upgrading to a CJ1M. I do not use PLCs daily but I learn enough to program the machine and whenever, I need to go back to the PLC language, it is a new but quicker learning curve. My issue is this, I have a motor driven/air cylinder locking indexer (lazy susan) with 8 positions. Each station has a magnet for pick-up and one station has 2 magnets for a z-index. When I use a CTR to note the position, I want to store that number in non-volatile memory so when I re-power the machine, I do not have to spin the indexer to the home position.  How do I go about doing this?