-
Thành viên cấp 3
Rảnh rỗi nên em viết code chơi cho không quên kiến thức
không biết nó có ích không, sau đây là chức năng ạ
hàm cộng nhiều số liên tiếp, có gì sai mấy anh chỉ em với ạ
ví dụ muốn cộng 10 byte bắt đầu từ mb10 ---> nhập p#m10.0 byte 10
cộng 10 số int bắt đầu từ mw10--> nhậpp#m10.0 int 10
cộng 10 số dint bắt đầu từ md10--> nhậpp#m10.0 dint 10
FUNCTION "sum" : VOID
TITLE =
VERSION : 0.1
VAR_INPUT
IN : ANY ;
END_VAR
VAR_OUTPUT
sum : DINT ;
END_VAR
VAR_TEMP
data_type : BYTE ;
n : INT ;
count : INT ;
END_VAR
BEGIN
NETWORK
TITLE =
L P##IN;
LAR1 ;
L B [AR1,P#1.0];
T #data_type;
L W [AR1,P#2.0];
T #n;
L D [AR1,P#6.0];
LAR1 ;
//------------------------------------------
A( ;
L #data_type;
L B#16#2;
==I ;
) ;
JNB lb1;
L 0;
T #data_type;
JU next;
lb1: A( ;
L #data_type;
L B#16#5;
==I ;
) ;
JNB lb2;
L 1;
T #data_type;
JU next;
lb2: A( ;
L #data_type;
L B#16#7;
==I ;
) ;
JNB err;
L 2;
T #data_type;
next: NOP 0;
L 0;
T #sum;
L #n;
lap: T #count;
L #data_type;
JL er;
JU l0;
JU l1;
JU l2;
er: JU err;
l0: L B [AR1,P#0.0];
L #sum;
+D ;
T #sum;
+AR1 P#1.0;
JU lb3;
l1: L W [AR1,P#0.0];
L #sum;
+D ;
T #sum;
+AR1 P#2.0;
JU lb3;
l2: L D [AR1,P#0.0];
L #sum;
+D ;
T #sum;
+AR1 P#4.0;
lb3: NOP 0;
L #count;
LOOP lap;
BEU ;
err: NOP 0;
BEU ;
END_FUNCTION
-
-
Thành viên cấp 1

Gửi bởi
nmh_bk
Rảnh rỗi nên em viết code chơi cho không quên kiến thức
không biết nó có ích không, sau đây là chức năng ạ
hàm cộng nhiều số liên tiếp, có gì sai mấy anh chỉ em với ạ
ví dụ muốn cộng 10 byte bắt đầu từ mb10 ---> nhập p#m10.0 byte 10
cộng 10 số int bắt đầu từ mw10--> nhậpp#m10.0 int 10
cộng 10 số dint bắt đầu từ md10--> nhậpp#m10.0 dint 10
FUNCTION "sum" : VOID
TITLE =
VERSION : 0.1
VAR_INPUT
IN : ANY ;
END_VAR
VAR_OUTPUT
sum : DINT ;
END_VAR
VAR_TEMP
data_type : BYTE ;
n : INT ;
count : INT ;
END_VAR
BEGIN
NETWORK
TITLE =
L P##IN;
LAR1 ;
L B [AR1,P#1.0];
T #data_type;
L W [AR1,P#2.0];
T #n;
L D [AR1,P#6.0];
LAR1 ;
//------------------------------------------
A( ;
L #data_type;
L B#16#2;
==I ;
) ;
JNB lb1;
L 0;
T #data_type;
JU next;
lb1: A( ;
L #data_type;
L B#16#5;
==I ;
) ;
JNB lb2;
L 1;
T #data_type;
JU next;
lb2: A( ;
L #data_type;
L B#16#7;
==I ;
) ;
JNB err;
L 2;
T #data_type;
next: NOP 0;
L 0;
T #sum;
L #n;
lap: T #count;
L #data_type;
JL er;
JU l0;
JU l1;
JU l2;
er: JU err;
l0: L B [AR1,P#0.0];
L #sum;
+D ;
T #sum;
+AR1 P#1.0;
JU lb3;
l1: L W [AR1,P#0.0];
L #sum;
+D ;
T #sum;
+AR1 P#2.0;
JU lb3;
l2: L D [AR1,P#0.0];
L #sum;
+D ;
T #sum;
+AR1 P#4.0;
lb3: NOP 0;
L #count;
LOOP lap;
BEU ;
err: NOP 0;
BEU ;
END_FUNCTION
chào anh hiện tại em xài con plc omron cp1e-n30dra em muốn kết nối với đầu cân k3hb-vlc nhưng gặp khó phần truyền thông mong anh chị giúp
-
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à 01:01 PM.
Phiên bản 4.2.5
Phát triển bởi thành viên PLCVietNam®.
Đánh dấu