Giáo trình Hệ thống sản xuất tự động hóa với PLCs - Phần 14: Bộ nhớ PLC
14. BỘ NHỚ PLC
Chủ đề:
Các loại bộ nhớ PLC-5: chương trình và dữ liệu
Các loại dữ liệu: đầu ra, đầu vào, trạng thái, bit, bộ bấm giờ, bộ đếm, số
nguyên, dấu phảy động, v.v...
Các địa chỉ bô nhớ; các từ, các bit, các tệp dữ liệu, các biểu thức, các giá trị
trực tiếp và gián tiếp
Mục tiêu:
Để biết các loại bộ nhớ cơ bản có sẵn
Có khả năng dùng các địa chỉ cho các vị trí trong bộ nhớ
14.1 GIỚI THIỆU
Các chức năng logic bậc thang cao cấp cho phép các bộ điều khiển thực hiện các
tính toán, ra các quyết định và làm các công việc phức tạp khác. Các bộ bấm giờ và
các bộ đếm là những ví dụ của các chức năng logic bậc thang. Chúng là phức tạp hơn
các công tắc đầu vào và các cuộn dây đầu ra cơ bản và chúng dựa vào dữ liệu được
lưu trữ trong bộ nhớ của PLC. Bộ nhớ của PLC được tổ chức để giữ các loại khác nhau
của các chương trình và dữ liệu.
14.2 MEMORY ADDRESSES CÁC ĐỊA CHỈ BỘ NHỚ
Bộ nhớ trong một PLC được tổ chức bởi kiểu dữ liệu như được chỉ ra trong hình
14.1. Có hai kiểu cơ bản của bộ nhớ được sử dụng trong các PLC Allen-Bradley – bộ
nhớ chương trình và bộ nhớ dữ liệu. Bộ nhớ được tổ chức trong các khối lên tới 1000
phần tử trong một mảng được gọi là một tệp (file). Tệp chương trình giữ các chương
trình, như logic bậc thang. Có tám tệp dữ liệu được định nghĩa mặc định, nhưng các
tệp dữ liệu bổ sung có thể được thêm vào nếu chúng được cần đến.
Có một tập hợp lên tới 1000 khe để lưu Đây là nơi các dữ liệu biến được lưu trữ
trữ lên đến 1000 chương trình. Chương mà các chương trình PLC thực hiện trên
trình chính sẽ được lưu giữ trong tệp đó. Điều này là khá phức tạp, vì vậy một
chương trình 2. Các chương trình SFC giải thích chi tiết theo sau.
phải ở trong tệp 1, và tệp 0 được dùng
cho chương trình và thông tin về mật
khẩu. Tất cả các tệp chương trình khác
từ 3 tới 999 có thể được dùng cho các
chương trình con.
Figure 14.1 PLC Memory – Bộ nhớ PLC
14.3 CÁC TỆP CHƯƠNG TRÌNH
Trong một PLC-5 ba tệp chương trình đầu, từ 0 đến 2, được định nghĩa mặc
định. Tệp 0 bao gồm các thông tin hệ thống và không thể thay đổi được, và tệp 1 là
được dành cho các SFC. Tệp 2 là sẵn sàng cho các chương trình người dùng và PLC
này sẽ chạy chương trình trong tệp 2 theo mặc định. Các tệp chương trình khác có
thể được thêm vào từ tệp 3 đến tệp 999. Các lý do điển hình cho việc tạo các chương
trình khác là các chương trình con.
Khi một người dùng tạo một chương trình logic bậc thang nào đó với phần mềm
lập trình, nó được chuyển sang dạng giống gợi nhớ (mnemonic-like form), và sau đó
được truyền tới PLC, ở đó nó được lưu trữ trong một tệp chương trình. Nội dung của
bộ nhớ chương trình này không thể được thay đổi trong khi PLC này đang chạy. Nếu,
trong khi một chương trình đang chạy, nó được ghi đè bởi một chương trình mới, các
vấn đề nghiêm trọng có thể phát sinh.
14.4 CÁC TỆP DỮ LIỆU
Các tệp dữ liệu được dùng cho lưu giữ các kiểu thông tin khác nhau, như trong
hình 14.2. Các vị trí này được đánh số từ 0 đến 999. Chữ cái phía trước số này chỉ ra
kiểu dữ liệu. Ví dụ, F8: được đọc là các số dấu phảy động trong tệp dữ liệu 8. Các số
là không được dùng cho O: và I:, nhưng chúng được ngụ ý là O0: và I1:. Số theo sau
dấu hai chấm : là số vị trí. Mỗi tệp có thể gồm từ 0 đến 999 vị trí mà các vị trí này có
thể lưu giữ các giá trị. Cho tệp đầu vào I: và tệp đầu ra O: các vị trí được chuyển sang
các vị trí vật lý trên PLC này bằng cách sử dụng các số giá và số khe. Các địa chỉ mà
các địa chỉ này có thể được dùng sẽ dựa trên cấu hình phần cứng. Tệp trạng thái S2:
là phức tạp hơn và được thảo luận sau. Các vị trí bộ nhớ khác là các khe đơn giản để
lưu dữ liệu. Ví dụ, F8:35 sẽ chỉ giá trị thứ 36 trong tệp dữ liệu thứ tám mà tệp này là
các số dấu phảy động.
Figure 14.2 Data Files for an Allen Bradley PLC-5
Các tệp dữ liệu trong một Allen Bradley PLC-5
Chỉ ba tệp dữ liệu đầu tiên là cố định O:, I: và S2:, tất cả các tệp dữ liệu khác có
thể bị di chuyển. Nó cũng là lý do để có nhiều tệp dữ liệu với cùng một kiểu dữ liệu.
Ví dụ, có thể có hai tệp cho các số nguyên N7: và N10:. Độ dài của các tệp dữ liệu có
thể từ 0 đến 999 như trong hình 14.3. Nhưng, các tệp này thường được làm nhỏ hơn
để tiết kiệm bộ nhớ.
Figure 14.3 Locations in a Data File – Các vị trí trong một tệp dữ liệu
Hình 14.2 chỉ ra các tệp dữ liệu mặc định cho một PLC-5. Có nhiều các kiểu dữ
liệu được thêm vào, một danh sách đầy đủ được chỉ ra trong hình 14.4. Một vài kiểu
dữ liệu là phức tạp và bao gồm nhiều giá trị dữ liệu, bao gồm BT, C, MG, PD, R, SC, và
T. Nhớ rằng các bộ bấm giờ yêu cầu các số nguyên cho bộ tích lũy và cài trước, và các
bit TT, DN và EN là được đòi hỏi. Các kiểu dữ liệu khác dựa trên các bit đơn lẻ, các
byte 8 bit và các từ 16 bit.
GHI CHÚ: Bộ nhớ là một thuật ngữ thông dụng để nói đến cả hai các tệp và các
vị trí. Thuật ngữ tệp là đặc trưng cho các nhà sản xuất PLC và không được công nhận
rộng rãi ở các chỗ khác.
Figure 14.4 Allen-Bradley Data Types – Các kiểu dữ liệu Allen-Bradley
Khi dùng các tệp dữ liệu và các hàm ta cần hỏi thông tin với một địa chỉ. Các địa
chỉ dữ liệu đơn giản nhất là các bit dữ liệu (ta đã sử dụng những cái này cho các đầu
vào cơ bản và các đầu ra cơ bản rồi). Một ví dụ của các bit địa chỉ được chỉ trong hình
14.5. Các bit bộ nhớ được chỉ ra một cách bình thường với một dấu gạch chéo được
theo sau bởi một số bit /n. Ví dụ đầu tiên là từ một thẻ đầu vào I:000, đầu vào thứ ba
được chỉ ra với địa chỉ bit /02. Ví dụ thứ hai là cho một bộ đếm C5: bit làm xong /DN.
Cái này cũng được thay thế bởi C5:4/15 để lấy các kết quả tương ứng. Ký hiệu DN, và
các ký hiệu khác như thế được dùng làm đơn giản công việc lập trình. Ví dụ B3/4 sẽ
lấy bit thứ tư trong bộ nhớ bit B3. Với bộ nhớ bit dấu gạch chéo là không cần đến,
bởi vì kiểu dữ liệu này đã là các bit rồi.
bit – các bit cá biệt trong truy cập – đây giống việc đánh địa chỉ một đầu ra đơn
lẻ như một bit dữ liệu.
I:000/02 – bit đầu vào thứ ba từ thẻ đầu vào I:000
C5:4/DN – bit DN của một bộ đếm
B3/4 – bit thứ tư trong bộ nhớ bit
GHI CHÚ: Một vài địa chỉ bit, đặc biệt các đầu vào và các đầu ra được đánh địa
chỉ bằng cách sử dụng số bát phân. Điều này thường dẫn tới các lỗi không cẩn thận
và các sai lầm. Ví dụ nếu bạn muốn bit đầu ra thứ 11, hay bit 10, bạn sẽ cần dùng 12
trong hệ bát phân để định địa chỉ nó một cách hợp lệ.
1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th
00 01 02 03 04 05 06 07 10 11
12
13
14
15
16
17
Figure 14.5 Bit Level Addressing – Đánh địa chỉ ở mức bit
Toàn bộ các từ có thể được đánh địa chỉ như trong hình 14.6. Các giá trị này sẽ
bình thường được giả định là phần bù 2s, nhưng một vài hàm có lẽ giả thiết ngược
lại. Ví dụ đầu tiên chỉ ra một giá trị bộ nhớ số nguyên đơn giản. Ví dụ tiếp theo lấy lên
tới các đầu vào (từ thẻ 0 trong giá 0) như một từ đơn. Hai ví dụ cuối là phức tạp hơn
và chúng truy cập giá trị bộ lưu trữ và giá trị đặt trước cho một bộ bấm giờ. Ở đây
một dấu chấm ’.’ được dùng như ‘/’ được sử dụng cho bộ nhớ bit để chỉ ra nó là một
số nguyên. Hai ví dụ đầu không cần dấu chấm ‘.’ bởi vì chúng đều là các kiểu giá trị số
nguyên. Các loại khác của đánh địa chỉ từ là có thể được, bao gồm các số dấu phảy
động.
từ số nguyên – 16 bit có thể được tính toán như một số nguyên
N7:8 – giá trị thứ 9 từ bộ nhớ số nguyên
I:000 – một số nguyên với tất cả các giá trị đầu vào từ một thẻ đầu vào
T4:7.ACC – giá trị tích lũy cho một bộ bấm giờ
T4:7.PRE – giá trị đặt trước cho một bộ bấm giờ
Figure 14.6 Integer Word Addressing – Đánh địa chỉ từ số nguyên
Các giá trị không luôn cần được lưu trữ trong bộ nhớ, chúng có thể được định
nghĩa một cách trực tiếp. Trong hình 14.7 chỉ ra một ví dụ của hai giá trị dữ liệu khác
nhau. Giá trị đầu là một số nguyên, số thứ hai là một số thực. Các số thập lục có thể
được nhận ra vì nó kết thúc bởi chữ H, một số không đứng đầu cũng cần đến khi chữ
số đầu tiên là A, B, C, E hay F. Một số nhị phân được nhận ra bằng cách thêm một ký
tự B vào cuối của số ấy.
các giá trị dữ liệu trực tiếp – một giá trị dữ liệu nào đó có thể được cung cấp mà
không lưu giữ nó trong bộ nhớ.
8 – một số nguyên
8,5 một số dấu phảy động
08FH – một giá trị thập lục 8F
01101101B – một số nhị phân 01101101
Figure 14.7 Literal Data Values – Các giá trị dữ liệu trực tiếp
Đôi khi ta sẽ muốn nói tới một mảng các giá trị, như trong hình 14.8. Kiểu dữ
liệu này được nhận ra bằng cách đưa vào vị trí bắt đầu của số này với một ký hiệu
(pound) £ hoặc dấu thăng ‘#’. Ví dụ đầu mô tả một mảng của các số dấu phảy động
bắt đầu trong tệp 8 tại vị trí 5. Ví dụ thứ hai là cho một mảng các số nguyên trong tệp
7 bắt đầu tại vị trí 0. Độ dài của mảng này được xác định ở đâu đó.
tệp – vị trí đầu tiên của một mảng các giá trị dữ liệu
#F8:5 – chỉ ra một nhóm của các giá trị bắt đầu tại F8:5
#N7:0 – chỉ ra một nhóm của các giá trị bắt đầu tại N7:0
Figure 14.8 File Addressing – Đánh địa chỉ tệp
Đánh địa chỉ gián tiếp là một phương pháp cho phép một biến trong một địa chỉ
dữ liệu, như trong hình 14.9. Phần gián tiếp (biến thiên – variable) của địa chỉ được
chỉ ra giữa các dấu ngoặc vuông ‘[’ và ‘]’. Nếu một PLC đang tìm kiếm một địa chỉ và
nó thấy một địa chỉ gián tiếp nó sẽ nhìn vào vị trí bộ nhớ danh nghĩa, và để số đó
trong vị trí của địa chỉ gián tiếp này. Xem xét ví dụ đầu tiên dưới đây I:000/[N7:2],
nếu giá trị này trong vị trí bộ nhớ số nguyên N7:2 là 45, thì địa chỉ trở thành I:000/45.
Các ví dụ khác là rất tương tự. Kiểu này của kỹ thuật là rất hữu dụng khi làm ra các
chương trình mà chúng có thể được điều chỉnh cho các cách khác nhau – bằng cách
thay đổi một giá trị dữ liệu trong một vị trí bộ nhớ chương trình này có thể theo sau
một tập hợp mới của dữ liệu.
gián tiếp – một vị trí bộ nhớ khác có thể được dùng để mô tả của một vị trí nào
đó.
I:000/[N7:2] – Nếu vị trí N7:2 bao gồm 5 nó sẽ trở thành I:000/05
I:[N7:1]/03 – Nếu vị trí bộ nhớ số nguyên này chứa 2 nó sẽ trở thành
I:002/03
#I:[N7:1] – Nếu vị trí bộ nhớ số nguyên này chứa 2 tệp ấy sẽ bắt đầu tại I:002
N[N7:0]:8 – Nếu số trong N7:0 là 10 địa chỉ dữ liệu là N10:8
Figure 14.9 Indirect Addressing – Đánh địa chỉ gián tiếp
Các biểu thức cho phép các địa chỉ và các hàm được nhập vào và được diễn dịch
khi chương trình này chạy. Ví dụ trong hình 14.10 sẽ lấy một số dấu phảy động từ tệp
8, vị trí 3, thực hiện một chuyển đổi sin, và sau đó cộng 1,3. Xâu ký tự này không
được diễn dịch cho đến khi PLC là đang chạy, và nếu có một lỗi nào đó, nó có thể
xuất hiện cho đến khi chương trình đang chạy – vì thế dùng hàm này một cách thận
trọng.
biểu thức – một xâu ký tự mà xâu này mô tả một phép toán phức tạp:
“sin(F8:3) + 1,3” – một phép toán đơn giản
Figure 14.10 Expression Data Values – Các giá trị dữ liệu biểu thức
Các kiểu dữ liệu này và các chế độ đánh địa chỉ sẽ được thảo luận nhiều hơn khi
các hàm thích hợp được trình bày sau trong chương này và sách này. Các số dấu
phảy động, các biểu thức và các địa chỉ gián tiếp có thể không có sẵn trên các PLC cũ
hơn hoặc giá thấp hơn.
Hình 14.11 chỉ ra một ví dụ logic bậc thang đơn giản với các hàm. Phép toán cơ
bản là khi đầu vào A là đúng các hàm này sẽ được thực thi. Dòng lệnh đầu tiên sẽ
chuyển (MOV) giá trị trực tiếp của 130 vào trong bộ nhớ số nguyên N7:0. Hàm
chuyển tiếp theo sẽ sao chép giá trị từ N7:0 sang N7:1. Dòng thứ ba sẽ cộng giá trị
các số nguyên trong N7:0 và N7:1 và lưu kết quả trong N7:2.
Figure 14.11 An Example of Ladder Logic Functions
Một ví dụ của các hàm logic bậc thang
14.4.1 Bộ nhớ bit người dùng
Các bit dữ liệu cá biệt có thể được truy cập trong bộ nhớ bit. Chúng có thể rất
có ích khi theo dõi các trạng thái bên trong mà các trạng thái này không liên quan
trực tiếp tới một đầu ra nào đó hay một đầu vào nào. Bộ nhớ bit có thể được truy
cập với các bit cá biệt hay với các từ số nguyên. Các ví dụ của địa chỉ các bit được chỉ
ra trong hình 14.12. Bit được bôi đen đơn lẻ là trong từ thứ 3 B3:2 và nó là bit 03 thứ
4, vì thế nó có thể được đánh địa chỉ với B3:2/03. Nói chung, nó là bit thứ 35, vì thế
nó có thể được đánh địa chỉ là B3/35.
Figure 14.12 Bit Memory – Bộ nhớ bit
Phương pháp này cũng có thể được dùng cho truy cập các bit trong bộ nhớ số
nguyên.
14.4.2 Bộ nhớ cho bộ đếm và bộ bấm giờ
Các chương trước đã thảo luận công việc của các bộ bấm giờ và các bộ đếm.
Khả năng đánh địa chỉ bộ nhớ của chúng một cách trực tiếp cho phép một vài công
cụ mạnh mẽ. Nhớ lại rằng mặc định các bộ bấm giờ được lưu trong tệp T4: Các bit và
các từ cho các bộ bấm giờ là:
EN - timer enabled bit (bit 15)
TT - timer timing bit (bit 14)
DN - timer done bit (bit 13)
PRE - preset word
EN – bit cho phép bộ bấm giờ (bit 15)
TT – bit tính toán thời gian bộ bấm giờ (bit 14)
DN – bit thực hiện xong bộ bấm giờ (bit 13)
PRE – từ đặt ban đầu
ACC - accumulated time word
ACC – từ thời gian được tích lũy
Các bộ đếm được lưu giữ trong tệp C5: và chúng có các bit và các từ sau:
CU - count up bit (bit 15)
CD - count down bit (bit 14)
DN - counter done bit (bit 13)
OV - overflow bit (bit 12)
UN - underflow bit (bit 11)
CU – bit đếm lên (bit 15)
CD – bit đếm xuống (bit 14)
DN – bit thực hiện xong bộ đếm (bit 13)
OV – bit tràn ô nhớ (bit 12)
UN – bit ngầm (bit 11) (dòng nước ngầm?)
PRE - preset word
ACC - accumulated count word
PRE – từ đặt ban đầu
ACC – từ đếm tích lũy
Như đã thảo luận trước ta có thể truy cập các bit/từ của các bộ bấm giờ và các
bit/từ của các bộ đếm bằng cách sử dụng ký hiệu hợp lệ. Các ví dụ của chúng được
chỉ ra trong hình 14.13. Các giá trị bit chỉ có thể được đọc, và không thể thay đổi
được. Các giá trị đặt trước và các giá trị bộ tích lũy có thể được đọc và ghi đè.
Các từ
T4:0.PRE - the preset value for timer T4:0 – Giá trị đặt trước cho bộ bấm
giờ T4:0
T4:0.ACC - the accumulated value for timer T4:0 – Giá trị được tích lũy cho
bộ bấm giờ T4:0
C5:0.PRE - the preset value for counter C5:0 – Giá trị đặt trước cho bộ đếm
C5:0
C5:0.ACC - the accumulated value for counter C5:0 – Giá trị được tích lũy
cho bộ đếm C5:0
Các bits
T4:0/EN - indicates when the input to timer T4:0 is true – chỉ thị khi đầu
vào tới bộ bấm giờ T4:0 là đúng
T4:0/TT - indicates when the timer T4:0 is counting – chỉ thị khi bộ bấm giờ
T4:0 là đang đếm
T4:0/DN - indicates when timer T4:0 has reached the maximum – chỉ thị
khi bộ bấm giờ T4:0 đã đạt đến cực đại
C5:0/CU - indicates when the count up instruction is true for C5:0 – chỉ thị
khi câu lệnh đếm lên là đúng cho C5:0
C5:0/CD - indicates when the count down instruction is true for C5:0 – chỉ
thị khi câu lệnh đếm xuống là đúng cho C5:0
C5:0/DN - indicates when the counter C5:0 has reached the preset – chỉ thị
khi bộ đếm C5:0 đã đạt đến giá trị đặt trước
C5:0/OV - indicates when the counter C5:0 has reached the maximum
value (32767) – chỉ thị khi bộ đếm C5:0 đã đạt đến giá trị cực đại
(32767)
C5:0/UN - indicates when the counter C5:0 has reached the minimum
value (-32768) – chỉ thị khi bộ đếm C5:0 đã đạt đến giá trị cực
tiểu (-32767)
Figure 14.13 Examples of Timer and Counter Addresses
Các ví dụ về các địa chỉ bộ bấm giờ và địa chỉ bộ đếm
Xem xét ví dụ logic bậc thang đơn giản trong hình 14.14. Nó chỉ ra việc sử dụng
của một bit TT tính giờ bộ bấm giờ để gắn trên bộ bấm giờ này khi một đầu vào cửa
đã có giá trị đúng. Trong khi bộ bấm giờ này đang đếm, bit ấy sẽ giữ giá trị đúng và
giữ cho bộ bấm giờ này đếm. Khi nó đạt đến độ trễ là 10 giây bit TT này sẽ tắt. Dòng
thứ hai của logic bậc thang sẽ bật một đèn trong khi bộ bấm giờ đang đếm trong 10
giây đầu tiên.
Figure 14.14 Door Light Example – Ví dụ đèn cửa ra vào
14.4.3 Các bit trạng thái PLC (Cho PLC-5s và Micrologix)
Bộ nhớ trạng thái cho phép một chương trình kiểm tra hoạt động của PLC ấy, và
cũng làm một vài thay đổi. Một danh sách của các bit trạng thái được lựa chọn được
chỉ ra trong hình 14.15 cho các PLC Allen-Bradley Micro-logic và PLC-5. Các danh sách
hoàn chỉnh hơn có trong các sách hướng dẫn. Ví dụ bốn bit đầu tiên S2:0/x chỉ thị các
kết quả của các tính toán, bao gồm mang (carry), tràn ô nhớ, không và số âm/có dấu.
Vị trí S2:1/15 sẽ là đúng một khi PLC này được bật lên – đây là bit quét đầu. Thời gian
cho quét cuối sẽ được lưu trong S2:8. Ngày và giờ có thể lưu lại và đọc từ các vị trí
S2:18 tới S2:23.
S2:0/0 carry in math operation – mang trong phép toán toán học
S2:0/1 overflow in math operation – tràn ô nhớ trong phép toán toán học
S2:0/2 zero in math operation – số không trong phép toán toán học
S2:0/3 sign in math operation – dấu trong phép toán toán học
S2:1/15 first scan of program file – quét đầu của tệp chương trình
S2:8 the scan time (ms) – thời gian quét tính bằng mi li giây
S2:18 year - năm
S2:19 month - tháng
S2:20 day - ngày
S2:21 hour – giờ
S2:22 minute – phút
S2:23 second - giây
S2:28 watchdog setpoint – điểm giám sát
S2:29 fault routine file number – số tệp công việc có lỗi
S2:30 STI (selectable timed interrupt) setpoint – điểm thiết đặt STI (ngắt tính giờ
có thể lựa chọn được)
S2:31 STI file number – số tệp STI
S2:46-S2:54,S2:55-S2:56 PII (Programmable Input Interrupt) settings – các cài
đặt PII (ngắt đầu vào có thể lập trình được)
S2:55 STI last scan time (ms) – thời gian quét cuối STI tính bằng mi li giây
S2:77 communication scan time (ms) – thời gian quét truyền thông tính bằng mi
li giây.
Figure 14.15 Status Bits and Words for Micrologix and PLC-5s
Các bit và các từ trạng thái cho các Micrologix và các PLC-5
Các từ trạng thái khác cho phép điều khiển phức tạp hơn của PLC. Bộ bấm giờ
giám sát cho phép một thời gian được thiết đặt trong S2:28 để nếu thời gian quét
của PLC này quá dài PLC này sẽ đưa ra một tình trạng lỗi – đây là rất quan trọng cho
các quá trình nguy hiểm. Khi một lỗi xuất hiện số chương trình trong S2:29 sẽ chạy. Ví
dụ, nếu bạn có một lỗi chia cho không, bạn có thể chạy một chương trình mà nó
phục hồi từ lỗi này, nếu không có chương trình ấy PLC sẽ dừng. Các vị trí từ S2:30 tới
S2:55 được dùng cho các ngắt. Các ngắt có thể được dùng để chạy các chương trình
tại các khoảng thời gian được cố định, hay khi các đầu vào thay đổi.
14.4.4 Bộ nhớ điều khiển hàm người dùng
Các hàm logic bậc thang đơn giản có thể hoàn thành các công việc trong một
quét đơn của logic bậc thang. Các hàm khác như là các bộ bấm giờ và các bộ đếm sẽ
yêu cầu nhiều quét logic bậc thang để kết thúc. Trong khi các bộ bấm giờ và các bộ
đếm có bộ nhớ của chúng cho điều khiển, một kiểu chung của bộ nhớ điều khiển
được định nghĩa cho hàm khác. Bộ nhớ này bao gồm các bit và các từ trong hình
14.16. Bất cứ hàm được cho nào sẽ chỉ sử dụng một vài trong các giá trị này. Ý nghĩa
của các bit và các từ cụ thể sẽ được mô tả sau khi thảo luận về các hàm cụ thể.
EN - enable bit (bit 15) – bit cho phép (bit 15)
EU - enable unload (bit 14) – cho phép dỡ tải (bit 14)
DN - done bit (bit 13) – bit làm xong (bit 13)
EM - empty bit (bit 12) – bit rỗng (bit 12)
ER - error bit (bit 11) – bit lỗi (bit 11)
UL - unload bit (bit 10) – bit dỡ tải (bit 10)
IN - inhibit bit (bit 9) – bit ngăn chặn (bit 9)
FD - found bit (bit 8) – bit tìm thấy (bit 8)
LEN - length word – độ dài từ
POS - position word – từ vị trí
Figure 14.16 Bits and Words for Control Memory
Các bit và các từ cho bộ nhớ điều khiển
14.4.5 Bộ nhớ số nguyên
Bộ nhớ số nguyên là các từ 16 bit mà các từ này được sử dụng một các bình
thường như các số phần bù 2s mà các số này có thể lưu giữ các giá trị dữ liệu từ -
32768 tới +32767. Khi các phân số thập phân được đưa ra chúng được làm tròn cho
tới số gần nhất. Các giá trị này được lưu giữ mặc định một cách bình thường trong
N7:xx , nhưng các khối mới của bộ nhớ số nguyên là thường được tạo ra trong các vị
trí khác như là N9:xx. Bộ nhớ số nguyên cũng có thể được sử dụng cho các bit.
14.4.6 Bộ nhớ dấu phảy động
Bộ nhớ dấu phảy động là có thể mua được trong các PLC mới hơn và có giá cao
hơn, nó không có trong Micrologix. Bộ nhớ này lưu các số thực trong 4 từ, với 7 chữ
số của độ chính xác phủ một khoảng từ ±1,1754944e-38 đến ±3,4028237e38. Các bộ
nhớ dấu phảy động mặc định được lưu trong F8:xx, nhưng các số dấu phảy động
khác có thể được lưu trong các vị trí khác. Truy cập mức bit là không được cho phép
(hay hữu ích) cho các số này.
14.5 TÓM TẮT
Các tệp chương trình lưu các chương trình người dùng trong các tệp 2 – 999
Các tệp dữ liệu là có sẵn cho các người dùng và sẽ dài 0-999 vị trí.
Các kiểu dữ liệu trên một PLC-5 bao gồm đầu ra (O0:), đầu vào (I1:), trạng thái
(S2:), bit (B3:), bộ bấm giờ (T4:), bộ đếm (C5:), điều khiển (R6:), số nguyên
(N7:) và động (số thực) (F8:).
Các loại bộ nhớ khác bao gồm chuyển khối (BT), ASCII (A), xâu ASCII (ST), BCD
(D), thông điệp (MG), điều khiển PID (PD), trạng thái SFC (SC).
Trong các vị trí bộ nhớ một dấu ‘/’ chỉ ra một bit, dấu ’.’ chỉ ra một từ.
Các địa chỉ gián tiếp sẽ thay thế các giá trị bộ nhớ giữa ‘[’ và ‘]’.
Các tệp giống như các mảng và được chỉ thị bởi ‘#’.
Các biểu thức cho phép các phương trình được gõ vào.
Các giá trị trực tiếp cho các giá trị nhị phân và thập lục được theo sau bởi B và
H.
14.6 BÀI TẬP THỰC HÀNH
1. Các đầu ra PLC có thể được thiết đặt với các byte thay vì các bit có được không?
2. Bao nhiêu loại bộ nhớ mà một PLC-5 có thể có?
3. Các vị trí bộ nhớ chương trình mặc định là gì?
4. Có bao nhiêu loại cơ số được sử dụng trong bộ nhớ PLC?
5. Bộ nhớ bấm giờ và bộ nhớ bộ đếm giống nhau như thế nào?
6. Các loại bộ nhớ nào không thể bị thay đổi?
7. Phát triển một logic bậc thang cho một hệ an toàn cửa xe hơi/dây đeo. Khi cửa xe
hơi này mở, hay dây đeo là không kéo lên, một tiếng còi sẽ bật lên trong 5 giây nếu
chìa khóa đã được bật. Một đèn buồng lái sẽ được bật lên khi cửa xe là mở và sáng
trong 10 giây sau khi nó bị đóng, trừ khi một chìa khóa đã được bắt đầu đánh tia lửa
điện.
8. Nhìn vào sách hướng dẫn cho bộ nhớ trạng thái trong PLC của bạn và tìm vị trí
quét đầu.
9. Viết logic bậc thang cho mô tả bài toán sau. Khi nút A được nhấn một giá trị của
1001 sẽ được lưu trong N7:0. Khi nút B được bấm một giá trị của -345 sẽ được lưu
trong N7:1, khi nó không được bấm một giá trị của 99 sẽ được lưu trong N7:1. Khi
nút C được bấm N7:0 và N7:1 sẽ được cộng, và kết quả sẽ được lưu trong N7:2.
10. Dùng các vị trí bộ nhớ trạng thái, viết một chương trình mà nó sẽ nháy một đèn
trong 15 giây đầu tiên sau khi nó được bật. Đèn này phải nháy một giây một lần.
11. Bao nhiêu từ được yêu cầu cho bộ nhớ cho bộ bấm giờ và bộ đếm?
14.7 GIẢI PHÁP CHO BÀI TẬP THỰC HÀNH
1. Đúng, ví dụ từ đầu ra sẽ ở địa chỉ là O:000
2. Có 13 loại bộ nhớ khác nhau, 10 trong số đó có thể được định nghĩa bởi người
dùng cho các tệp dữ liệu giữa 3 và 999.
3. Các tệp chương trình 0 và 1 được dành cho các hàm hệ thống. Tệp 2 mặc định cho
chương trình logic bậc thang, và tệp 3 tới 999 có thể được sử dụng cho các chương
trình khác.
4. nhị phân, bát phân, BCD, phần bù 2s, nhị phân có dấu, dấu phảy động, các bit, thập
lục phân.
5. Cả hai là giống nhau. Các bộ nhớ bấm giờ và bộ nhớ bộ đếm cả hai đều dùng các
từ cho bộ tích lũy và các giá trị đặt trước, và chúng sử dụng các bit để theo dõi trạng
thái của các hàm này. Các bit này là hơi khác nhau, nhưng giống nhau về chức năng.
6. Các đầu vào không thể được thay đổi bởi chương trình, và một vài trong số các
bit/từ trạng thái không thể bị thay đổi bởi người dùng.
7.
8. S2:1/14 cho micrologix, S2:1/15 cho PLC-5.
9.
10.
11. ba từ bộ nhớ được dùng cho một bộ bấm giờ hay một bộ đếm.
14.8 GIAO BÀI TẬP
1. Liệt kê và mô tả ngắn gọn các phương pháp khác nhau cho định địa chỉ các giá trị
(ví dụ: từ, bit, trực tiếp, v.v...)
2. Các loại bộ nhớ cho bộ bấm giờ ‘T’ và bộ đếm ‘C’ có thể được thay thế bởi các loại
bộ nhớ điều khiển ‘R’ hay không? Giải thích câu trả lời của bạn.
Bạn đang xem tài liệu "Giáo trình Hệ thống sản xuất tự động hóa với PLCs - Phần 14: Bộ nhớ PLC", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
giao_trinh_he_thong_san_xuat_tu_dong_hoa_voi_plcs_phan_14_bo.pdf

