西门子供应模块配件经销商
PLC是什么意思?相信很多人处于大概知道是什么,但是又无法准确说出的阶段,作为专注于为企业提供数据采集和设备控制解决方案的众诚工业,今天和大家探讨一下。
而众诚工业还能根据用户需求,设计PLC控制程序,为客户提供PLC编程和上位机软件的定制化开发技术服务,满足用户的多种需求,比如,自主研发的洁净空调智能控制系统和通风排风智能控制系统就配置PLC,不仅具有报警和定时控制功能,还兼具可扩展性和兼容性,系统能被第三方系统集成。
以上PLC的基本介绍,相信大家对PLC也有一个初步的了解。PLC的型号、品牌不同,对应着其结构形式、性能、编程方式等等都有所差异,价格也各不相同,在挑选时候,建议先要明确自己的应用需求,比如具体的应用场景,希望实现的运动和控制功能,已经特殊的控制要求,这些将决定了PLC的选型和搭配组合。
简单地说,PLC就是一种小型的计算机,和我们常用的计算机不同的是,PLC是设备之间通过数字信号进行互动,而我们常用的计算机,是人和计算机的互动。
控制是PLC的核心功能,其控制类型主要分为以下几种1、开关量的开环控制。这是PLC*基本的控制功能,它能凭借其强大的逻辑运算能力,取代传统继电接触器的控制系统;
2、数据采集与监控。这是PLC非常必要的功能,否则它将无法完成现场控制;
3、数字量智能控制。PLC具有实现接收和输出高速脉冲的功能,近年来先进的PLC还开发了数字控制模块和新型运动单元模块,让工程师更加轻松地通过PLC实现数字量控制;
4、PLC能通过模拟量采集和调节温度、压力、速度等参数。
正因为PLC功能强大,且具有设计方便、重量体积小、能耗低、改造工作量小、通用性强、维护方便等易学易用的特点,深受工程师的欢迎,因此应用非常广泛,钢铁、石油、化工、纺织、交通、机械制造等等行业都能看到它的身影。
说明 将包含“特殊模式”的 S7-300/400 STEP 7 项目导入 S7-1200 中 在 S7-300/400 STEP 7 项目中,通过将“0”分配给 LEN 参数来选择“特殊模式”。在 S7-1200 中,用户通过将“65535”分配给 LEN 参数来设置特殊模式。 如果将包含“特殊模式”的 S7-300/400 STEP 7 项目导入 S7-1200 中,则必须将 LEN 参数 更改为“65535”。 TSEND 和 TRCV Error 和 Status 条件代码 ERROR STATUS 描述 0 0000 ? 发送作业无错完成 (TSEND) ? 已接受新数据:在 RCVD_LEN 中显示已接收数据的当前长度 (TRCV)。 0 7000 ? 无激活的作业处理 (TSEND) ? 块未准备好接收 (TRCV) 0 7001 ? 启动作业处理,正在发送数据:在执行此处理期间,操作系统访问 DATA 发 送区中的数据 (TSEND)。 ? 块准备接收,接收作业已激活 (TRCV)。 0 7002 ? 后续指令执行(与 REQ 无关),正在处理作业:在执行此处理期间,操作 系统访问 DATA 发送区中的数据 (TSEND)。 ? 后续指令执行,正在处理接收作业:数据在执行此处理期间写入接收区。因 此,错误可能导致接收区中的数据不一致 (TRCV)。 1 8085 ? LEN 参数的值大于允许的*大值 (TSEND) 和 (TRCV)。 ? 自第一次指令执行 (TRCV) 以来,LEN 或 DATA 参数发生变化。 1 8086 ID 参数不在允许的地址范围内。 1 8088 LEN 参数大于 DATA 中指定的存储区。 1 80A1 通信错误: ? 尚未建立指定的连接(TSEND 和 TRCV)。 ? 当前正在终止指定的连接。无法通过该连接执行传送或接收作业(TSEND 和 TRCV)。 ? 正在重新初始化接口 (TSEND)。 ? 接口正在接收新参数 (TRCV)。 1 80C3 内部缺乏资源:具有该 ID 的块正在一个具有不同优先级的组中处理。 1 80C4 临时通信错误: ? 此时无法建立与通信伙伴的连接。 ? 接口正在接收新参数设置或当前正在建立连接每个 CPU 都集成了一个支持标准 PROFINET 通信的 PROFINET 端口。TSEND_C、TRCV_C、 TSEND 和 TRCV 指令均支持 TCP 和 ISO-on-TCP 以太网协议。 更多相关信息,请参见“设备配置:组态本地/伙伴连接路径 (页 609)”。 11.5.8.15 T_RESET(终止和重新建立现有连接)指令 使用指令“T_RESET”可终止并重新建立现有连接: 表格 11-43 T_RESET 指令 LAD/FBD SCL 描述 "T_RESET_DB"( req:=_bool_in_, id:=_word_in_, done=>_bool_out_, error=>_bool_out_, status=>_word_out_); 使用 T_RESET 指令终止并重新建立现有连接。 将保留连接的本地端点。如果符合以下条件,即自动生成本地端点: ? 连接已组态并装载到 CPU。 ? 连接已由用户程序生成,例如通过调用指令“TCON (页 662)”。 无论连接使用的是 CPU 本地接口还是 CM/CP 接口,所有连接类型都可以执行“T_RESET”指令。 例外情况是在使用 TCP 的特殊模式下进行数据传输的连接,因为此类连接无法使用连接 ID 引 用。 使用 REQ 参数调用“T_RESET”指令后,通过参数 ID 指定的连接将终止,并且必要时,数据发 送和接收缓冲区会清空。取消连接的同时会取消所有正在进行的数据传输。因此,如果正在 传输数据,便存在数据丢失的风险。随后,定义为主动连接伙伴的 CPU 将自动尝试恢复中 断的通信连接。因此,无需调用指令“TCON (页 662)”重新建立通信连接。 输出参数 DONE、BUSY 和 STATUS 指示作业的状态。描述 REQ Input BOOL I、Q、M、D、L、 T、C 或常数 控制参数 REQUEST 启动用于终止 ID 所指 定的连接的作业。在上升沿启动作业。 ID Input CONN_OUC (WORD) L、D 或常数 对将终止的被动方连接的引用。ID 必须与 本地连接描述中的相应参数 ID 相同。 值范围:W#16#0001 到 W#16#0FFF DONE Output BOOL I、Q、M、D、L 状态参数 DONE ? 0:作业未启动,或者仍在执行之中。 ? 1:作业已执行,且无任何错误。 BUSY Output BOOL I、Q、M、D、L 状态参数 BUSY ? 0:作业已完成。 ? 1:作业尚未完成。 ERROR Output BOOL I、Q、M、D、L 状态参数 ERROR ? 0:未发生错误。 ? 1:处理期间出错。STATUS 参数提供 错误类型的详细信息 STATUS Output WORD I、Q、M、D、L 状态参数 STATUS 错误信息(请参见“STATUS 参数”表)。 STATUS 参数 错误位 STATUS* (W#16#... ) 描述 0 0000 无错误。 0 0001 尚未建立连接。 0 7001 已启动连接终止。 0 7002 正在终止连接。 1 8081 ID 参数中指定了未知连接。T_DIAG(检查连接状态和读取信息)指令 “T_DIAG”指令可检查连接的状态并读取有关该连接本地端点的更多信息: 表格 11-44 T_DIAG 指令 LAD/FBD SCL 描述 "T_DIAG_DB"( req:=_bool_in_, id:=_word_in_, done=>_bool_out_, error=>_bool_out_, status=>_dword_out_); 使用“T_DIAG”指令检查连接的状态并读取有关 该连接本地端点的更多信息。 “T_DIAG”指令的工作方式如下: ? 连接由 ID 参数引用。可以同时读取连接编辑器中组态的连接端点和已编程的连接端点(例 如,使用“TCON”指令)。 由于此过程中不生成任何连接 ID,因此无法诊断临时连接端点(例如连接到工程师站时 创建的端点)。 ? 读取的连接信息存储在参数 RESULT 引用的结构中。 ? 输出参数 STATUS 指示是否可以读取该连接信息。参数 RESULT 中的结构的连接信息仅在 “T_DIAG”指令完成且 STATUS = W#16#0000、ERROR = FALSE 时有效。 如果发生错误,将无法评估连接信息。 可能的连接信息 “TDiag_Status”结构可用于读取参数 RESULT 中的连接信息。TDiag_Status 结构中仅包含有关 连接端点的*重要信息(例如,所使用的协议、连接状态以及发送和接收的数据字节数)。 下面介绍 TDiag_Status 结构的结构和参数(请参见“TDIAG_Status 结构”表)。 参数的数据类型 下表列出了“T_DIAG”指令的参数: 参数 声明 数据类型 存储区 描述 REQ Input BOOL I、Q、M、D、L、 T、C 或常数 存在上升沿时启动指令,检查参数 ID 中指 定的连接。 ID Input CONN_OUC (WORD) L、D 或常数 引用已分配的连接。 值范围:W#16#0001 到 W#16#0FFF存储区 描述 RESULT InOut VARIANT D 指向存储连接信息的结构的指针。可以在 参数 RESULT 中使用结构 TDiag_Status (有关说明,请参见“TDIAG_Status 结构” 表)。 DONE Output BOOL I、Q、M、D、L 状态参数: ? 0:指令尚未开始或仍在执行。 ? 1:指令已执行,且无任何错误。 BUSY Output BOOL I、Q、M、D、L 状态参数: ? 0:指令尚未开始或已完成。 ? 1:指令尚未完成。无法启动新作业。 ERROR Output BOOL I、Q、M、D、L 状态参数: ? 0:无错误。 ? 1:出现错误。 STATUS Output WORD I、Q、M、D、L 指令的状态 参数 BUSY、DONE 和 ERROR 可以使用 BUSY、DONE、ERROR 和 STATUS 参数检查“T_DIAG”指令的执行状态。参数 BUSY 表示作业正在执行。可使用 DONE 参数检查是否已成功执行指令。如果执行“T_DIAG”过程中 出错,将置位参数 ERROR。 下表列出了参数 BUSY、DONE 和 ERROR 之间的关系: BUSY DONE ERROR 描述 1 - - 正在处理指令。 0 1 0 指令已成功执行,仅在这种情况下,RESULT 引用结构中的数据才有效。 0 0 1 指令完成,但存在错误。错误原因通过参数 STATUS 输出。 0 0 0 尚未分配新指令。下表列出了 STATUS 参数值的含义: 错误位 STATUS* (W#16#.. .) 描述 0 0000 指令“T_DIAG”已成功执行。可对 RESULT 参数所引用结构中的数据进行评估。 0 7000 未激活任何指令处理。 0 7001 已启动指令处理。 0 7002 正在读取连接信息(REQ 参数不相关)。 1 8086 ID 参数值超出有效范围(W#16#0001 到 W#16#0FFF)。 1 8089 参数 RESULT 指向无效数据类型(**结构 TDIAG_Status 和 TDIAG_StatusExt)。 1 80A3 参数 ID 引用了不存在的连接端点。通过编程的连接,调用“TDISCON”指令后仍可能发生 此错误。 1 80C4 内部错误。连接端点暂时不可访问。 TDIAG_Status 结构 下表详细介绍了 TDIAG_Status 结构的形式。仅当指令已执行且没有错误时,各个元素的值 才有效。如果发生错误,参数的内容不会改变: 名称 数据类型 描述 TDIAG_Status 结构包含下列参数: InterfaceID HW_ANY CPU 或 CM/CP 的接口 ID (LADDR)。 ID CONN_OUC 诊断的连接 ID。成功调用后,此元素的值与“T_DIAG”指令的参数 ID 相同。x22:SMTP 或 SMTPS 协议 - 基于 FQDN (Fully Qualified Domain Name) ? ... ? 0x70:S7 连接 ? 其它:保留 ActiveEstablished BOOL ? FALSE:本地,被动连接端点 ? TRUE:本地,主动连接端点 State BYTE 连接端点的当前状态 ? 0x00:未使用。 ? 0x01:连接已终止。临时状态,例如调用“T_RESET”指令后的状态。系 统随后将自动尝试重新建立连接。 ? 0x02:主动连接端点正在尝试与远程通信伙伴建立连接。 ? 0x03:被动连接端点正在等待与远程通信伙伴建立连接。 ? 0x04:连接已建立。 ? 0x05:正在终止连接。原因可能是已调用 "T_RESET" 或 "T_DISCON" 指 令。也可能是因为协议错误或线路中断。 ? 0x06..0xFF:未使用。据类型 描述 Kind BYTE 连接端点的模式: ? 0x00:未使用。 ? 0x01:已组态并装载到 CPU 中的静态连接。 ? 0x02:已组态并装载到 CPU 中的动态连接(当前不支持)。 ? 0x03:使用 "TCON" 指令在用户程序中生成的已编程连接。调用 “TDISCON”或转换为 CPU STOP 状态导致连接端点损坏。 ? 0x04:例如,由工程师站 (ES) 或操作员站 (OS) 建立的临时动态连接(由 于无 ID,因此目前无法诊断该连接类型)。 ? 0x05..0xFF:未使用。 SentBytes UDINT 发送的数据字节数。 ReceivedBytes UDINT 接收的数据字节数。 11.5.8.17 TMAIL_C(通过 CPU 的以太网接口发送电子邮件)指令 概述 使用指令 TMAIL_C 通过 S7-1200 CPU 的以太网接口发送电子邮件。 指令 TMAIL_C 有两个功能: ? 通过 CPU 接口发送电子邮件 ? 通过 CP 接口发送电子邮件 要使用 TMAIL_C 指令,必须满足这些先决条件: ? 已组态硬件 ? 网络架构允许与邮件服务器建立通信连接7 会在插入指令时自动创建 DB。 使用以下参数定义电子邮件内容和连接数据: ? 使用参数 TO_S 和 CC 定义收件人地址。 ? 使用参数 SUBJECT 和 TEXT 定义电子邮件的内容。 ? 使用 ATTACHMENT 和 ATTACHMENT_NAME 参数的 VARIANT 指针的可选附件 ? 通过 MAIL_ADDR_PARAM 参数 (页 698)定义连接数据,并执行寻址以及对邮件服务器 进行验证 从 TMAIL_C V6.0 或更高版本以及 S7-1200 CPU 固件 V4.x 开始,可以使用 TMAIL_C 指令通 过 S7-1200 CPU 的集成以太网端口基于安全通信发送电子邮件。使用 TMail_V4_SEC 或 TMail_QDN_SEC SDT 通过 MAIL_ADDR_PARM 参数 (页 698)定义发送过程所需的数据。 不可使用 TMAIL_C 指令直接发送 SMS。邮件服务器是否可将电子邮件以 SMS 形式转发取决 于电信提供商。 指令的操作 参数 REQ 出现“0”至“1”的上升沿时,将启动电子邮件的发送任务。 TMAIL_C 指令通过“BUSY”、“DONE”、“ERROR”和“STATUS”输出参数指示作业状态。 TMAIL_C 指令将异步执行。即,可通过多次调用执行这一指令。调用“TMAIL_C”指令时必须 指定实例。在下列情况下,与邮件服务器的连接将丢失: ? CPU 在 TMAIL_C 指令处于激活状态时切换到 STOP 模式 ? 工业以太网总线出现通信问题 这种情况下,电子邮件的传输将中断,并且不会到达其接收方。 成功执行指令并发送电子邮件后连接也将被取消。 注意 更改用户程序 仅在下列情况下,可以更改直接影响 TMAIL_C 调用的用户程序部分: ? CPU 处于“STOP”模式。 ? 未发送任何电子邮件(REQ = 0 且 BUSY = 0)。 这具体是指删除和替换含有 TMAIL_C 调用或者 TMAIL_C 实例调用的程序块。 如果忽略这一限制,可能导致占用连接资源。通过工业以太网使用 TCP/IP 通信功能时,自 动化系统可能切换到某种不确定的状态。 传输更改之后,需要对 CPU 执行一次暖启动或冷启动。 数据一致性 TMAIL_C 指令在运行时会使用 TO_S、CC、SUBJECT、TEXT、ATTACHMENT 和 MAIL_ADDR_PARAM 参数,也就是说只有在作业完成后 (BUSY = 0) 才能更改这些参数。 SMTP 验证 授权指身份验证程序,例如,通过密码查询。 如果使用 S7-1200 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 的结构。