KHOA KỸ THUẬT VÀ CÔNG NGHỆ
BỘ MÔN ĐIỆN – ĐIỆN TỬ
ĐỀ TÀI: BÁO CÁO HỌC TẬP VỀ PLC MITSHUBISHI FX3U
GVHD : Nguyễn Thanh Tần
NGÀNH: Kỹ Thuật Điều Khiển Và Tự Động Hóa
LỚP
: DA16DTH
TRÀ VINH, THÁNG 04 NĂM 2019
Lời Mở Đầu
Sự tiến bộ của khoa học kỹ thuật và sự phát triển mạnh mẽ của kỹ thuật máy tính
đã cho ra đời các thiết bị điều khiển số như : CNC , PLC ,… Các thiết bị này cho phép
khắc phục được rất nhiều các nhược điểm của hệ thống điều khiển trước đó và đáp ứng
được các yêu cầu kinh tế và kỹ thuật trong sản xuất.
Với sự phát triển của khoa học công nghệ như hiện nay thì việc ứng dụng các thiết bị
logic khả trình PLC để tự động hóa quá trình sản xuất, nhằm mục tiêu tăng năng suất lao
động, giảm sức người, nâng cao chất lượng sản phẩm đang là một vấn đề cấp thiết và có
tính thời sự cao.
Trong quá trình tiền hành làm báo cáo, em và cả nhóm đã cố gắng tham khảo các
tài liệu, tìm hiểu thực tế và trao đổi kiến thức với nhau, nhưng do thời gian và kinh
nghiệm còn hạn chế nên bản báo cáo này không thể tránh khỏi những thiếu sót. Do đó,
em rất mong nhận được những ý kiến đóng góp và nhận xét đánh giá quý báu của các
thầy cô để báo cáo của em được hoàn thiện hơn.
Em xin chân thành cảm ơn sự hướng dẫn tận tình và chu đáo của thầy Nguyễn
Thanh Tần đã giúp đỡ em rất nhiều để em sớm hoàn thiện bài báo cáo này.
Em xin chân thành cảm ơn !
CHƯƠNG 1 : TỔNG QUAN VỀ PLC
I. Giới thiệu chung về PLC
1.1. Định nghĩa
Hình 1.1 : PLC Mitsubishi
1.2. Lịch sử phát triển
- Được phát triển bởi nhóm General Motors vào năm 1968. PLC đáp ứng các tiêu
chí sau:
Lập trình đơn giản
Thay đổi được chương trình mà không can thiệp sâu vào hệ thống
Có kích thước nhỏ, giá thảnh rẻ và dễ điều khiển hơn hệ thống rơle
Đơn giản, chi phí bảo trì thấp
- Sự ra đời của PLC như cuộc cách mạng về công ngiệp điều khiển . Bộ PLC
nhanh chóng phổ biến trong công nghiệp với chức năng ban đầu chỉ là điều khiển on off .
Thay thế hệ thống rơle . Do đó ngôn ngữ lập trình được xây dựng là giản đồ thang
(ladder). Thông qua chương trình được lập trình sẵn trong trong bộ nhớ , PLC thực hiện
nhiệm vụ
1
kết nối tín hiệu vào ra tương ứng sau này PLC còn có thể điều khiển tương tự , số
đếm thời gian,..PLC ngày càng phát triển và áp dụng vào các ngành công nghiệp hiện đại
như robot, cad,..không những thế hiện nay PLC còn phát triển liên kết nối các PLC với
nhau thành một hệ thống điều khiển.tuy ngày càng phát triển nhưng PLC vẫn giữ được
đặc tính chung là đơn giản và điều khiển đễ dàng.
Hinh 1.2: Tủ điều khiển thang máy dùng PLC Mitsubishi
1.3. Ứng dụng của PLC
- Mỗi máy móc có một bộ điều khiển thao kèm. Tùy thuộc vào công sử dụng các
bộ điều khiển được chia thành bộ điều khiển khí nén , thủy lực thông thường 1 bộ điều
khiển thường kết hợp với nhiều công nghệ khác... Có sự phân biệt giữa việc điều khiển
2
nối dây cứng mà viêc nối dây cứng cần một không gian rộng không bị hạn chế. Tuy nhiên
nếu không gian lắp đặt bị hạn chế hoặc người sử dụng có nhu cầu thay đổi thì PLC thích
hợp nhất.
PLC được thiết kế thay cho rơ - le. Nhưng trong nhiều trường hợp không cần thiết
phải dùng PLC, khi nó không cần các tiêu chí ở trên.
Hình 1.3 : PLC S7 – 300, sử dụng cho các ứng dụng vừa và lớn.
3
Hình 1.4 : Ứng dụng của Encoder và bộ đếm tốc độ cao HSC của PLC S7 – 200.
1.4. Cấu trúc cơ bản của PLC
PLC gồm 3 thành phần cơ bản với khối đầu vào , khối xử lí trung tâm và khối đầu
ra . Khối đầu vào có nhiệm vụ chuyển đổi các tín hiệu vào thành các tín hiệu có thể xử lí
bằng PLC rồi đưa chúng đến bộ xử lí trung tâm tại khối đầu ra chuyển đổi tín hiệu từ
PLC sang tín hiệu phù hợp với cơ cấu chấp hành.
1.5. Nguyên tắc hoạt động của PLC
- PLC là mối quan hệ đơn giản giữa các thành phần hệ thống vào ra là sự kết nối
vật lí giữa PLC và các thiết bị được gắn trên các máy sản xuất với các hệ thống điều
khiển . Các thiết bị thường có thể là các thiết bị vào ra tương tự hoặc số , giống như công
tắc hành trình , thiết bị cảm biến áp suất , nhiệt độ,…giao diện vào ra tạo ra sự kết nối
giữa CPU và các thiết bị vào ra , thiết bị cần điều khiển.
- Trong quá trình hoạt động của PLC , CPU thực hiện 3 công việc sau:
Đọc dữ liệu đầu vào: lấy tín hiệu từ các thiết bị thường và lưu vào bộ nhớ
Xử lý và tính toán: thực hiện trương trình được lưu trong bộ nhớ.
Ghi dữ liệu ra đầu ra: xuất các tín hiệu điều khiển ra đầu ra.
4
CHƯƠNG 2 : SƠ LƯỢC VỀ PLC MITSUBISHI
II. Phân loại
- PLC của PLC Mitsubishi được chia làm 2 loại chính là :
Modular ( khối chức năng riêng biệt )
Micro ( tích hợp )
- Đối với loại Micro , cấu tạo bên trong tương đối đơn giản , toàn bộ các bộ phận
như CPU , số lượng nhất định các đầu vào/ra , bộ phận xử lý tín hiệu , bộ nguồn,.. được
tích hợp trên một bảng mạch có kích thước nhỏ gọn . Chính vì vậy nên Micro-PLC có ưu
điểm là giá thành rẻ và dễ lắp đặt.
Hình 2.1 : Micro PLC Mitsubishi FX3s
5
Hình 2.2 : Modular PLC Mitsubishi
III. Các dòng của PLC Mitsubishi
3.1. Dòng FX
CPU
Bộ vi xử lý:
< Tốc độ xử lý: 0,642 - 100 us / lệnh >
Khối nguồn
- Nguồn nuôi AC : 85 - 264VAC, tần số 50-60 Hz
- Nguồn nuôi DC : 5V DC và 24V DC
- Đối với nguồn 5VDC, nguồn cung cấp năng lượng cho CPU và khối mở rộng. vì
điện thế được tạo ra bị giới hạn nên số khối mở rộng có thể kết nối tới PLC cũng bị giới
hạn.
- Đối với nguồn 24VDC có thể sử dụng cho các cổng I/O mở rộng riêng biệt và
cũng có thể dùng cho các phụ kiện như cảm biến và HMIs nhưng không được sử dụng
quá công suất nguồn cung cấp.
Khối bộ nhớ
6
- Dựa vào các loại PLC , chúng ta có 4 loại bộ nhớ: RAM , EPROM , EEPROM
và FLROM.
RAM : là bộ nhớ không duy trì, phải dựa vào bin để giữ chương
trình trong bộ nhớ. Rất dễ để thay đổi chương trình được giữ trong
bộ nhớ RAM.
EPROM : bộ nhớ duy trì, chương trình trong bộ nhớ sẽ không mất đi
nếu không có nguồn nuôi và rất khó để thay đổi chương trình trong
EPROM. Muốn xóa chương trình thì phải có tia tử ngoại.
EEPROM : bộ nhớ duy trì, chương trình trong bộ nhớ cũng không
mất khi không có nguồn nuôi. Dễ dàng để thay đổi đối với EEPROM
vì tín hiệu điện có thể xóa được chương trình trong EEPROM.
FLROM: là bộ nhớ duy trì. FLROM tương tự như EEPROM , có thể
xóa bằng tín hiệu điện và có thể viết lại chương trình nhiều lần . Chỉ
có FX3U dùng FLROM
PLC Type
FX1S
FX1N
FX2N
FX2NC
FX3U
RAM
NO
NO
8k
NO
NO
EPROM
NO
NO
8k
NO
NO
EEPROM
8K w/loader
8K w/loader
4k,8k
4k, 16k, RTC
NO
FLROM
NO
NO
NO
NO
16k,64k,
64k w/loader
Bảng 2.1 : Thống kê chi tiết về các loại bộ nhớ mà các PLC có sẵn
Khối vào/ra
Đầu vào
- Có 2 loại đầu vào:
Đầu vào DC
Đọc dữ liệu nhanh
Thường là 24VDC nhưng FX1N sử dụng 12VDC
Sink và source logic
Đầu vào AC
7
Đọc dữ liệu chậm
Dễ kết nối với các thiết bị AC
Tất cả các đầu vào AC đều ở 120 VA
SINK và SOURCE Logic đề cập đến điện áp cần cấp cho đầu vào để có thể hoạt động.
SINK logic: đầu vào hoạt động khi chân chung S/S được nối với đất và chân chung nối
với nguồn +24V.
SOURCE logic: đầu vào hoạt động khi nối với nguồn +24VDC và chân chung S/S nối
xuống đất.
Đầu ra :
Có 3 loại đầu ra:
Đầu ra Rely:
Đầu ra đóng ngắt bằng cơ khí, đây là loại đầu ra thông thường nhất được sử dụng.
Điều khiển được dòng điện 2 Amps, điện áp 100VAC~240VAC or 30VDC và
dòng điện tối đa là 8 Amps. Mỗi khối chính và khối mở rộng có 4 đầu ra.
- Đầu ra Triac:
Triac là công tắc chuyển mạch trạng thái xoay chiều không tiếp xúc. Khi đầu ra
đang hoạt động thì module kết nối với tải AC source. Tín hiệu đầu ra là 0.3 Amp,
tối đa là 0.8 Amps. Mỗi khối chính và khối mở rộng có 4 đầu ra.
- Đầu ra Transistor:
Đặc điểm chính là đọc dữ liệu nhanh. Transistors là công tắc chuyển trạng thái 1
chiều. Khi đầu ra hoạt động thì module kết nối với tải DC source. Điện áp có thể
đưa ra là 5VDC - 30VDC.
- Trong công nghiệp, các tín hiệu tương tự được chuẩn hóa dưới 2 dạng:
Dòng điện : chuẩn tín hiệu dòng điện : 0mA - 20mA, 4mA-20mA
8
Điện áp : chuẩn tín hiệu điện áp có thể là điện áp lưỡng cực hoặc
đơn cực và có các giá trị: (-5V,+5V); (-10V,+10V); (0V,+5V); (0V,
+10V).
Hình 2.5 : SINK, SOURCE outputs
Khối truyền thông:
Dòng PLC FX hỗ trợ 5 kiểu truyền thông:
- N:N network: Parallel link: Truyền dữ liệu với bộ điều khiển lập trình FX2N, FX2NC,
FX1N, FX and FX2C có thể thực hiện trên cơ sở 1:1 với 100 relay phụ với 10 thanh ghi
dữ liệu. Còn việc truyền dữ liệu của FX1S và FX0N được thực hiện với 50 rơ le phụ trợ
và 10 thanh ghi dữ liệu.
- Computer link: Việc truyền dữ liệu với cổng RS-485 (RS-422) có thể thực hiện trên cơ
sở 1:n (16) sử dụng giao thức truyền thông riêng.
- No Protocol cummunication: Giao tiếp dữ liệu với một đơn vị RS-232C đa dạng bao
gồm máy tính cá nhân, máy đọc mã vạch và máy in có thể được thực hiện không sử dụng
giao thức truyền thông. Với FX3U có thể dùng cáp SC90 để kết nối củng RS232 với
RS422.
- Optional programming port: Cổng này có thể hỗ trợ giao thức lập trình nếu kết nối với
FX2N-232-BD, FX0N-232ADP, FX2NC-232ADP, FX1N-232-BD, FX2N-422-BD và
FX1N-422-BD cho FX2N, FX2NC, FX1N.
9
3.2. Dòng Q
CPU
- Tốc độ xử lý hoạt động cơ bản: 1,9 ns
- Tốc độ quét chương trình: 100 us
Bộ nhớ
Có thể mở rộng bộ nhớ RAM đến 8MB, có thể dùng đồng thời với thẻ nhớ SD.
Khối vào/ra
Inputs
- Đầu vào DC: 5VDC, 5/12VDC và 24 VDC
- Đầu vào AC: 100-120 VAC
- Đầu vào DC/AC: 48 DC/AC
Outputs
- Contact output : 24VDC, 240VAC
- Triac output : 100-240 VAC
- Transistor output : 5-12 VDC, 5-24 VDC, 12-24 VDC
Khối truyển thông
- Truyền dữ liệu thông qua internet, CC-link IE và CC-link cho phép dễ dàng truy cập
thông tin dù ở đâu trên mạng. Thông qua công nghệ này có thể " khoan" từ lớp
enterprise hoặc IT thông qua nhiều mạng truy cập vào bộ điều khiển chương trình GX
works2 hoặc các phần mềm liên quan khác.
IV. Các ngôn ngữ lập trình cho PLC Mitsubishi
Ngôn ngữ lập trình là môi trường giao tiếp giữa người và máy.
10
4.1. Ngôn ngữ Ladder
Ngôn ngữ lập trình giản đồ thang Ladder Diagram (LD) được người Mỹ đưa ra từ mấy
thế kỷ trước để thay thế điều khiển rơ le và là ngôn ngữ lập trình PLC phổ biến nhất hiện
nay .Ngôn ngữ này được chấp nhận rộng rãi khắp nơi trên thế giới , hầu hết người lập
trình điều khiển sử dụng PLC đểu có thể hiểu và sử dụng . Các thành phần chính trong
ngôn ngữ gồm có :
Hai thanh nguồn (Power rails) thẳng đứng bên trái và bên phải , nơi mà nguồn chạy vào
và ra .Trạng thái trong thanh trái được coi là ON tại mọi thời điểm . Riêng thanh bên phải
có thể hiện hoặc ẩn.
Các tiếp điểm (Contacts) đại diện cho các biến logic , có hai loại tiếp điểm thường mở
(Normally Open) vàthường đóng (Normally Closed).
Cuộn dây (Coils) đại diện cho biến đầu ra.
Hình 3.1 :
ladder
Ngôn ngữ
giống
như
ngôn ngữ
Ladder
mạch
điện
rơle :
-
Các tiếp điểm nằm nối tiếp theo các nhánh đại diện cho pháp toán logic VÀ.
-
Các nhánh rẽ xuống đại diện cho phép toán logic HOẶC.
-
Trong ngôn ngữ LD cũng có thể tạo ra mạch phản hồi nhờ cách để tên biến tiếp
điểm trùng với tên biến đầu ra.
11
Hình 3.2 : Tạo ra tín hiệu phản hồi trong ngôn ngữ LD
Một số qui định cách vẽ và ký hiệu của các tiếp điểm và cuộn dây trong ngôn ngữ LD
STT Tên
1
Ký hiệu
Ý nghĩa
Tiếp
điểm
thường
hở
Tiếp
điểm
thường
kín
Tiếp
điểm
sườn lên
Tiếp
điểm
sườn
xuống
Cuộn
dây
Cuộn
dây đảo
Khi biến có giá trị bằng 1 thì tiếp điểm sẽ đóng
lại.
7
Cuộn
dây SET
Trạng thái của biến tương ứng được set lên ON
khhi trạng thái ON ở phía trước và duy trì trạng
thái này cho đến khi được reset bằng cuộn
RESET.
8
Cuộn
dây
RESET
Trạng thái của biến tương ứng được reset xuống
OFF khi có trạng thái ON phía trước
2
3
4
5
6
Khi biến có giá trị bằng 0 thì tiếp điểm này sẽ
đóng lại
Khi biến có giá trị bằng 1 thì tiếp điểm này sẽ mở
ra
Phát hiện trạng thái của biến thay đổi từ 0 lên 1 và
sẽ cho giá trị 1 tại thời điểm đó. Còn các thời
điểm khác là 0.
Phát hiện trạng thái của biến thay đổi từ 1 xuống
0 và sẽ cho giá trị 1 tại thời điểm đó. Còn các
thười điểm khác là 0.
Trạng thái của biến tương ứng với trạng thái bên
trái cuộn dây.
Trạng thái của biến tương ứng với nghịch đảo
trạng thái bên trái cuộn dây
Ưu điểm và nhược điểm của ngôn ngữ Ladder:
Ưu điểm:
Dễ lập trình, diễn đạt bằng hình ảnh,
Đơn giản, dễ hiểu, giống sơ đồ mạch điện rơle.
12
Dễ bảo dưỡng, dễ dàng phát hiện ra lỗi, có khả năng chuẩn đoán lỗi online,
từ đó định vị lỗi logic hoặc lỗi thiết bị.
Nhược điểm:
Ít sử dụng trong các hệ thống lớn do bộc lộ nhiều mặt hạn chế về mặt cấu
trúc và tính sử dụng lại.
Không có khả năng module hóa, không thể phân chia nhiều người lập trình.
Hạn chế với những kiểu dữ liệu có cấu trúc.
Trong ứng dụng có chuỗi trạng thái, cồng kềnh khó hiểu, khó bảo dưỡng.
4.2. Ngôn ngữ Function Block Diagram ( FBD )
Ngôn ngữ lập trình biểu đồ khối chức năng Funcition Block Diagram (FBD) được
ứng dụng rộng rãi và cũng có dạng đồ họa . Các khối chức năng được nối với nhau thành
một chuỗi rất dễ dàng theo dõi giống như mạch điện tử tương tự.
a. Các khối chức năng trong ngôn ngữ FBD
Các khối chức năng Function Block (FB) là phần tử cơ sở của ngôn ngữ FBD . Một
khối chức năng có thể chưa các phép logic đơngiản, các Timer, Counter, R_Trig… hay
cũng có thể cung cấp một chức năng điều khiển phức tạp có một quá trình như các bộ
PID. Tất cả các FB đều có một thuật toán riêng , tính toán các giá trị đầu ra , dựa trên
trạng thái đầu vào.
Hình 3.3 : Các
của FB
Dòng tín hiệu
khối chức năng
trong ngôn ngữ
FBD
Trong
ngôn ngữ FBD các
tín hiệu “ chạy ” từ đầu ra của khối chức năng này đến đầu vào của các khối chức năng
khác. Đầu ra của các FB được cập nhật kết quả từ các tính toán của FB do đó dựa trên các
tham số vào. Mọi thay đổi trạng thái tín hiệu và các giá trị được truyền từ trái qua phải
hay dòng tín hiệu trong FBD chạy từ trái qua phải.
13
Ưu điểm và nhược điểm của ngôn ngữ FBD
Ưu điểm :
FBD cóthể so sánh với các mạch IC trong các thiết bị máy tính và điện tử.
Giống như IC , các FB có thể cung cấp giải pháp chuẩn cho các chức năng
điều khiển chung.
Ưu thế trong các ứng dụng các chức năng logic và điều khiển phản hồi.
Dễ dàng sử dụng các Timer , counter hơn các ngôn ngữ còn lại.
Phù hợp với các hệ thống điều khiển tương tự có phản hồi như các vòng điều
chỉnh dùng các bộ điều khiển PID.
Nhược điểm :
Hỗ trợ kém khi có một hay nhiều hành động lặp lại trong một khoảng thời
gian định trước hay một điều kiện nhất định thỏa mãn.
4.3. Ngôn ngữ Instruction List (IL)
Ngôn ngữ lập trình Instruction List (IL) giống ngôn ngữ Assembler lập trình cho
vi xử lý, với nhiều hàng câu lệnh mà mỗi câu lệnh thể hiện cho một hoạt động.
Nếu viết theo chuẩn IEC hoàn toàn thì việc chuyển phần mềm dùng cho các phần
cứng khác dễ dàng. Do là ngôn ngữ bậc thấp gần ngôn ngữ máy nên chương trình
viết bằng IL sẽ giúp bộ điều khiển thực thi nhanh hơn , hơn nữa chương trình gọn
nhẹ chiếm ít bộ nhớ . Tuy nhiên với dung lượng bộ nhớ hiện nay cũng như tốc độ
xử lí thiết bị khả tình lớn nên ưu điểm trên cũng không bù lại nhược điểm của nó
là gây khó khăn cho người lập trình vì xét vế mặt trực quan nó rất khó hiểu so với
các ngôn ngữ đồ họa . Bên cạnh đó lập trình với IL là một công việc nhàm chán
đối với một số người.
Một chương trình viết bằng ngôn ngữ IL gồm các chuỗi câu lệnh, mỗi câu lệnh
trên 1 dòng. Mỗi câu lệnh gồm : 1 toán tử (operator) và một hay nhiều toán hạng
(operand). Toán hạng là đối tượng của toán tử và đại diện cho các biến hoặc hằng.
Các chú thích của từng câu lệnh được đặt trong (..*) và không ảnh hưởng đến
14
chương trình. Khi sử dụng hàm và khối chức năng trong IL phải dùng các từ khóa
tương ứng của chúng.
Hình 3.4 : Đoạn chương trình viết bằng ngôn ngữ IL
Ưu điểm của ngôn ngữ IL:
IL thích hợp cho các ứng dụng nhỏ. Với những người lập trình có kinh
nghiệm, đây là công cụ hiệu quả để tạo ra những ứng dụng tối ưu về tốc độ
thực thi.
IL là công cụ ngôn ngữ tối ưu cho chất lượng vận hành hệ thống.
Các chương trình viết bằng ngôn ngữ IL có thể được modul hóa và tái sử
dụng.
Nhược điểm của ngôn ngữ IL:
Ngôn ngữ có cấu trúc kém
Là ngôn ngữ bậc thấp, khó theo dõi, khó bảo dưỡng. Cần rất chú ý khi thiết
kế cấu trúc chương trình, đặc biệt là việc chú thích cho các lệnh nhảy.
Thanh ghi chỉ có duy nhất một giá trị tại một thời điểm, rât khó làm việc với
các dữ liệu có cấu trúc.
Hầu hết các trình biên dịch đều không có các hàm tự động kiểm tra giá trị
trên thanh ghi có phù hợp với câu lệnh thực thì không.
15
Phụ thuộc nhiều vào hoạt động của phần cứng dẫn đến khó chuẩn hóa: các
hệ thống khác nhau có đáp ứng khác nhau khi người lập trình sử dụng kiểu
dữ liệu không phù hợp, lỗi thường được phát hiện chỉ khi chạy ứng dụng.
Dưới đây là một số ký hiệu thường gặp trong ngôn ngữ ngữ Ladder sử dụng cho
Mitsubitshi
Thứ tự
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Toán tử
LD
ST
S
R
AND
&
OR
XOR
NOT
ADD
SUB
MUL
DIV
MOD
GT
GE
EQ
NE
LE
LT
JMP
CAL
RET
Ý nghĩa
Đặt giá trị hiện tại cho toán hạng , nghịch đảo là
LDN
Đưa giá trị hiện tại tới địa chỉ toán hạng
Đặt toán hạng loại logic lên 1
Đặt lại logic 0 cho toán hạng
Logic AND, nghịch đảo là ANDN
Logic AND
Logic OR, nghịch đảo là ORN
Hoặc loại trừ
Logic nghịch đảo
Cộng
Trừ
Nhân
Chia
Phép chia lấy dư
So sánh lớn hơn
So sánh lớn hơn hoặc bằng
So sánh bằng
So sánh khác nhau
So sánh nhỏ hơn hoặc bằng
So sánh nhỏ hơn
Nhảy tới nhãn
Gọi khối chức năng
Trở về từ gọi hàm , khối chức năng hay chương
trình
4.4. Ngôn ngữ Structure Text (ST)
- Structure Text là ngôn ngữ bậc cao tương tự Pascal hay C+ đặc trưng của ngôn
ngữ ST là các câu lệnh, các câu lệnh được ngăn cách với nhau bỏi dấu chấm phẩy “;”
16
còn các toán tử và các toán hạng được ngăn cách với nhau bởi dấu cách “ “. Theo
chuẩn IEC61131-3 thì ngôn ngữ ST cung cấp 5 loại câu lệnh chính:
Lệnh gán: biến := giá trị
Kiểu lệnh lựa chọn: IF, THEN, CASE, ELSE
Lệnh vòng lặp: WHILE, REPEAT, FOR
Hàm và các khối hàm: function và function block
Các lệnh điều khiển: RETURN, EXIT
Lệnh gán
Được sử dụng để gán giá trị cho biến hoặc biểu thức.
Cấu trúc:
X :=Y
(*X và Y có cùng kiểu dữ liệu*)
Ví dụ:
Rate := 13.1; (*Gán giá trị hằng số cho biến*)
Count := Count +1; (*Gán giá trị cho biến bằng một biểu thức*)
AL := LOG(Rate); (*Gán giá trị cho biến bằng một hàm chức năng*)
Alarm1.Time := RTC.CDT; (*Giá trị được gán lấy từ đầu ra một hàm*)
Lệnh điều kiện IF... THEN
Trên cơ sở giá trị trả về của biểu thức điều kiện, các câu lệnh bên trong biểu thức IF…
THEN sẽ được thực hiện.
Cấu trúc :
Dạng 1:
IF THEN
END_IF;
Dạng 2:
IF THEN
17
ELSE
END_IF;
Lệnh điều kiện CASE…OF
Câu lệnh CASE được sử dụng khi các điều kiện có tính chất liệt kê, ví dụ:
Case speed of:
Stop: rate:= 0.0; (*Nếu speed bằng stop sẽ gán rate bằng 0*)
Slow: rate:= 20.4; (*Nếu speed bằng stop sẽ gán rate bằng 20.4*)
Else
Rate:= 0; (*Các trường hợp còn lại rate bằng 0*)
End_case;
Lệnh vòng lặp FOR
Lệnh For được sử dụng khi số vòng lặp là hữu hạn. Cấu trúc lệnh For như sau:
FOR
TO
BY DO
END_FOR;
Ví dụ:
Count:= 0;
FOR i:=1 TO 10 DO (*cho i chạy từ 1 đến 10*)
Count:= count + i; (*gán count= count +1*)
END_FOR;
Lệnh vòng lặp WHILE
Lệnh While được sử dụng khi số vòng lặp không xác định trước, nhưng điều kiện
kết thúc thì xác định.
Cấu trúc:
WHILE <điều kiện> DO
18
- Xem thêm -