Previous PageNext Page

BIT MANIPULATION

SHR - Shift Bit Right

The SHR function provides a right bit shift of the P1 input. The P2 input specifies the number of one-bit right shifts. If the enable (EN) is false, the function is disabled. If the enable (EN) is true, the output (O) will be equal result of the right shifted input in integer form (32..16..8..4..2..1). A shift right when the output is 1 will cause the output to be zero (bit is shifted off). Zeros are always shifted on to the left side when a right shift occurs.

 

  1. We will now use the SHR function in a ladder diagram.
  2. Place EZ LADDER® in the Edit mode (if in the Monitor mode).
  3. Close any currently open ladder diagrams (save them if necessary).
  4. Create a NEW ladder diagram Project.
  5. Configure the target as follows: (if you use a different target, some of the features may not be available)
    1. PLC on a Chip, Model PLCHIP-M2-25631
    2. Install Digital Inputs : GPI0 - GPI7
    3. Install Digital Outputs : GPO0 - GPO7
    4. Install Analog Block Analog Block 0
    5. Install the Real Time Clock
    6. Install the SSI Bus
  6. Using the Insert Function drop down menu on the tool bar, select SHR.
  7. Place the cursor on Rung 1 near the center of the ladder diagram workspace and left-click to place the object. The SHR is now placed.
  8. Select the DIRECT CONTACT button from the tool bar.
  9. Place the cursor on Rung 1 near the left power rail and left-click to place the contact. The Contact properties dialog box will appear. Using the drop down menu in the dialog box, selct GPI0 and click OK. This finishes the placement of the contact that is tied directly to hardware input GPI0 (also named GPI0).
  10. Select the DIRECT COIL button from the tool bar.
  11. Place the cursor on Rung 1 near the right power rail and left-click to place the contact. The Coil properties dialog box will appear. Using the drop down menu in the dialog box, selct GPO0 and click OK. This finishes the placement of the coil that is tied directly to hardware input GPO0 (also named GPO0).
  12. Select the HORIZONTAL LINK tool.
  13. Draw a link from the right side of the GPI0 contact to the EN input on the SHR function.
  14. Draw a link from the Q output of SHR to the left side of the GPO0 coil.
  15. We now need to insert variables to give the SHR its parameters and output. Select the INST VARS button from the tool bar.
  16. Place the cursor on Rung 2 just left of the P1 input on SHR. Left-click to insert the variable. The Variables dialog box will appear (the only tab available will be the INTEGER tab) since this is connecting to the SHR.
  17. Click the ADD button to add a new variable. The Add variable dialog box will appear. Type Num1 for the Name, select INTERNAL as the variable type and set the DEFAULT VALUE to 32, then click OK. This is the number that will be shifted.
  18. With the INST VARS still selected, place the cursor on Rung 3 just left of the P2 input on SHR. Left-click to insert the variable. The Variables dialog box will appear (the only tab available will be the INTEGER tab) since this is connecting to an SHR.
  19. Click the ADD button to add a new variable. The Add variable dialog box will appear. Type NShft for the Name, select INTERNAL as the variable type and set the DEFAULT VALUE to 0, then click OK. This is the number of bits to shift.
  20. With the INST VARS still selected, place the cursor on Rung 2 just right of the O output on SHR. Left-click to insert the variable. The Variables dialog box will appear (the only tab available will be the INTEGER tab) since this is connecting to an SHR.
  21. Click the ADD button to add a new variable. The Add variable dialog box will appear. Type NumOut for the Name, select INTERNAL as the variable type leave the DEFAULT VALUE blank, then click OK. This is the number of shifted output.
  22. Save the ladder diagram from the File menu and selecting SAVE. It is a good idea to periodically save your ladder diagram when developing it.
  23. Compile the target using the COMPILE button from the tool bar. Ensure that the compile is successful and there are no errors. If there are errors they must be corrected. Your ladder diagram should look similar to this:


  24. We are now ready to run the program on the target. Switch to the Monitor mode by clicking the MON button from the tool bar.
  25. Connect to the target, by selecting the CONNECT button from the tool bar. If a different program is running, just click OK.
  26. Download the ladder diagram to the target by selecting the DOWNLOAD button from the tool bar. If successful, the ladder diagram is now operating on the target. It should look similar to:


  27. GPI0 should still be true from the previous execise, if not, Close the switch connected to Input 0. GPI0 is true causing power flow. This will cause the SHR function to be enabled.
  28. Notice that NumOut is 32 because the there are no shifts.
  29. Double-click on the NShft Variable. A dialog box will appear that allows you to change the actual number value of NShft.
  30. Change the number to 1 and click OK. NumOut is now equal to 16.
  31. Double-click on the NShft Variable. A dialog box will appear that allows you to change the actual number value of NShft.
  32. Change the number to 2 and click OK. NumOut is now equal to 8.
  33. Double-click on the NShft Variable. A dialog box will appear that allows you to change the actual number value of NShft.
  34. Change the number to 3 and click OK. NumOut is now equal to 4.

You have completed the SHR exercise.

  Previous PageNext Page