西门子S7-1200 控制器是我们新推出产品的核心,可实现简单却高度精确的自动化任务。西门子S7-1200 控制器实现了模块化和紧凑型设计,功能强大、投资安全并且*适合各种应用。可扩展性强、灵活度高的设计,可实现标准工业通信的通信接口以及一整套强大的集成技术功能,使该控制器成为完整、全面的自动化解决方案的重要组成部分。
产品简介
详细介绍
四川西门子S7-1200代理商(欢迎您)总代理
S7-1200 可编程控制器 远程服务通信(SMTP 电子邮件)
远程服务通信(SMTP 电子邮件)
TM_Mail 发送电子邮件指令
表格 13- 1 TM_MAIL 指令
LAD/FBD | SCL | 说明 |
![]() | "TM_MAIL_DB"( REQ:=_bool_in_, ID:=_int_in_, TO_S:=_string_in_, CC:=_string_in_, SUBJECT:=_string_in_, TEXT:= _string_in_, ATTACHMENT:=_variant_in_, BUSY=>_bool_out_, DONE=>_bool_out_, ERROR=>_bool_out_, STATUS=>_word_out_,); | TM_MAIL 指令通过 CPU 工业以太网连接使用 TCP/IP 上的 SMTP (Simple Mail Transfer Protocol, 简单邮件传输协议)发送电子邮件消 息。 其中基于以太网的 Internet 连接性不可用,可选的远程服务适配器可 用于与电话陆线的连接。TM_MAIL 会异步执行,并且该作业会持续多次 TM_MAIL 调用。 调用 TM_MAIL |
时,必须分配背景数据块。 绝不可设 | ||
置该背景数据块的保持性属性。 如此 | ||
可以确保背景数据块在 CPU 由 STOP 模式切换到 RUN 模式时初始化,以及可以触发新的 TM_MAIL 操 | ||
作。 |
1 STEP 7 会在插入指令时自动创建背景 DB。
当输入参数 REQ 出现上升沿(从 0 变为 1)时,开始发送电子邮件。 下表给出了
BUSY、DONE 和 ERROR 之间的关系。 可在连续调用期间评估这些参数来监视
TM_MAIL 执行的进度和检查完成情况。
输出参数 BUSY 的状态从 1 变为 0 时,输出参数 DONE、ERROR、 STATUS 和
SFC_STATUS 仅在一个周期内有效。程序逻辑必须保存临时输出状态值,以便能检测到后续程序执行周期中的状态变化。
表格 13- 2 Done、Busy 和 Error 参数之间的交互作用
DONE | BUSY | ERROR | 说明 |
不相关 | 1 | 不相关 | 正在处理作业。 |
1 | 0 | 0 | 作业已成功完成。 |
DONE | BUSY | ERROR | 说明 |
0 | 0 | 1 | 作业因出错而终止。 有关错误原因的信息,请参见 STATUS 参数。 |
0 | 0 | 0 | 没有作业正在处理 |
如果 CPU 在 TM_MAIL 激活期间切换到 STOP 模式,则将终止与电子邮件服务器之间的通信连接。 如果通过工业以太网总线进行 CPU 通信时出现问题,那么将丢失与电子邮件服务器的通信连接。发生这些情况时,将暂停发送过程,同时接收方也收不到电子邮件。
小心 |
修改用户程序 仅在下列情况下更改用户程序中直接影响 TM_MAIL 调用的部分:
具体而言是程序块的删除和替换、对 TM_MAIL 的调用或者对 TM_MAIL 背景数据块的调用。 如果未能保持已链接的程序块,则 TPC/IP 通信功能将进入不确定状态。 传送修改后的程序块之后,必须执行 CPU 重启(热启动)或冷启动。 |
数据*性
在启动操作时会读取输入参数 ADDR_MAIL_SERVER。 只有在当前操作完成并且启动新的 TM_MAIL 操作后,新值才会生效。
相反,参数 WATCH_DOG_TIME、TO_S、CC、FROM、SUBJECT、TEXT、
ATTACHMENT、USERNAME 和 PASSWORD 将在执行 TM_MAIL 时被读取,并且仅在完成作业 (BUSY = 0) 后才可更改。
拨号连接: 组态 TS 适配器的 IE 参数。
必须组态离开调用的远程服务适配器 IE 参数,以便与 Internet 服务提供商的拨号服务器相连接。 如果设置了调用的“按需”属性,则仅在发送电子邮件时建立连接。 对于模拟调制解调器连接,连接过程需要更多的时间(大约多出一分钟)。 必须将额外的时间包括到 WATCH_DOG_TIME 值中。
表格 13- 3 参数的数据类型
参数和类型 | 数据类型 | 说明 | |
REQ | IN | Bool | 通过由低到高的(上升沿)信号启动操作。 |
ID | IN | Int | 连接标识符: 请参见指令 TCON、TDISCON、 TSEND 和 TRCV 的 ID 参数。 必须使用未在用户程序中用于该指令的任何其它实例的编号。 |
TO_S | IN | String | 收件人地址: 大长度为 240 个字符的 STRING 数据 |
CC | IN | String | 抄送收件人地址(可选): 大长度为 240 个字符的 STRING 数据 |
SUBJECT | IN | String | 电子邮件的主题名: 大长度为 240 个字符的 STRING 数据。 |
TEXT | IN | String | 电子邮件的文本消息(可选): 大长度为 240 个字符的 STRING 数据。 如果此参数是空字符串,则发送的电子邮件将不含任何消息文本。 |
ATTACHMENT | IN | Variant | 指向电子邮件附件数据的指针: 大长度为 65534 字节的字节、字或双字数据。 如果未分配任何值,则发送的电子邮件不含附件。 |
DONE | OUT | Bool |
|
BUSY | OUT | Bool |
|
ERROR | OUT | Bool | 上一请求因错误而终止后,ERROR 位将在一个扫描 周期的时间内保持为 1。 STATUS 输出中的错误代码值仅在 ERROR = 1 的一个扫描周期内有效。 |
STATUS | OUT | Word | TM_MAIL 指令的返回值或错误信息。 |
参数和类型 | 数据类型 | 说明 | |
ADDR_MAIL_SERVER | 1 Static | DWord | 邮件服务器的 IP 地址: 必须将每个 IP 地址片段分配为两个 4 位十六进制字符组成的 8 位位组。 如果 IP 地址片段 = 等于十六进制值 A 的十进制值 10,则必须为该 8 位位组输入“0A”。 例 如 : IP 地 址 = 192.168.0.10 ADDR_MAIL_SERVER = DW#16#C0A8000A,其 中:
|
WATCH_DOG_TIME | 1 Static | Time | 通过 TM_MAIL 建立服务器连接所允许的长时间。如果超出该时间,TM_MAIL 结束执行并报告错误。 在 TM_MAIL 结束并报告错误之前的实际时间延时可能超过 WATCH_DOG_TIME,这是因为断开操作需要更多的时间。 开始时,应设置 2 分钟时间。 对于 ISDN 电话连接,该时间可以短很多。 |
USERNAME | 1 Static | String | 邮件帐户的用户名: 大长度为 180 个字符的 STRING 数据。 |
PASSWORD | 1 Static | String | 邮件服务器密码: 大长度为 180 个字符的 STRING 数据。 |
FROM | 1 Static | String | 发送方地址: 大长度为 240 个字符的 STRING |
SFC_STATUS | 1 Static | Word | 被调用通信块的执行条件代码 |
1 每次调用 TM_MAIL 时都不会修改这些参数的值。 值分配在 TM_MAIL 实例数据块中,并且在*调用
TM_MAIL 时,并不只被引用一次,
SMTP 验证
TM_MAIL 支持 SMTP AUTH LOGIN 验证方法。 有关该验证方法的信息,请参见邮件服务器手册或 Internet 服务提供商的网站。
AUTH LOGIN 验证方法使用 TM_MAIL、USERNAME 和 PASSWORD 参数连接邮件服务器。 以前必须在邮件服务器上设置电子邮件帐户的用户名和密码。
如果没有为 USERNAME 参数分配任何值,则不会使用 AUTH LOGIN 验证方法,并且电子邮件将在没有验证的情况下发送。
TO_S:、CC: 和 FROM:参数
参数 TO_S:、CC: 和 FROM: 是字符串,如下面的示例所示: TO_S: , FROM:
输入这些字符串时必须遵守以下规则:
- 必须输入“TO_S:”、“CC:”和“FROM:”字符(包括冒号)。
- 在每个地址前必须输入空格字符和起始尖括号“<”。 例如,在“TO_S:”和 <电子邮件地址
> 之间必须有空格字符。
- 在每个地址后必须输入结束尖括号“>”。
- 在 TO_S: 和 CC: 地址中的每个电子邮件地址后必须输入逗号字符“,”。 例如,单个电子邮件地址后的逗号在“TO_S: <email address>,”中是必填项。
- FROM: 条目只能使用一个电子邮件地址,并且末尾不能有逗号。
考虑到运行模式和存储器的使用,不会对 TM_MAIL 的 TO_S:、CC: 和 FROM: 数据执行语法检查。 如果未严格遵照上述格式规则。 SMTP 电子邮件服务器事务将会失败。
STATUS 和 SFC_STATUS 参数
TM_MAIL 返回的执行条件代码可分为以下几类:
- W#16#0000:TM_MAIL 操作已成功完成
- W#16#7xxx:TM_MAIL 操作的状态
- W#16#8xxx:内部调用通信设备或邮件服务器时出错
下表显示了 TM_MAIL 的执行条件代码,但不包括内部调用通信模块时生成的错误代码。
说明
电子邮件服务器要求
TM_MAIL 只能通过端口 25 与使用 SMTP 的电子邮件服务器通信。分配的端口号不能更改。
大多数 IT 部门和外部电子邮件服务器现在都禁用了端口 25 以防止 PC 受病毒感染而变为欺诈电子邮件生成器。
您可通过 SMTP 连接内部邮件服务器,并让内部服务器管理当前安全强化,该安全强化是通过 Internet 将电子邮件转发到外部邮件服务器所必需的功能。
Internal 电子邮件服务器配置示例
如果将 Microsoft Exchange 用作内部邮件服务器,则可以配置服务器以使 SMTP 通过分配了 S7-1200 PLC 的 IP 地址访问。 配置交换管理控制台: “服务器组态”(Server configuration) >“集线器传输”(Hub transport) >“接收连接器”(Receive connectors) >“IP 转发”(IP relay)。 在“网络”(Network) 选项卡上,有名为“从具有这些 IP 地址的远程服务器接收邮件”(Receive mail from remote servers that have these IP addresses) 的框。 您可在此处输入执行 TM_MAIL 指令的 PLC 的 IP 地址。 该类使用内部 Microsoft Exchange 服务器的连接无需验证。
电子邮件服务器配置
TM_MAIL 只能使用允许端口 25 通信、SMTP 和 AUTH LOGIN 验证(可选)的电子邮件服务器。
配置兼容的电子邮件服务器帐户以接受远程 SMTP 登录。然后编辑 TM_MAIL 的背景数据块以输入 TM_MAIL USERNAME 和 PASSWORD 字符串,这些字符串用于验证与您的电子邮件帐户的连接。
表格 13- 4 条件代码
STATUS (W#16#...): | SFC_STATUS (W#16#...): | 说明 |
0000 | - | TM_MAIL 操作已完成,且未发生错误。 这个零 STATUS 代码不能保证电子邮件确实已发送(请参见此表后的*条注释)。 |
7001 | - | TM_MAIL 处于激活状态 (BUSY = 1)。 |
7002 | 7002 | TM_MAIL 处于激活状态 (BUSY = 1)。 |
STATUS (W#16#...): | SFC_STATUS (W#16#...): | 说明 |
8xxx | xxxx | TM_MAIL 操作已完成,但内部调用通信指令时出错。 有关 SFC_STATUS 参数的详细信息,请参见底层 PROFINET 开放式用户通信指令的 STATUS 参数说明。 |
8010 | xxxx | 连接失败: 有关 SFC_STATUS 参数的详细信息,请参见 TCON 指令的 STATUS 参数说明。 |
8011 | xxxx | 发送数据时出错: 有关 SFC_STATUS 参数的详细信息,请参见 TSEND 指令的 STATUS 参数说明。 |
8012 | xxxx | 接收数据时出错: 有关 SFC_STATUS 参数的详细信息,请参见 TRCV 指令的 STATUS 参数说明。 |
8013 | xxxx | 连接失败: 有关评估 SFC_STATUS 参数的详细信息,请参见 TCON 和 TDISCON 指令的 STATUS 参数说明。 |
8014 | - | 连接失败: 可能输入了错误的邮件服务器 IP 地址 (ADDR_MAIL_SERVER) 或过短的连接时间 (WATCH_DOG_TIME)。也可能是 CPU 未与网络连接或 CPU 组态不正确。 |
82xx, 84xx, 85xx | - | 错误消息来自邮件服务器且对应于 SMTP 协议的错误编号“8”。 请参见此表后的第二条注释。 |
8450 | - | 操作未执行:箱不可用;请稍后重试。 |
8451 | - | 操作已中止: 处理过程中出现本地错误,请稍后重试 |
8500 | - | 命令语法错误: 原因可能是电子邮件服务器不支持 LOGIN 验证过 程。 请检查 TM_MAIL 的参数。 尝试发送无需验证的电子邮件。 尝试用空字符串替换参数 USERNAME。 |
8501 | - | 语法错误: 参数不正确;可能在 TO_S 或 CC 参数中输入了错误地址。 |
8502 | - | 未知的命令或命令未执行: 请检查输入的内容,尤其是参数 FROM。可能是输入不完整,漏掉了“@”或“.”字符。 |
8535 | - | SMTP 验证不完整。 输入的用户名或密码可能不正确。 |
8550 | - | 无法访问邮件服务器,或您没有访问权限。 输入的用户名或密码可能 不正确,或者邮件服务器不支持登录访问。 该错误的另一个原因可能是在 TO_S 或 CC 参数中字符“@”后面输入的域名不正确。 |
8552 | - | 操作已中止: 超出分配的存储器大小;请稍后重试。 |
8554 | - | 传输失败: 请稍后重试。 |
说明
可能未报告的电子邮件传输错误
- 收件人地址输入不正确不会令 TM_MAIL 产生 STATUS 错误。 在这种情况下,无法保证其他具有正确电子邮件地址的收件人能收到电子邮件。
- 有关 SMTP 错误代码的详细信息,请访问 Internet 或参见邮件服务器的错误文档。 也可以从邮件服务器读取后一条错误消息。 该错误消息存储在 TM_MAIL 背景数据块的参数 buffer1 中。
四川西门子S7-1200代理商(欢迎您)总代理
西门子PLC维修保养的5个过程:
一、保养规程、设备定时测验、调整规则
(1)每半年或季度检查PLC柜中接线端子的衔接状况,若发现松动的地方应当及时加固衔接;
(2)对柜中给主机供电的电源每月从头测量作业电压;
二、设备定时打扫的规则
(1)每六个月或季度对PLC进行打扫,切断给PLC供电的电源把电源机架、CPU主板及输入/输出板顺次拆下,进行吹扫、打扫后再顺次原位装置好,将悉数衔接恢复后送电并发动PLC主机。仔细打扫PLC箱内卫生;
(2)每三个月替换电源机架下方过滤网;
三、检修前预备、检修规程
(1)检修前预备好东西;
(2)为确保元件的功能不出毛病及模板不损坏,有必要用保护装置及仔细做好静电预备作业;
(3)检修前与调度和操作工联络好,需挂检修牌处挂好检修牌;
四、设备拆装次序及方法
(1)停机检修,有必要两个人以上监护操作;
(2)把CPU前面板上的方法选择开关从“运行”转到“停”方位;
(3)封闭PLC供电的总电源,然后封闭其它给模坂供电的电源;
(4)把与电源架相连的电源线记清线号及衔接方位后拆下,然后拆下电源机架与机柜相连的螺丝,电源机架就可拆下;
(5)CPU主板及I/0板可在旋转模板下方的螺丝后拆下;
(6)装置时以相反次序进行;
五、检修工艺及技能要求
(1)测量电压时,要用数字电压表或精度为1%的*表测量
(2)电源机架,CPU主板都只能在主电源切断时取下;
(3)在RAM模块从CPU取下或刺进CPU之前,要断开PC的电源,这样才能确保数据不紊乱;
(4)在取下RAM模块之前,检查一下模块电池是否正常作业,如果电池毛病灯亮时取下模块PAM内容将丢掉;
(5)输入/输出板取下前也应先关掉总电源,但如果生产需求时I/0板也可在可编程控制器运行时取下,但CPU板上的QVZ(超时)灯亮;
(6)拨插模板时,要格外当心,轻拿轻放,并运离发生静电的物品;
(7)替换元件不得带电操作
优秀适应性:使用可以根据需要结合不同的扩展模块,用户可以根据相关任务调整器控制。这可以避免产生不必要的投资。可提供 8 点、16 点和 32 路输入/输出的模块。灵活性:如果任务后续有所扩展,可以升级控制器。更新用户程序非常简单。