Hi everyone. I'm new to all about PLCs. My only prior experience has been with Telemecanique's Zelio smart relays. I do have a solid knowledge in microcontrollers and computer programming so my point of view will certainly reflect this.
I'm starting out with Delta PLCs since they're available in my country and are inexpensive. While the PLC I ordered arrives I decided to start practicing.
I have tested many of the basic functions (latching outputs, etc) and I understand that. Now my question is more about sequential control.
Let's suppose I want to emulate Zelio's block named "CAM" which acts like a camshaft, given a data table like this:
0: 01001010
1: 10010100
2: 10011110
3: 11110001
4: 00000000
the block has an internal counter and pulse input. Then, as pulses come thru the pulse input, the output register varies according to the table, and rolls over.
How would I go about implementing something like this on a PLC?
I thought about having something like:
M0 to M7 wired to Y0-Y7
Preload (where?) the values to a table
And a routine that:
1. Reads the memory position of a given counter (indirect addressing?)
2. Writes this value to M0-M7
3. Increases the counter
4. Waits for a while
Goes back to 1
If you have any experience with computers or microcontrollers you'll notice this is the common way to do it in a CPU.
Thanks in advance.
I'm starting out with Delta PLCs since they're available in my country and are inexpensive. While the PLC I ordered arrives I decided to start practicing.
I have tested many of the basic functions (latching outputs, etc) and I understand that. Now my question is more about sequential control.
Let's suppose I want to emulate Zelio's block named "CAM" which acts like a camshaft, given a data table like this:
0: 01001010
1: 10010100
2: 10011110
3: 11110001
4: 00000000
the block has an internal counter and pulse input. Then, as pulses come thru the pulse input, the output register varies according to the table, and rolls over.
How would I go about implementing something like this on a PLC?
I thought about having something like:
M0 to M7 wired to Y0-Y7
Preload (where?) the values to a table
And a routine that:
1. Reads the memory position of a given counter (indirect addressing?)
2. Writes this value to M0-M7
3. Increases the counter
4. Waits for a while
Goes back to 1
If you have any experience with computers or microcontrollers you'll notice this is the common way to do it in a CPU.
Thanks in advance.