Hic, e viết sai cấu trúc vùng nhớ. Mới kiểm tra lại. Xin lỗi mọi người.
Printable View
Hic, e viết sai cấu trúc vùng nhớ. Mới kiểm tra lại. Xin lỗi mọi người.
anh Hiếu ơi. Em có một FC bị khóa, giờ làm sao mở nó ra để xem hả anh.
Đính kèm 163
Khối FC105 là khối hàm nằm trong vùng thư viện với chức năng là SCALE - thuộc vào Analog.
bạn vào bài viêt Analog để tham khảo thêm nha.
http://plcvietnam.com.vn/showthread.php?t=11
các anh cho em hỏi chút là mình có nên dùng chương trình con FB(khối) để sử dụng đk khối DB thay vì phải tốn nhiều vùng nhớ trung gian M.vì vùng nhớ M nó vấn có hạn chế. theo em nghĩ thì khi mình sư dụng chương trình con thì làm trên FC có hạn chế so với FB.cho em hỏi là sử dụng FB và DB thì có chiếm dung lượng bộ nhớ nhiều không vậy,và em hiểu là mình sử dụng khối FB thì sẽ tăng thêm đk vùng nhớ hơn
CHÀO ANH! TÔI ĐANG GẶP MỘT VẤN ĐỀ NHO NHỎ NÀY NHƯNG CHƯA TÌM ĐƯỢC LÝ DO VÌ SAO?
1. CHẲNG LÀ TÔI ĐANG LẬP TRÌNH S7200. TRONG CHƯƠNG TRÌNH CON TÔI CÓ DÙNG BẢNG LOCAL VARIBLE. NHƯNG KHI KHAI BÁO ĐẦU RA OUT NÓ CHỈ ĐƯỢC CÓ 5 ĐỊA CHỈ. KHÔNG BIẾT MUỐN THÊM SỐ ĐẦU RA OU THÌ LÀM THẾ NÀO?
TRÂN TRỌNG CẢM ƠN VÀ MONG SỚM NHẬN ĐƯỢC TRẢ LỜI TỪ BẠN. NẾU ĐƯỢC XIN GỬI VỀ ĐỊA CHỈ MAIL: [email protected]
Mình sẽ trả lời thêm bạn như thế này
Khối FC: Nhược điểm của khối này là nội dung của các biến tạm thời (Kiểu TEMP) không được lưu giữ lại cho những vòng quét sau. Ví dụ vòng quét 1 bạn sẽ thu được dữ liệu giả sử là số thập phân 15 trong biến tạm thời. Nhưng tới vòng quét sau giá trị thập phân là 30. Như vậy bạn sẽ không sử dụng được giá trị thập phân 15 nữa vì nó đã bị xóa để ghi giá trị mới 30 cho vòng quét sau đó. Khắc phụ nhược điểm này của khối FC S7-300/400 cung cấp một loại khối có tính năng tương tự như FC nhưng lại có khả năng lưu giữ lại nội dung của các biến tạm thời cho các vòng quét đó chính là khối FB. Loại biến tạm thời có nội dung được lưu giữ lại này có tên là STAT (viết tắt của STATIC). Phương thức lưu giữ lại nội dung của các biến tạm thời này được hệ điều hành thực hiện nhờ khối DB. Như vậy cùng ví dụ với 2 số thập phân 15 và 30 của 2 vòng quét như ví dụ với khối FC thì khối FB có thể sử dụng cả 2 số này. Tức là bạn sẽ lấy số 15 hoặc số 30 khi bạn cần, còn khối FC bạn chỉ có thể lấy được số 30 mà thôi. Thân chào và chúc thành công
thi stop roi run lai
bạn có thể sử dụng timer có nhớ đi trong s7-300 timer trẽ theo sường lên có nhớ - (SS)Trích dẫn:
timer trong s7 300 cho phép bạn lựa chon vùng nhớ để lưu giá trị đếm tức thời mà,chi việc độc gia trị vùng nhớ mà bạn chọn thôi.
trong s7 300 có loại timer có nhớ,khi tín hiệu điều khiển = 1 thì timer bắt đầu đếm, =0 thì timer dừng đếm, =1 lại thì đếm tiếp giá trị đó.
theo mình biết thi DB là khối chúa dữ liệu chương trình
khi gọi các khối chức năng fc hay fb đều có các db đi kèm,và trong db này đều có các dũ liệu có sẵn ,mình có thể thay đổi dũ liệu trong db này không và khi vận hành có sẩy ra lôi không các bạn?
chỉ có fb có db đi kèm thôi, bạn có thể làm gì với db này củng được nhưng tốt nhất là chỉ đọc thôi, còn ghi dữ liệu thì vận hành xảy ra lỗi là rất cao đó
anh có thể ví dụ 1 số lỗi ghi dữ liệu được không ạ, nếu 1 hệ thống dùng 1 giao diện giám sát và cần nhập DL vào thì nên dùng M chứ không nên dùng DL của DB hả anh. bây giờ nếu mình cần đọc giá trị ko điện nào đó như xung hay nhiệt độ ,... thì MOV vào DL của DB ko lỗi đâu đúng ko anh. cái này là kinh nghiệm các anh làm thực tế mà biết nên em muốn anh chia sẻ chút.
thank !
dữ liệu trong db ứng vs môi fb phải không a.thế còn UDT là gì ạ?
DB có 2 loại, loại thường để lưu dữ liệu, cái này truy cập vô tư, không sao cả, loại kia là instance db, là được tạo ra theo cấu trúc của 1 fb nào đó, loại này lưu dữ liệu đang xử lý của db, nếu bạn đọc thì không sao, nếu bạn ghi vào thì có 2 trường hợp, bị fb ghi đè, không sao, ghi đè fb, dữ liệu bị sai có thể tính toán sai hoặc fb báo lỗi....
còn UDT là giống như là cấu trúc mẫu của DB do siemens soạn sẵn dành cho các fb mà siemens viết sẵn, khi mình dùng các fb này thì mình tạo DB và khai báo kiểu là instance of UDT ....
anhn oi!em có vd này anh xem giùm em đc ko ạ em xem mãi ma không hiểu
http://www.mediafire.com/view/?cjnp4mgmam63n4a
dữ liệu trong UDT có giống vói DB không ạ,hay UDT đi với khối DB ạ
khối này trong lập trinh PLC có nhiệm vụ gì thế các bạn?
theo mình biết thì khố này do người dùng tự tao ra và định nghĩa cho nó phải không ạ?
gọi khối này trên manager ngư goi các khối ob hay fc vây,
hình như nó chỉ sử dụng để quản lý đỉ chỉ,và kiểu dũ liêu phải không ạ nó có tên (data type) kiêu dữ liệu
các bác có thể giải thích giúp mình với?
cảm ơn các bac nhiều!
Cảm ơn langtutlhp đã lập topic này
Em cảm ơn Thầy Hiếu, mặc dù ở Hà Nội và chưa được gặp mặt thầy nhưng vẫn xin phép gọi là thầy vì đã đọc bao nhiêu chữ của thầy rồi :D. Đang cần tìm hiểu về DB thì gặp ngay topic này ... :D
Cảm ơn tất cả các anh, các bạn....
Xin chúc mọi người môt ngày tốt lành...
mình đang dùng model mở rộng CP343-2 cho mạng Asi. thì dùng khối DB này để lấy địa chỉ từ CP 343-2 để đưa về PLC s7 300 được không.khối CP này chiếm 16 bye vào và 16 bye ngõ ra của CPu s7 300
các bạn cho mình hỏi là Vùng nhớ Analog trong S7 300 là như thến nào vậy. mình đọc tài liệu thấy có đoạn đó mà không hiểu . mong các bác chỉ giáo
các anh cho em hỏi, 2 vùng nhớ V và M giống và khác nhau như thế nào. em có thể truy xuất M được nhưng V thì ko. các anh trả lời giúp em. thanks
- Giải thích theo kiểu " hai lúa" nhé
- Trong PLC Siemens vùng nhớ V và M đều là dạng lưu trữ biến dữ liệu, nhưng vùng nhớ M được cất vào 1 nơi có nguồn năng lượng nuôi nó cao hơn khi ta không cấp điện cho nó.
- V có thể lưu dữ liệu vài chục giờ hoặc mất ngay lập tức khi ta ngắt điện, M lưu vài ngày là do có pin hay tụ dung lượng cao lưu giữ
- Biết thế thôi.
vậy cách truy xuất vùng nhớ V như thế nào vậy anh?Vùng nhớ M em truy xuất bình thường nhưng V thi em ko biết.các anh giúp em với
Chào bạn Miuquy
Không biết bạn hỏi cho dòng sản phẩm nào của siemens 300/400 hay 200 vì dòng 300/400 không có vùng nhớ V nhé
S7-200 mới có V. Còn 300 thì có vùng nhớ DB thay cho vùng nhớ V bên 200 và dữ liệu của DB nhiều hơn ( đơn giản cho bộ nhớ của 300 lớn hơn rất nhiều 200).
cảm ơn anh,em hiểu rồi. em hỏi về 300. đúng là càng học càng thấy mình còn kém.
Như vậy vùng nhớ V trong 300 không có nhé mà thay bằng DB nó gọi là "data block"
Bạn tham khảo tại đây:
http://plcvietnam.com.vn/threads/582...B-trong-S7-300
thanks to all, it's very helpful, sorry because my PC havent installed unikey
Trong khối DB, thì ngoài các cách truy nhập là DBX, DBB, DBW, DBD thì còn cách nào nữa ko ah ? nếu mình muốn truy nhập vào ô nhớ có địh dạng là Dint, Dword thì phải làm ntn ?
Bài viết rất hay, biết thế lúc đầu học PLC thì cày trên PLC viêt nam đầu tiên, mất bao nhiêu công sức mới học được chút ít, mà các pác cao thủ cho em hỏi với, lập lại 1 câu hỏi của một bác trên diễn đàn này, UDT là gì hở các bác, sử dụng ntn? em cũng có 1 ct sử dụng UDT mà ko hiểu lắm, kiểu như DB mà ko phải là DB
Các bạn phân biệt rõ thế này:
-DB là khối dữ liệu
-UDT là kiểu dữ kiệu do người dùng định nghĩa, giống như kiểu dữ liệu bit,byte,time,int,dint... và cách sử dụng thì như các kiểu dữ liệu khác thôi.
Tại sao phải có UDT: vì nhiều lúc người dùng cần định nghĩa 1 kiểu dữ liệu mà các kiểu int,dint,real..k đáp ứng dc mục đích. vd: tạo UDT profile drive để giao tiếp drive.
UDT là "UserDefine Data Type" là kiểu dữ liệu do người dùng định nghĩa ra. Nếu các bạn đã lập trình hướng đối tượng trong C, C++, Java rồi thì sẽ hiểu hơn về UDT.
Chăng hạn bạn có một đối tượng là Motor vậy bạn sẽ có những thông số liên quan đến motor như sau
Start -> bool
Stop -> bool
Speed Reference -> Real
Speed Feedback -> real
..... và bạn định nghĩa một biến Motor có các thuộc tính như thế thì sau này khi bạn gán một biến motor cho một đối tượng motor thì nó có đầy đủ nhưng thuộc tính trên và bạn chỉ việc đem ra sử dụng.
Em có thắc mắc xn hỏi các anh đi trước ợ:
http://www.data.webdien.com/photo/up...3a1a7e985f.png
http://www.data.webdien.com/photo/up...34fc496368.png
Bây giờ em muốn thêm biến NGAY vào bảng Var để dễ theo dõi thì phải đánh địa chỉ là thế nào ạ ??
đọc ngày ở đây nhé
Đính kèm 1017
P/S: Đó là biến tạm trong OB1, bạn coi trong chương trình người ta move nó vô vùng nhớ nào thì monitor biến đó, còn ko thì bạn viết thêm đoạn move đó rồi monitor.
:95: