Các tập lệnh cơ bản của PLC S7 1200

No Comments
  1. Các tập lệnh cơ bản

a) Các bít logic

  • Các tiếp điểm ladder (LAD)
Tiếp điểm NO và NC của tập lệnh

Tiếp điểm NO và NC của tập lệnh

Ta có thể kết nối các tiếp điểm với nhau và tạo ra mạch logic kết nối. Nếu bit ngõ vào mà ta chỉ rõ sử dụng bộ định danh I (ngõ vào) hay Q (ngõ ra), giá trị bit sẽ được đọc từ một thanh ghi ảnh tiến trình. Các tín hiệu tiếp điểm vật lý trong tiến trình điều khiển được nối đến các đầu cực I trên PLC. CPU quét các tín hiệu ngõ vào được nối và cập nhật liên tục các giá trị tương ứng trong thanh ghi ngõ vào ảnh tiến trình.

Bảng 1: Thông số tiếp điểm NO và NC

Thông số Kiểu dữ liệu Miêu tả
IN Bool Bit được gán giá trị

Tiếp điểm thường hở NO (Normally Open) được đóng lại (ON) khi giá trị bit được gán bằng 1.

Tiếp điểm thường đóng NC (Normally Closed) được đóng lại (ON) khi giá trị bit được gán bằng 0.

Các tiếp điểm được nối nối tiếp sẽ tạo ra mạch logic AND.

Các tiếp điểm được nối song song sẽ tạo ra mạch logic OR.

  • Cuộn dây ngõ ra
Tiếp điểm ngõ ra của tập lệnh

Tiếp điểm ngõ ra của tập lệnh

Lệnh xuất cuộn dây sẽ ghi một giá trị cho một bit ngõ ra. Nếu bit ngõ ra ta chỉ ra sử dụng định danh bộ nhớ Q, thì sau đó CPU sẽ chuyển bit ngõ ra trong thanh ghi ảnh tiến trình về ON hoặc OFF, thiết lập giá trị bit được gán bằng với trạng thái luồng tín hiệu. Các tín hiệu ngõ ra cho cơ cấu điều khiển được nối đến các đầu cực Q của S7 – 1200.

Trong chế độ RUN, hệ thống CPU quét một cách liên tục các tín hiệu ngõ vào, xử lý các trạng thái ngõ vào theo chương trình logic, và sau đó tác động trở lại bằng cách thiết lập các giá trị trạng thái ngõ ra mới trong thanh ghi ngõ ra ảnh tiến trình. Sau mỗi chu trình thực thi chương trình, hệ thống CPU chuyển phản ứng trạng thái ngõ ra mới được lưu trữ trong thanh ghi ảnh tiến trình đến các đầu cực nối dây ngõ ra.

Bảng 2: Thông số ngõ ra Q

Thông số Kiểu dữ liệu Miêu tả
OUT Bool Bit được gán giá trị

Nếu có luồng tín hiệu chạy qua một cuộn dây ngõ ra, bit ngõ ra được đặt lên 1.

Nếu không có luồng tín hiệu chạy qua một cuộn dây ngõ ra, bit ngõ ra được đặt về 0.

Nếu có luồng tín hiệu chạy qua một cuộn dây ngõ ra đảo, bit ngõ ra được đặt về 0.

Nếu không có luồng tín hiệu chạy qua một cuộn dây ngõ ra đảo, bit ngõ ra được đặt lên 1.

b) Các lệnh Set và Reset

Khối Set và Reset

Khối Set và Reset

Chức năng của các chân trong lệnh Set và Reset được mô tả trong bảng bên dưới như sau:

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

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.

Những lệnh này có thể được đặt tại bất cứ vị trí nào trong mạch.

c) Các bộ định thời

Ta sử dụng các lệnh định thì để tạo ra các trì hoãn thời gian được lập trình.

  • TP :
Khối định thời TP và dãn đồ xung

Khối định thời TP và dãn đồ xung

Ngõ ra của bộ định thì ON – delay Q được đặt lên ON sau một sự trì hoãn thời gian đặt trước.

  • TOF:
Khối định thời TOF và dãn đồ xung

Khối định thời TOF và dãn đồ xung

Ngõ ra Q của bộ định thì OFF – delay được đặt lại về OFF sau một sự  trì hoãn thời gian đặt trước.

  • TONR:
Khối định thời TONR và dãn đồ xung

Khối định thời TONR và dãn đồ xung

Ngõ ra bộ định thì có khả năng nhớ ON – delay được đặt lên ON sau một trì hoã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.

d) Các bộ đếm

Ta sử dụng các lệnh bộ đếm để đếm các sự kiện chương trình bên trong và các sự kiện xử lý bên ngoài:

Bảng 4: Chức năng các chân của bộ đếm

Thông số Kiểu dữ liệu Miêu tả
CU, CD Bool Đếm lên hay đếm xuống, bởi một lần đếm
R Bool Đặt lại giá trị đếm về 0
LOAD Bool Nạp điều khiển cho giá trị đặt trước
PV Int,DInt,USInt Giá trị đếm đặt trước
Q, QU Bool Đúng nếu CV >= PV
QD Bool Đúng nếu CV <= 0
CV Int,DInt,USInt, Giá trị đếm hiện thời
  • CTU: bộ đếm đếm lên
