CHƯƠNG 1 : GIỚI THIỆU CHUNG
2.1.7 Các tập lệnh cơ bản trong S7-1200
2.1.7.1 Tập lệnh tiếp điểm (Bit logic)
Tiếp điểm thường hở (NO), thường đóng (NC):
Hình 2. 8. Bit Logic
• Tiếp điểm NO: Tiếp điểm thường hở sẽ đóng khi giá trị của bit có địa chỉ n bằng 1. Toán hạng n: I, Q, M, L, D.
• Tiếp điểm NC: Tiếp điểm thường đóng sẽ đóng khi giá trị của bit có địa chỉ n bằng 0. Toán hạng n: I, Q, M, L, D.
Bảng 2. 3. Bit Logic
Thông số Kiểu dữ liệu Miêu tả IN Bool Bit được gán giá trị
2.1.7.2 Cuộn dây ngõ ra (OUT)
Hình 2. 9. Cuộn dây ngõ ra
➢ Lệnh OUT: Giá trị của bit có địa chỉ là n sẽ bằng 1 khi đầu vào của lệnh này bằng 1 và ngược lại. Toán hạng n: Q, M, L, D. Chỉ sử dụng một lệnh OUT cho 1 địa chỉ.
➢ Lệnh OUT NOT: Giá trị của bit có địa chỉ là n sẽ bằng 1 khi đầu vào của lệnh này bằng 0 và ngược lại. Toán hạng n: Q, M, L, D. Chỉ sử dụng một lệnh OUT NOT cho 1 địa chỉ.
Bảng 2. 4. Cuộn dây ngõ ra
Thông số Kiểu dữ liệu Miêu tả
OUT Bool Bit được gán giá trị
2.1.7.3 Các lệnh Set và Reset
➢ Khi lệnh S (Set) được kích hoạt, giá trị dữ liệu ở địa chỉ OUT được đặt lên 1. Khi lệnh S khơng được kích hoạt, ngõ ra OUT khơng bị thay đổi.
➢ Khi lệnh R (Reset) được kích hoạt, giá trị dữ liệu ở địa chỉ OUT được đặt về 0. Khi lệnh R khơng được kích hoạt, ngõ ra OUT khơng bị thay đổi.
Hình 2. 10. Set và Reset
➢ Những lệnh này có thể được đặt tại bất cứ vị trí nào trong mạch.
Bảng 2. 5. Set và Reset
Thông số Kiểu dữ liệu Miêu tả
IN Bool Vị trí bit được giám sát OUT Bool Vị trí bit được đặt hoặc đặt lại
2.1.7.4 Các bộ định thời (Timer)
➢ Kích thước và tầm của kiểu dữ liệu Time là 32 bit, lưu trữ như là dữ liệu Dint: T#-14d_20h_31m_23s_648ms đến T#24d_20h_31m_23s_647ms hay là - 2.147.483.648 ms đến 2.147.483.647 ms.
Các loại Timer của S7-1200:
• TP: bộ định thì xung phát ra một xung với bề rộng xung được đặt trước.
• TON: ngõ ra của bộ định thời ON – delay Q được đặt lên ON sau một sự trì hỗn thời gian đặt trước.
• TOF: ngõ ra Q của bộ định thì OFF – delay được đặt lại về OFF sau một sự trì hỗn thời gian đặt trước.
• TONR: ngõ ra bộ định thì có khả năng nhớ ON – delay được đặt lên ON sau một trì hỗn thời gian đặt trước. Thời gian trơi qua được tích lũy qua nhiều giai đoạn định thì cho đến khi ngõ vào R được sử dụng để đặt lại thời gian trơi qua.
• RT: đặt lại một bộ định thì bằng cách xóa dữ liệu thời gian được lưu trữ trong khối dữ liệu tức thời của bộ định thì xác định.
Hình 2. 11. Các lệnh timer
➢ Các bộ định thời TP, TON và TOF có các thơng số ngõ vào và ngõ ra giống
nhau.
➢ Bộ định thời TONR có thơng số ngõ vào đặt lại được thêm vào R. ➢ Lệnh RT đặt lại dữ liệu định thời cho bộ định thời được chỉ định.
Bảng 2. 6. Các lệnh timer
Thống số Kiểu dữ liệu Miêu tả
IN Bool Ngõ vào bộ định thời cho phép R Bool Đặt lại thời gian trôi qua của
TONR về 0
PT Bool Ngõ vào giá trị thời gian đặt trước Q Bool Ngõ ra bộ định thời
ET Time Ngõ ra giá trị thời gan trôi qua Khối dữ liệu
định thời
DB Chỉ ra bộ định thời nào để đặt lại với lệnh RT
2.1.7.5 Các bộ đếm (Counter)
➢ S7-1200 có ba bộ đếm Counter • CTU: bộ đếm đếm lên.
• CTD: bộ đếm đếm xuống.
Hình 2. 12. Các lệnh counter
Bảng 2. 7. Các lệnh counter
Thông sô Kiểu dữ liệu Miêu tả
CU, CD Bool Bếm lên hay đếm xuống, bởi một lần đếm
R(CTU,CTUD) Bool Đặt lại giá trị đếm về không LOAD(CTU,CTUD) Bool Nạp điều khiển cho giá trị đặt
trước PV Sint, Int,
Dint, USInt, Uint, UDInt
Giá trị đếm đặt trước
Q,QU Bool Đúng nếu CV>=PV QD Bool Đúng nếu CV<=0 CV Sint, Int,
Dint, USInt, Uint,
2.1.7.6 Lệnh so sánh
Hình 2. 13. Các lệnh so sánh
➢ Ta sử dụng các lệnh so sánh để so sánh hai giá trị của cùng một kiểu dữ liệu,
nếu lệnh so sánh thỏa thì ngõ ra sẽ là mức 1 = TRUE tiếp điểm này được kích hoạt.
➢ Kiểu dữ liệu so sánh là: SInt, Int, Dint, USInt, UDInt, Real, LReal, String,
Char, Time, DTL, Constant
Bảng 2. 8. Các lệnh so sánh
Kiểu quan hệ Sự so sánh và đúng nếu == IN1 bằng IN2
<> IN1 không bằng IN2 >= IN1 lớn hơn hay bằng IN2 <= IN1 nhỏ hơn hay bằng IN2
> IN1 lơn hơn IN2 < IN1 nhỏ hơn IN2
2.1.7.7 Lệnh toán học
Ta sử dụng một lệnh hộp phép tốn để lập trình các vận hành phép toán cơ bản:
➢ ADD: phép cộng (IN1 + IN2 = OUT)
➢ SUB: phép trừ (IN1 – IN2 = OUT)
➢ MUL: phép nhân (IN1 * IN2 = OUT)
Hình 2. 14. Các lệnh tốn học Bảng 2. 9. Các lệnh tốn học
Thơng số Kiểu dữ liệu Miêu tả IN1, IN2 Sint, Int, Dint, USInt, Uint,
UDInt, Real, Lreal, Constant Ngõ vào phép toán OUT Sint, Int, Dint, USInt, Uint,
UDInt, Real, Lreal Ngõ ra phép toán
2.1.7.8 Lệnh di chuyển
➢ Các lệnh di chuyển và di chuyển khối
Hình 2. 15. Các lệnh di chuyển
➢ Ta sử dụng các lệnh di chuyển để sao chép các phần tử dữ liệu đến một địa chỉ nhớ mới và chuyển đổi từ một kiểu dữ liệu này sang kiểu khác. Dữ liệu nguồn khơng bị thay đổi trong q trình di chuyển.
➢ MOVE: sao chép một phần tử dữ liệu được lưu trữ tại một địa chỉ xác định đến một địa chỉ mới.
➢ MOVE_BLK: di chuyển có thể ngắt mà sao chép một khối các phần tử dữ liệu đến một địa chỉ mới.
➢ UMOVE_BLK: di chuyển không ngắt được mà sao chép một khối các phần tử dữ liệu đến một địa chỉ mới.
Bảng 2. 10. Các lệnh di chuyển
MOVE
Thông số Kiểu dữ liệu Miêu tả IN Sint, Int, Dint,
USInt, Uint, UDInt, Real, Lreal, Byte, Word, Dword, Char, Array, Struct, DTL,
Time
Địa chỉ nguồn
OUT Đại chỉ đích
MOVE_BLK, UMOVE_BLK
Thông số Kiểu dữ liệu Miêu tả
IN
Sint, Int, Dint, USInt, Uint, UDInt, Real, Lreal, Byte,
Word, Dword
Địa chỉ bắt đầu nguồn
COUNT Uint Số lượng phần tử dữ liệu để sao chép
OUT
Sint, Int, Dint, USInt, Uint, UDInt, Real, Lreal, Byte,
Word, Dword
2.1.7.9 Lệnh Xung
Hình 2. 16. Lệnh xung PWM
➢ Hai máy phát xung có sẵn cho việc điều khiển các hàm ngõ ra xung tốc độ cao: PWM và PTO được sử dụng bằng các lệnh điều khiển chuyển động.
➢ Ta có thể chỉ định mỗi máy phát xung đếm cả PWM hay PTO, nhưng không thể đếm cả hai cùng một lúc.
➢ Hai máy phát xung được sắp xếp để xác định các ngõ ra kiểu số
Bảng 2. 11. Ngõ ra xung
Miêu tả Phân nhiệm ngõ ra mặc định
Xung Lệnh PTO1 CPU tích hợp Q0.0 Q0.1 Bảng tín hiệu Q4.0 Q4.1 PWM1 CPU tích hợp Q0.0 - Bảng tín hiệu Q4.0 - PTO2 CPU tích hợp Q0.2 Q0.3 Bảng tín hiệu Q4.2 Q0.3 PWM2 CPU tích hợp Q0.2 - Bảng tín hiệu Q4.2 -
2.1.7.10 Lệnh điều khiển chuyển động
Hình 2. 17. Các lệnh Motion Control
➢ MC_Power cho phép và vô hiệu một trục điều khiển chuyển động.
➢ MC_MoveVelocity làm cho trục di chuyển với tốc độ xác định.
2.1.8 Ngôn ngữ lập trình S7-1200
Bộ điều khiển PLC S7 – 1200 ứng dụng cho hệ thống nhỏ và vừa, Siemens phát triển và ưu tiên hỗ trợ cho 3 ngôn ngữ lập trình sau:
LADER (LAD): Ngơn ngữ lập trình theo sơ đồ mạch. Đơn giản, dễ hiểu, dễ chỉnh sửa và tiện lợi.
Function Block Diagram (FBD): Ngơn ngữ lập trình theo đại số Boolean. Structure Language Control (SCL): Ngơn ngữ lập trình theo dạng Text, đây là ngơn ngữ lập trình cấp cao sử dụng nền tảng Pascal phát triển.