Các lênh so sánh trong s7 200 năm 2024

IN1, IN2

Byte

INT

DINT

REAL

IB, QB, VB, MB, SMB, SB, LB, AC,*VD, *LD,*AC,Constant

IW, QW, VW, MW, SMW, SW, T, C, LW, AC, AIW, *VD, *LC, *AC, Constant

ID, QD, VD, MD, SMD, SD, LD, AC, HC, *VD, *LD, *AC, Constant

ID, QD, VD, MD, SMD, SD, LD, AC, HC, *VD, *LD, *AC, Constant

Các hệ thống điều khiển logic trong thực tế xử lý với các dữ liệu nhị phân. Đặc điểm của các máy tính điều khiển hiện nay là xử lý dữ liệu, chất lượng điều khiển, v.v… ngày càng tăng với bộ xử lý dữ liệu số sử dụng PLC.

Các biến quá trình số có thể được tìm thấy trong tất cả lĩnh vực của điều vòng hở như trong các thiết bị được kết nối cho hoạt động quá trình và giám sát hoặc trong điều khiển của các thiết bị trường. Mục đích của giám sát quá trình là cung cấp thông tin về máy móc hoặc hệ thống hoạt động nhanh chóng, ngắn gọn và rõ ràng theo từng phút, cũng như sự đúng lúc để can thiệp, điều khiển và tác động đến quá trình.

Trong hầu hết các điều khiển đơn giản trước đây, các thiết bị vào ra như màn hiển thị 7-đoạn và các nút nhấn xoay số được sử dụng để hiển thị và nhập giá trị số. Ngày nay các thiết bị thao tác và giám sát „thông minh“ thường được kết nối với PLC.

Ngày nay các thiết bị xử lý, thu thập dữ liệu và điều khiển quá trình được cung cấp trực tiếp với các biến số thông qua hệ thống bus trường. Việc kết nối các thiết bị trường, như biến tần hay hệ thống cân, sử dụng các module vào ra analog càng ngày càng không được sử dụng nữa.

Tuỳ thuộc vào kiểu thiết bị được kết nối, nhiều dạng số khác nhau để mã hóa dữ liệu được sử dụng để truyền dữ liệu giữa thiết bị và PLC, cũng như để lưu trữ và xử lý dữ liệu trong PLC.

14.1 Các dạng số trong PLC

14.1.1 Kiểu dữ liệu Integer (INT)

Giá trị kiểu dữ liệu Integer hoàn toàn là giá trị số không có dấu chấm thập phân. S7-200 lưu trữ giá trị dữ liệu kiểu Integer có dấu ở mã 16 bit. Phạm vi của số integer là -32768 đến +32767.

STEP 7 sử dụng dạng hiển thị Decimal (không phải BCD) để xác định các hằng số của kiểu dữ liệu Integer. Nó cũng được mô tả ở dạng có dấu và không dấu. Theo nguyên lý thì có thể sử dụng các giá trị integer hằng số biểu diễn ở dạng Binary và Hexadecimal, nhưng vì không rõ ràng, nên chúng không còn phù hợp nữa. Vì lý do này, cú pháp của STEP7 chỉ cung cấp giá trị của integer biểu diễn ở decimal.

Ví dụ: Biểu diễn số +662 và -662

Trong hệ thống máy tính số, tất cả các giá trị được lưu trữ ở dạng mã binary. Chỉ các số 0 và 1 được sử dụng trong hệ thống số nhị phân. Cơ số 2 của hệ thống số này là kết quả từ số của các số có giá trị. Giá trị của mỗi vị trí của số nhị phân là kết quả của lũy thừa của cơ số 2. Nó được biểu diễn ở dạng 2#…. .

