
西门子供应工业计算机经销商
PLC是什么意思?相信很多人处于大概知道是什么,又无法准确说出的阶段,作为专注于为企业提供数据采集和设备控制解决方案的众诚工业,今天和大家探讨一下。
而众诚工业还能根据用户需求,设计PLC控制程序,为客户提供PLC编程和上位机软件的定制化开发技术服务,满足用户的多种需求,比如,自主研发的洁净空调智能控制系统和通风排风智能控制系统就配置PLC,不仅具有报警和定时控制功能,还兼具可扩展性和兼容性,系统能被第三方系统集成。
以上PLC的基本介绍,相信大家对PLC也有一个初步的了解。PLC的型号、品牌不同,对应着其结构形式、性能、编程方式等等都有所差异,价格也各不相同,在挑选时候,建议先要明确自己的应用需求,比如具体的应用场景,希望实现的运动和控制功能,已经特殊的控制要求,这些将决定了PLC的选型和搭配组合。
简单地说,PLC就是一种小型的计算机,和我们常用的计算机不同的是,PLC是设备之间通过数字信号进行互动,而我们常用的计算机,是人和计算机的互动。
控制是PLC的核心功能,其控制类型主要分为以下几种1、开关量的开环控制。这是PLC*基本的控制功能,它能凭借其强大的逻辑运算能力,取代传统继电接触器的控制系统;
2、数据采集与监控。这是PLC非常必要的功能,否则它将无法完成现场控制;
3、数字量智能控制。PLC具有实现接收和输出高速脉冲的功能,近年来先进的PLC还开发了数字控制模块和新型运动单元模块,让工程师更加轻松地通过PLC实现数字量控制;
4、PLC能通过模拟量采集和调节温度、压力、速度等参数。
正因为PLC功能强大,且具有设计方便、重量体积小、能耗低、改造工作量小、通用性强、维护方便等易学易用的特点,深受工程师的欢迎,应用非常广泛,钢铁、石油、化工、纺织、交通、机械制造等等行业都能看到它的身影。
TCON、TDISCON、TSEND 和 TRCV 异步运行,即,作业处理需要多次执行指令来完成。例如,
执行参数 REQ = 1 的 TCON 指令来启动用于设置和建立连接的作业。执行 TCON
来监视作业进度并使用参数 DONE 来测试作业是否完成。
下表给出了 BUSY、DONE 和 ERROR 之间的关系。使用该表可以确定当前作业状态:
表格 11-36 BUSY、DONE 和 ERROR 参数之间的交互作用
BUSY DONE ERROR 描述
TRUE 不相关 不相关 正在处理作业。
FALSE TRUE FALSE 作业已成功完成。
FALSE FALSE TRUE 作业因错结束。出错原因可在 STATUS 参数中找到。
FALSE FALSE FALSE 未分配新作业。
TCON 和 TDISCON
说明
初始化通信参数
插入 TCON 指令之后,可使用该指令 (页 609)的“属性”(Properties) 来组态通信参数
(页 630)。在巡视窗口为通信伙伴输入参数时,STEP 7 会在指令的背景数据块中输入相应数
据。
如果要使用多重背景 DB,必须在两个 CPU 上组态该 DB。描述
ERROR OUT Bool 状态参数,可具有以下值:
• 0:无错误
• 1:处理期间出错。STATUS 提供错误类型的详细信
息。
STATUS OUT Word 包括错误信息的状态信息。(请参见下表中的错误和
状态条件代码。)
两个通信伙伴都执行 TCON 指令来设置和建立通信连接。用户使用参数指定主动和被动通信
端点伙伴。设置并建立连接后,CPU 会自动保持和监视该连接。
如果连接终止(例如,因断线或远程通信伙伴原因),主动伙伴将尝试重新建立组态的连接。
不必执行 TCON。
执行 TDISCON 指令或 CPU 切换到 STOP 模式后,会终止现有连接并删除所设置的连接。要
设置和重新建立连接,必须执行 TCON。
表格 11-39 ERROR 和 STATUS 指令的 TCON 和 TDISCON 条件代码
ERROR STATUS 描述
0 0000 连接已成功建立。
0 7000 当前无作业处理
0 7001 启动作业处理;正在建立连接 (TCON) 或正在终止连接 (TDISCON)
0 7002 后续调用(与 REQ 无关);正在建立连接 (TCON) 或正在终止连接 (TDISCON)
1 8086 参数 ID 超出允许的地址范围。
1 8087 TCON:已达到*大连接数;无法建立更多连接。
1 809B TCON:连接描述中的 local_device_id 与 CPU 的不匹配。
1 80A1 TCON:连接或端口已被用户占用。
1 80A2 TCON:本地端口或远程端口已被系统占用。
1 80A3 正在尝试重新建立现有连接 (TCON) 或终止不存在的连接 (TDISCON)。
1 80A4 TCON:远程连接端点的 IP 地址无效;可能与本地通信伙伴的 IP 地址匹配。
1 80A5 TCON:连接 ID (页 628) 已被使用。
1 80A7 TCON:通信错误:在 TDISCON 完成前执行了 TCON。TDISCON 必须先完全终
止 ID 引用的连接。
1 80B2 TCON:ConNECT 参数指向通过属性“仅存储在装载存储器中”生成的某个数
据块描述
1 80B4 TCON:使用 ISO on TCP (connection_type = B#16#12) 建立被动连接时,条件
代码 80B4 提示您输入的 TSAP 不符合下列某一项地址要求:
• 如果本地 TSAP 长度为 2 个字节且首字节的 TSAP ID 值为 E0 或 E1(十六进
制),则第二字节必须为 00 或 01。
• 如果本地 TSAP 长度为 3 个或更多字节,且首字节的 TSAP ID 值为 E0 或 E1
(十六进制),则第二字节必须为 00 或 01,且所有其它字节必须为有效的
ASCII 字符。
• 如果本地 TSAP 长度为 3 个或更多字节,且首字节的 TSAP ID 值既不为 E0 也
不为 E1(十六进制),则 TSAP ID 的所有字节都必须为有效的 ASCII 字符。
有效 ASCII 字符的字节值为 20 到 7E(十六进制)。
1 80B5 TCON:连接类型 "13 = UDP" 只允许创建被动连接。
1 80B6 TCON:SDT TCON_Param 的 CONNECTION_TYPE 参数存在参数分配错误。
1 80B7 TCON:连接描述数据块的以下参数之一出错:
• block_length
• local_tsap_id_len
• rem_subnet_id_len
• rem_staddr_len
• rem_tsap_id_len
• next_staddr_len
注:在 TCP 被动模式下执行 TCON 时,LOCAL_TSAP_ID_LEN 必须为“2”,且
REM_TSAP_ID_LEN 必须为“0”。
1 80B8 TCON:本地连接描述中的参数与参数 ID 不同。
1 80C3 TCON:所有连接资源均已使用。
1 80C4 临时通信错误:
• 此时无法建立连接 (TCON)。
• TDISCON (TCON) 当前正在删除已组态连接。
• 当前正在建立连接 (TDISCON)。
• 接口正在接收新参数(TCON 和 TDISCON)。说明
使用 PROFINET 开放式用户通信协议时,如果执行 TSEND 指令但不在远程设备上执行相应的
TRCV 指令,则 TSEND 指令可能无限期处于“繁忙状态”,等待 TRCV 指令接收数据。在这
种状态下,TSEND 指令“繁忙”输出将置位,“状态”输出的值为“0x7002”。传输的数据
大于 4096 字节时可能会出现这种情况。在下次执行 TRCV 指令时会解决这一问题。
表格 11-40 TSEND 和 TRCV 指令
LAD/FBD SCL 描述
"TSEND_DB"(
req:=_bool_in_,
ID:=_word_in_,
len:=_udint_in_,
done=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
data:=_variant_inout_);
TCP 和 ISO on TCP:TSEND 通过从 CPU 到
伙伴站的通信连接发送数据。
"TRCV_DB"(
en_r:=_bool_in_,
ID:=_word_in_,
len:=_udint_in_,
ndr=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
rcvd_len=>_udint_out_,
data:=_variant_inout_);
TCP 和 ISO on TCP:TRCV 通过从伙伴站到
CPU 的通信连接接收数据。
1 STEP 7 会在插入指令时自动创建 DB。
表格 11-41 TSEND 和 TRCV 参数的数据类型
参数和类型 数据类型 描述
REQ IN Bool TSEND:在上升沿启动发送作业。传送通过 DATA 和 LEN 指
定的区域中的数据。
EN_R IN Bool TRCV:允许 CPU 进行接收;EN_R = 1 时,TRCV 准备接收。
处理接收作业
描述
ID IN CONN_OUC
(Word)
指向相关连接的引用。ID 必须与本地连接描述信息内的相关
参数 ID 相同。
值范围:W#16#0001 到 W#16#0FFF
LEN IN UInt 要发送 (TSEND) 或接收 (TRCV) 的*大字节数:
• 默认 = 0:DATA 参数确定要发送 (TSEND) 或接收 (TRCV)
的数据长度。
• 特殊模式 = 65535:设置可变长度的数据接收 (TRCV)。
DATA IN_OUT Variant 指向发送 (TSEND) 或接收 (TRCV) 数据区的指针;数据区包
含地址和长度。该地址引用 I 存储器、Q 存储器、M 存储器
或 DB。
DONE OUT Bool TSEND:
• 0:作业尚未开始或仍在运行。
• 1:无错执行作业。
NDR OUT Bool TRCV:
• NDR = 0:作业尚未开始或仍在运行。
• NDR = 1:作业已成功完成。
BUSY OUT Bool • BUSY = 1:作业尚未完成。无法触发新作业。
• BUSY = 0:作业已完成。
ERROR OUT Bool ERROR = 1:处理期间出错。STATUS 提供错误类型的详细信
息
STATUS OUT Word 包括错误信息的状态信息。(请参见下表中的错误和状态条
件代码。)
RCVD_LEN OUT Int TRCV:实际接收到的数据量(以字节为单位)
说明
TSEND 指令需要通过 REQ 输入参数的上升沿来启动发送作业。BUSY 参数在处理期间
会设置为 1。发送作业完成时,将通过 DONE 或 ERROR 参数被设置为 1 并持续一个扫描周
期进行指示。在此期间,将忽略 REQ 输入参数的上升沿。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-42 将数据输入接收区
协议选项 在接收区输入数
据
参数
“connection_typ
e”
LEN 参数的值 RCVD_LEN 参数的值
(字节)
TCP 特殊模式 B#16#11 65535 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 除外
1 到 8192
说明
特殊模式
使用 TCP 或 ISO on TCP 协议时可以存在“特殊模式”。用户通过将“65535”分配给 LEN 参数
来设置特殊模式。接收区与 DATA 构成的区域相同。接收数据的长度将输出到参数 RCVD_LEN
中。接收数据块后,TRCV 会立即将数据写入接收区并将 NDR 设置为 1。
如果将数据存储在“优化”DB(仅符号访问)中,则只能接收数据类型为 Byte、Char、USInt
和 SInt 的数组中的数据。