(Note: Problem solutions are available at

1. Design and write ladder logic for a simple traffic light controller that has a single fixed sequence of 16 seconds for both green lights and 4 seconds for both yellow lights. Use shift registers to implement it.

2. A PLC is to be used to control a carillon (a bell tower). Each bell corresponds to a musical note and each has a pneumatic actuator that will ring it. The table below defines the tune to be programmed. Write a program that will run the tune once each time a start button is pushed. A stop button will stop the song.

3. Consider a conveyor where parts enter on one end. they will be checked to be in a left or right orientation with a vision system. If neither left nor right is found, the part will be placed in a reject bin. The conveyor layout is shown below.

4. Why are MCR blocks different than JMP statements?

5. What is a suitable reason to use interrupts?

6. When would immediate inputs and outputs be used?

7. Explain the significant differences between shift registers, stacks and sequencers.

8. Design a ladder logic program that will run once every 30 seconds using interrupts. It will check to see if a water tank is full with input tank_full. If it is full, then a shutdown value (’shutdown’) will be latched on.

9. At MOdern Manufacturing (MOMs), pancakes are made by multiple machines in three flavors; chocolate, blueberry and plain. When the pancakes are complete they travel along a single belt, in no specific order. They are buffered by putting them on the top of a stack. When they arrive at the stack the input ’detected’ becomes true, and the stack is loaded by making output ’stack’ high for one second. As the pancakes are put on the stack, a color detector is used to determine the pancakes type. A value is put in ’color_stack’ (1=chocolate, 2=blueberry, 3=plain) and bit ’unload’ is made true. A pancake can be requested by pushing a button (’chocolate’, ’blueberry’, ’plain’). Pancakes are then unloaded from the stack, by making ’unload’ high for 1 second, until the desired flavor is removed. Any pancakes removed aren’t returned to the stack. Design a ladder logic program to control this stack.

10. a) What are the two fundamental types of interrupts?

b) What are the advantages of interrupts in control programs?

c) What potential problems can they create?

d) Which instructions can prevent this problem?

11. Write a ladder logic program to drive a set of flashing lights. In total there are 10 lights connected to ’lights[0]’ to ’lights[9]’. At any time every one out of three lights should be on. Every second the pattern on the lights should shift towards ’lights[9]’.

12. Implement the following state diagram using subroutines.

13. A SQO control word ‘c’ has a value of c.LEN = 5, but the array of values is 6 long. Why?

[an error occurred while processing this directive]