Khối đếm lên CTU và dãn đồ xung

Khối đếm lên CTU và dãn đồ xung

CTU đếm lên 1 đơn vị khi giá trị của thông số CU thay đổi từ 0 lên 1. Nếu giá trị của thông số CV (Current count value – giá trị đếm hiện thời) lớn hơn hoặc bằng giá trị thông số PV (Preset count value – giá trị đếm đặt trước) thì thông số ngõ ra của bộ đếm Q = 1.

Nếu giá trị của thông số đặt lại R thay đổi từ 0 lên 1, giá trị đếm hiện thời được xóa về 0. Hình dưới đây thể hiện một giản đồ định thì CTU với một giá trị đếm là số nguyên không dấu (với PV = 3).

  • CTD: Bộ đếm xuống
Khối đếm xuống CTD và dãn đồ xung

Khối đếm xuống CTD và dãn đồ xung

CTD đếm xuống 1 đơn vị khi giá trị của thông số CD thay đổi từ 0 lên 1.

Nếu giá trị của thông số CV (Current count value – giá trị đếm hiện thời) nhỏ hơn hoặc bằng 0 thì thông số ngõ ra của bộ đếm Q = 1.

Nếu giá trị của thông số LOAD thay đổi từ 0 lên 1, giá trị tại thông số PV (Preset count value – giá trị đặt trước) được nạp đến bộ đếm như một giá trị CV mới. Hình dưới đây thể hiện một giản đồ định thì CTD với một giá trị đếm là số nguyên không dấu (với PV = 3).

  • CTUD: bộ đếm đếm lên và xuống.
Khối đếm lên xuống CTUD và dãn đồ xung

Khối đếm lên xuống CTUD và dãn đồ xung

CTUD đếm lên hay xuống 1 đơn vị theo sự quá độ từ 0 lên 1 của ngõ vào đếm lên (Count up – CU) hay đếm xuống (Count down – CD).

Nếu giá trị của thông số CV (giá trị đếm hiện thời) lớn hơn hoặc bằng giá trị thông số PV (giá trị đếm đặt trước) thì thông số ngõ ra của bộ đếm QU = 1.

Nếu giá trị của thông số CV nhỏ hơn hay bằng 0, thông số ngõ ra của bộ đếm QD = 1.

Nếu giá trị của thông số LOAD thay đổi từ 0 lên 1, giá trị tại thông số PV được nạp đến bộ đếm như một giá trị CV mới.

Nếu giá trị của thông số đặt lại R thay đổi từ 0 lên 1, giá trị đếm hiện thời sẽ được xóa về 0.

d) Lệnh đếm xung tốc độ cao

  • Lệnh CTRL_HSC điều khiển các bộ đếm tốc độ cao được sử dụng để đếm các sự kiện xuất hiện nhanh hơn tốc độ thực thi OB. Tốc độ đếm của các lệnh bộ đếm CTU, CTD và CTUD bị giới hạn bởi tốc độ thực thi của OB mà chúng được chứa trong đó.
  • Một ứng dụng thông dụng của các bộ đếm tốc độ cao là đếm các xung được sinh ra bởi một máy phát xung có trục điều khiển chuyển động.
Thông số Kiểu thông số Kiểu dữ liệu Miêu tả
HSC IN HW_HSC Bộ định danh HSC
DIR IN Bool yêu cầu hướng đếm mới
CV IN Bool yêu cầu đặt một giá trị đếm mới
RV IN Bool yêu cầu một giá trị tham chiếu mới
PERIOD IN Bool yêu cầu đặt một giá trị chu kỳ mới (chỉ dành cho chế độ đo tần số)
NEW_DIR IN Int Hướng đếm mới:1 = tiến, – 1 = lùi
NEW_CV IN Dint Giá trị đếm mới
NEW_RV IN Dint Giá trị tham chiếu mới

e) Lệnh so sánh

Khối lệnh so sánh

Khối lệnh só sánh

Chức năng của từng chân được thể hiện trong bảng bên dưới:

Bảng 6: Thông số của bộ so sánh

Thông số            Kiểu dữ liệu Miêu tả
IN1, IN2 SInt, Int, Dint, USInt, UInt, UDInt, Real,LReal, String, Char, Time, DTL, Constant Các giá trị để so sánh

Các kí hiệu các phép toán học được biểu dưới ở bảng dưới đây:

Bảng 7: Các ký hiệu của khối toán học

Kiểu quan hệ Sự so sánh là đú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
  • 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. Khi việc so sánh tiếp điểm LAD là “TRUE”, tiếp điểm này được kích hoạt.
  • Sau khi nhấp chuột lên lệnh trong trình soạn thảo chương trình, ta có thể lựa chọn kiểu so sánh và kiểu dữ liệu từ các trình đơn thả xuống.

f) Các lệnh toán học

Khối lệnh toán học ADD và SUB

Khối lệnh toán học ADD và SUB

