-
Sử dụng con trỏ trong s7300?
Các bác có thể cho em biết con trỏ địa chỉ trong PLC có ý nghĩa ntn không?ứng dụng nó làm gì?có thể cho e xin 1 vài ví dụ về nó đựoc không?
Ai có tài liệu về con trỏ thì cho e xin được không ah!nhân tiện xin nhờ các bác chỉ giáo hộ đoạn chương trình này:
L #PIW
SLD 3
T #ADR_PIW
L PIW [#ADR_PIW]
T #ANALOG
thanks you very much!
-
-
Little PLC
http://www.mediafire.com/?hwxg55beodtjkm3
Tặng bạn một Tip nói về con trỏ trong S7-300.
Việc sử dụng các tập lệnh LAD thuận tiện cho việc giám sát và đọc chương trình và đôi khi sử dụng LAD là không tối ưu khi đó nó sẽ tạo ra chu kỳ quét lớn hơn so với việc STL tuy nhiên sau này nó sẽ là ngôn ngữ lập trình chung cho tất cả các PLC của các hãng nằm trong một hiệp hội PLC. ( Sau này các hãng PLC sẽ sản xuất ra các PLC mà có thể download cho nhau).
Việc sử dụng con trỏ trong PLC cũng như trong VĐK nó giúp cho việc tối ưu hoá chương trình và nhanh hơn, đỡ tốn vùng nhớ và chu kỳ quét hơn ( giống ngôn ngữ ASM vậy. Nếu so sánh thì có thể tương đương LAD với C trong VĐK và STL như ASM trong VĐK).
Thân chào
-
Bài viết của "tran_hieu0983" đã được cám ơn bởi các thành viên:
-
Thành viên cấp 3
anh hiếu có ví dụ nào đơn giản nhất về con trỏ trong s7-300 để em hiểu rõ hơn không?.hic.đọc tài liệu mà vẫn còn mơ hồ quá, chắc phải làm nhiều mới thấm.thanks
-
-
Thành viên cấp 3
-
-
Thành viên cấp 3
kiến thức con trỏ bạn nghĩ đơn giản sao, bạn thật sự hiểu hết về nó chưa? không thể nói nghĩ nó đơn giản là đơn giản đc. cái gì cũng qua thực hành bạn à, bạn có ví dụ nào về loại pointer DB hay any pointer cho mình tham khảo thì mình cảm ơn vô cùng.thân!
-
-
Thành viên cấp 3
Gửi bởi
minhhungspk
kiến thức con trỏ bạn nghĩ đơn giản sao, bạn thật sự hiểu hết về nó chưa? không thể nói nghĩ nó đơn giản là đơn giản đc. cái gì cũng qua thực hành bạn à, bạn có ví dụ nào về loại pointer DB hay any pointer cho mình tham khảo thì mình cảm ơn vô cùng.thân!
thế bạn nghĩ con trỏ như thế nào? bạn dùng con trỏ để làm gì?
mình tặng bạn cái ví dụ này, mình chưa test nó đâu, tinh tong n so sint, int,dint --> ket qua la dint het
any pointer do, any pointer la co pointer trong do luon roi
FUNCTION "SUM" : VOID
TITLE =
//tinh tong nhieu so lien tiep
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];
L 2;
-I ;
T #data_type;
L W [AR1,P#2.0];
T #n;
L D [AR1,P#6.0];
LAR1 ;
//------------------------------------------
L 0;
T #sum;
L #n;
lap: T #count;
L #data_type;
JL er;
JU l0; //byte
JU l1;
JU l2;
JU l3; //int
JU l4;
JU l5; //dint
er: JU err;
l0: L B [AR1,P#0.0];
L #sum;
+D ;
T #sum;
+AR1 P#1.0;
JU lb3;
l3: L W [AR1,P#0.0];
L #sum;
+D ;
T #sum;
+AR1 P#2.0;
JU lb3;
l5: L D [AR1,P#0.0];
L #sum;
+D ;
T #sum;
+AR1 P#4.0;
lb3: NOP 0;
L #count;
LOOP lap;
BEU ;
l1: NOP 0;
l2: NOP 0;
l4: NOP 0;
err: NOP 0;
SET ;
SAVE ;
BEU ;
END_FUNCTION
-
-
Thành viên cấp 3
-
-
Thành viên cấp 3
mong là nó đơn giản như bạn nói. chương trình viết cho cẩu cảng sử dụng nhiều đến ngôn ngữ stl,đặc biệt dùng pointer rất nhiều. do đó mình tìm hiểu pointer để đọc chương trình tốt hơn thôi. cảm ơn ví dụ của bạn nhé, mình đọc và ngâm đây.có gì không hiểu mong bạn hổ trợ giúp nha!
-
-
Thành viên cấp 3
Gửi bởi
nmh_bk
thế bạn nghĩ con trỏ như thế nào? bạn dùng con trỏ để làm gì?
mình tặng bạn cái ví dụ này, mình chưa test nó đâu, tinh tong n so sint, int,dint --> ket qua la dint het
any pointer do, any pointer la co pointer trong do luon roi
FUNCTION "SUM" : VOID
TITLE =
//tinh tong nhieu so lien tiep
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];
L 2;
-I ;
T #data_type;
L W [AR1,P#2.0];
T #n;
L D [AR1,P#6.0];
LAR1 ;
//------------------------------------------
L 0;
T #sum;
L #n;
lap: T #count;
L #data_type;
JL er;
JU l0; //byte
JU l1;
JU l2;
JU l3; //int
JU l4;
JU l5; //dint
er: JU err;
l0: L B [AR1,P#0.0];
L #sum;
+D ;
T #sum;
+AR1 P#1.0;
JU lb3;
l3: L W [AR1,P#0.0];
L #sum;
+D ;
T #sum;
+AR1 P#2.0;
JU lb3;
l5: L D [AR1,P#0.0];
L #sum;
+D ;
T #sum;
+AR1 P#4.0;
lb3: NOP 0;
L #count;
LOOP lap;
BEU ;
l1: NOP 0;
l2: NOP 0;
l4: NOP 0;
err: NOP 0;
SET ;
SAVE ;
BEU ;
END_FUNCTION
có thể gửi chương trình chứa nội dung các lệnh trên cho mình được không ? mail: [email protected]. thanks!
-
-
Thành viên cấp 3
mấy cái này mình k có... tài liệu mấy cái này mình k còn, tại lâu lắm rồi
-
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:42 AM.
Phiên bản 4.2.5
Phát triển bởi thành viên PLCVietNam®.
Đánh dấu