Nội dung
1- “TMAIL_C” là gì?
“TMAIL_C” là 1 cấu trúc có sẵn trong thư viện Tia portal dùng để gửi Email thông qua port Ethernet của PLC S7 1200 hoặc S7 1500, hoặc thông qua module truyền thông profinet mở rộng CM hay CP
Yêu cầu phần cứng tối thiểu:
- Ethernet port của S7-1500 CPU (V2.5 hoặc higher version) hoặc S7-1200 CPU (V4.4 hoặc higher version), do đó ta sẻ phải dùng Tia V16 trở lên nhé
- Ethernet port của các module CP of S7-1500 hay S7-1200
2- Nguyên lý gửi Mail
- [1] là certificate của nhà cung cấp dịch vụ email, để load chứng chỉ này vào CPU hay CP, từ đó cho phép CPU có thể truy cập vào tài khoản Email thông qua a SMTP or
SMTPS - [2] là import certificate đó vào chương trình Step 7
- [3] cấu hình DNS Server (thường là 8.8.8.8 và 8.8.4.4), lập trình dùng “TMAIL_C”
- Lưu ý cấu hình thời gian trong plc đúng thực tế
- [4] Đổ chương trình xuống plc và kết nối plc với internet để gửi mail, lưu ý IP plc là tĩnh, khi kết nối vào router lưu ý cấu hình router để chấp nhận được ip của PLC
3- Diễn giải cấu trúc Tmail-C
Tham số |
Đặc tính |
Kiểu dữ liệu |
Vùng nhớ |
Mô tả |
---|---|---|---|---|
REQ |
Input |
BOOL |
I, Q, M, D, L, T, C or constant |
REQUEST: xung cạnh lên để gọi lệnh gửi email |
TO_S |
Input |
STRING |
D, L or constant |
Địa chỉ Email người nhận STRING tối đa 240 ký tự (bytes) và phải có Theo đúng định dạng email, ví dụ: plctab.com@gmail.com |
CC |
Input |
STRING |
D, L or constant |
CC: Địa chỉ Email nhận CC STRING tối đa 240 ký tự (bytes) và nếu không có thì bỏ trống Theo đúng định dạng email, ví dụ: plctab.com@gmail.com |
SUBJECT |
Input |
STRING |
D, L or constant |
Subject: Chủ đề gửi STRING tối đa 240 ký tự (bytes) |
TEXT |
Input |
STRING |
D, L or constant |
Text: Nội dung mail gửi STRING tối đa 240 ký tự (bytes) |
ATTACHMENT |
Input |
VARIANT |
D |
E-mail attachment: file đính kèm nếu có Có thể định dạng theo byte/word/double word field (ArrayOfByte, ArrayOfWord or ArrayOfDWord) với kích thước tối đa 64 Kb. có thể để trống nếu không gửi file đính kèm |
ATTACHMENT_NAME |
Input |
STRING |
D, L or constant |
E-mail attachment name: Tên của file gửi đính kèm Tối đa 50 ký tự (bytes), nếu không có thì file đính kèm lấy tên mặc định của nó |
MAIL_ADDR_PARAM |
Input |
VARIANT |
D |
Thông tin kết nối và địa chỉ e-mail server mà PLC dùng để gửi mail |
DONE |
Output |
BOOL |
I, Q, M, D, L |
Trạng thái hoàn thành:
|
BUSY |
Output |
BOOL |
I, Q, M, D, L |
Trạng thái gửi:
|
ERROR |
Output |
BOOL |
I, Q, M, D, L |
Trạng thái lỗi:
|
STATUS |
Output |
WORD |
I, Q, M, D, L |
Xem bảng mã lỗi trong phần help để biết chính xác lỗi gì |
4- Cấu hình Email Server
Trong ví dụ này mình dùng Gmail, trong Gmail Server ta cần add thêm một ứng dụng để Gmail Server cấp phát 1 password và cho phép S7 1200 truy cập
PLC sẻ đóng vai trò là 1 Client, truy cập vào Gmail Server để thực hiện việc gửi mail đi,
Việc kết nối giữa PLC và Gmail Server sử dụng giao thức Transport Layer Security (TLS) để mã hóa giao tiếp gửi mail SMTP, nhằm đảm bảo kết nối là an toàn và bảo mật.
PLC sử dụng giao thức TLS do đó nó cần kèm 1 “Encryption Certificate” để Gmail Server xác nhận việc truy cập của PLC là an toàn.
Kích hoạt Security Setting của Tia portal, cài User và Password đầy đủ để kích hoạt certificate mặc định của Siemens.
Hoặc download Google Trusted Services – GlobalSign Root CA-R2 certificate và Import vào Project.
5- MAIL_ADDR_PARAM parameter (S7-1200, S7-1500)
Cấu trúc data cấu hình cho Tmail-C, tùy theo cách thức giao tiếp mà ta chọn cấu trúc:TMail_V4, TMail_V6 hay Tmail_FQDN.
Với port onboard PLC thì mặc định sẻ là TMail_V4, còn khi dùng port trên module CP hay CM hỗ trợ ta tùy chọn giao tiếp TMail_V4, TMail_V6 hay Tmail_FQDN
- TMail_V4: xac định Mail Server là IP address (IPv4)
Parameter |
Data type |
Description |
||
---|---|---|---|---|
TMail_V4 |
Struct |
|
||
InterfaceId |
LADDR |
Hardware identifier of the interface (check ở port mình kết nối internet) |
||
ID |
CONN_OUC |
Connection ID (check ở port mình kết nối internet) |
||
ConnectionType |
BYTE |
Kiểu kết nối. 16#20 với kiểu IPv4. |
||
ActiveEstablished |
BOOL |
Set 1 để thiết lập kết nối |
||
CertIndex |
BYTE |
|
||
WatchDogTime |
TIME |
Xác định thời gian gửi data max |
||
MailServerAddress |
IP_V4 |
IP address của mail server. IPv4 định dạng: XXX.XXX.XXX.XXX (decimal). Ví dụ: 192.142.131.237., để biết của gmail ta vào cmd gõ: ping smtp.gmail.com |
||
UserName |
STRING[254] |
user truy cập mail |
||
PassWord |
STRING[254] |
password truy cập mail |
||
From |
EMAIL_ADDR |
E-mail sender address, ví dụ: “myname@mymailserver.com”. |
||
LocalPartPlusAtSign |
STRING[64] |
Local part of sender address, including @ sign. Example: “myname@” |
||
FullQualifiedDomainName |
STRING[254] |
Fully Qualified Domain Name (abbreviated to FQDN) of the mail server. Example: “mymailserver.com” |
- TMail_V6: xác định mail server theo IP address IPv6
Parameter |
Data type |
Description |
||
---|---|---|---|---|
TMail_V6 |
Struct |
|||
InterfaceId |
LADDR |
Hardware identifier of the interface (check ở port mình kết nối internet) |
||
ID |
CONN_OUC |
Connection ID (check ở port mình kết nối internet) |
||
ConnectionType |
BYTE |
Kiểu kết nối. 16#21 với kiểu IPv6. |
||
ActiveEstablished |
BOOL |
Set 1 để thiết lập kết nối |
||
CertIndex |
BYTE |
|
||
WatchDogTime |
TIME |
Execution watchdog. Sử dụng tham số này để xác định thời gian thực hiện tối đa cho hoạt động gửi. Lưu ý: Quá trình thiết lập kết nối có thể mất nhiều thời gian hơn (khoảng một phút) nếu kết nối chậm. Khi bạn chỉ định tham số WATCH_DOG_TIME, hãy nhớ cho phép khoảng thời gian cần thiết để thiết lập kết nối. Kết nối sẽ bị chấm dứt sau khi thời gian được chỉ định trôi qua. |
||
MailServerAddress |
IP_V6 |
Địa chỉ IP của máy chủ thư (IPv6) ở định dạng sau: XXXX.XXXX.XXXX.XXXX.XXXX.XXXX.XXXX.XXXX (hexadecimal). Địa chỉ được chia thành 8 khối, mỗi khối 2 byte (tổng cộng là 16 byte). Ví dụ: 2001:db8:1f11:08d3:290:27ff:0370:2093 |
||
UserName |
STRING[254] |
user truy cập mail |
||
PassWord |
STRING[254] |
password truy cập mail |
||
From |
EMAIL_ADDR |
E-mail sender address, ví dụ: “myname@mymailserver.com”. |
||
LocalPartPlusAtSign |
STRING[64] |
Mail người gửi nhớ bao gồm ký tự @ ví dụ “myname@” |
||
FullQualifiedDomainName |
STRING[254] |
Fully Qualified Domain Name (FQDN) của mail server. Ví dụ: “mymailserver.com” |
- TMail_FQDN: xác định mail server qua FQDN, thường dùng là “TMail_QDN_SEC”
Parameter |
Data type |
Description |
||
---|---|---|---|---|
TMail_FQDN |
Struct |
|||
InterfaceId |
LADDR |
Hardware identifier of the interface (check ở port mình kết nối internet) |
||
ID |
CONN_OUC |
Connection ID (check ở port mình kết nối internet) |
||
ConnectionType |
BYTE |
Kiểu kết nối. 16#22 với kiểu FQDN. |
||
ActiveEstablished |
BOOL |
Set 1 để thiết lập kết nối |
||
CertIndex |
BYTE |
|
||
WatchDogTime |
TIME |
Execution watchdog. Sử dụng tham số này để xác định thời gian thực hiện tối đa cho hoạt động gửi. Lưu ý: Quá trình thiết lập kết nối có thể mất nhiều thời gian hơn (khoảng một phút) nếu kết nối chậm. Khi bạn chỉ định tham số WATCH_DOG_TIME, hãy nhớ cho phép khoảng thời gian cần thiết để thiết lập kết nối. Kết nối sẽ bị chấm dứt sau khi thời gian được chỉ định trôi qua. |
||
MailServerAddress |
STRING[254] |
Fully Qualified Domain Name (FQDN) của mail server. Ví dụ: “mymailserver.com” |
||
UserName |
STRING[254] |
user truy cập mail |
||
PassWord |
STRING[254] |
password truy cập mail |
||
From |
Struct |
E-mail sender address, ví dụ: “myname@mymailserver.com”. |
||
LocalPartPlusAtSign |
STRING[64] |
Local part of sender address, including @ sign. Example: “myname@” |
||
FullQualifiedDomainName |
STRING[254] |
Fully Qualified Domain Name (FQDN) của mail server. Ví dụ: “mymailserver.com” |
Chi tiết cài đặt cho cấu trúc data cấu hình cho Tmail-C ta tải bài mẫu về xem sẻ thấy rõ nhé.
6- Download bài mẫu và hướng dẫn của Siemens
Tải bài mẫu và xem thêm tài liệu Siemens, thử nghiệm để hiểu sâu hơn, chúc bạn thành công!
- User name: admin
- Password: Siemens.1
46817803_EMail_with_SimaticS7_en
Cho em hỏi là cái này có cần PLC thật không ạ ,em muốn mô phỏng thì làm sao ạ
cần plc thật nhé bạn
vậy là tmail C này có thể mô phỏng không được hả anh, em đang làm đồ án nhưng dịch nên trường cho làm mô phỏng thôi ạ ,mong anh trả lời giúp em ạ,