Giải pháp kết nối Visual studio với Kepware
Lưu ý cài đặt
Nếu bạn không làm được hãy liên hệ Ngọc Automation để được hỗ trợ làm giúp, thông tin liên hệ:
📲 Điện thoại / Zalo : 0904 701 605
🌎 Facebook: http://fb.com/NGOCPLC
🏅 Gmail liên hệ: vanngocpro@gmail.com
Giới thiệu
Hiện nay một số hãng PLC không hỗ trợ kết nối trực tiếp PLC với Visual studio, do đó chúng ta cần phải thông qua một phần mềm trung gian OPC đó là Kepware, bài viết này ngọc automation sẽ hướng dẫn các mem thực hiện được điều đó.
Các file cần thiết
>> File chạy Visual studio: Link mega tốc độ cao
>> File dll: Link mega tốc độ cao
Các bước thực hiện
Trong file tải về ở trên có một project mẫu OPC2(Visual studio) và một file Assemplies.
Trong file Assemplies(dll) có các file *.dll sau.
- OPCDAAuto.dll : file này copy vào C:\Windows\System32
- Update_OPCdaauto.bat : không dùng
- Interop.OPCAutomation.dll : file này thì Add vào reference của project. Nên để file này trong một folder của project. Nhớ chỉnh Properties của nó lại theo như hình:
Bước 1: Coppy file “OPCDAAuto.dll” vào 2 thư mục sau: C:\Windows\System32 và C:\Windows\SysWOW64
Bước 2: Tiến hành đăng ký “OPCDAAuto.dll” bằng 2 câu lệnh, mở CMD bằng quyền Admin
Câu lệnh 1: %windir%\System32\regsvr32.exe %windir%\System32\OPCDAAuto.dll
Câu lệnh 2: %windir%\SysWoW64\regsvr32.exe %windir%\SysWoW64\OPCDAAuto.dll
Bước 3: Vào visual studio Set “Embed Interop Types” -> False. Sau đó set “Copy Local”-> True. Còn “Specific Version” -> False.
Bước 4: Mở project OPC2(visual studio) tiến hành chạy thử, giao tiếp với Kepware tại Channel2 và hai Tag R1 và R2 (Integer).
AD ơi, em làm theo hướng dẫn nhưng khi chạy file Update_OPCdaauto.bat thì máy lại báo lỗi ” the module “OPCDAAuto.dll was loaded but the call to DllRegisterServer failed with error code ….”.Ad có cách nào fix không ạ??
em cảm ơn AD!!
b thử mở file chạy có sẵn ở bài viết xem được k
Em có chạy thử file có sẵn ở bài viết. Khi nhấn vào connect thì máy lại báo “System.Runtime.InteropServices.COMException…” ạ!!
hình như bạn chưa bật kepware à, b phải coppy dll vào ổ đã
dạ em có bật kepware chạy rồi ạ, mà vẫn không được.
Lúc đầu đăng ký file OPCDAAuto.dll nó đã báo lỗi rồi ạ
Anh ơi, em đọc được dữ liệu từ Kepware sang C# được rồi. Nhưng lúc em ghi xuống bằng lệnh
WriteItems.SetValue(textBox2.Text, 2);
ConnectedGroup.SyncWrite(ItemCount, ref ItemServerHandles, ref WriteItems, out ItemServerErrors);
này nó báo lỗi: System.runtime.Interop.Services.SafeArrayTypeMismatchException: Specified array was not of the expected type.
Anh có thể hướng dẫn em ghi dữ liệu xuống được không ạ?
mình sắp ra cuốn sách visual studio và kepware, hi vọng bạn thích nó