-
Thành viên cấp 3
Truyền time từ HMI xuống PLC
chức năng giống hàm trong #64, vì #64 em viết dài quá nên em viết lại
FUNCTION FC 2 : VOID
TITLE =
//truyen time tu HMI xuong PLC
//vi du de truyen 2h46m30s tren hmi ta nhap 02h46m30s tag tren HMI kieu string
VERSION : 0.1
VAR_INPUT
time_add : POINTER ; //dia chi bat dau cua chuoi timer
END_VAR
VAR_OUTPUT
timer_out : WORD ;
END_VAR
VAR_TEMP
giay : INT ;
count : INT ;
TEMP0 : BYTE ;
d_pointer : DWORD ;
END_VAR
BEGIN
NETWORK
TITLE =
L P##time_add;
LAR1 ;
L D [AR1,P#2.0];
T #d_pointer;
LAR1 ;
A( ;
L B [AR1,P#2.0];
L 47;
>D ;
) ;
JNB exit;
//-----------------------------------------------
L 8;
lap: T #count;
L B [AR1,P#2.0];
L '0';
-I ;
T B [AR1,P#100.0];
+AR1 P#1.0;
L #count;
LOOP lap;
//-----------------------------------------------
L #d_pointer;
LAR1 ;
LAR2 ;
+AR1 P#100.0;
+AR2 P#110.0;
//------------------------------------------------
L 3;
lap2: T #count;
L B [AR1,P#0.0];
SLW 4;
T #TEMP0;
L #TEMP0;
L B [AR1,P#1.0];
OW ;
BTI ;
T B [AR2,P#0.0];
+AR1 P#3.0;
+AR2 P#1.0;
L #count;
LOOP lap2;
//----------------------------------------------
L #d_pointer;
LAR2 ;
+AR2 P#110.0;
//----------------------------------------------
L B [AR2,P#0.0];
L 3600;
*I ;
T #giay;
L B [AR2,P#1.0];
L 60;
*I ;
L #giay;
+I ;
T #giay;
L B [AR2,P#2.0];
L #giay;
+I ;
DTB ;
T #giay;
//------------------------------------------------
A( ;
L #giay;
L W#16#999;
<D ;
) ;
JNB lb1;
L #giay;
L W#16#2000;
OW ;
T #timer_out;
JU exit;
lb1: L #giay;
SRD 4;
L W#16#3000;
OW ;
T #timer_out;
JU exit;
exit: SET ;
SAVE ;
BEU ;
END_FUNCTION
Lần sửa cuối bởi nmh_bk, ngày 03-07-2014 lúc 08:08 PM.
-
Quyền viết bài
- Bạn Không thể gửi Chủ đề mới
- Bạn Không thể Gửi trả lời
- Bạn Không thể Gửi file đính kèm
- Bạn Không thể Sửa bài viết của mình
-
Nội quy - Quy định
Back to Top
Múi giờ GMT +7. Bây giờ là 12:36 AM.
Phiên bản 4.2.5
Phát triển bởi thành viên PLCVietNam®.
Đánh dấu