Các lệnh di chuyển dữ liệu tuân thủ khả năng truy cập địa chỉ vùng nhớ của PLC. Có các dạng di chuyển dữ liệu sau đây:
- Di chuyển dữ liệukiểubyte(8 bit).
- Di chuyển dữ liệu kiểu word(16 bit).
- Di chuyển dữ liệu kiểu double word(32 bit).
- Di chuyển dữ liệu kiểu real(32 bit).
Trong một số trường hợp, người lập trình sử dụng lệnh di chuyển dữ liệu dữ liệu cho trước vào vùng nhớ nào đó để tiện lưu giữ và sử dụng.
Lệnh xử lý dữ liệu thường gồm lệnh xử lý - dữ liệu, địa chỉ nguồn (S), nơi lấy dữ liệu; và địa chỉ đích (D), nơi chuyển dữ liệu đến. Hình 1.21 minh họa dạng lệnh phổ biến của hãng siemence.
Hình 1.21. Khai báo lệnh di chuyển dữ liệu
Sau đây là ví dụ về các loại lệnh xử lý dữ liệu được dùng với PLC.
Lệnh được sử dụng phổ biến để di chuyển dữ liệu là MOV. Lệnh này sao chép giá trị từ địa chỉ này sang địa chỉ khác. Hình 1.22 minh họa hãng Siemens di chuyển dữ liệu như hai lệnh riêng biệt, tải dữ liệu từ nguồn vào bộ tích lũy, rồi chuyển dữ liệu từ bộ tích lũy đến đích.
Các chuyển giao dữ liệu có thể di chuyển giá trị cài đặt trước đến đồng hồ dính giờ hoặc bộ đếm, thời gian hoặc giá trị đem đến thanh ghi nào đó để lưu trữ, dữ liệu từ ngõ vào đến thanh ghi hoặc từ thanh ghi đến ngõ ra. Hình 1.22 minh họa quá trình di chuyển khối dữ liệu ở địa chỉ VB20 đến địa chỉ VB100 khi bít ngõ vào I2.1 chuyển từ 0 sang 1. ở đây cùng một lúc di chuyển một dãy 4 khối dữ liệu lưu trữ trong 4 byte: VB20, VB21, VB22, VB23 đến dãy 4 byte: V100, VB101, VB102, V103.
Hình 1.22. Khai báo lệnh di chuyển dữ liệu 1.9. Các phép tính số học
1.9.1. Khái niệm và phân loại phép tính số học
Một số PLC được trang bị chỉ để thực hiện các phép toán số học cộng và trừ, một số khác có thể thực hiện bốn phép toán cơ bản cộng, trừ, nhân và chia. Các PLC đặc biệt có thể thực hiện các phép toán số học và các hàm, chẳng hạn hàm mũ. Các phép toán cộng và trừ được sử dụng để thay đổi giá trị dữ liệu được giữ trong các vùng nhớ (thanh ghi) dữ liệu. Ví dụ, để điều chỉnh trị số tín hiệu vào của bộ cảm biến hoặc có thể thu được giá trị nào đó bằng cách trừ hai giá trị của bộ cảm biến hoặc thay đổi các giá trị được xác lập trước của đồng hồ định giờ và bộ đếm. Phép nhân có thể được sử dụng để tăng tín hiệu vào lên nhiều lần trước khi cộng hoặc trừ với tín hiệu khác.
Các PLCđược lập trình để thực hiện các phép tính xác định, sau đó ghi kết quả vào địa chỉ đích theo yêu cầu. Khi lệnh tính toán ởtrên màn hình lập trình, trước tiên cần nhập đích đến, rồi đến biểu thức toán học. Hình 1.25 minh họa các dạng lệnh tính toán số học sau: cộng (ADD), trừ (SUB), nhân (MUL) và chia (DIV). Các phép tính thực hiện với các loại dữ liệu sau: số nguyên 16 bit - Integer (I), số nguyên 32 bit - (DI) và số thực 32 bit (R).
Một số PLC có thể thực hiện phép tính khai căn bậc hai SQRT của số thực 32 bit, kết quả cho số thực 32 bit. Cú pháp như sau:
1.9.2. Khai báo phép tính trong chương trình
b) Phép cộng và trừ số nguyên 32 bit
d) Phép nhân và chia số nguyên 32 bit
1.9.3. Thí dụ về phép tính số học
a) Với dữ liệu là số nguyên 16 bit - integer(hình 1.26):
Hình 1.26. Thí dụ về các phép toán số học 1.10.
1.10 Lập trình PLC
Sự khác nhau chủ yếu giữa PLC và các bộ điều khiển dây cứng (điều khiển bán dẫn hoặc rơ-le) là kỹ thuật đưa chương trình điều khiển vào bộ điều khiển. Trong điều khiển dây cứng, trình tự làm việc (hay chương trình điều khiển), phụ thuộc vào các tiếp điểm, chuyển mạch... và phương phápp nối chúng với nhau. Ngược lại, chương trình điều khiển cho một PLC thực hiện thông qua bảng lập trình, sau đó chúng được lưu trữ trong bộ nhớ điện tử. Phần này trình bày phương pháp thiết kế chương trình và xem xét một số ví dụ minh họa.
1.10.1. Cấu trúc chương trình PLC
Cấu trúc của một chương trình PLCnói chung bao gồm chương trình chính và sau đó là các chương trình con và chương trình xử lý ngắt.
Chương trình chính được viết trước.
Chương trình con là một bộ phận của chương trình và được gọi bởi chương trình chính hoặc các chương trình con khác. Chương trình con phải được viết sau lệnh kết thúc chương trình chính.
Các chương trình xử lý ngắt cũng là một bộ phận của chương trình. Nếu cần sử dụng, các chương trình xử lý ngắt phải được viết sau lệnh kết thúc chương trình chính.
Các chương trình con được nhóm lại thành một nhóm sau chương trình chính, tiếp đến là các chương trình xử lý ngắt. Bằng cách viết như vậy, cấu trúc chương trình được rõ ràng và thuận tiệnhơn trong việc sửa và hiệu chỉnh chương trình sau này. Tuy nhiên có thể tự do trộn lẫn các chương trình con và các chương trình xử lý ngắt đằng sau chương trình chính.
1.10.2. Các bước lập trình
Ngôn ngữ lập trình, sự tiếp cận vấn đề có hệ thống có thể cải thiện khả năng tạo ra các chương trình chất lượng cao trong thời gian ngắn. Kỹ thuật thiết kế có hệ thống gồm các bước sau:
− Xác định quá trình công nghệ (trình tự hoạt động của hệ thống công nghệ) cần điều khiển.
− Xác định các thiết bịngõ vào và ngõ ra;phân phối địa chỉ các ngõ vào và ngõ ra. − Xác định thuật toán và viết chương trình điều khiển.
− Biên dịch và nạp chương trình vào PLC. − Kiểm tra và gỡ rối chương trình.
− Lập thành tài liệu để mọi người sử dụng đều hiểu sự hoạt động của chương trình đó.
Xác định quá trình công nghệ. Trước tiên, ta phải xác định thiết bị hay hệ thống nào
muốn điều khiển, chúng gồm những bộ phận thiết bị nào, quan hệ giữa các bộ phận đó. Mục đích cuối cùng của bộ điều khiển là điều khiển một hệ thống hoạt động.
Sự vận hành của hệ thống được kiểm tra bởi các thiết bị đầu vào. Nó nhận tín hiệu và gởi tín hiệu đến CPU, CPU xử lý tín hiệu và gởi nó đến thiết bị xuất để điều khiển sự hoạt động của hệ thống như lập trình sẵn trong chương trình
Xác định ngõ vào, ngõ ra. Tất cả các thiết bị xuất, nhập bên ngoài đều được kết nối với bộ điều khiển lập trình. Thiết bị nhập là những contact, cảm biến... Thiết bị xuất là những cuộn dây, valve điện từ, motor, bộ hiển thị...
Xác định thuật toán và viết chương trình. Sau khi xác định tất cả các thiết bị xuất/nhập cần thiết, ta định vị các thiết bị vào/ra tương ứng cho từng ngõ vào/ra trên PLC trước khi lập thuật toán và viết chương trình. Thuật toán là thứ tự các bước xác định phương
39 pháp giải quyết vấn đề. Điều này thường được thực hiện bằng lưu đồ hoặc viết bằng thuật giải, kể cả sử dụng các từ BEGIN, DO, END, IF-THEN-ELSE, WHILE-DO...
Khi viết chương trình theo sơ đồ hình bậc thang (ladder) phải theo sự hoạt động tuần tự từng bước của hệ thống. Có thể sử dụng các phần mềm của các hãng sản xuất PLC để xây dựng chương trình điều khiển.
Nạp chương trình vào bộ nhớ. Bây giờ chúng ta có thể cung cấp nguồn cho bộ điều khiển có lập trình thông qua cổng I/O. Biên dịch và sau đó nạp chương trình vào bộ nhớ thông qua bộ console lập trình hay máy tính có chứa phần mềm lập trình hình thang. Sau khi nạp xong, kiểm tra lại bằng hàm chuẩn đoán. Nếu được, cần mô phỏng toàn bộ hoạt động của hệ thống để chắc chắn rằng chuơng trình đã hoạt động tốt.
Chạy chương trình. Trước khi nhấn nút Start, phải chắc chắn rằng các dây dẫn nối các
ngõ vào, ra đến các thiết bị nhập, xuất đã được nối đúng theo chỉ định. Lúc đó PLC mới bắt đầu hoạt động thực sự. Trong khi chạy chương trình, nếu bị lỗi thì máy tính hoặc bộ Console sẽ báo lỗi, ta phải sữa lại cho đến khi nó hoạt động an toàn.
Thuật toán thể hiện trên hình 1.27.
Xác định yêu cầu của hệ thống điều khiển
Vẽ lưu đồ chung của hệ thống điều khiển
Liệt kê tất cả các ngõ ra, ngõ vào nối tương đối đến các cổng I/O của PLC
Chuyển lưu đồ sang sơ đồ hình thang
Nạp lập trình sơ đồhình thang thiết kế cho PLC
Mô phỏng chương trình và sửa lỗi phần mềm Hiệu chỉnh chương trình cho phù hợp Chương trình OK
Hình 1.27. Thuật toán lập trình PLC
1.10.3. Kết nối linh kiện vào/ra (nhập/xuất)
Trên hình 1.28a là mạch điện cổ điển thông dụng gồm một nút ấn PB1, hai công tắc LS và mộtđèn PL. Chúng kết nối với nhau nhằm điều khiển đèn PL. Còn trên hình 1.28b là kết nối của hệ thống điều khiển bằng PLC. Các nút ấn và công tắc lắp tại các đầu vào, còn đèn lắp tại đầu ra của PLC. Chú ý rằng ở giữa hình này là phần chương trình PLC, chúng thể hiện mối quan hệ của nút bấm, các công tắc và bóng đèn tương tự như sơ đồ kết nối cứng của mạch điện cổ điển.
Chạy thử chương trình Hiệu đính lại phần mềm Nạp chương trình vào EPROM Lập hồ sơ hệ thống cho tất cả các bản vẽ END Chương trình OK
a
b
Hình 1.28
1.10.4. Ví dụ lập trình PLC
Xét hoạt động của van trượt thuỷ lực điều khiển xi lanh và lập chương trình điều khiển chúng. Hình 1.29 minh họa van trượt 4/3 (4 cổng ba vị trí). Khi cấp nguồn cho cuộn hút solenoid trái (Q0.0), cổng P (ký hiệu nguồn cung cấp áp suất) được nối với A. Do đó cho phép chất lỏng thủy lực lưu thông từ Pđến A vàãi lanh chạy sang phải. Dầu ngăn bên phải trở về thùng chứa qua B. Khi cấp nguồn cho cuộn hút solenoid phải, chất lỏng thủy lực lưu thông từ P đến Bvào bên ngăn phải xi lanh làm piston chạy sang trái, còn dầu bên ngăn trái trởvề thùng chứa qua A.
Hãy quan sát hai đồng hồ tính giờ đều xác lập 10s. Khi đóng các tiếp điểm khởi động X400, đồng hồ định giờ T450 khởi động, đồng thời có tín hiệu ra từ Y431. Ngõ ra Y431 là một trong các solenoid được sử dụng để kích hoạt van. Khi được cấp điện, Y431 hút co trượt của van sang phải làm dòng khí nén tạo ra áp suất P tác dụng vào đầu bên phải của xi lanh, khoang trái xi lanh được nối với thông với khí quyển. Do đó piston di chuyển về bên trái.
Sau 10s các tiếp điểm thường mở T450 đóng và các tiếpđiểm thường đóng T450 mở. Điều này ngăn chặn ngõ ra Y431, khởi động đồng hồ định giờ T451 và cấp nguồn cho ngõ ra Y480. Khi đó, nguồn áp suất Ptác dụng vào phía bên trái piston và phía bên phải được nối kết với lỗ thông khí quyển. Lúc này piston di chuyển về bên phải. Sau đó, các tiếp điểm thường đóng T451 sẽ mở, làm cho các tiếp điểm thường đóng T450 đóng, nhờ đó Y431 được cấp điện. Từ đây chuỗi lệnh điều khiển sẽ lặp lại.