Trước khi thực hiện quá trình tính toán vòng lặp PID này cần phải thực hiện một số thủ tục quy định trước khi quá trình tính toán diễn ra như: việc khai báo tham số của hàm, địa [r]
Trang 16 SIMATIC Numerical Function Instructions:
STL LAD (Description) Mô tả (Operands) Toán hạng
Kiểu dữ liệu (Data Types)
Square Root
SQRT IN, OUT
Lệnh thực hiện phép lấy căn bậc hai của số thực 32 bit Kết quả cũng là số 32 bit được ghi vào từ kép OUT
IN: ID, QD, MD,
VD, SMD, SD, LD, HC,AC, Constant,
∗VD, ∗AC, ∗LD
OUT: ID, QD, MD,
VD, SMD, SD, LD, HC,AC, ∗VD, ∗AC,
∗LD
Real
Natural Logarithm (logarit tự nhiên)
LN IN, OUT
Lệnh Natural Logarithm thực hiện phép logirit tự nhiên của số thực 32 bit, Kết quả được lưu vào từ kép OUT
Lệnh này cũng được
sử dụng để thực hiện phép logarit cơ số 10
từ phép lấy logarit tự nhiên
IN: ID, QD, MD,
VD, SMD, SD, LD, HC,AC, Constant,
∗VD, ∗AC, ∗LD
OUT: ID, QD, MD,
VD, SMD, SD, LD, HC,AC, ∗VD, ∗AC,
∗LD
Real
Natural Exponential (phép lấy tự nhiên)
EPX IN, OUT
IN: ID, QD, MD,
VD, SMD, SD, LD, HC,AC, Constant,
∗VD, ∗AC, ∗LD
OUT: ID, QD, MD,
VD, SMD, SD, LD, HC,AC, ∗VD, ∗AC,
∗LD
Real
SQRT
EN
IN OUT
SQRT
EN
IN OUT
EPX
EN
IN OUT
Trang 2Sine, Cosine and Tangent
SIN IN, OUT
COS IN, OUT
TAN IN, OUT
Lệnh Sine, Cosine và Tangent định giá trị hàm lượng giác của góc IN (số thực 32 bit) Kết quả được lưu vào doubleword OUT
Với điều kiện: IN tính bằng radian, nếu là độ thì phải thực hiện phép chuyển từ độ sang radian bằng cách thực hiện lệnh
MUL_R để nhân giá trị IN Với
1.745329E-2 (π/180)
IN: ID, QD, MD,
VD, SMD, SD, LD, HC,AC, Constant,
∗VD, ∗AC, ∗LD OUT: ID, QD, MD,
VD, SMD, SD, LD, HC,AC, ∗VD, ∗AC,
∗LD
Real
TBL:
PID TBL, LOOP
Lệnh thực hiện tính toán vòng lặp, với số thứ tự là LOOP (0<=LOOP<=7) và bảng tham chiếu của quá trình là TBL
! Trước khi thực hiện quá trình tính toán vòng lặp PID này cần phải thực hiện một số thủ tục quy định trước khi quá trình tính toán diễn ra như: việc khai báo tham số của hàm, địa chỉ của mảng dữ liệu, lấy mẫu tín hiệu vào analog đầu vào, thực hiện quá trình tính toán, chuẩn hoá, hiệu chỉnh Phần này
sẽ được trình bày cụ
thể ở chương sau
LOOP:
Constant (0 ÷7) BYTE
SIN
EN
IN OUT
COS
EN
IN OUT
TAN
EN
IN OUT
PID
EN TBL OUT LOOP
Trang 37 SIMATIC Move Instructions:
STL LAD Description Mô tả Toán hạng Operands Kiểu dữ liệu Data Types
Move Byte, Move Word, Move Double Word and Move Real
MOVB IN, OUT
Lệnh thực hiện việc chuyển dữ liệu từ byte IN vào byte OUT khi có sườn lên của tín hiệu vào
IN: IB, QB, MB, VB,
SMB, SB, LB, AC, Constant, ∗VD,
∗AC,∗ LD
OUT:IB, QB, MB,
VB, SMB, SB, LB,
AC, ∗VD, ∗AC,∗ LD
Byte
MOVW IN,OUT
Lệnh thực hiện việc chuyển dữ liệu từ Word IN vào Word OUT khi có sườn lên của tín hiệu vào
IN: IW, QW, VW,
LW, SW, AIW, T, C,
AC, Constant, ∗VD,
∗AC, ∗LD OUT: IW, QW, MW, SMW, VW, LW, SW, AIW, T, C, AC, ∗VD,
∗AC, ∗LD
Word, INT
MOVD IN, OUT
Lệnh thực hiện việc chuyển dữ liệu từ kép IN vào
từ kép OUT khi có sườn lên của tín hiệu vào
IN: ID, QD, MD,
VD, SMD, SD, LD, HC,AC, &VB, &IB,
&QB, &SB, &MB,
&T, &C, Constant,
∗VD, ∗AC, ∗LD
OUT: ID, QD, MD,
VD, SMD, SD, LD, HC,AC, ∗VD, ∗AC,
∗LD
DoubleWord, DINT
MOVR IN, OUT
Lệnh thực hiện việc chuyển dữ liệu là số thực từ
từ kép IN vào từ kép OUT khi có sườn lên của tín hiệu vào
IN: ID, QD, MD,
VD, SMD, SD, LD, HC,AC, Constant,
∗VD, ∗AC, ∗LD
OUT: ID, QD, MD,
VD, SMD, SD, LD, HC,AC, ∗VD, ∗AC,
∗LD
Real
Block Move Byte, Block Move Word, Block Move Double Word and Block Move Real
BMB IN, OUT,
N
Lệnh thực hiện việc chuyển N byte dữ liệu tính từ
IN, OUT: IB, QB,
MB, VB, SMB, SB,
LB, ∗VD, ∗AC, ∗LD
Byte
MOV_B
EN
IN OUT
MOV_W
EN
IN OUT
MOV_DW
EN
IN OUT
MOV_R
EN
IN OUT
BLKMOV_B
EN
IN OUT
Trang 4byte IN vào vùng địa chỉ tính từ byte OUT khi có sườn lên của tín hiệu vào
N: IB, QB, MB, VB,
SMB, SB, LB, AC, Constant, ∗VD, ∗AC,
∗LD
1 <= N <= 255
Byte
IN: IW, QW, VW,
LW, SW, SMW, AIW,
T, C, AC, ∗VD, ∗AC,
∗LD
OUT: IW, QW, VW,
LW, SW, SMW, AQW,
T, C, AC, ∗VD, ∗AC,
∗LD
Word
BMW IN, OUT,
N
Lệnh thực hiện việc chuyển N từ đơn dữ liệu tính từ
từ đơn IN vào vùng địa chỉ tính
từ từ đơn OUT khi
có sườn lên của tín hiệu vào
N: IB, QB, MB, VB,
SMB, SB, LB, AC, Constant, ∗VD, ∗AC,
∗LD
1 <= N <= 255
Byte
IN, OUT: ID, QD,
MD, VD, SMD, SD,
LD, ∗VD, ∗AC, ∗LD DWord BMD IN, OUT,
N
Lệnh thực hiện việc chuyển N từ kép dữ liệu tính từ
từ kép IN vào vùng địa chỉ tính
từ từ kép OUT khi
có sườn lên của tín hiệu vào
N: IB, QB, MB, VB,
SMB, SB, LB, AC, Constant, ∗VD, ∗AC,
∗LD
1 <= N <= 255
Byte
Swap Byte
SWAP IN
Lệnh đảo dữ liệu của 2 byte trong từ đơn IN
IN: IW, QW, VW,
LW, SW, SMW, AIW,
T, C, AC.
Word
Move Byte Immedieate Read/ Write
BIR IN, OUT
Lệnh đọc tức thời giá trị ở byte đầu vào ở cổng vật lý
IN và ghi trực tiếp vào byte OUT
IN: IB OUT: IB, QB, MB,
VB, SMB, SB, LB,
AC, ∗VD, ∗AC, ∗LD
Byte
BIW IN, OUT
Lệnh đọc tức thời giá trị ở byte IN và ghi trực tiếp ra đầu
ra ở cổng vật lý byte OUT
IN: IB, QB, MB, VB,
SMB, SB, LB, AC, Constant, ∗VD, ∗AC,
∗LD OUT: QB
Byte
BLKMOV_W
EN
IN OUT
N
BLKMOV_D
EN
IN OUT
N
SWAP
EN ENO
IN
MOV_BIR
EN
IN OUT
MOV_BIW
EN
IN OUT
Trang 5Hình 3.31: Ví dụ minh hoạ về cách sử dụng lệnh khối hàm
Hình 3.32: Ví dụ minh hoạ về cách sử dụng lệnh khối hàm
Trang 6báo vì chương trình STEP đã tự động khai báo giống như lệnh MEND (kết thúc chương
trình chính), lệnh RET (lệnh kết thúc chương trình con)
Chương trình xử lý ngắt cần phải được viết tối ưu, càng nhanh càng tốt, không nên
thực hiện chương trình xử lý ngắt quá lâu
Không được sử dụng các lệnh sau trong CTXLN: DISI, ENI, CALL, HDEF,
FOR NEXT, END
Hình 3.59: Ví dụ về cách tổ chức một chương trình xử lý ngắt
Ngắt tryền thôngnối tiếp:
Cổng truyền thông nối tiếp của PLC có thể điều khiển bằng chương trình viết
trong LAD, STL Chương trình điều khiển này gọi là điều khiển cổng tự do (Freeport
Control) Trước khi thực hiện quá trình truyền thông, các vấn đề sau đây cần phải được
thực hiện:
Kiểu biên bản truyền/nhận (giao thức truyền_Protocol)
Tốc độ truyền/nhận tín hiệu
Số bit được truyền cho 1 kí tự (7 or 8 bit)
Chế độ kiểm tra lỗi (cho kí tự nhận) chẵn lẻ Parity
Tất cả các vấn đề này được định nghĩa trong byte đặc biệt SMB30 sau:
Trang 7Hình 3.60: Mô tả byte định nghĩa việc truyền thông nối tiếp
! Khi truyền thông ở chế độ Freeport thì PLC không làm việc với máy lập trình PG
• Byte SMB2 làm bộ đệm ghi nhớ kí tự nhận được
• Bit SM3.0 dùng để kiểm tra lỗi chẵn lẻ kí tự nhận được, nếu có lỗi chẵn lẻ
được phát hiện thì SM3.0 set lên 1
• Sử dụng để thông báo việc truyền thông đã hoàn tất
Các vấn đề về gởi/nhận message được mô tả như sau:
gởi dữ liệu
Trạm A
Vùng mong muốn
Port RS485
SM3.0 Parity test
SMB2 Bufer Recive
chương trình xử lý ngắt EVENT 8
Trạm B
Hình 3.61: Mô tả cách nhận message của PLC