西门子供应WinCC软件经销商
PLC是什么意思?相信很多人处于大概知道是什么,但是又无法准确说出的阶段,作为专注于为企业提供数据采集和设备控制解决方案的众诚工业,今天和大家探讨一下。
而众诚工业还能根据用户需求,设计PLC控制程序,为客户提供PLC编程和上位机软件的定制化开发技术服务,满足用户的多种需求,比如,自主研发的洁净空调智能控制系统和通风排风智能控制系统就配置PLC,不仅具有报警和定时控制功能,还兼具可扩展性和兼容性,系统能被第三方系统集成。
以上PLC的基本介绍,相信大家对PLC也有一个初步的了解。PLC的型号、品牌不同,对应着其结构形式、性能、编程方式等等都有所差异,价格也各不相同,在挑选时候,建议先要明确自己的应用需求,比如具体的应用场景,希望实现的运动和控制功能,已经特殊的控制要求,这些将决定了PLC的选型和搭配组合。
简单地说,PLC就是一种小型的计算机,和我们常用的计算机不同的是,PLC是设备之间通过数字信号进行互动,而我们常用的计算机,是人和计算机的互动。
控制是PLC的核心功能,其控制类型主要分为以下几种1、开关量的开环控制。这是PLC*基本的控制功能,它能凭借其强大的逻辑运算能力,取代传统继电接触器的控制系统;
2、数据采集与监控。这是PLC非常必要的功能,否则它将无法完成现场控制;
3、数字量智能控制。PLC具有实现接收和输出高速脉冲的功能,近年来先进的PLC还开发了数字控制模块和新型运动单元模块,让工程师更加轻松地通过PLC实现数字量控制;
4、PLC能通过模拟量采集和调节温度、压力、速度等参数。
正因为PLC功能强大,且具有设计方便、重量体积小、能耗低、改造工作量小、通用性强、维护方便等易学易用的特点,深受工程师的欢迎,因此应用非常广泛,钢铁、石油、化工、纺织、交通、机械制造等等行业都能看到它的身影。
TRCV 指令将收到的数据写入到通过以下两个变量指定的接收区: ? 指向区域起始位置的指针 ? 如果不为 0 则为区域长度或 LEN 上提供的值 说明 LEN 参数的默认设置 (LEN = 0) 使用 DATA 参数来确定要传送的数据的长度。建议由 TSEND 指令传送的数据与 TRCV 指令的 DATA 参数大小相同。 如果使用 LEN 参数的默认设置且发送的句段数据必须小于 DATA 参数大小,请遵循以下 原则。建议持续高 EN_R 位直到相应 TSEND 传送适当量的数据来填充 TRCV DATA 参数。 如果 TSEND 传输的数据大小不等于 TRCV DATA 参数大小,那么 TRCV 会保持在忙碌状态 (状态代码:7002),然而 EN_R 位为高直到从 TSEND 传输的数据全部大小等于 TRCVDATA 参数大小。如果 TRCV 的 EN_R 位为脉冲,则它需要执行与 TSEND 次数相同的 脉冲来接收数据。 在数据大小等于 DATA 参数缓冲区大小之前,TRCV DATA 参数缓冲区不会显示已接收的新 数据。 接收所有作业数据后,TRCV 会立即将其传送到接收区并将 NDR 设置为 1。 表格 11-32 将数据输入接收区 协议选项 在接收区 输入数据 参数 “connection_typ e” LEN 参数的值 RCVD_LEN 参数的值 (字节) TCP 特殊模式 B#16#11 通过 TRCV 指令 ADHOC 输 入选择 1 到 1472 TCP 指定长度的数据接 收 B#16#11 0(推荐)或 1 到 8192, 65535 除外 1 到 8192 ISO on TCP 特殊模式 B#16#12 65535 1 到 1472 ISO on TCP 协议控制 B#16#12 0(推荐)或 1 到 8192, 65535 除外特殊模式 使用 TCP 或 ISO on TCP 协议时可以存在“特殊模式”。要针对特殊模式组态 TRCV 指令,请 置位 ADHOC 指令输入参数。接收区与 DATA 构成的区域相同。已接收数据的长度将输出到 参数 RCVD_LEN 中。接收数据块后,TRCV 会立即将数据写入接收区并将 NDR 设置为 1。 如果将数据存储在“优化”DB(仅符号访问)中,则只能接收数据类型为 Byte、Char、USInt 和 SInt 的数组中的数据。 说明 将包含“特殊模式”的 S7-300/400 STEP 7 项目导入 S7-1200 中 在 S7-300/400 STEP 7 项目中,通过将“0”分配给 LEN 参数来选择“特殊模式”。在 S7-1200 中,可通过置位 TRCV 指令输入参数为特殊模式组态 ADHOC 指令。 如果将包含“特殊模式”的 S7-300/400 STEP 7 项目导入 S7-1200 中,则必须将 LEN 参数 更改为“65535”。 表格 11-33 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 内部缺乏连接 (页 628)资源:具有该 ID 的块正在一个具有不同优先级的组中 处理。 1 80C4 临时通信错误: ? 此时无法建立与通信伙伴的连接。 ? 接口正在接收新参数设置或当前正在建立连接。 以太网连接协议 每个 CPU 都集成了一个支持标准 PROFINET 通信的 PROFINET 端口。TSEND_C、TRCV_C、 TSEND 和 TRCV 指令均支持 TCP 和 ISO-on-TCP 以太网协议。 更多相关信息,请参见“设备配置:组态本地/伙伴连接路径 (页 609)”。 11.5.8.13 TConSettings 可以使用“TCONSettings”指令来执行以下功能: ? 请求连接 ID 以建立新的 OUC 连接 ? 请求连接 ID 以建立新的 OUC 连接,同时为此连接指定属性 ? 读取已准备好的或现有的 OUC 连接的属性 ? 写入已准备好的或现有的 OUC 连接的属性 可以使用“TCONSettings”指令读取或写入以下连接属性: ? 如何终止 TCP 连接 “TCONSettings”指令是异步指令。该指令的执行可跨多个调用。在参数“REQ”出现上升沿时开 始进行处理。 参数“Busy”和“Done”用于指示作业状态如果执行期间出错,参数“Error”和“Status”将发出信号。 表格 11-34 参数的 TConSettings 数据类型 参数和类型 数据类型 说明 REQ Input Bool 控制参数请求 上升沿时激活该作业。 MODE Input USInt 使用“Mode”参数选择希望从 CPU 读取的信息: ? 0:请求连接 ID 以建立新的 OUC 连接,并在必要时写入关联连 接的属性(如果 OPTION 参数中存在该属性的有效值) ? 1:读取 ID 引用的 OUC 连接的属性 ? 2:写入 ID 引用的 OUC 连接的属性 ? 3 到 255:保留 DONE Output Bool 状态参数,可具有以下值: ? 0:作业尚未启动,或仍在执行过程中。 ? 1:作业已完成且未出错。此状态仅显示一次调用的时间。 BUSY Output Bool 状态参数,可具有以下值: ? 0:作业尚未启动或已完成。 ? 1:作业尚未完成。无法启动具有该实例的新作业 ERROR Output Bool 状态参数,可具有以下值: ? 0:未发生错误。 ? 1:处理期间出错。STATUS 提供有关错误类型的详细信息。此状 态仅显示一次调用的时间。 STATUS Output Word 指令“TCONSettings”的返回值或者错误信息。 ID InOut CONN_OU C 引用该连接: 注:MODE=0 时,ID 是输出参数,MODE=1 和 MODE=2 时,ID 是 输入参数。 OPTION InOut Variant 指向要读取或指定的连接属性的描述的指针: ? TCON_TCPTermination:如何终止 TCP 连接。 参数 BUSY、DONE 和 ERROR 可使用参数 BUSY、DONE、ERROR 和 STATUS 检查作业状态。参数 BUSY 指示处理状态。通 过参数 DONE 可检查作业是否已成功执行。如果在“TCONSettings”的执行过程中出错,则置 位参数 ERROR。错误信息会在参数 STATUS 中输出atus) 的 TConSettings 条件代码 STATUS (W#16#...) 说明 0000 “TCONSettings”已成功完成。 7000 未激活任何作业处理。 7001 开始执行作业 7002 中间调用(与 REQ 无关): 8086 ID 超出允许范围。 8087 已达到 OUC 连接的*大数;无法再建立更多连接。 8089 OPTION 没有指向有效的数据类型,或者 OPTION 为空。 8090 OPTION 指向某个连接属性,在 ID 引用该连接时,不得更改其属性。 8091 MODE 值无效 8092 不允许使用 OPTION 引用的数据块中的值。 8093 如果 MODE 的值为 0,则 ID 的值也必须为 0。 809A OPTION 指向“TCONSettings”不允许的数据类型。 80A3 ID 指向不存在的通信端点。 80B1 在“TCONSettings”执行完成前,参数 OPTION 已更改。在执行“TCONSettings”时,不 允许更改 OPTION。 80C3 已达到同时活动作业的*大数量。 同时活动作业的*大数量 同时活动作业的*大数量与 CPU 的 OUC 连接的*大数量相同。可使用 MODE=0 调用 TCONSettings。可以分配相关参数,如下所示: ? 在 ID 参数处输入值 NULL。 ? 如果不想为关联的连接指定属性,则将 OPTION 参数保留为空。 如果要为关联的连接指定属性,则将有效值分配给 OPTION 参数 (页 672)。 在 TConSettings 的 DONE 参数的值为 TRUE 之后,在 ID 参数中提供新 OUC 连接的连接 ID。 如果在 OPTION 参数中指定了属性,则连接将此属性用于连接。TConSettings 指令使用该 ID 的 OUC 连接资源并创建相应的诊断对象。TConSettings 指令已准备好连接,但外部通信伙 伴尚未识别该连接。 没有为连接指定任何详细信息,既没有指定连接伙伴和协议,也没有指定接口和具有连接描 述的数据块。 说明 建立连接 TConSettings 未建立连接。 建立关联的连接 如果要在“TCONSettings”成功执行之后建立相应的连接,请按下列步骤操作: 1. 保存“TCONSettings”提供的连接 ID。 2. 使用该 ID 调用指令“TCON”。 可用的 OUC 连接数不会更改,因为 TConSettings 指令已经占用该连接。 启用连接 ID 和相应的连接资源 如果要再次启用“TCONSettings”提供的连接 ID 和相应的连接资源,只能使用此 ID 调用 “TDISCON”指令。 CPU 切换到 STOP 模式 CPU 切换到 STOP 模式时,系统将释读取已准备好的或现有的连接的属性 可使用 MODE=1 调用“TCONSettings”。可以分配相关参数,如下所示: ? 在 ID 参数中,指定对所需连接的引用。 ? 在 OPTION 参数中,指定要读取的连接属性。 在假定 DONE 参数的值为 TRUE 之后,所需属性的当前值在 OPTION 指定的数据区域中可用。 指定已准备好的或现有的连接的属性 可使用 MODE=2 调用“TCONSettings”。可以分配相关参数,如下所示: ? 在 ID 参数中,指定对要为其分配属性的连接的引用。 ? 在 OPTION 参数中,指明要指定的连接属性。 在假定 DONE 参数的值为 TRUE 之后,已为连接分配所需的属性。 通过 OUC 和 Modbus 指令创建的连接 以“_C”结尾的 OUC 库指令和 MODBUS-TCP 库的指令通过内部调用指令“TCON”来建立连接。 可以使用“TCONSettings”更改此类连接,方法与通过显式调用“TCON”创建的连接相同。 通常可以读取和指定的连接属性 可以使用“TCONSettings”指令读取和指定以下连接属性: ? TCP 连接的终止方式。 协议或接口与实际可读或可指定的连接属性之间的关系 并非每个协议或接口都可以读取或指定所有上述连接属性。下表显示了各个协议或接口可以 使用的连接属性。 协议/接口 终止连接接属性的规范冲突 每个可预定义的连接属性仅适用于特定的协议或接口。因此,连接属性规范和所需的协议或 接口之间可能会发生冲突。在这种情况下,“TCONSettings”返回 STATUS 参数中的值 W#16#8090。 如何终止 TCP 连接? 可以通过以下两种方式终止现有的 TCP 连接: ? 通过 TCP-Reset(默认) 发送帧且标头中的 RST 位置位后,将关闭连接。相关资源将立即删除并启用。其余数据 既不发送也不会传送到用户程序中。 ? 通过 TCP-Finish 如果已将 TCP-Finish 设为终止连接的方式并随后调用指令“TDISCON”,则在使用 DONE=TRUE 终止“TDISCON”之后,从用户的角度来看,该连接为关闭状态,即连接 ID 再 次可用。但是,在模块的 TCP/IP 协议栈的较低层中,资源已经分配完一段时间,而属于 该连接的诊断对象也是如此。 如果使用 TCP-Finish 删除多个连接,并且在启用资源的定时器到期之前保留(使用 “TCONSettings”)或建立(使用“TCON”)连接,则可能导致出现资源瓶颈。 TCP-Finish 的条件 必须满足以下条件,才能使用 TCP-Finish 以有序的方式终止连接: ? 使用的协议为 TCP。 ? 关联的接口位于 CPU 上。 ? 连接终止的原因是调用了“TDISCON”指令。 说明 转换到 STOP 期间终止 TCP 连接 在转换到 STOP 期间,始终通过 TCP-Reset 终止 TCP 连接SDT:TCON_TCPTermination 用于终止连接的 SDT 具有以下结构: 参数 数据类型 起始值 描述 GracefulShutd own Bool FALSE ? FALSE:使用 TCP-Reset 终止连接。 ? TRUE:使用 TCP-Finish 终止连接。 11.5.8.14 早期 TCON、TDISCON、TSEND 和 TRCV 指令 在 STEP 7 V13 SP1 和 S7-1200 V4.1 CPU 之前的版本中,TCON、TDISCON、TSEND 和 TRCV 指令只能与结构符合 TCON_Param 的连接参数结合使用。一般概念适用于两个指令集。关 于编程信息,请参见各个早期 TCON、TDISCON、TSEND 和 TRCV 指令。 STEP 7 提供不同版本的 TCON、TDISCON、TSEN期 TCON、TDISCON、TSEND 和 TRCV(TCP 通信)指令 使用 TCP 和 ISO on TCP 协议的以太网通信 说明 TSEND_C 和 TRCV_C 指令 为帮助简化 PROFINET/以太网通信的编程,TSEND_C 指令和 TRCV_C 指令兼具 TCON、 TDISCON、TSEND 和 TRCV 指令的功能: ? TSEND_C 兼具 TCON、TDISCON 和 TSEND 指令的功能。 ? TRCV_C 兼具 TCON、TDISCON 和 TRCV 指令的功能。 以下指令控制通信过程: ? TCON 在客户机与服务器 (CPU) PC 之间建立 TCP/IP 连接。 ? TSEND 和 TRCV 发送和接收数据。 ? TDISCON 断开连接。 *少可传送 (TSEND) 或接收 (TRCV) 一个字节的数据,*多 8192 字节。TSEND 不支持传送 布尔位置的数据,TRCV 也不会在布尔位置中接收数据。有关使用这些指令传送数据的信息, 请参阅数据一致性 (页 184)部分。