Giá trị số âm là sự biểu diễn các số nhị phân ở dạng bù hai. Trong dạng biểu diễn này, bit có trọng số lớn nhất (most significant bit) (bit số 15 cho kiểu dữ liệu Integer) có giá trị – 215. Vì giá trị này lớn hơn tổng của tất cả các giá trị còn lại, nên bit này được làm bit thông tin dấu. Nếu bit = 0, thì giá trị dương; nếu bit = 1, thì giá trị là âm. Việc chuyển đổi giữa các số nhị phân thành số decimal được thực hiện bằng cách cộng các giá trị của các vị trí có bit = 1. (xem ví dụ).

Trong hệ thống máy tính số, tất cả các giá trị được lưu trữ ở dạng mã binary. Chỉ các số 0 và 1 được sử dụng trong hệ thống số nhị phân. Cơ số 2 của hệ thống số này là kết quả từ số của các số có giá trị. Giá trị của mỗi vị trí của số nhị phân là kết quả của lũy thừa của cơ số 2. Nó được biểu diễn ở dạng 2#…. .

Hệ thống số hexadecimal cung cấp 16 chữ số khác nhau (0 đến 9 và A đến F). Đây là hệ thống số theo cơ số 16. Do đó, giá trị mỗi vị trí của số hexadecimal có kết quả từ lũy thừa của cơ số 16.

Các số Hexadecimal được xác định với dạng 16#. Các chữ số A đến F biểu diễn theo giá trị số decimal 10 đến 15. Giá trị 15 là giá trị cuối cùng có thể được mã hóa nhị phân của 4 bit không dấu. 4 bit nhị phân tạo thành một số của số hexadecimal.

Hằng số trong dạng số Hexadecimal không được sử dụng cho các giá trị số integer.

14.1.2 Kiểu dữ liệu Double Integer (DINT)

S7-200 lưu giá trị kiểu dữ liệu Double Integer với mã 32 bit có dấu. Phạm vi giá trị kiểu double Integer từ -2147483648 đến +2147483647.

S7-200 sử dụng số decimal (không phải BCD) để xác định một hằng số kiểu dữ liệu Double Integer.

Ví dụ: Biểu diễn số +540809 và – 540809

14.1.3 Kiểu dữ liệu số thực (REAL)

Các kiểu dữ liệu INT và DINT được mô tả trước được sử dụng để lưu toàn bộ các giá trị số có dấu. Do đó, chỉ có các phép toán được cung cấp các giá trị số nguyên mới có thể thực hiện được.

Trong trường hợp các biến là analog như điện áp, dòng điện, và nhiệt độ thì các giá trị thực trở nên cần thiết. Để trình diễn các giá trị thập phân, các số nhị phân phải được định nghĩa là giá trị của nó nhỏ hơn 1 (lũy thừa của cơ số 2 với số mũ âm).

Để biểu diễn số thực S7-200 sử dụng double word (32 bit).Trong mã nhị phân của số thực, một phần của các chữ số nhị phân sử dụng cho phần thập phân, phần còn lại là để biểu diễn số mũ và dấu của số thực.

Phạm vi biểu diễn của số thực từ -1.175495•10-38 đến 3.402823•10+38

Khi sử dụng các giá trị của số thực, ta không cần phải xác định định dạng của nó. Khi nhập vào một hằng số là số thực thì ta bắt buộc phải nhập có thành phần thập phân cho dù phần thập là số 0, ví dụ 20.0.

Số thực được sử dụng để „xử lý giá trị analog„. Ưu điểm lớn của số thực là các phép toán được sử dụng với nó. Các phép toán này bao gồm: cộng, trừ, nhân, chia cũng như các lệnh sin, cos, exp, ln, v.v…, được sử dụng chính trong các thuật giải điều khiển vòng kín (closed-loop control algorithms).

Dạng tổng quát của số Real = (dấu) • (1.f) • (2e-127) với f: phần thập phân.

Ví dụ: Biểu diễn số 0.75

14.1.4 Kiểu dữ liệu số BCD (Binary Coded Decimal)

Trước đây, để liệt kê và mô tả các số nguyên được thực hiện đơn giản với các nút nhấn số dạng xoay vòng và bộ chỉ thị số. Các nút nhấn số và hiển thị số này được kết nối với các module vào và ra số của PLC.

