Professional Documents
Culture Documents
Bit Logic Operations
Bit Logic Operations
Timer operations
• TP: Generate pulse (S7-1200, S7-1500)
• TON: Generate on-delay (S7-1200, S7-1500)
Counter operations
• CTU: Count up (S7-1200, S7-1500)
Comparator operations
• CMP ==: Equal (S7-1200, S7-1500)
Math functions
• CALCULATE: Calculate (S7-1200, S7-1500)
Move operations
• MOVE: Move value (S7-1200, S7-1500)
• SCATTER: Parse the bit sequence into individual bits (S7-1200, S7-1500)
• ARRAY DB (S7-1500)
Conversion operations
• CONVERT: Convert value (S7-1200, S7-1500)
• CEIL: Generate next higher integer from floating-point number (S7-1200, S7-1500)
• FLOOR: Generate next lower integer from floating-point number (S7-1200, S7-
1500)
String + Char
• S_MOVE: Move character string (S7-1200, S7-1500)
PROFIenergy
• Description of PROFIenergy (S7-1200, S7-1500)
Interrupts
• ATTACH: Attach an OB to an interrupt event (S7-1200, S7-1500)
Alarms
• Gen_UsrMsg: Generate user diagnostic alarms (S7-1200, S7-1500)
Diagnostics
• RD_SINFO: Read current OB start information (S7-1200, S7-1500)
• GetSMCinfo: Reading out information about the SIMATIC memory card (S7-1500)
Pulse
• CTRL_PWM: Pulse-width modulation (S7-1200)
• CTRL_PTO: Output a pulse sequence with a preset frequency (S7-1200)
• READ_DBL: Read from data block in the load memory (S7-1200, S7-1500)
Addressing
• Instructions for address conversion (S7-1200, S7-1500)
• LOG2MOD: Determine the hardware identifier from addressing of STEP 7 V5.5 SPx
(S7-1500)
Motion Control
S7-1200 Motion Control (S7-1200)
High-speed counters
CTRL_HSC: Control high-speed counters (S7-1200)
PID Control
• PID_Compact (S7-1200, S7-1500)
Communication
• S7 communication (S7-1200, S7-1500)
• OPC UA (S7-1500)
• TeleService (S7-1200)
Hướng dẫn lệnh lập trình timer định thời plc siemens
s7-1200
Bài viết này thuộc khóa học lập trình plc Siemens online miễn phí của abientan, mời
các bạn tham khảo chi tiết tại:
khóa học lập trình plc siemens s7-1200 online miễn phí
Tìm hiểu cơ bản về timer định thời trên plc
siemens s7-1200
Trong quá trình lập trình plc siemens s7-1200 chạy cho máy móc thực tế thường đòi
hỏi chúng ta phải xử lý thao tác liên quan tới thời gian như delay tín hiệu hoặc out ngõ
ra. Vì vậy mà ta cần phải năm về cách sử dụng timer định thời khi viết code cho plc
siemens s7-1200, mời các bạn cùng abientan tìm hiểu qua bài viết sau đây.
Ví dụ tiêu biểu nhất trong quá trình lập trình plc bắt buộc chúng ta phải sử dụng timer
đó chính là bài toán lập trình cột đèn giao thông xanh đỏ vàng. Người viết chương
trình plc bắt buộc phải dùng timer định thời để lập trình đúng thời gian bật và tắt lần
lượt đèn xanh đỏ vàng.
Chức năng khi ngõ vào timer có xung cạnh lên thì ngõ ra Q của timer này sẽ
out ra trong 1 khoảng thời gian cài đặt ở giá trị PT. Còn ET là thời gian của
bộ đếm.
Theo như ví dụ trên khi M0.0 chuyển từ 0=>1 thì Q0.0 sẽ ON trong
10,000ms sau đó tự tắt.
Timer on delay trên plc siemens s7-1200
Timer On delay trên plc siemens s7-1200
Chức năng khi ngõ vào IN lên 1 thì ngõ ra Q sẽ delay một khoảng thời gian
cài đặt ở PT sau đó lên 1, khi ngõ vào IN xuống 0 thì ngõ ra Q lập tức xuống
0.
Ví dụ như hình trên thì khi M0.0 từ 0=>1 thì timer sẽ đếm cho đủ 10s sau đó
bật Q0.0 lên 1.
Timer off delay trên plc siemens s7-1200
Chức năng khi ngõ vào IN chuyển từ 1=>0 thì timer sẽ đếm sau khoảng thời
gian cài đặt ở PT thì sẽ chuyển Q từ 1=>0. Còn nếu ngõ vào từ 0=>1 thì ngõ
ra Q chuyển lập tức từ 0=>1
Như ví dụ trên khi M0.00 từ 1=>1 thì sau 10s Q0.0 sẽ từ 1=>0
Timer on delay có nhớ trên plc siemens s7-1200
Timer on delay có nhớ trên plc siemens s7-1200
Chức năng: tương tự như timer on delay tuy nhiên khi ngõ IN chuyển xuống
0 thì giá trị timer vẫn giữ và khi IN lên 1 thì tiếp tục đếm từ giá trị này. Lệnh
này có thêm ngõ vào R để reset timer.
Mô tả ví dụ: khi M0.0 chuyển từ 0=>1 thì timer bắt đầu đếm cho đủ 10s sau
đó ON Q0.0. Nếu trong quá trình chưa đủ 10s mà M0.0 bị chuyển về 0 thì
giá trị timer lưu lại và để lần sau đếm tiếp.
Lưu ý: khi sử dụng timer các bạn cần phải tham khảo giới hạn bộ nhớ trong từng cpu
để không sử dụng quá giới hạn bộ nhớ timer.
Khi viết chương trình cho plc siemens s7-1200 có nhiều trường hợp ta cần đếm số
lượng một thao tác nào đó từ cảm biến bên ngoài hoặc bit phụ trên plc thì thường ta
phải sử dụng đến khối hàm chức năng có tên gọi là counter hay bộ đếm do hãng tích
hợp sẵn trong tập lệnh của CPU.
Trên plc siemens s7-1200 có sẵn 3 lệnh counter bộ đếm với sự khác nhau như tên gọi
của chúng là counter đếm lên, counter đếm xuống, counter vừa đếm lên, vừa đếm
xuống.
Lưu ý: đây là counter bộ đếm thường nên tốc độ đếm xung đầu vào khá thấp nên chỉ
đếm những tín hiệu ngõ vào có tốc độ thấp, nếu cấp xung tốc độ cao vào bộ đếm này
sẽ không còn chính xác. Để đếm các tín hiệu xung tốc độ cao thì các bạn tham khảo
bài tiếp theo trong khóa học này về HSC.
CU là ngõ vào của bộ đếm có thể là dữ liệu dạng bit bất kỳ, counter sẽ đếm
lên khi tín hiệu ngõ vào chuyển từ 0=>1
CD là ngõ vào tín hiệu, counter sẽ đếm xuống khi tín hiệu này từ 0=>1
LD là bit reset bộ đếm, khi bit này từ 0=>1 thì giá trị của bộ đếm sẽ bị
chuyển về giá trị PV
PV là giá trị cài đặt của bộ đếm
Q là ngõ ra của bộ đếm khi đếm về giá trị 0 sẽ out ra 1.
CV là giá trị hiện tại của bộ đếm.
Lệnh counter đếm lên và xuống trên plc siemens s7-1200
Ví
dụ lệnh so sánh trên plc siemens s7-1200
Một số lệnh so sánh khác trên plc siemens s7-12000
Lệnh so sánh trong khoảng giá trị trên plc siemens s7-1200
Lệnh so sánh ngoài khoảng giá trị trên plc siemens s7-1200
L
ệnh so sánh ngoài khoảng giá trị trên plc siemens s7-1200
Mô tả: nếu giá trị ở VAL nằm ngoài khoảng giá trị MIN-MAX thì giá trị ngõ ra sẽ
được lên 1.
khóa học lập trình plc siemens s7-1200 online miễn phí
Trong bài viết này mình sẽ chia sẻ cho các bạn một số lệnh lập trình plc siemens 27-
1200 có tác dụng để di chuyển hay sao chép dữ liệu bit thanh ghi, mời các bạn tham
khảo chi tiết như sau.
Lưu ý kiểu dữ liệu của IN và OUT1 nên sử dụng cùng 1 kiểu với nhau để tránh lỗi,
nếu khác kiểu dữ liệu bạn có thể gặp phải lỗi như sau:
L
ệnh sao chép dữ liệu trên plc siemens s7-1200
Như ví dụ trên hình nếu IN là 1 Dword trong khi OUT1 là Word thì lệnh MOVE chỉ
có tác dụng sao chép được word thấp của ô nhớ mà thôi. Như bạn thấy trong ví dụ
phias trên lệnh MOVE chỉ sao chép được Word thấp có giá trị 3456 mà thôi.
Vùng nhớ mà lệnh MOVE có thể tác động ba gồm: SInt, Int, DInt, USInt, UInt,
UDInt, Real, LReal, Byte, Word, DWord, Char, Array, Struct, DTL, Time.
Đối với plc siemens hiện chưa hỗ trợ lệnh sao chép hay di chuyển dữ liệu dạng bit nên
bạn có thể sử dụng một số lệnh như R S SET_BF RESET_BF hoặc out relay để xử lý
trong quá trình lập trình với dữ liệu dạng bit
Lệnh lập trình tính toán số học trên plc siemens s7-
1200
Bài viết này thuộc khóa học lập trình plc Siemens online miễn phí của abientan, mời
các bạn tham khảo chi tiết tại:
khóa học lập trình plc siemens s7-1200 online miễn phí
Trong quá trình lập trình code cho plc siemens s7-1200 ta bắt buộc phải sử dụng một
số lệnh lập trình tính toán liên quan tới số học, mời các bạn tham khảo chi tiết tập lệnh
qua bài viết sau đây.
Lệ
nh phép toán cộng trên plc siemens s7-1200
Mô tả chi tiết lệnh phép toán cộng trên plc siemens s7-1200
Lệnh
phép toán trừ trên plc siemens s7-1200
Mô tả chi tiết lệnh phép toán trừ trên plc siemens s7-1200
Lện
h phép toán chia trên plc siemens s7-1200
Mô tả chi tiết lệnh phép toán chia trên plc siemens s7-1200
EN là ngõ vào kích hoạt lệnh
IN1 là số bị chia
IN2 là số chi
OUT là kết quả của phép chia
IN1 IN2 có thể sử dụng trên vùng nhớ: SInt, Int, DInt, USInt, UInt, UDInt,
Real, LReal, hằng số
OUT có thể sử dụng trên vùng nhớ: SInt, Int, DInt, USInt, UInt, UDInt, Real,
LReal
Lưu ý: khi thực hiện phép chia cho 0 thì kết quả lưu vào OUT sẽ là 0.
=> Mô tả chi tiết ví dụ: lệnh DIV trên sẽ thực hiện lấy IN1 là MD40(28) chia cho IN2
là MD44(4) sau đó lưu giá trị vào OUT MD48(7)