西门子供应交换机经销商
PLC是什么意思?相信很多人处于大概知道是什么,但是又无法准确说出的阶段,作为专注于为企业提供数据采集和设备控制解决方案的众诚工业,今天和大家探讨一下。
而众诚工业还能根据用户需求,设计PLC控制程序,为客户提供PLC编程和上位机软件的定制化开发技术服务,满足用户的多种需求,比如,自主研发的洁净空调智能控制系统和通风排风智能控制系统就配置PLC,不仅具有报警和定时控制功能,还兼具可扩展性和兼容性,系统能被第三方系统集成。
以上PLC的基本介绍,相信大家对PLC也有一个初步的了解。PLC的型号、品牌不同,对应着其结构形式、性能、编程方式等等都有所差异,价格也各不相同,在挑选时候,建议先要明确自己的应用需求,比如具体的应用场景,希望实现的运动和控制功能,已经特殊的控制要求,这些将决定了PLC的选型和搭配组合。
简单地说,PLC就是一种小型的计算机,和我们常用的计算机不同的是,PLC是设备之间通过数字信号进行互动,而我们常用的计算机,是人和计算机的互动。
控制是PLC的核心功能,其控制类型主要分为以下几种1、开关量的开环控制。这是PLC*基本的控制功能,它能凭借其强大的逻辑运算能力,取代传统继电接触器的控制系统;
2、数据采集与监控。这是PLC非常必要的功能,否则它将无法完成现场控制;
3、数字量智能控制。PLC具有实现接收和输出高速脉冲的功能,近年来先进的PLC还开发了数字控制模块和新型运动单元模块,让工程师更加轻松地通过PLC实现数字量控制;
4、PLC能通过模拟量采集和调节温度、压力、速度等参数。
正因为PLC功能强大,且具有设计方便、重量体积小、能耗低、改造工作量小、通用性强、维护方便等易学易用的特点,深受工程师的欢迎,因此应用非常广泛,钢铁、石油、化工、纺织、交通、机械制造等等行业都能看到它的身影。
RY_CINT(查询循环中断参数)
表格 9-103 QRY_CINT(查询循环中断)
LAD/FBD SCL 说明
ret_val := QRY_CINT(
ob_nr:=_int_in_,
cycle=>_udint_out_,
phase=>_udint_out__,
status=>_word_out_);
获取循环中断 OB 的参数和执行状态。返回的
值早在执行 QRY_CINT 时便已存在。
表格 9-104 参数的数据类型
参数和类型 数据类型 说明
OB_NR IN OB_CYCLIC OB 号(允许使用类似 OB_MyOBName 的符号名称)
RET_VAL OUT Int 执行条件代码
CYCLE OUT UDInt 时间间隔(微秒)
PHASE OUT UDInt 相移(微秒)
STATUS OUT Word 循环中断状态代码:
? 位 0 到 4,请参见下面的 STATUS 表
? 其它位,始终为 0中断已通过 DIS_IRT 指令禁用。
2 0 中断未激活或已过期。
1 中断已激活。
4 0 通过 OB_NR 标识的 OB 不存在。
1 通过 OB_NR 标识的 OB 存在。
其它位 始终为 0
如果发生错误,RET_VAL 显示相应的错误代买,并且参数 STATUS = 0。
表格 9-106 RET_VAL 参数
RET_VAL (W#16#....) 说明
0000 无错误
8090 OB 不存在或类型错误。
80B2 OB 未附加事件。
9.5.3 时钟中断
警告
存在通过网络时间协议 (NTP) 同步攻击网络的风险
如果攻击者能通过网络时间协议 (NTP) 同步访问用户网络,那么便可能通过改变 CPU 系统
时间来中断过程控制。过程控制中断可能造成死亡、重伤或财产损失。
默认情况下,S7?1200 CPU 的 NTP 客户端功能处于禁用状态,启用该功能时,仅允许将已
组态的 IP 地址用作 NTP 服务器。CPU 在默认情况下禁用此功能,必须组态此功能才能实现
远程控制 CPU 系统时间修正。
S7?1200 CPU 支持“日时钟”中断和时钟指令,这两个指令均依赖于**的 CPU 系统时间。
如果组态 NTP 并接受从服务器进行时间同步,那么必须确保服务器是可靠来源。否则会导
致安全漏洞,从而使未知用户能够通过改变 CPU 系统时间来有限地控制您的过程。
有关安全信息和建议,请参见西门子服务与支持网站上的“工业安全操作准OB 号(允许使用符号名称)
SDT IN DTL 启动日期和时间:将忽略秒和毫秒,并且可设置为 0。
LOCAL IN Bool 0 = 使用系统时间
1 = 使用本地时间(条件是 CPU 组态为本地时间,否则使用系统
时间)
PERIOD IN Word 从起始日期和时间到再次发生中断事件的时段。
? W#16#0000 = 一次
? W#16#0201 = 每分钟
? W#16#0401 = 每小时
? W#16#1001 = 每天
? W#16#1201 = 每周
? W#16#1401 = 每月
? W#16#1801 = 每年
? W#16#2001 = 月末
ACTIVATE IN Bool 0 = 必须执行 ACT_TINT 才能激活中断事件。
1 = 中断事件已激活。
RET_VAL OUT Int 执行条件代码
程序可以使用 SET_TINTL 设置将执行分配的中断 OB 的日期和时钟中断事件。起始日期和时
间由参数 SDT 设置,再次发生中断的时间段(如,每天或每周)由参数 PERIOD 设置。如果
将重复周期设置为每月,则必须将起始日期设置为 1 号到 28 号中的一天。由于二月份没有 29
号到 31 号,因此不能使用这些值。如果希望在每月末发生中断事件,则将月末用于参数
PERIOD。忽略参数 SDT 中的 DTL 数据工作日值。从在线 CPU 的“在线和诊断”(online & diagnostics)
视图中,使用“设置日时钟”(Set time of day) 功能设置 CPU 的当前日期和时间。必须设置年、
月、日。STEP 7 根据 CPU 的日期和时间时钟计算中断的时间间隔。
说明
从夏天更改为冬天(夏令时)时,当天的第一个小时不存在。使用的起始时间应该从第二个
小时开始,或者在第一个小时内使用附加的延时中断。
表格 9-109 条件代码
RET_VAL (W#16#....) 说明
0000 无错误
8090 无效的 OB_NR 参数
8091 无效的 SDT 起始时间参数:
(例如,夏令时开始时跳过的小时内的起始时间)
8092 无效的 PERIOD 参数
80A1 该起始时间已过。
(仅在 PERIOD = W #16#0000 时发生该错误代码。)
9.5.3.2 CAN_TINT(取消时钟中断)
表格 9-110 CAN_TINT(取消日期和时钟中断)
LAD/FBD SCL 说明
ret_val:=CAN_TINT(_int_in); 为指定的中断 OB 取消起始日
期和时钟中断事件。
表格 9-111 参数的数据类型
参数和类型 数据类型 说明
OB_NR IN OB_TOD (INT) OB 号(允许使用符号名称)
表格 9-112 条件代码
RET_VAL (W#16#....) 说明
0000 无错误
8090 无效的 OB_NR 参数
80A0 无起始日期/为中断 OB 设置的时间
9.5.3.3 ACT_TINT(激活时钟中断)
表格 9-113 ACT_TINT(激活日期和时钟中断)
LAD/FBD SCL 说明
ret_val:=ACT_TINT(_int_in_); 为指定的中断 OB 激活起始日
期和时钟中断事件。
表格 9-114 参数的数据类型
参数和类型 数据类型 说明
OB_NR IN OB_TOD (INT) OB 号(允许使用符号名称)
RET_VAL OUT Int 执行条件代码
表格 9-115 条件代码
RET_VAL (W#16#....) 说明
0000 无错误
8090 无效的 OB_NR 参数
80A0 没有为相关的时钟中断 OB 设置启动日期和时钟。
80A1 激活的时间已过。仅当设置为执行一次中断 OB 时发生该错
误。RY_TINT(查询时钟中断状态)
表格 9-116 QRY_TINT(查询日期和时钟中断)
LAD/FBD SCL 说明
ret_val:=QRY_TINT(
OB_NR:=_int_in_,
STATUS=>_word_out_);
为指定的中断 OB 查询日期和时钟中断状态。
表格 9-117 参数的数据类型
参数和类型 数据类型 说明
OB_NR IN OB_TOD (INT) 要查询的中断 OB 的 OB 号(允许使用符号名称)
RET_VAL OUT Int 执行条件代码
STATUS OUT Word 指定的中断 OB 的状态
表格 9-118 STATUS 参数
位 值 说明
0 0 运行中
1 在启动过程中
1 0 中断已启用。
1 中断已禁用。
2 0 中断未激活或已过期。
1 中断已激活。
4 0 分配的 OB_NR 不存在。
1 存在具有分配的 OB_NR 的 OB。
6 1 日期和时钟中断使用本地时间。
0 日期和时钟中断使用系统时间。
其它 始终为 0延时中断
可使用 SRT_DINT 和 CAN_DINT 指令启动和取消延时中断处理过程,或使用 QRY_DINT 指令
查询中断状态。每个延时中断都是一个在指定的延迟时间过后发生的一次性事件。如果在延
迟时间到期前取消延时事件,则不会发生程序中断。
表格 9-120 SRT_DINT、CAN_DINT 和 QRY_DINT 指令
LAD/FBD SCL 说明
ret_val := SRT_DINT(
ob_nr:=_int_in_,
dtime:=_time_in_,
sign:=_word_in_);
SRT_DINT 启动延时中断,在参数 DTIME 指定
的延迟过后执行 OB。
ret_val := CAN_DINT(
ob_nr:=_int_in_);
CAN_DINT 取消已启动的延时中断。在这种情
况下,将不执行延时中断 OB。
ret_val := QRY_DINT(
ob_nr:=_int_in_,
status=>_word_out_)
;
QRY_DINT 查询通过 OB_NR 参数指定的延时中
断的状态。
表格 9-121 参数的数据类型
参数和类型 数据类型 说明
OB_NR IN OB_DELAY 将在延迟时间过后启动的组织块 (OB):从使用“添加新块”(Add
new block) 项目树功能创建的可用延时中断 OB 中进行选择。双
击该参数域,然后单击助手图标可查看可用的 OB。
DTIME 1
IN Time 延迟时间值(1 到 60000 ms)
SIGN 1
IN Word S7-1200 不使用:接受任何值。为避免发生错误,必须指定一个
值。