Bảng 8: Các ký hiệu của khối toán học

Thông số                    Kiểu dữ liệu        Miêu tả
IN1, IN2 SInt, Int, DInt, UInt, UDInt, Real, LReal, Constant Các ngõ vào phép toán
OUT SInt, Int, DInt, UInt, UDInt, Real, LReal Ngõ ra phép toán
  • Ta sử dụng một lệnh hộp phép toá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)
  • DIV : phép chia  (IN1 / IN2   = OUT)
  • Khi được cho phép (EN = 1), lệnh phép toán thực hiện hoạt động được định rõ trên các giá trị ngõ vào (IN1 và IN2) và lưu trữ kết quả trong địa chỉ nhớ được xác định bởi thông số ngõ ra (OUT). Sau một sự hoàn tất thành công phép toán, lệnh sẽ đặt ENO = 1.
  • Các thông số lệnh phép toán cơ bản IN1, IN2 và OUT phải có kiểu dữ liệu giốn.

g) Các lệnh di chuyển dữ liệu

Khối lệnh di chuyển dữ liệu

Khối lệnh di chuyển dữ liệu

Thông số chức năng các chân của khối được trình bày ở bảng sau:

Bảng 9: Thông số khối lệnh di chuyển dữ liệu

                                                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 SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord, Char, Array, Struct, DTL, Time. Địa chỉ đích

 

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 quá 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.

h) Lệnh chuyển đổi

Khối lệnh chuyển đổi

Khối lệnh chuyển đổi

Thông số chức năng các chân của khối được trình bày ở bảng sau:

Bảng 10: Thông số khối lệnh chuyển đổi

Thông số Kiểu dữ liệu Miêu tả
IN SInt, Int, DInt, USInt, UInt, UDInt, Byte,Word, DWord, Real, LReal, BCD16, BCD32 Giá trị IN
OUT SInt, Int, DInt, USInt, UInt, UDInt, Byte,Word, DWord, Real, LReal, BCD16, BCD32 Giá trị IN được chuyển đổi sang một kiểu dữ liệu mới

 

  • Ta sử dụng lệnh CONVERT để chuyển đổi một phần tử dữ liệu từ một kiểu dữ liệu này sang một kiểu dữ liệu khác.
  • Sau khi ta lựa chọn kiểu dữ liệu để chuyển đổi, một danh sách những sự chuyển đổi có khả năng sẽ được cho thấy trong danh sách thả xuống chuyển đổi đến. Những sự chuyển đổi từ/đến BCD16 bị hạn chế đối với kiểu dữ liệu Int. Những sự chuyển đổi từ/đến BCD32 bị hạn chế đối với kiểu dữ liệu DInt.

i) Lệnh chia tỉ lệ và chuẩn hóa

Khối lệnh chia tỉ lệ và chuẩn hóa

Khối lệnh chia tỉ lệ và chuẩn hóa

Đối với lệnh NORM_X, các thông số MIN, VALUE và MAX phải là kiểu dữ liệu giống nhau.

Bảng 11: Thông số khối lệnh chia tỉ lệ

Thông số Kiểu dữ liệu Miêu tả
MIN SInt, Int, DInt, USInt, UInt, UDInt, Real Giá trị cực tiểu ngõ vào của phạm vi
 

VALUE

SCALE_X: Real

NORM_X: SInt, Int, DInt, USInt, UInt, UDInt, Real

Giá trị ngõ vào để định tỷ lệ hay chuẩn hóa
MAX SInt, Int, DInt, USInt, UInt, UDInt, Real Giá trị cực đại ngõ vào của phạm vi
 

OUT

SCALE_X: Real

NORM_X: SInt, Int, DInt, USInt, UInt, UDInt, Real

 

Giá trị ngõ ra đã được định tỷ lệ hay được chuẩn hóa

 

  • Lệnh SCALE_X định tỷ lệ của thông số số thực được chuẩn hóa VALUE, với (0,0 <= VALUE <= 1,0) thành kiểu dữ liệu và phạm vi giá trị được xác định bởi các thông số MIN và MAX:

OUT = VALUE (MAX – MIN) + MIN

  • Lệnh NORM_X làm chuẩn hóa thông số VALUE bên trong phạm vi giá trị được xác định bởi các thông số MIN và MAX:

OUT = (VALUE – MIN) / (MAX – MIN) với (0,0 <= OUT <= 1,0).

About us and this blog

Hiện nay, chúng tôi – Công ty Cổ phần Kỹ Thuật Tự Động Song Nguyên (gọi tắt là Song Nguyên) biết được rằng có đa dạng dòng biến tần và các sản phẩm cho ngành tự động hóa đến từ nhiều thương hiệu trên thế giới và có những thương hiệu đang phổ biến ở Việt Nam. Xuất phát từ ý tưởng nhằm giúp Quý độc giả với nhu cầu về biến tần, đưa ra được lựa chọn phù hợp trong sản xuất, trong kinh doanh và có thông tin trong học tập, trang web bientanvn.com được thiết lập.

Subscribe to our newsletter!

More from our blog

See all posts

Leave a Comment