Tóm Tắt Nội Dung
Lời mở đầu
Profinet là một giao thức truyền thông công nghiệp được sử dụng rất phổ biến hiện nay. Theo thống kê, đã có hơn 50 triệu thiết bị sử dụng Profinet tính đến năm 2017; cho thấy tầm ảnh hưởng của tiểu chuẩn truyền thông này mạnh mẽ đến như thế nào.
Là một người kĩ thuật lập trình PLC Siemens, nếu nắm được cách sử dụng Profinet thì bạn sẽ giải quyết được rất nhiều vấn đề trong việc truyền thông điều khiển giám sát dữ liệu tốc độ cao cho hệ thống của mình ở đúng không nào?
Nhưng hầu hết các hệ thống tự động hóa ngày nay các thiết bị đo đạc đặt tại hiện trường chủ yếu là tín hiệu analog và modbus RTU. Nên việc sử 1 Gateway Profinet để chuyển đổi modbus RTU sang Profinet là rất cần thiết; do ưu điểm về chi phí hợp lý và tối ưu các chức năng giám sát linh hoạt.
File GSD là gì ?
File GSD là file các hãng tạo ra để add vào software của thiết bị khác; nhằm dễ dàng hơn trong việc lập trình và giao tiếp giữa các thiết bị với nhau.
Và thật may mắn khi Seneca đã tạo ra GSD riêng cho Siemens; nhằm người lập trình Profinet IO có thể sử dụng và kết nối với PLC thông qua Gateway Profinet. Và R-KEY-LT-P là một gateway Profinet chuyên dụng cho việc chuyển đổi tín hiệu Profinet/TCP-IP và Modbus RTU/ASCII. R-KEY-LT-P sẽ giúp cho hệ thống của bạn trở nên linh hoạt trong việc giám sát và điều khiển.
Vậy chi tiết cách đọc/ ghi dữ liệu với Gateway R-KEY-LT-P cho PLC Siemens thông qua GSD File như thế nào, các bạn cùng mình tìm hiểu qua các khái niệm cơ bản về đọc ghi dữ liệu và hệ thống mình lấy ví dụ trong bài viết này nhé!
Những điều cần quan tâm khi đọc ghi dữ liệu
Để đọc ghi dữ liệu cho 1 thiết bị nào đó, bạn cần xác định các điều quan trọng như:
- Địa chỉ: Bao gồm địa chỉ các thiết bị trong hệ thống. Ví dụ với TCP/IP hoặc Profinet, ta cần xác định địa chỉ IP trong hệ thống mạng. Với Modbus RTU, ta cần xác định địa chỉ Slave cùng với tốc độ Baudrate của nó.
- Mã chức năng: hay còn gọi là Function Code. Một thiết bị Master sẽ đưa ra yêu cầu Read hoặc Write cho các thiết bị Slave trong hệ thống. Vì vậy mã chức năng sẽ thường là các giá trị để quy ước sẽ thực hiện Read hay Write
- Dữ liệu: Dữ liệu xác định bởi thanh ghi dữ liệu ( ô nhớ ). Đầu tiên điều cơ bản trong truyền thông là bạn phải xác định được dữ liệu bạn cần điều khiển và giám sát trong hệ thống của mình là gì. Sau đó bạn sẽ tham chiếu với Manual thiết bị đó; mục đính là để xác định vị trí thanh ghi chứa dữ liệu đó. Một lưu ý nữa là bạn phải đọc hoặc ghi đúng kiểu dữ liệu tương ứng; nếu không sẽ xảy ra sai xót trong quá trình truyền thông.
- Trường kiểm tra lỗi (CRC): Quá trình kiểm tra lỗi được sử dụng để đảm bảo rằng dữ liệu được truyền đi và nhận về không bị thay đổi hoặc bị lỗi trong quá trình truyền thông.
Bạn cần nắm rõ những khái niệm trên trước khi đọc ghi dữ liệu trong truyền thông; và mình sẽ lấy ví dụ 1 hệ thống sử dụng truyền thông Profinet giữa PLC và Gateway Profinet.
Hệ thống giám sát khối lượng sử dụng Gateway Profinet
Trên đây là hình minh họa cho hệ thống sử dụng Gateway Profinet R-KEY-LT-P. Gateway sẽ đọc dữ liệu từ bộ chuyển đổi tín hiệu Loadcell qua Modbus RTU; và chuyển đổi sang Profinet để truyền thông với S7-1212C DC/DC/DC.
Gateway Profinet R-KEY-LT-P có gì đặc biệt ?
Mình sẽ đi qua sơ bộ về các thông tin kĩ thuật của Gateway Profinet R-KEY-LT-P của Seneca; qua đó các bạn có thể hiểu hơn về chức năng của thiết bị này.
Thông số kỹ thuật R-KEY-LT-P :
- Nguồn đầu vào: 11.40Vdc hoặc 19…28Vac
- Công suất : 1W
- Led trạng thái : Power Supply, Rx/Tx, RS232/R485, Ethernet ACT/LNK, Profinet communication
- Đặc điểm cách ly : 1500Vac đầu vào – đầu ra
- Tiêu chuẩn : IP20
- Cổng Ethernet: 1 Fast Ethernet 100 Tx autoswitch port, RJ45 on front panel
- Cổng Modbus RTU: 1 RS232 / RS485 serial port switchable, baud rate max 115k on connector
- Truyền thông hai chiều : Profinet IO Real Time có Modbus RTU/ ASCII + Modbus TCP-IP
- Số lượng tag giám sát: lên đến 500 tag
- Số lượng server TCP-IP: tối đa 10 server
- Số lượng Slave kết nối : tối đa 128 slaves
- File cài đặt : GSD cho Siemens
- Cài đặt: Easy Setup 2 hoặc Web Server
- DIP Switch: Trên R-KEY-LT-P sẽ có 2 DIP Switch SW1 và SW2 và 1 nút reset.
- SW1 ON: kết nối Modbus RTU với chuẩn Profinet vào PLC
- SW1 OFF: không dùng Modbus RTU để truyền thông mà dùng Modbus TCP-IP hoặc RS232
- SW2 ON : Reset factory
- SW2 OFF : Ghi địa chỉ IP mới vào bộ nhớ của R-KEY-LT-P
Z-SG là thiết bị gì ?
Bộ Z-SG ở đây mình sẽ sử dụng cho việc đọc dữ liệu Loadcell đo khối lượng của vật. Đây là bộ chuyển đổi tín hiệu Loadcell của Seneca, có thể chuyển đổi tín hiệu đọc từ Loadcell dưới dạng mV/ sang modbus RTU; từ đó để có thể truyền thông tin hiệu vật lý đi xa mà không bị nhiễu.
Z-SG được ưa chuộng trong công nghiệp nhờ vào tính ổn định và khả năng tương thích với Loadcell 4 dây/ 6 dây dễ dàng mà không cần hộp cộng tín hiệu. Và mỗi đầu cân của Z-SG có thể đo được tối đa lên đến 8 Loadcell.
Thông số kỹ thuật bộ chuyển đổi loadcell Z-SG
- Nguồn cấp 10-40Vdc / 19-28Vac
- Nhận tín hiệu loadcell 4 dây và 6 dây
- Tín hiệu đầu vào : +/- 1mV/V, +/- 2mV/V, +/- 4mV/V, +/- 8mV/V, +/- 16mV/V, +/- 32mV/V … max +/- 320mV/V
- Tín hiệu ngõ ra: Analog 4-20mA, 0-20mA, 0-10V, 0-5V …
- Sai số : 0.01%
- Cách ly chống nhiễu : 1500Vac
- Kiểu lắp đặt : DIN Rail
- Kích thước : 17.5 x 1100 x 112 mm
- Cài đặt bằng DIP Switch
- Thân làm bằng vật liệu : nhựa dẻo cao cấp
- Nhiệt độ làm việc -10…65Oc
Trên hình minh họa đã thể hiện rất rõ sơ đồ chân kết nối của Z-SG. Ta sẽ thấy rõ nơi kết nối 6 dây/4 dây tín hiệu input cho LoadCell; nơi cấp nguồn và DI DO AO của thiết bị; nhưng các bạn hãy xem Install Manual của thiết bị để chắc chắn hơn nhé.
Các bước đọc và ghi dữ liệu cho hệ thống
Trong hệ thống mình sử dụng R-KEY-LT-P để chuyển đổi từ Modbus RTU sang Profinet. Vậy chi tiết các bước sẽ như thế nào, các bạn cùng tìm hiểu tiếp nhé.
Bước 1: Xác định địa chỉ Slave và Baud Rate của Z-SG.
Ta sẽ cài địa chỉ Slave cho Z-SG qua cài đặt vật lý gạt dip switch trực tiếp trên thiết bị, hoặc cài đặt phần mềm bằng Easy Setup.
Bước 2: Tìm kiếm dữ liệu cần giám sát trong ô nhớ thanh ghi
Ô nhớ dữ liệu của Z-SG
Điều đặc biệt cần quan tâm khi giao tiếp các thiết bị với nhau là dữ liệu bạn cần giám sát cụ thể của thiết bị đó là dữ liệu nào để truyền cho thiết bị kia. Vậy ta cần phải biết dữ liệu đó nằm chính xác ở ô nhớ nào để ta truy xuất. Dữ liệu của các thiết bị thông thường được lưu dưới dạng thanh ghi 16 bit. Và tùy vào đặc tính của dữ liệu thì nhà sản xuất sẽ quy ước kiểu dữ liệu của thiết bị đó, có thể có dấu hoặc không dấu, số nguyên hoặc số thực, dữ liệu 16 bit hoặc 32 bit.
Cụ thể trong hệ thống của chúng ta, ví dụ ta cần đọc khối lượng vật đang đặt trên Loadcell thông qua Z-SG, ta phải trỏ đúng đến ô nhớ đang chứa khối lượng của vật qua Z-SG. Vậy ta phải tìm trong Manual User và đọc đến phần thanh ghi dữ liệu của Z-SG:
Tạo tag giám sát trên webserver R-KEY-LT-P
Sau khi xác định được vị trí thanh ghi và kiểu dữ liệu của khối lượng cần giám sát, để quan sát hiển thị lên webserver của R-KEY thông qua modbus RTU, ta cần phải tạo tag để chứa dữ liệu đó:
Sau đó ta vào ADD để tạo tag thanh ghi dữ liệu cho R-KEY:
Sau đó, ta cần phải cài đầy đủ thông tin tương ứng với dữ liệu ta đang lấy từ Z-SG:
Lưu ý là bạn phải trỏ đúng đến vị trí thanh ghi và kiểu dữ liệu như đã search trước đó ở Manual, và trỏ đúng địa chỉ giao tiếp bao gồm địa chỉ slave và cổng Port đang giao tiếp RTU, chế độ HOLDING REGISTER và ở chế độ Read/Write.
Sau đó tại màn hình Status, nếu bạn thấy tag status reading là OK và tag value bắt đầu cập nhật thay đổi, vậy là bạn đã đẩy dữ liệu từ thanh ghi Z-SG lên R-KEY-LT-P và giao tiếp thành công rồi đó. Việc còn lại là Siemens phải truy xuất đến vị trí thanh ghi của R-KEY-LT-P để đọc hoặc ghi dữ liệu lên R-KEY-LT-P thông qua Profinet.
Bước 3: Cài đặt, cấu hình và lập trình trên TIA PORTAL để truyền thông Profinet giữa S7-1200 với R-KEY-LT-P
Đầu tiên, ta chọn đúng PLC đang sử dụng, trong trường hợp của mình đang sử dụng S7-1212C DC/DC/DC nên mình sẽ chọn đúng đến nó và mã thiết bị như hình minh họa dưới đây:
Add đươc PLC rồi thì việc còn lại là ta cần add R-KEY-LT-P thông qua File GSD của R-KEY-LT-P tải từ web của Seneca đã hỗ trợ để kết nối trực tiếp với S7-1200
Ở thanh menu của Project, chọn đến Options/ Manage General station description files (GSD) như trên hình minh họa.
Chọn đến file Gateway và chọn Install. Vậy là ta đã add thành công R-KEY vào thư viện sử dụng của Tia portal. Giờ ta chỉ việc lôi nó ra trong Hardware catalog và trỏ đến đúng con R-KEY như hình mình đã minh họa phía dưới:
Sau đó kết nối giữa 2 thiết bị, từ cổng Profinet của PLC kéo thả chuột kết nối qua R-KEY-LT-P. Nếu hiển thị như hình dưới đây là ta đã thực hiện kết nối thành công Profinet từ R-KEY cho PLC Siemens.
Sau đó ta cần cấu hình mạng cho cả PLC S71200 và R-key-lt-p với các thông số: địa chỉ IP, địa chỉ Router tương ứng mà ta đang sử dụng
Vậy là việc cấu hình và kết nối đã hoàn tất, việc cần làm là lập trình để có thể truy xuất vùng nhớ cho 2 thiết bị trên
Bước 4: Lập trình Read và Write Profinet trên Tia Portal cho S7-1200 và R-KEY-LT-P
Lập trình Read Profinet qua ánh xạ vùng nhớ
Khi đã liên kết R-KEY-LT-P như một module IO của S7-1200, việc của ta cần làm là kéo thả vùng nhớ tương ứng của R-KEY-LT-P và tham chiếu với vùng dữ liệu cần đọc giữa vùng nhớ khai báo với vùng nhớ của R-KEY-LT-P
Để tránh trùng lặp với vùng nhớ Input đã sử dụng của PLC, mình khai báo lên địa chỉ 100, do mình sử dụng đọc 64 byte nên phần mềm sẽ tự cập nhật lên 100…163. Nghĩa là lúc này, ví dụ ta đọc vùng nhớ IW100, sẽ tương ứng với thanh ghi 40001 ta khởi tạo tag trên webserver của R-KEY-LT-P. Sau khi kéo thả vùng nhớ Input cho R-KEY, việc lập trình rất đơn giản ta chỉ cần move giá trị của Input tương ứng ra một biến bất kì để giám sát.
Lập trình Write Profinet
Tương tự như vậy, để write dữ liệu lên thanh ghi của R-KEY-LT-P, từ đó có thể config cho Z-SG, ta cũng sẽ kéo vùng nhớ tương ứng trong module Write của Catalog R-KEY trên TIA PORTAL.
Sau đó cũng sẽ thực hiện lệnh move 1 biến ta sử dụng để modify giá trị Write và move ra vùng nhớ QW tương ứng.
Việc ánh xạ vùng nhớ cũng sẽ tương tự như đọc dữ liệu mình đã đề cập ở trên, và sẽ tham chiếu từ tag ta tạo với lệnh cho phép write trên webserver. Tag Write trên websever của R-KEY sẽ khác một xíu so với Tag Read như trước đó ta đã làm. Cụ thể, mình đang thực hiện Write Tare để reset loadcell về vị trí 0g khi chưa có vật nặng đặt lên loadcell. Đầu tiên mình cũng sẽ search vị trí thanh ghi thực hiện TARE, và write giá trị tương ứng:
Tạo tag để lưu vị trí dữ liệu write lên R-KEY-LT-P thông qua webserver:
Vậy là ta đã tạo thành công vị trí thanh ghi cần read và write lên R-KEY-LT-P, lập trình trên TIA PORTAL để tham chiếu đọc hoặc modify dữ liệu trên thanh ghi đó thông qua vùng nhớ I và Q ta đã cài. Việc còn lại là Dowload chương trình và kích hoạt mạng Profinet.
Download chương trình và kiểm tra kết nối
Ta phải download đẩy đủ bằng cách click vào tên thiết bị PLC, và nhấn vào biểu tượng download. Một cửa sổ sẽ hiện ra như sau:
Sau đó, ta cần chọn đúng kiểu giao tiếp và lớp Subnet đang kết nối, cũng như card mạng mà bạn đang sử dụng để download. Nếu chọn đúng và click Start Search, ta sẽ thấy được thiết bị detect ra màn hình. Tiếp theo nhấn Load và đổ chương trình xuống là đã hoàn thành xong việc download. Việc còn lại là ta phải Switch sang chế độ Profinet tại màn hình Seneca Discovery Device:
Vậy là ta đã hoàn tất việc kết nối Profinet cho R-KEY-LT-P và S7-1200 rồi đó. Việc còn lại là bạn hãy kiểm tra kết nối đã thành công hay không, và kết quả Read và Write đã đúng hay chưa.
Nếu tại góc phải màn hình của giao diện Devices, các tích xanh đã đổi sang màu xanh, thì chúc mừng bạn đã kết nối Profinet thành công và dữ liệu bắt đầu đẩy ra vùng nhớ mà ta đã move ra trước đó. Việc còn lại là giám sát dữ liệu thông qua read và write dữ liệu từ PLC lên R-KEY-LT-P.
Vậy là ta đã thành công trong việc giao tiếp Profinet giữa R-KEY-LT-P của Seneca và S7-1200 của Siemens.
Giao diện giám sát & điều khiển hệ thống trên WinCC HMI
Như vậy mình sẽ phát triển đọc và ghi dữ liệu các biến còn lại tương tự các bước ở trên giám sát điều khiển lên màn hình Wincc HMI như sau:
Như vậy thông qua việc kết nối Profinet cho R-KEY-LT-P và S7-1200, ta đã đọc và ghi dữ liệu thành công từ S7-1200 cho R-KEY-LT-P, qua đó có thể giám sát khối lượng đặt trên LoadCell đặt tại hiện trường và cài đặt bộ Z-SG trực tiếp trên WinCC của S7-1200
Kết luận
Tóm lại, thông qua bài viết này các bạn đã có thể truyền thông PROFINET cho R-KEY-LT-P với PLC S7-1212C DC/DC/DC:
- Đọc tín hiệu cảm biến hoặc loadcell đặt tại hiện trường truyền thông qua modbus RTU từ bộ chuyển đổi Z-SG gửi lên Gateway R-KEY-LT-P
- Config trực tiếp lên thanh ghi của bộ chuyển đổi đang đọc tín hiệu cảm biến từ PLC thông qua Gateway R-KEY-LT-P bằng Profinet.
- Bạn cũng sẽ làm tương tự với các GSD khác khi giao tiếp với PLC. Nếu như các bạn còn thắc hay góp ý điều gì hay để lại ý kiến dưới phần bình luận bên dưới bài viết.
- Cảm ơn các bạn đã theo dõi bài viết. Chúc các bạn thành công.
Có thể bạn muốn đọc thêm:
https://huphaco.vn/mang-truyen-thong-trong-cong-nghiep/
https://huphaco.vn/truyen-thong-profinet-s7-1200/
BÀI VIẾT LIÊN QUAN