西门子供应交换机代理商
PLC是什么意思?相信很多人处于大概知道是什么,但是又无法准确说出的阶段,作为专注于为企业提供数据采集和设备控制解决方案的众诚工业,今天和大家探讨一下。
而众诚工业还能根据用户需求,设计PLC控制程序,为客户提供PLC编程和上位机软件的定制化开发技术服务,满足用户的多种需求,比如,自主研发的洁净空调智能控制系统和通风排风智能控制系统就配置PLC,不仅具有报警和定时控制功能,还兼具可扩展性和兼容性,系统能被第三方系统集成。
以上PLC的基本介绍,相信大家对PLC也有一个初步的了解。PLC的型号、品牌不同,对应着其结构形式、性能、编程方式等等都有所差异,价格也各不相同,在挑选时候,建议先要明确自己的应用需求,比如具体的应用场景,希望实现的运动和控制功能,已经特殊的控制要求,这些将决定了PLC的选型和搭配组合。
简单地说,PLC就是一种小型的计算机,和我们常用的计算机不同的是,PLC是设备之间通过数字信号进行互动,而我们常用的计算机,是人和计算机的互动。
控制是PLC的核心功能,其控制类型主要分为以下几种1、开关量的开环控制。这是PLC*基本的控制功能,它能凭借其强大的逻辑运算能力,取代传统继电接触器的控制系统;
2、数据采集与监控。这是PLC非常必要的功能,否则它将无法完成现场控制;
3、数字量智能控制。PLC具有实现接收和输出高速脉冲的功能,近年来先进的PLC还开发了数字控制模块和新型运动单元模块,让工程师更加轻松地通过PLC实现数字量控制;
4、PLC能通过模拟量采集和调节温度、压力、速度等参数。
正因为PLC功能强大,且具有设计方便、重量体积小、能耗低、改造工作量小、通用性强、维护方便等易学易用的特点,深受工程师的欢迎,因此应用非常广泛,钢铁、石油、化工、纺织、交通、机械制造等等行业都能看到它的身影。
说明 如果将 OB 执行模式组态为不可中断,则时间错误 OB 不能中断除程序循环 OB 以外的 OB。 在 S7-1200 CPU V4.0 之前的版本中,时间错误 OB 可中断任何正在执行的 OB。为了使时间 错误 OB 或其它高优先级 OB 能够中断 OB,必须将 OB 执行组态为可中断。了解事件执行的优先级与排队 CPU 通过各种事件类型的不同队列限制单一来源的未决(排队的)事件数量。达到给定事件 类型的未决事件限值后,下一个事件将丢失。可以使用时间错误中断 OB (页 75) 响应队列溢 出。 请注意,STEP 7 可 用于组态循环中断 OB 和时间 OB 的一 些特定事件队列参 数。 有关 CPU 过载行为和事件排队的更多详细信息,请参见 STEP 7 Information System。 每个 CPU 事件都具有相关优先级。通常,CPU 按优先级顺序处理事件(优先级*高的*先 进行处理)。对于优先级相同的事件,CPU 按照“先到先得”的原则进行处理。 表格 5-15 OB 事件 事件 允许的数量 默认 OB 优先级 程序循环 1 个程序循环事件 允许多个 OB 1 1 启动 1 个启动事件 1另外,CPU 可识别出无关联 OB 的其它事件。下表介绍了这些事件和相应的 CPU 操作: 表格 5-16 附加事件 事件 描述 CPU 操作 I/O 访问错误 直接 I/O 读/写错误 CPU 将第一次错误记录在诊断缓冲区中 并保持 RUN 模式。您可以使 用 GET_ERROR_ID (页 303) 指令访问错 误原因。 *大周期时间错误 CPU 超出组态的周期时间 两次 CPU 将错误记录在诊断缓冲区中并切换 为 STOP 模式。 外围设备访问错误 过程映像更新期间出现 I/O 错误 CPU 将第一次错误记录在诊断缓冲区中 并保持 RUN 模式。 编程错误 程序执行错误 • 如果启用了错误处理,系统会在错 误结构中输入错误原因。您可以使 用 GET_ERROR_ID (页 303) 指令访 问错误原因。 • 如果启用了全局错误处理,系统将 在诊断缓冲区中输入访问错误启动 事件,并保持 RUN 模式。 中断等待时间 如果中断事件发生时程序循环 OB 是唯一激活的事件服务例程,则中断事件等待时间(该时 间是指从通知 CPU 发生了事件到 CPU 开始执行处理该事件的 OB 中的第一条指令)约为 175 µs。 5.1.4 监视和组态循环时间 循环时间是指 CPU 操作系统在 RUN 模式下执行循环阶段所需的时间。CPU 提供了两种监视 循环时间的方法: • *大扫描周期时间 • *小扫描周期时间 扫描周期监视在启动事件完成后开始。此功能的组态位于 CPU“设备组态”(Device Configuration) 的“周期”(Cycle) 下。CPU 监视扫描周期,并在扫描周期时间超出组态的*大扫描周期时间时做出响应。如果扫描 周期时间超出组态的*大扫描周期时间,则 CPU 会生成错误并做出如下响应: • 如果用户程序中包含时间错误中断 OB (页 75),则 CPU 将执行该中断。 • 如果用户程序不包含时间错误中断 OB,则时间错误事件将生成一个诊断缓冲区条目。CPU 进入 STOP 模式。 RE_TRIGR 指令 (页 301)(重新触发周期时间监视)可用于复位记录周期时间的定时器。如 果当前程序循环执行耗费的时间小于所组态*大扫描周期时间的十倍,则 RE_TRIGR 指令将 重新触发周期时间监视并返回“ENO = TRUE”。否则 RE_TRIGR 指令将不会重新触发周期时间 监视,并返回“ENO = FALSE”。 通常,扫描周期会尽快执行,当前扫描周期一完成,下一个扫描周期就会开始。视用户程序 和通信任务而定,扫描周期的时间段在各次扫描中有所不同。为了消除这种差异,CPU 支持 一种可选的*小扫描周期时间。如果启用此可选功能并提供以 ms 为单位的*小扫描周期时 间,则在执行完程序循环 OB 后 CPU 会延时,直至经过*小扫描周期时间后才重复程序循环。 如果 CPU 完成正常扫描周期的时间小于指定的*小循环时间,则 CPU 将用额外的扫描周期 时间执行运行诊断和/或处理通信请求。 如果 CPU 在指定的*小循环时间内未完成扫描周期,CPU 将正常完成扫描(包括通信处理), 并且不会因超出*小扫描时间而引起任何系统响应。下表定义了循环时间监视功能的范围和 默认值: 表格 5-17 循环时间的范围 循环时间 值范围 (ms) 默认值 *大扫描周期时间 1 1 到 ms *小扫描周期时间 2 1 到*大扫描周期时间 禁用 1 *大扫描周期时间始终启用。组态循环时间使其介于 1 ms 到 6000 ms 之间。默认值为 150 ms。 2 *小扫描周期时间为可选项,默认情况下被禁用。必要时,可组态一个 1 ms 到*大扫描周期 时间之间的周期时间。环时间和通信负载 利用设备配置中的 CPU 属性可以组态以下参数: • 周期:可输入*大扫描周期监视时间。也可启用并输入*小扫描周期时间。 • 通信负载:可以组态一个百分比时间,专门用于通信任务。 说明 通信优先级 通信任务的优先级为 1。因为 1 是*低优先级,所以其他 CPU 事件可以中断通信处理。其 他事件导致的中断可能会对扫描周期的通信处理产生**影响。可以调整“通信造成的周期 负载”百分比,以增加专用于通信处理的扫描周期部分。 有关扫描周期的更多信息,请参见“监视和组态循环时间 (页 87)CPU 提供了以下用于存储用户程序、数据和组态的存储区: • 装载存储器,用于非易失性地存储用户程序、数据和组态。将项目下载到 CPU 后,CPU 会 先将程序存储在装载存储区中。该存储区位于 SIMATIC 存储卡(如存在)或 CPU 中。CPU 能够在断电后继续保持该非易失性存储区。存储卡支持的存储空间比 CPU 内置的存储空 间更大。 • 工作存储器是易失性存储器,用于在执行用户程序时存储用户项目的某些内容。CPU 会 将一些项目内容从装载存储器复制到工作存储器中。该易失性存储区将在断电后丢失,而 在恢复供电时由 CPU 恢复。 • 保持性存储器,用于非易失性地存储限量的工作存储器值。断电过程中,CPU 使用保持 性存储区存储所选用户存储单元的值。如果发生断电或掉电,CPU 将在上电时恢复这些 保持性值。 要显示编译程序块的存储器使用情况,请右键单击 STEP 7 项目树中“程序块”(Program blocks) 文件夹中的块,然后从上下文菜单中选择“属性”(Properties)。“编译属性” (Compiliation properties) 显示了编译块的装载存储器和工作存储器。 要显示在线 CPU 的存储器使用情况,请双击 STEP 7 中的“在线和诊断”(online and diagnostics),展开“诊断”(Diagnostics),然后选择“存储器”(Memory将某些数据标记为保持性数据可以避免发生电源故障后造成数据丢失。该 CPU 允许您将以 下数据配置为保持性数据: • 位存储器 (M):可以在 PLC 变量表或分配列表中定义位存储器的保持性存储器的大小。保 持性位存储器总是从 MB0 开始向上连续贯穿指定的字节数。通过 PLC 变量表或在分配列 表中通过单击“保持性”(Retain) 工具栏图标指定该值。输入从 MB0 开始保留的 M 字节 个数。 注:对于任何块,都可通过在“程序块”(Program Blocks) 文件夹中选择块,然后选择“工 具 > 分配列表”(Tools > Assignment list) 菜单命令来显示分配列表。 • 函数块 (FB) 的变量:如果 FB 为“优化块访问”(Optimized block access) 类型,则该 FB 的 接口编辑器将包含“保持”(Retain) 列。在该列中,可以单独为每个变量选择“保持” (Retain)、“非保持”(Non-retain) 或“在 IDB 中设置”(Set in IDB)。将此类 FB 置于程序中 时,和该 FB 对应的实例 DB 也将包含此“保持”(Retain) 列。在优化的 FB 中,如果在变量的 “保持性”(Retain) 选项中选择“在 IDB 中设置”(Set in IDB)(在背景数据块中设置),那 么只能更改背景 DB 接口编辑器中某个变量的保持性状态。 如果 FB 非“优化块访问”(Optimized block access) 类型,则该 FB 的接口编辑器将不包含 “保持”(Retain) 列。将此类 FB 置于程序中时,和该 FB 对应的实例 DB 仍将包含一个可 进行编辑的“保持”(Retain) 列。如果是这种情况,在选择所有变量时为任意变量结果选择 “保持”(Retain) 选项。同样,在取消选择所有变量时为任意变量结果取消选择该选项。 要查看或修改 FB 是否已优化,打开 FB 属性然后选则属性。 • 全局数据块的变量:如果为数据块属性的特性选择“优化块访问”(Optimized block access),则可将各变量设置为保持性或非保持性。如果未选择“优化块访问”(Optimized block access),则所有数据块变量具有相同的状态。变量均为保持性,或均为非保持性。 对于下载到固件版本为 V4.5 或更高版本的 PLC 中的 V4.5 或更高版本的项目,该 CPU *多 支持 14336 字节的保持性数据。对于 V4.x 项目,保持数据为 10240 字节。在 PLC 变量表 或分配列表中,单击“保持”(Retain) 工具栏图标,查看可用的存储空间。这是为 M 存储器 指定保持范围的位置,第二个箭头会指示可用于 M 和 DB 的总剩余存储空间。请注意,要保 证该值的准确性,必须编译带有保持性变量的所有数据块。 说明 下载程序不会**或更改保持性存储器中的现有值。如果要在下载之前**保持性存储器, 请在下载程序前将 CPU 复位为出厂设定。系统和时钟存储器 使用 CPU 属性来启用“系统存储器”和“时钟存储器”的字节。程序逻辑可通过这些函数 的变量名称来引用它们的各个位。 • 可以将 M 存储器的一个字节分配给系统存储器。该系统存储器字节提供了以下四个位, 用户程序可通过以下变量名称引用这四个位: – 第一个周期:(变量名称“FirstScan”)在启动 OB 完成后的第一次扫描期间内,该位设 置为 1。(执行了第一次扫描后,“首次扫描”位将设置为 0。) – 诊断状态变化:(变量名:“DiagStatusUpdate”)在 CPU 记录诊断事件后的第一次扫 描期间内,该位设置为 1。由于直到首次程序循环 OB 执行结束,CPU 才能置位 “DiagStatusUpdate”位,因此用户程序无法检测在启动 OB 执行期间或首次程序循环 OB 执行期间是否发生过诊断更改。 – 始终为 1(高)(Always 1 (high)):(变量名称“AlwaysTRUE”),该位始终设置为 1。 – 始终为 0(低)(Always 0 (low)):(变量名称“AlwaysFALSE”),该位始终设置为 0。 • 可以将 M 存储器的一个字节分配给时钟存储器。被组态为时钟存储器的字节中的每一位 都可生成方波脉冲。时钟存储器字节提供了 8 种不同的频率,其范围从 0.5 Hz(慢)到 10 Hz(快)。这些位可作为控制位(尤其在与沿指令结合使用时),用于在用户程序中 周期性触发动作。 CPU 在从 STOP 模式切换到 STARTUP 模式时初始化这些字节。时钟存储器的位在 STARTUP 和 RUN 模式下会随 CPU 时钟同步变化。 小心 覆盖系统存储器位或时钟存储器位时的风险 改写系统存储器或时钟存储器的各个位可能会破坏这些功能中的数据,同时还可能导致用 户程序错误运行,进而造成设备损坏和人员伤害。 因为时钟存储器和系统存储器都不是预留的 M 存储器,所以指令或通信可以写入这些单元 并破坏其中的数据。 避免向这些单元写入数据以确保这些功能正常运行,并且应始终为过程或机器使用紧急停 止电路。 系统存储器位具有特定含义