如何在 SIMATIC S7-1200 中为“TMAIL_C”指令设置参数来发送 E-Mails ?

S7-1200 > V4.0版本的以太网接口,通过"TMAIL_C"指令使用SMTP (Simple Mail Transfer Protocol)发送 e-mail邮件。

硬件需求

在这个例子中,电子邮件是通过基于以太网的网络连接发送的。 需要以下硬件:

  • S7-1200 CPU
  • 访问Internet 的 DSL 路由器

下图说明了"TMAIL_C"指令与其背景DB1的调用,以及如何为 "TMAIL_C"指令填写输入和输出参数的例子。

如何在 SIMATIC S7-1200 中为“TMAIL_C"指令设置参数来发送 E-Mails ?

图 01

"TMAIL_C"指令的输入
表 01说明 "TMAIL_C"指令的输入。

输入 数据类型 描述
REQ BOOL 控制参数
请求:上升沿激活发送邮件
TO_S String

收件人地址,例如: <user1@jana.os>,

注意
输入参数时必须遵循以下规则:

  • 必须在各地址前输入空格和开尖括号“<”。
  • 必须在各地址后输入闭尖括号“>”。
  • 如果TO_S和CC参数包含多个邮件地址,则各地址之间输入逗号作分割。
CC String

CC收件人地址 (可选),例如: <user2@jana.os>

注意
输入参数时必须遵循以下规则:

  • 必须在各地址前输入空格和开尖括号“<”。
  • 必须在各地址后输入闭尖括号“>”。
  • 如果TO_S和CC参数包含多个邮件地址,则各地址之间输入逗号作分割。
SUBJECT String 电子邮件的主题
TEXT String

电子邮件的文本(可选)

注意
如果在该参数中分配空字符串,将发送无文本的电子邮件。

ATTACHMENT Variant

电子邮件附件(可选)

对最大长度为 64 Kb 的字节/字/双字域(ArrayOfByte、ArrayOfWord 或 ArrayOfDWord)的引用。 如果未分配任何值,将发送无附件的电子邮件。

ATTACHMENT_NAME String

电子邮件附件名称(可选)

指向最大长度为 50 个字符(字节)的字符串的引用,用于定义附件的文件名。 如果在该参数中分配空字符串,将使用文件名“attachment.bin”发送电子邮件的附件。

MAIL_ADDR_PARAM Version

电子邮件服务器的连接参数和地址。使用结构 TMail_V4定义连接参数。

表 01

“TMAIL_C”指令的输出
表 02说明 “TMAIL_C”指令的输出参数

输出 数据类型 描述
DONE BOOL

状态参数

  • DONE = 0:作业未启动,或仍在执行。

  • DONE = 1:作业已成功执行完毕。

BUSY BOOL

状态参数

  • BUSY = 0:“TMAIL_C”的处理已结束。

  • BUSY = 1:电子邮件传送尚未完成。

ERROR BOOL

状态参数

  • ERROR = 0:未发生错误。

  • ERROR = 1:处理过程中出现了错误。关于错误类型的详细信息,请参见 STATUS。

STATUS Word

状态参数

指令“TMAIL_C”的返回值或者错误信息。

表 02

参数“MAIL_ADDR_PARAM”
在 MAIL_ADDR_PARAM 参数处,可使用 “TMail_V4”结构定义发送电子邮件的连接和保存电子邮件服务器地址和登录数据。

表 03说明根据IPV4寻址邮件服务器的 “TMAIL_V4”结构。

参数 数据类型 描述
TMail_V4 Struct
Interface ID LADDR

接口的硬件标识符

ID CONN_OUC

连接 ID

CoectionType BYTE

连接类型

选择 16#20 作为 IPv4 的连接类型。

ActiveEstablished BOOL

状态位

建立连接后设置为“1”。

CertIndex BYTE
  • =0: 使用了 SMTP (Simple Mail Transfer Protocol)。通过 S7-1200 CPU 的接口发送电子邮件必须使用 SMTP。
  • ≠0: 连接建立前使用 SMTPS 保障其安全(使用 CP/CM 时)。 使用 CertIndex 参数指定要使用的证书(请参见“项目导航 > 全局安全设置 > 证书管理器”)。

WatchDogTime TIME

执行看门狗。 使用此参数定义发送操作的最大执行时间。

注意
如果连接速度比较慢,建立连接可能就需要较长的时间(约 1 分钟)。 指定参数 “WatchDogTime” 时,必须为连接建立预留足够的时间。一旦超过指定的时间,连接就会被终止。

MailServerAddress IP_V4 邮件服务器的IP地址。IPv4的格式如下 xxx.xxx.xxx.xxx (十进制)。
UserName STRING[254]

邮件服务器登录用户名称

PassWord STRING[254]

邮件服务器用户密码

From EMAIL_ADDR

电子邮件发件人地址,使用以下两个 STRING 参数定义。

例如: "test@testmail.os"

LocalPartPlusAtSign STRING[64]

发件人地址的本地部分,包括 @ 符号。

例如:"test@"

FullQualifiedDomainName STRING[254]

邮件服务器的全域名 (FQDN)。

例如:"testmail.os"

表 03

图. 02说明全局DB中的 “TMail_V4”的参数赋值例子。

如何在 SIMATIC S7-1200 中为“TMAIL_C"指令设置参数来发送 E-Mails ?图 02

注意

  • 在 CPU 中必须激活路由功能,并且设置正确的路由 IP 地址。否则 CPU 不能访问 e-mail 服务器的公共 IP 地址。
  • TM_MAIL 只能通过端口 25 使用 SMTP 协议与 e-mail 服务器通讯,所以端口号不能变更。

TM_MAIL 不能运行在公司网络的外部 e-mail 服务器,并且只允许通过代理上网,通常公司网络会阻止包括端口 25 的所有端口。而 TM_MAIL 只能通过 TCP 端口 25 进行外部通信。

所以可以通过 SMTP 协议建立一个内部 e-mail 服务器的连接,让内部服务器管理当前的安全扩展需求,将邮件通过互联网转发到外部邮件服务器。

例子应用"Send e-mails to SMTP server with an S7-CPU"描述了怎样组态一个JanaServer作为内网的邮件服务器转发一封邮件到外网的邮件服务器。

注意

  • 在CPU连接到 Internet之前你必须始终保持防御的纵深。
  • 在西门子的安全规范里我们明确建议了怎样连接控制器设备到办公网络的服务器,本例中说明电子邮件服务器。那就是很必要使用 DMZ方案。

安全信息

为了保护工厂,系统,设备和网络免受网络威胁,整体的工业安全概念持续发展,其不断的维护是必须的。西门子的产品和解决方案只是这个概念的一个元素。
用户有责任阻止未经授权的访问其工厂、系统、设备和网络。系统、设备和部件应该只与企业网络或在一定程度上有必要和适当的安全措施的互联网连接(如使用防火墙和网络分割)。此外,西门子指南应考虑采取适当的安全措施。更多工业安全信息,请参考:https://www.siemens.com/industrialsecurity.
西门子的产品和解决方案经过不断的发展,使他们更安全。西门子强烈建议使用产品更新,并随时使用最新的产品版本。使用不再支持的产品版本,以及未能应用最新的更新可能会增加客户的网络威胁暴露程度。
为了及时了解的产品更新,可以订阅西门子工业安全RSS。请参考:https://www.siemens.com/industrialsecurity.

更多信息
关于“TMAIL_C”详细信息可以参考“STEP 7 Professional V13 SP1”手册,相关章节标题:
"TMAIL_C: Transfer E-Mail" .

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc323861.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论