西门子销售工业计算机经销商
PLC是什么意思?相信很多人处于大概知道是什么,又无法准确说出的阶段,作为专注于为企业提供数据采集和设备控制解决方案的众诚工业,今天和大家探讨一下。
而众诚工业还能根据用户需求,设计PLC控制程序,为客户提供PLC编程和上位机软件的定制化开发技术服务,满足用户的多种需求,比如,自主研发的洁净空调智能控制系统和通风排风智能控制系统就配置PLC,不仅具有报警和定时控制功能,还兼具可扩展性和兼容性,系统能被第三方系统集成。
以上PLC的基本介绍,相信大家对PLC也有一个初步的了解。PLC的型号、品牌不同,对应着其结构形式、性能、编程方式等等都有所差异,价格也各不相同,在挑选时候,建议先要明确自己的应用需求,比如具体的应用场景,希望实现的运动和控制功能,已经特殊的控制要求,这些将决定了PLC的选型和搭配组合。
简单地说,PLC就是一种小型的计算机,和我们常用的计算机不同的是,PLC是设备之间通过数字信号进行互动,而我们常用的计算机,是人和计算机的互动。
控制是PLC的核心功能,其控制类型主要分为以下几种1、开关量的开环控制。这是PLC*基本的控制功能,它能凭借其强大的逻辑运算能力,取代传统继电接触器的控制系统;
2、数据采集与监控。这是PLC非常必要的功能,否则它将无法完成现场控制;
3、数字量智能控制。PLC具有实现接收和输出高速脉冲的功能,近年来先进的PLC还开发了数字控制模块和新型运动单元模块,让工程师更加轻松地通过PLC实现数字量控制;
4、PLC能通过模拟量采集和调节温度、压力、速度等参数。
正因为PLC功能强大,且具有设计方便、重量体积小、能耗低、改造工作量小、通用性强、维护方便等易学易用的特点,深受工程师的欢迎,应用非常广泛,钢铁、石油、化工、纺织、交通、机械制造等等行业都能看到它的身影。
参数 ConDITIONS 数据类型结构的第 1 部分(开始条件)
表格 13-106 START 条件的 ConDITIONS 结构
参数和类型 数据类型 说明
STARTCOND IN UInt 指定开始条件(默认值:1)
• 01H - 开始字符
• 02H - 任意字符
• 04H - 线路中断
• 08H - 线路空闲
• 10H - 序列 1
• 20H - 序列 2
• 40H - 序列 3
• 80H - 序列 4
IDLETIME IN UInt 线路空闲超时所需的位时间数。(默认值:40)。仅与线路空
闲条件一起使用。0 到 65535
STARTCHAR IN Byte 用于开始字符条件的开始字符。(默认值:B#16#2)
SEQ[1].CTL IN Byte 针对每个字符执行的序列 1 忽略/比较控制:(默认值:
B#16#0)
它们是为开始序列中各字符启用的位。
• 01H - 字符 1
• 02H - 字符 2
• 04H - 字符 3
• 08H - 字符 4
• 10H - 字符 5
禁用与某个字符关联的位意味着该序列位置中的任意字符均符
合条件。
SEQ[1].STR IN Char[5] 序列 1 开始字符(5 个字符)。默认值:0
SEQ[2].CTL IN Byte 针对每个字符执行的序列 2 忽略/比较控制。(默认值:
B#16#0)
SEQ[2].STR IN Char[5] 序列 2 开始字符(5 个字符)。默认值:0
SEQ[3].CTL IN Byte 针对每个字符执行的序列 3 忽略/比较控制。默认值:B#16#0
SEQ[3].STR IN Char[5] 序列 3 开始字符(5 个字符)。默认值:0参数和类型 数据类型 说明
SEQ[4].CTL IN Byte 针对每个字符执行的序列 4 忽略/比较控制。默认值:B#16#0
SEQ[4].STR IN Char[5] 序列 4 开始字符(5 个字符),默认值:0
示例
请注意以下所接收的十六进制编码消息:“68 10 aa 68 bb 10 aa 16”以及下表中列出的已组
态开始序列。在成功接收到第一个 68H 字符时,开始评估开始序列。在成功接收到第四个
字符(第二个 68H)时,开始条件 1 得到满足。只要满足了开始条件,就会开始评估结束
条件。
开始序列处理会因各种奇偶校验、成帧或字符间时间错误而终止。由于不再满足开始条件,
这些错误将导致不会有接收消息。
表格 13-107 开始条件
开始条件 第一个字符 第一个字符 +1 第一个字符 +2 第一个字符 +3 第一个字符 +4
1 68H xx xx 68H xx
2 10H aaH xx xx xx
3 dcH aaH xx xx xx
4 e5H xx xx xx xx
RCV_PTP 指令的结束条件
消息结束由指定的结束条件确定。消息结束由第一次出现的一个或多个已组态结束条件来确
定。主题“组态接收参数 (页 957)”中“消息结束条件”部分介绍了可以在 RCV_CFG 指令中
组态的结束条件。
可以在设备配置的通信接口的属性中组态结束条件,或者通过 RCV_CFG 指令组态结束条件。
只要 CPU 从 STOP 模式切换到 RUN 模式,接收参数(开始条件和结束条件)就将恢复为设
备配置设置。如果 STEP 7 用户程序执行 RCV_CFG,则这些设置将更改为 RCV_CFG 的条件*大消息长度:仅当选择*大长度结束条件时使
用。1 到 1024 个字节
N IN UInt
0
长度域在消息中的字节位置。仅与 N + LEN + M 结
束条件一起使用。1 到 1022 个字节
LENGTHSIZE IN UInt
0
长度字段的大小(1、2 或 4 个字节)。仅与 N +
LEN + M 结束条件一起使用。
LENGTHM IN UInt
0
指定跟在长度域后、不包含在长度域值内的字符
数。该参数仅与 N + LEN + M 结束条件一起使用。0
到 255 个字节
RCVTIME IN UInt
200
指定接收第一个字符所需的等待时间。如果在指定
时间内没有成功接收到字符,接收操作将被终止且
包含错误。该参数仅与响应时间条件一起使用。(0
到 65535 个位时间,*多 8 秒)
此参数不是消息结束条件,因为在接收到第一个响
应字符时评估即终止。由于在预期有响应时却接收
不到响应,仅就其能够终止接收方操作而言,
它又是一个结束条件。必须选择一个单独的结束条
件。
MSGTIME IN UInt
200
指定在接收到第一个字符后完成接收整条消息所需
的等待时间。只有选择了消息超时条件时,才会使
用该参数。(0 到 65535 毫秒)
CHARGAP IN UInt
12
指定字符间的位时间数。如果字符间的位时间数超
出指定值,则结束条件得到满足。该参数仅与字符
间隙条件一起使用。(0 到 65535 个位时间,*多
8 秒)说明
SEQ.CTL IN Byte
B#16#0
针对每个字符执行的序列 1 忽略/比较控制:
它们是为结束序列中各字符启用的位。字符 1 是位
0,字符 2 是位 1,依此类推,字符 5 是位 4。禁用
与某个字符关联的位意味着该序列位置中的任意字
符均符合条件。
SEQ.STR IN Char[5]
0
序列 1 开始字符(5 个字符)
表格 13-109 条件代码
STATUS (W#16#....) 说明
80C0 所选开始条件非法
80C1 所选结束条件非法;未选择结束条件
80C2 启用了接收中断,但不允许此操作。
80C3 启用了*大长度结束条件,*大长度是 0 或大于 1024。
80C4 启用了计算长度,但 N >= 1023。
80C5 启用了计算长度,但长度不是 1、2 或 4。
80C6 启用了计算长度,但 M 值大于 255。
80C7 启用了计算长度,但计算长度大于 1024。
80C8 启用了响应超时,但响应超时为零。
80C9 启用了字符间隙超时,但该字符间隙超时为零。
80CA 启用了线路空闲超时,但该线路空闲超时为零。
80CB 启用了结束序列,但所有字符均“不相关”。
80CC 启用了开始序列(4 个中的任何一个),但所有字符均“不相关”
说明
"SEND_PTP_DB"(
REQ:=_bool_in_,
PORT:=_uint_in_,
BUFFER:=_variant_in_,
LENGTH:=_uint_in_,
PTRCL:=_bool_in_,
DONE=>_bool_out_,
ERROR=>_bool_out_,
STATUS=>_word_out_);
SEND_PTP 用于启动数据传输,并将分配的缓冲
区传送到通信接口。在 CM 或 CB 块以指定波特
率发送数据的CPU 程序会继续执行。仅
一个发送操作可以在某一给定时间处于未决状
态。如果在 CM 或 CB 已经开始传送消息时执行
第二个 SEND_PTP,CM 或 CB 将返回错误。
1 STEP 7 会在插入指令时自动创建 DB。
表格 13-111 参数的数据类型
参数和类型 数据类型 说明
REQ IN Bool 在该传送使能输入的上升沿激活所请求的传送。这会启动将缓冲区数
据传送到点对点通信接口。(默认值:False)
PORT IN PORT 安装并组态 CM 或 CB 通信设备之后,端口标识符将出现在 PORT 功能
框连接的参数助手下拉列表中。分配的 CM 或 CB 端口值为设备配置属性
“硬件标识符”。端口符号名称在 PLC 变量表的“系统常量”(System
constants) 选项卡中分配。(默认值:0)
BUFFER IN Variant 该参数指向传送缓冲区的起始位置。(默认值:0)
注:不支持布尔数据或布尔数组。
LENGTH 1
IN UInt 传输的帧长度(字节)(默认值:0)
传输复杂结构时,始终使用长度 0。
PTRCL IN Bool 保留供以后使用
DONE OUT Bool 上一请求已完成且没有出错后,保持为 TRUE 一个扫描周期时间
ERROR OUT Bool 上一请求已完成但出现错误后,保持为 TRUE 一个扫描周期时间
STATUS OUT Word 执行条件代码(默认值:0)
1 可选参数:单击 LAD/FBD 框底部的箭头,展开框并包含此参数。
传送操作进行期间,DONE 和 ERROR 输出均为 FALSE。传送操作完成后,DONE 或 ERROR 输
出将被设置为 TRUE 以显示传送操作的状态。当 DONE 或 ERROR 为 TRUE 时
该输入为 TRUE 并且有消息时,会将消息从 CM 或 CB 传送到 BUFFER。
EN_R 为 FALSE 时,将检查 CM 或 CB 是否收到消息并更新 NDR、ERROR
和 STATUS 输出,但不会将消息传送到 BUFFER。(默认值:0)
PORT IN PORT 安装并组态 CM 或 CB 通信设备之后,端口标识符将出现在 PORT 功能
框连接的参数助手下拉列表中。分配的 CM 或 CB 端口值为设备配置属性
“硬件标识符”。端口符号名称在 PLC 变量表的“系统常量”(System
constants) 选项卡中分配。(默认值:0)
BUFFER IN Variant 该参数指向接收缓冲区的起始位置。该缓冲区应该足够大,可以接收
*大长度消息。
不支持布尔数据或布尔数组。(默认值:0)
NDR OUT Bool 新数据就绪且操作无错完成后,保持为 TRUE 一个执行周期时间。
ERROR OUT Bool 操作已完成但出现错误后,保持为 TRUE 一个执行周期时间。
STATUS OUT Word 执行条件代码(默认值:0)
LENGTH OUT UInt 返回消息的长度(字节)(默认值:0)0)
注意,EN_R 输入与 RCV_PTP 指令的消息缓存区之间的以下关系输入 EN_R 控制着是否将接收到的消息复制到 BUFFER。
当 EN_R 输入为 TRUE 并且有消息时,CPU 将消息从 CM 或 CB 传送到 BUFFER 并更新 NDR、
ERROR、STATUS,和 LENGTH 输出。
当 EN_R 为 FALSE 时,CPU 将检查 CM 或 CB 是否有消息并更新 NDR、ERROR,和 STATUS 输出,
但不会将消息传送到 BUFFER。(注意,EN_R 的默认值为 FALSE。)
建议将 EN_R 设置为 TRUE 并通过 EN 输入控制 RCV_PTP 指令的执行。
NDR 或 ERROR 为 TRUE 时,STATUS 值有效。STATUS 值提供 CM 或 CB 中的接收操作终止的
原因。它通常是正值,表示接收操作成功且接收过程正常终止。如果 STATUS 值为负数(十
六进制值的*高有效位置位),则表示接收操作因错误条件终止,例如,奇偶校验、组帧或
超限错误。
每个 PtP 通信接口*多可缓冲 1024 字节。这可以是一个大消息或几个较小的消息。如果 CM
或 CB 中存在多个消息,则 RCV_PTP 指令将返回*早的可用消息。随后执行 RCV_PTP 指令将
返回下一个*早的可用消息。
表格 13-115 条件代码
STATUS
(W#16#...)
说明
0000 没有提供缓冲区
0094 因接收到*大字符长度,消息被终止
0095 因消息超时,消息被终止
0096 消息因字符间超时而终止
0097 消息因响应超时而终止
0098 因已满足“N+LEN+M”长度条件,消息被终止
0099 因已满足结束序列,消息被终止
80E0 因接收缓冲区已满,消息被终止
80E1 因出现奇偶校验错误,消息被终止
80E2 因组帧错误,消息被终止
80E3 因出现超限错误,消息被终止
80E4 因计算长度超出缓冲区大小,消息被终止
描述
REQ IN Bool 在该使能输入的上升沿激活接收方重置(默认值:False)
PORT IN PORT 安装并组态 CM 或 CB 通信设备之后,端口标识符将出现在 PORT 功能
框连接的参数助手下拉列表中。分配的 CM 或 CB 端口值为设备配置属性
“硬件标识符”。端口符号名称在 PLC 变量表的“系统常量”(System
constants) 选项卡中分配。(默认值:0)
DONE OUT Bool 在一个扫描周期内为 TRUE 时,表示上一个请求已完成且没有错误。
ERROR OUT Bool 为 TRUE 时,表示上一个请求已完成但有错误。该输出为 TRUE
时,STATUS 输出还会包含相关错误代码。
STATUS OUT Word 错误代码(默认值:0)
有关通信状态代码,请参见点对点指令的公共参数 (页 969)。
说明
您可能希望使用 RCV_RST 指令以确保在出现通信错误或更改波特率等通信参数后清除消息
缓冲区。执行 RCV_RST 会导致模块清除所有内部消息缓冲区。清除消息缓冲区后,可确保
程序执行后续接收指令时返回的是新消息,而不是 RCV_RST 调用之前的消息在该输入的上升沿获取 RS232 信号状态值(默认值:False)
PORT IN PORT 安装并组态 CM 或 CB 通信设备之后,端口标识符将出现在 PORT 功能
框连接的参数助手下拉列表中。分配的 CM 或 CB 端口值为设备配置属性
“硬件标识符”。端口符号名称在 PLC 变量表的“系统常量”(System
constants) 选项卡中分配。
NDR OUT Bool 新数据就绪且操作无错误地完成时,在一个扫描周期内为 TRUE
ERROR OUT Bool 操作已完成但出现错误后,保持为 TRUE 一个扫描周期时间
STATUS OUT Word 执行条件代码(默认值:0)
DTR OUT Bool 数据终端就绪,模块就绪(输出)。默认值:False
DSR OUT Bool 数据设备就绪,通信伙伴就绪(输入)。默认值:False
RTS OUT Bool 请求发送,模块已做好发送准备(输出)。默认值:False
CTS OUT Bool 允许发送,通信伙伴可以接收数据(输入)。默认值:False
DCD OUT Bool 数据载波检测,接收信号电平(始终为 False,不支持)