Muutke küpsiste eelistusi

E-raamat: Building a Programmable Logic Controller with a PIC16F648A Microcontroller

(Department of Electrical and Electronics Engineering, Meliksah University in Kayseri, Turkey (Retired))
  • Formaat: 372 pages
  • Ilmumisaeg: 19-Dec-2017
  • Kirjastus: CRC Press Inc
  • Keel: eng
  • ISBN-13: 9781351831581
  • Formaat - EPUB+DRM
  • Hind: 80,59 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: 372 pages
  • Ilmumisaeg: 19-Dec-2017
  • Kirjastus: CRC Press Inc
  • Keel: eng
  • ISBN-13: 9781351831581

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Programmable logic controllers (PLCs) are extensively used in industry to perform automation tasks, with manufacturers offering a variety of PLCs that differ in functions, program memories, and the number of inputs/outputs (I/O). Not surprisingly, the design and implementation of these PLCs have long been a secret of manufacturers. Unveiling the mysteries of PLC technology, Building a Programmable Logic Controller with PIC16F648A Microcontroller explains how to design and use a PIC16F648A-microcontroller-based PLC.





The author first described a microcontroller-based implementation of a PLC in a series of articles published in Electronics World magazine between 2008 and 2010. This book is based on an improved version of the project, including:















Updates to the hardware configuration, with a smaller CPU board and two I/O extension boards that now support 16 inputs and 16 outputs instead of 8





An increased clock frequency of 20 MHz





Improvements to several macros





Flowcharts to help you understand the macros (functions)





In this book, the author provides detailed explanations of hardware and software structures. He also describes PIC Assembly macros for all basic PLC functions, which are illustrated with numerous examples and flowcharts. An accompanying downloadable resources contain source files (.ASM) and object files (.HEX) for all of the examples in the book. It also supplies printed circuit board (PCB) (Gerber and .pdf) files so that you can have the CPU board and I/O extension boards produced by a PCB manufacturer or produce your own boards.





Making PLCs more easily accessible, this unique book is written for advanced students, practicing engineers, and hobbyists who want to learn how to build their own microcontroller-based PLC. It assumes some previous knowledge of digital logic design, microcontrollers, and PLCs, as well as familiarity with the PIC16F series of microcontrollers and w

Arvustused

"Programmable logic controllers are an integral part of advanced manufacturing and industrial automation. This text allows someone who does not have all of the resources found in a mechatronics lab the possibility to use a PLC in their machine or robot design with a simplified and easily mastered programming language. ... It is a well thought-out and detailed application of the PIC microcontroller to the programmable logic controller." -Thomas Stout, Tidewater Community College, Virginia Beach, USA

