7 Các phép tốn logic
7.5 Bit nhớ M (bit memory)
Trong thiết kế các chương trình điều khiển, ta cĩ thể cĩ một số lượng lớn các logic được liên kết với nhau. Ví dụ như mạch sau:
Chương trình được viết ở LAD và STL:
Với các liên kết logic như thế này thì việc tìm lỗi rất khĩ khăn. Để dễ dàng hơn trong lập trình và tìm lỗi, thì các kết quả trung gian sẽđược lưu vào một ơ nhớ. Trong S7-200 thì các ơ nhớ này là bit memory (M).
Trong S7-200 cĩ 32 byte nhớ M (từ M0.0 đến M31.7). Chúng được xem
như là các ngõ ra trung gian. Khi mất nguồn cấp thì nội dung được nhớ trong các bit nhớ M cĩ thể bị mất hoặc vẫn cịn giữ lại tùy thuộc vào việc đặt thuộc tính cho vùng nhớ này là retentive (nhớ lâu dài) hay non-retentive (khơng nhớ
lâu dài).
* Bit memory cĩ thuộc tính Retentive: Các bit cĩ thuộc tính này đều giữ lại giá trị của nĩ khi nguồn cung cấp bị mất. Nghĩa là nếu trước khi bị mất điện, ơ nhớ M cĩ giá trị nào thì nĩ vẫn giữ nguyên giá trịđĩ khi PLC bị mất điện. Các ơ nhớđược ứng dụng để nhớ các trạng thái hoạt động của máy mĩc hay thiết bị trước khi bị mất điện. Ở lần khởi động kế tiếp thì các máy mĩc hay thiết bị
cĩ thể tiếp tục làm việc tại vị trí trước lúc mất điện. Vùng retentive được thiết lập bằng cách nhấp chuột vào biểu tượng system Block hoặc vào menu View > Component > System Block. Chọn mục Retentive Ranges. Nếu chọn thẻ defauls thì tất cả các vùng nhớ cĩ thuộc tính retentive đều theo
chuẩn của nhà sản xuất. Đối với vùng nhớ M thì bắt đầu từ byte MB14 đến MB31. Tuy nhiên chúng ta vẫn cĩ thểđặt lại theo ý muốn (hình 7.18).
* Bit memory cĩ thuộc tính non-retentive: Giá trị các bit này bị xĩa khi PLC mất nguồn cung cấp. Theo chuẩn nhà sản xuất thì ta cĩ MB0 đến MB13 ở thuộc tính non-retentive.
Hình 7.18: Màn hình thiết lập retentive memory.
Khi sử dụng bit memory (M), ta cĩ thể làm cho chương trình dễđọc hơn. Sơđồ mạch như hình 7.19. I0.0 I0.1 I0.1 I0.3 I0.2 I0.1 I0.2 I0.0 I0.4 Q0.0 M0.0 M0.1 M0.2
Hình 7.19: Mạch logic được làm cho dễđọc hơn với bit memory.
Chương trình ở LAD và STL như sau:
STL: