Bài này, Abientan hướng dẫn cách dùng lệnh lập trình tín toán số học trên plc Delta gồm: cộng, trừ, nhân, chia.
Hướng dẫn lệnh tính toán plc Delta: cộng, trừ, nhân, chia
Lệnh phép tính cộng

- Cú pháp lệnh phép toán cộng trên plc delta : ADD cho 16 bit và DADD cho 32 bit.
- Ví dụ như hình khi tiếp điểm M2 ON lên 1 thì lệnh ADD sẽ thực hiện cộng giá trị của ô nhớ D0 và D2 sau đó lưu giá trị tổng vào ô nhớ có địa chỉ là D4.
Lệnh phép tính trừ

- Cú pháp lệnh phép toán trừ trên plc delta: SUB cho 16 bit và DSUB cho 32 bit.
- Ví dụ như hình khi tiếp điểm M2 ON lên 1 thì lệnh SUB sẽ lấy giá trị ở D0 trừ cho giá trị ở D2 sau đó lưu giá trị vào D4.
Lệnh phép toán nhân

- Cú pháp lệnh phép toán nhân trên plc delta: MUL cho 16 bit và DMUL cho 32 bit
- Ví dụ như hình khi tiếm điểm M2 ON lên 1 thì lệnh MUL sẽ lấy giá trị D0 nhân cho giá trị D2 sau đó lưu kết quả vào D4.
- Ô nhớ lưu kết quả của phép nhân sẽ gấp 2 lần số lượng bit của toán tử nhân. Ví dụ lệnh nhân 16 bit(1 thanh ghi đơn) thì kết quả sẽ là 32 bit( 2 thanh ghi đơn). Nếu lệnh nhân 32 bit( 2 thanh ghi đơn) thì kết quả sẽ lưu là 64 bit (4 thanh ghi đơn).
Lệnh phép toán chia

- Cú pháp lệnh phép toán chia trên plc delta: DIV cho 16 bit và DDIV cho 32 bit.
- Ví dụ như hình trên khi tiếp điểm M2 ON lên 1 thì lệnh DIV sẽ lấy giá trị ở D0 chia cho giá trị ở D2 và lưu kết quả vào D4, số dư vào D5.
- Lệnh chia này dùng cho số nguyên nên sẽ làm tròn số ở kết quả là số nguyên. Ô nhớ tiếp theo của kết quả phép chia được dùng để lưu số dư.
Lưu ý
Những lệnh được giới thiệu trên đây được sử dụng trong hệ số nguyên, nếu muốn sử dụng cho số thực có dấu phẩy thì các bạn sử dụng nhóm lệnh trong Floating Point
DEADD: phép cộng số thực
DESUB: phép trừ số thực
DEMUL: phép nhân số thực
DEDIV: phép chia số thực.
=> Để kết quả chuẩn xác thì các toán tử trong một phép tính phải cùng hệ. Ví dụ nguyên thì nguyên hết, còn thực thì thực hết. Nếu khác hệ có thể dẫn tới sai số. Các bạn nên sử dụng thêm lệnh chuyển đổi về cùng hệ rồi mới thực hiện việc tính toán.
- Đối với lệnh phép tính nhân và chia kết quả sẽ chiếm số lượng gấp đôi ô nhớ của lệnh nên khi sử dụng các bạn phải hết sức lưu ý để tránh kết quả đè lên những ô nhớ khác làm sai kết quả tính toán.