Preface xiii
Acknowledgments xv
Background and Use of the Book xvii
About the Author xxiii
1 Hardware of the PIC16F648A-Based PLC
1(10)
2 Basic Software
11(26)
2.1 Basic Software Structure
11(11)
2.1.1 Variable Definitions
12(9)
2.1.2 Macro HC165
21(1)
2.1.3 Macro HC595
21(1)
2.2 Elimination of Contact Bouncing Problem in the PIC16F648A-Based PLC
22(9)
2.2.1 Contact Bouncing Problem
22(2)
2.2.2 Understanding a Generic Single I/O Contact Debouncer
24(1)
2.2.3 Debouncer Macros dbncrO and dbncr1
25(6)
2.3 Basic Macros of the PIC16F648A-Based PLC
31(3)
2.3.1 Macro initialize
31(1)
2.3.2 Macro get_inputs
32(1)
2.3.3 Macro send_outputs
33(1)
2.4 Example Program
34(3)
3 Contact and Relay-Based Macros
37(30)
3.1 Macro 1d (load)
38(1)
3.2 Macro 1d_not (load not)
39(1)
3.3 Macro not
40(1)
3.4 Macro or
41(1)
3.5 Macro or_not
42(1)
3.6 Macro nor
42(2)
3.7 Macro and
44(2)
3.8 Macro and_not
46(1)
3.9 Macro nand
47(1)
3.10 Macro xor
47(2)
3.11 Macro xor_not
49(1)
3.12 Macro xnor
49(2)
3.13 Macro out
51(2)
3.14 Macro out_not
53(1)
3.15 Macro in_out
54(2)
3.16 Macro inv_out
56(1)
3.17 Macro_set
57(1)
3.18 Macro_reset
58(1)
3.19 Examples for Contact and Relay-Based Macros
59(8)
4 Flip-Flop Macros
67(30)
4.1 Macro r_edge (Rising Edge Detector)
68(2)
4.2 Macro f_edge (Falling Edge Detector)
70(2)
4.3 Macro latch1 (D Latch with Active High Enable)
72(1)
4.4 Macro latch0 (D Latch with Active Low Enable)
72(2)
4.5 Macro dff_r (Rising Edge Triggered D Flip-Flop)
74(3)
4.6 Macro dff_f (Falling Edge Triggered D Flip-Flop)
77(3)
4.7 Macro tff_r (Rising Edge Triggered T Flip-Flop)
80(2)
4.8 Macro tff_f (Falling Edge Triggered T Flip-Flop)
82(1)
4.9 Macro jkff_r (Rising Edge Triggered JK Flip-Flop)
82(4)
4.10 Macro jkff_f (Falling Edge Triggered JK Flip-Flop)
86(2)
4.11 Examples for Flip-Flop Macros
88(9)
5 Timer Macros
97(24)
5.1 On-Delay Timer (TON)
97(1)
5.2 Macro TON_8 (8-Bit On-Delay Timer)
98(4)
5.3 Off-Delay Timer (TOF)
102(3)
5.4 Macro TOF_8 (8-Bit Off-Delay Timer)
105(2)
5.5 Pulse Timer (TP)
107(1)
5.6 Macro TP_8 (8-Bit Pulse Timer)
108(3)
5.7 Oscillator Timer (TOS)
111(1)
5.8 Macro TOS_8 (8-Bit Oscillator Timer)
112(3)
5.9 Example for Timer Macros
115(6)
6 Counter Macros
121(22)
6.1 Move and Load Macros
121(2)
6.2 Counter Macros
123(1)
6.3 Up Counter (CTU)
124(2)
6.4 Macro CTU_8 (8-Bit Up Counter)
126(3)
6.5 Down Counter (CTD)
129(1)
6.6 Macro CTD_8 (8-Bit Down Counter)
130(2)
6.7 Up/Down Counter (CTUD)
132(1)
6.8 Macro CTUD_8 (8-Bit Up/Down Counter)
133(3)
6.9 Examples for Counter Macros
136(7)
7 Comparison Macros
143(20)
7.1 Macro R1_GT_R2
144(1)
7.2 Macro R1_Ge_R2
144(2)
7.3 Macro R1_EQ_R2
146(1)
7.4 Macro R1_LT_R2
147(1)
7.5 Macro R1_LE_R2
148(2)
7.6 Macro R1_NE_R2
150(1)
7.7 Macro R_GT_K
151(1)
7.8 Macro R_GE_K
151(2)
7.9 Macro R_EQ_K
153(1)
7.10 Macro R_LT_K
154(1)
7.11 Macro R_LE_K
155(2)
7.12 Macro R_NE_K
157(1)
7.13 Examples for Comparison Macros
158(5)
8 Arithmetical Macros
163(12)
8.1 Macro R1addR2
164(1)
8.2 Macro RaddK
165(1)
8.3 Macro R1subR2
165(2)
8.4 Macro RsubK
167(1)
8.5 Macro incR
168(1)
8.6 Macro decR
169(1)
8.7 Examples for Arithmetical Macros
170(5)
9 Logical Macros
175(24)
9.1 Macro R1andR2
176(1)
9.2 Macro RandK
177(1)
9.3 Macro R1nandR2
177(2)
9.4 Macro RnandK
179(1)
9.5 Macro R1orR2
180(1)
9.6 Macro RorK
181(1)
9.7 Macro R1norR2
182(1)
9.8 Macro RnorK
183(2)
9.9 Macro R1xorR2
185(1)
9.10 Macro RxorK
186(1)
9.11 Macro R1xnorR2
187(1)
9.12 Macro RxnorK
187(2)
9.13 Macro inv_R
189(1)
9.14 Example for Logical Macros
190(9)
10 Shift and Rotate Macros
199(26)
10.1 Macro shift_R
199(1)
10.2 Macro shift_L
200(1)
10.3 Macro rotate_R
201(6)
10.4 Macro rotate_L
207(2)
10.5 Macro Swap
209(1)
10.6 Examples for Shift and Rotate Macros
210(15)
11 Multiplexer Macros
225(18)
11.1 Macro mux_2_1
225(1)
11.2 Macro mux_2_1_E
226(1)
11.3 Macro mux_4_1
227(1)
11.4 Macro mux_4_1_E
228(4)
11.5 Macro mux_8_1
232(1)
11.6 Macro mux_8_1_E
233(1)
11.7 Examples for Multiplexer Macros
233(10)
12 Demultiplexer Macros
243(20)
12.1 Macro Dmux_1_2
243(1)
12.2 Macro Dmux_1_2_E
244(1)
12.3 Macro Dmux_1_4
245(1)
12.4 Macro Dmux_1_4_E
246(5)
12.5 Macro Dmux_1_8
251(1)
12.6 Macro Dmux_1_8_E
252(1)
12.7 Examples for Demultiplexer Macros
252(11)
13 Decoder Macros
263(32)
13.1 Macro decod_1_2
264(1)
13.2 Macro decod_1_2_AL
265(1)
13.3 Macro decod_1_2_E
266(2)
13.4 Macro decod_1_2_E_AL
268(1)
13.5 Macro decod_2_4
269(1)
13.6 Macro decod_2_4_AL
270(3)
13.7 Macro decod_2_4_E
273(1)
13.8 Macro decod_2_4_E_AL
273(3)
13.9 Macro decod_3_8
276(4)
13.10 Macro decod_3_8_AL
280(1)
13.11 Macro decod_3_8_E
280(3)
13.12 Macro decod_3_8_E_AL
283(3)
13.13 Examples for Decoder Macros
286(9)
14 Priority Encoder Macros
295(24)
14.1 Macro encod_4_2_p
296(2)
14.2 Macro encod_4_2_p_E
298(2)
14.3 Macro encod_8_3_p
300(3)
14.4 Macro encod_8_3_p_E
303(1)
14.5 Macro encod_dec_bcd_p
303(1)
14.6 Macro encod_dec_bcd_p_E
304(8)
14.7 Examples for Priority Encoder Macros
312(7)
15 Application Example
319(18)
15.1 Remotely Controlled Model Gate System
319(2)
15.2 Control Scenarios for the Model Gate System
321(2)
15.3 Solutions for the Control Scenarios
323(14)
15.3.1 Solution for the First Scenario
324(1)
15.3.2 Solution for the Second Scenario
324(1)
15.3.3 Solution for the Third Scenario
325(1)
15.3.4 Solution for the Fourth Scenario
326(1)
15.3.5 Solution for the Fifth Scenario
327(1)
15.3.6 Solution for the Sixth Scenario
328(1)
15.3.7 Solution for the Seventh Scenario
329(1)
15.3.8 Solution for the Eighth Scenario
330(7)
About the CD-ROM 337(2)
References 339(2)
Index 341
Dr. Murat Uzam is a professor in the Department of Electrical and Electronics Engineering at Melikah University in Kayseri, Turkey.