TMAIL_C:发送电子邮件 (S7-1200, S7-1500) TMAIL_C 说明 (S7-1200, S7-1500) 说明 使用指令“TMAIL_C”,可通过 S7-1500 CPU 或 S7-1200 V4.0 以上版本、通信模块 (CM) 或通 信处理器 (CP) 的以太网接口发送电子邮件。 只有组态了硬件后网络架构允许与邮件服务器建立通信连接,才可使用此指令。 使用以下参数定义电子邮件内容和连接数据: • 使用参数 TO_S 和 CC 定义收件人地址。 • 使用参数 SUBJECT 和 TEXT 定义电子邮件的内容。
• 可使用 ATTACHMENT 和 ATTACHMENT_NAME 参数的 VARIANT 指针定义附件。 • 使用 MAIL_ADDR_PARAM 参数的系统数据类型 TMail_V4、TMail_V6 或 TMail_FQDN 定 义连接数据以及所执行邮件服务器的寻址和授权方式。 – 如果正使用 S7-1500 CPU 的接口,则必须使用系统数据类型 TMail_V4。此时,只能 通过 SMTP 发送电子邮件。 – 如果使用 CM/CP 接口,则可使用任何一种系统数据类型。这样,也可通过 SMTPS 发 送电子邮件。 • 参数 REQ 出现“0”至“1”的上升沿时,将启动电子邮件的发送任务。 • 作业状态由“BUSY”、“DONE”、“ERROR”和“STATUS”输出参数指示。 不可使用“TMAIL_C”指令直接发送 SMS。是否可由邮件服务器转发电子邮件取决于电信提供 商。 说明 待发送电子邮件的数量 使用 PLC 可以同时发送多封电子邮件。使用 CP 1243‑8 IRC 或 CP 154x‑1 时,每个 CP 只能 发送一封电子邮件。使用两个 CP 时,可同时发送两封电子邮件。 指令的操作 “TMAIL_C”指令将异步执行。即,可通过多次调用执行这一指令。调用“TMAIL_C”指令时必须 指定实例。 以下情况下将会丢失与邮件服务器之间的连接: • CPU 在“TMAIL_C”处于激活状态时切换到 STOP 模式。 • 工业以太网总线出现通信问题。此时,电子邮件的传输将中断,将不会到达接收方。成功执行指令并发送电子邮件后连接也 将被取消。 注意 更改用户程序 仅在下列情况下,可以更改直接影响“TMAIL_C”调用的用户程序部分: • CPU 处于“STOP”模式。 • 未发送任何电子邮件(REQ = 0 且 BUSY = 0)。 这具体是指删除和替换含有“TMAIL_C”调用或者“TMAIL_C”实例调用的程序块。 如果忽略这一限制,可能导致占用连接资源。通过工业以太网的 TPC/IP 通信功能,自动化 系统可变为某种不确定的状态。 传送更改之后,需要对 CPU 执行一次暖启动或冷启动。 数据一致性 “TMAIL_C”指令在运行时会使用 TO_S、CC、SUBJECT、TEXT、ATTACHMENT 和 MAIL_ADDR_PARAM 参数,也就是说只有在作业完成后 (BUSY = 0) 才能更改这些参数。 SMTP 授权 此处,授权指身份验证程序,例如,通过密码查询。 如果要使用 S7-1500 CPU 接口,指令“TMAIL_C”将支持大部分邮件服务器所需的 SMTP 授权 程序 AUTH-LOGIN。有关邮件服务器授权程序的信息,请参见邮件服务器的使用手册或 Internet 服务提供商的网站。 • 在能够使用授权程序 AUTH-LOGIN 前,需要为指令“TMAIL_C”提供登录邮件服务器所需的 用户名。该用户名相当于用户在邮件服务器上建立邮箱帐号时所使用的用户名。其通过 参数 UserName 传送到参数 MAIL_ADDR_PARAM 结构中。 如果 MAIL_ADDR_PARAM 参数没有指定用户名,则不使用 AUTH-LOGIN 授权程序。此时, 电子邮箱将以无授权方式发送。 • 若要登录,指令“TMAIL_C”还需要相关密码。该密码相当于建立邮箱帐号时指定的密码。 通过 PassWord 参数将其传送给参数 MAIL_ADDR_PARAM 的结构。下表列出了“TMAIL_C”指令的参数: 参数 声明 数据类 型 存储区 说明 REQ Input BOOL I、Q、M、 D、L、T、C 或常量 控制参数 REQUEST:上升沿时激活电子 邮件的发送任务。 TO_S (页 5566) Input STRING D、L 或常量 收件人地址 Zui大长度为 240 个字符(字节)的 STRING。 关于电子邮件的格式,请参见参数说明 中的示例。 CC (页 5566) Input STRING D、L 或常量 CC 收件人地址(可选) Zui大长度为 240 个字符(字节)的 STRING。 与 TO_S 参数的电子邮件地址格式相 同。如果在此分配空字符串,电子邮件 不会发送到 CC 收件人。 SUBJECT Input STRING D、L 或常量 电子邮件的主题 Zui大长度为 240 个字符(字节)的 STRING。 TEXT Input STRING D、L 或常量 电子邮件的文本(可选) Zui大长度为 240 个字符(字节)的 STRING。如果在该参数中分配空字符 串,将发送无文本的电子邮件。 ATTACHMEN T Input VARIAN T D 电子邮件附件(可选) 对Zui大长度为 64 Kb 的字节/字/双字域 (ArrayOfByte、ArrayOfWord 或 ArrayOfDWord)的引用。如果未分配 任何值,将发送无附件的电子邮件。参数 声明 数据类 型 存储区 说明 ATTACHMEN T_NAME Input STRING D、L 或常量 电子邮件附件名称(可选) 指向Zui大长度为 50 个字符(字节)的 字符串的引用,用于定义附件的文件 名。如果在该参数中指定了一个空的字 符串,则收到的电子邮件中,附件的名 称将由电子邮件接收程序指定。因此, 建议采用已定义的文件名。 MAIL_ADDR _PARAM (页 5566) Input VARIAN T D 电子邮件服务器的连接参数和地址。 使用结构 TMail_V4、TMail_V6 或 TMail_FQDN 定义连接参数(请参见参 数说明)。 DONE (页 5578) Output BOOL I、Q、M、 D、L 状态参数 • DONE = 0:作业未启动,或者仍在 执行之中。 • DONE = 1:作业已执行,且无任何 错误。 BUSY (页 5578) Output BOOL I、Q、M、 D、L 状态参数 • BUSY = 0:“TMAIL_C”处理已终止 • BUSY = 1:电子邮件的发送尚未完 成。 ERROR (页 5578) Output BOOL I、Q、M、 D、L 状态参数 • ERROR = 0:无错误发生。 • ERROR = 1:执行过程中发生错误。 有关错误类型的详细信息,请参见 “STATUS”。 STATUS (页 5579) Output WORD I、Q、M、 D、L 状态参数 指令“TMAIL_C”的返回值或者错误信息 (请参见参数说明)。 有关有效数据类型的更多信息,请参见“有效数据类型概述 (页 255)”。 说明 可选参数 仅当可选参数 CC、TEXT 和 ATTACHMENT 包含长度大于 0 的字符串,才会通过电子邮件发 送相应的参数。