Previous PageNext Page

BIT MANIPULATION

SHL - Shift Bit Left

The SHL function provides a left bit shift of the P1 input. The P2 input specifies the number of one-bit left 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 left shifted input in integer form (1..2..4..8..16..32). A shift left when the output is 32 will cause the output to be zero (bit is shifted off). Zeros are always shifted on to the right side when a left shift occurs.

  1. We will now use the SHL 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 SHL.
  7. Place the cursor on Rung 1 near the center of the ladder diagram workspace and left-click to place the object. The SHL 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 SHL function.
  14. Draw a link from the Q output of SHL to the left side of the GPO0 coil.
  15. We now need to insert variables to give the SHL 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 SHL. 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 SHL.
  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 1, 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 SHL. 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 SHL.
  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 SHL. 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 SHL.
  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 SHL function to be enabled.
  28. Notice that NumOut is 1 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 2.
  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 4.
  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 8.

You have completed the SHL exercise.

  Previous PageNext Page