-
Thành viên cấp 1
Giao Tiếp Giữa Citect và Excel 2007 bằng DDE
Mình đang tìm hiểu về giao tiếp DDE giữa citect và excel.
Khi citect đóng vai trò là DDE server thì để ghi dữ liệu ra đóng vai trò là DDE client chỉ cần dùng dòng lệnh
=EXCEL|[tenfile.XLSX]SHEET1!'R3C2'
Vậy còn trường hơp ngược lại khi excel đóng vai trò là DDE sever và dữ liệu được ghi vào trong citect như thế nào ??? Làm thế nào khi ta hay đổi giá trị của 1 ô dữ iệu trong excel thì tương ứng 1 tag trong citect cũng thay đổi theo???
Có bạn nào đã từng làm được rồi xin giúp đỡ !
-
-
Thành viên cấp 9
cái này thì mình chưa làm nhưng bạn có thể tham khảo ở trang này ,có thể giúp ích cho bạn http://forums.mrplc.com/index.php?showtopic=13364
-
-
Cái này bạn muốn Citect đóng vai trò là DDE Client thì phải rành về lập trình bằng Cicode.
bạn xem mấy ví dụ trong Citect đó. mình thấy có lệnh đọc là:
/* Read the value from R1C1 (Row1,Column1) of an Excel spreadsheet
named "Sheet1". */
DDERead("Excel","Sheet1","R1C1");
-
-
Thành viên cấp 1
bạn daocongdabl cái link của bạn cho bị die rùi !
-
-
Thành viên cấp 9
mình vừa test bình thường mà .
-
-
Thành viên cấp 1
chào các bạn trong diễn đàn! mình đang nghiên cứu về phần citect mà cái phần liên kết với excel này sao mà nó khó hiểu quá. mình chưa thể hiểu về cách tạo kết nối citect qua DDE và DDE qua excel và khi chúng chuyển đổi dữ liệu với nhau. bạn nào có thể giúp mình hiểu vấn đề này không? mình cảm ơn các bạn nhiều.
-
-
Theo mình hiểu thì:
DDE (Dynamic Data Exchange) là một phương thức trao đổi dữ liệu phát triển cho các chương trình chạy trên nền Window cho phép các ứng dụng trao đổi dữ liệu với nhau thông qua một vùng bộ nhớ chung. Nó khác với các cách khác như DLL (Direct Driver... - xây dựng từng driver riêng biệt cho từng thiết bị,...).
Bạn sẽ thấy các phương thức này đều có một nhược điểm chung là chỉ cho trao đổi "một-một" cùng lúc, chuẩn OPC ra đời để khắc phục nhược điểm đó.
Trong khi trao đổi dữ liệu, phương thức DDE phân biệt hai thành phần là DDE Server và DDE Client. Ví dụ bạn dùng Citect để đọc nội dung từ Excel thì Citect đóng vai trò là Client còn Excel là Server và ngược lại.
- Từ Excel đọc dữ liệu của biến TAG1 trong Citect (chú ý là file Excel phải đang mở và Citect đang ở Runtime): trong ô Excel dùng lệnh
= CITECT|VARIABLE!TAG1
-Đọc ngược lại: như trên, chưa thử
-2 Excel trao đổi dữ liệu với nhau hoặc đọc chính nó: =Excel|[Book1]Sheet1!R2C2 -> đọc dữ liệu từ hàng 2 cột 2 của file Book1.xsl đang chạy
Để hiểu rõ các lệnh này, bạn nên tìm hiểu thêm trong phần của Citect.
Kiến thức để lâu nên mục nát chút ít, chỗ đúng chỗ không, nếu nhầm chỗ nào cũng xin đừng xoắn người support nhé :D
Lần sửa cuối bởi nam209, ngày 02-03-2012 lúc 11:03 PM.
-
-
Thành viên cấp 1
xin chào bạn nam209! theo như bạn nói về phương thức DDE là:"các phương thức này đều có một nhược điểm chung là chỉ cho trao đổi "một-một" cùng lúc, chuẩn OPC ra đời để khắc phục nhược điểm đó". vậy mình nghĩ nếu vậy hiện nay chúng ta có thể thay thế phương thức này bằng cách dùng OPC được rồi đúng không. ví dụ trong trường hợp chúng ta dùng OPC để giao tiếp S7-300, citect và excel thành một hệ ( chỉ là mô phỏng thui) hoàn chỉnh đã đủ chưa?.
-
-
-
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à 08:31 PM.
Phiên bản 4.2.5
Phát triển bởi thành viên PLCVietNam®.
Đánh dấu