Mỗi chữ số của số decimal được mã hóa ở bốn bit. Vì chữ số cao nhất của decimmal là 9 nên bốn bit được sử dụng và có mã nhị phân tương ứng cho các chữ số decimal như sau:

Để các số âm cũng có thể được xác định bằng nút nhấn số xoay vòng mã BCD, thì S7-200 mã hóa dấu trong bit có trọng số cao nhất (most significant bit). Bit dấu = 0 để chỉ số dương. Bit dấu = 1 chỉ thị số âm. S7-200 chấp nhận các số BCD mã 16-bit (dấu + 3 digits) và mã 32-bit (dấu + 7 digits). Phạm vi biểu diễn của số BCD 16 bit từ – 999 đến + 999, phạm vi biểu diễn của số BCD 32 bit từ -9999999 đến + 9999999.

Không có định dạng dữ liệu cho việc xác định các giá trị theo mã BCD trong S7-200. Tuy nhiên ta có thể xác định số decimal với mã BCD được cho ở số HEX. Mã nhị phân của số HEX và số decimal mã BCD thì giống nhau.

Ví dụ: Biểu diễn số 662 ở BCD 16 bit và BCD 32 bit

14.2 Chức năng sao chép

Với chức năng sao chép, nội dung của một vùng này sẽ được sao chép đến một vùng khác trong bộ nhớ. Việc trao đổi hay sao chép nội dung có thể thực hiện với một byte, một word, một double word hay một giá trị số hoặc một mảng lớn dữ liệu từ vùng này sang vùng khác trong bộ nhớ.

14.2.1 Các lệnh sao chép, trao đổi nội dung

Để sao chép các dữ liệu kiểu byte, word, double word kể cả số thực (real) từ nơi này đến nơi khác ta sử dụng lệnh Move.

Trong một số trường hợp cần tráo đổi nội dung của một byte (byte thấp và byte cao) trong một word ta sử dụng lệnh Swap.

Cú pháp của các lệnh ở STL như sau:

  • Lệnh MOVB IN,OUT: Lệnh Move Byte (MOVB) thực hiện sao chép nội

dung của byte IN sang byte OUT.

  • Lệnh MOVW IN,OUT: Lệnh Move Word (MOVW) thực hiện sao chép nội

dung của word IN sang word OUT

  • Lệnh MOVD IN,OUT: Lệnh Move Double Word (MOVD) thực hiện sao

chép nội dung của double word IN sang double word OUT.

  • Lệnh MOVR IN,OUT: Lệnh Move Real (MOVR) thực hiện sao chép nội

dung của một số thực IN sang số thực OUT.

  • Lệnh SWAP IN: Lệnh Swap Byte (Swap) thực hiện tráo đổi nội

dung của byte thấp và byte cao trong word IN.

Cú pháp của các lệnh MOVE ở LAD và FBD có cấu trúc chung như sau:

  • OUT: Vị trí của nơi cần sao chép đến, có thể là byte, word, double word hoặc real tùy theo X là B, W, D hay R.
  • EN: Là ngõ vào bit. Cho phép thực hiện lệnh được viết ở LAD hoặc FBD. Trường hợp không cần thiết có điều kiện ở ngõ vào EN thì phải sử dụng SM0.0.
  • ENO: Ngõ ra bit. Cho phép kết nối song song hoặc nối tiếp với các hộp khác. Nếu phép toán xử lý không có lỗi thì EN=ENO.

giữ chuột trái, kéo và thả vào vị trí mong muốn. Nhập điều kiện cho ngõ vào EN, nếu lúc nào cũng thực hiện thì sử dụng bit nhớ SM0.0. Nhập các biến cần quay ở ngõ IN. Số bit cần quay ở ngõ N. Nhập biến chứa kết quả ở ngõ OUT. (thông thường ngõ vào và ra có chung một biến).