西门子供应编程软件经销商
PLC是什么意思?相信很多人处于大概知道是什么,但是又无法准确说出的阶段,作为专注于为企业提供数据采集和设备控制解决方案的众诚工业,今天和大家探讨一下。
而众诚工业还能根据用户需求,设计PLC控制程序,为客户提供PLC编程和上位机软件的定制化开发技术服务,满足用户的多种需求,比如,自主研发的洁净空调智能控制系统和通风排风智能控制系统就配置PLC,不仅具有报警和定时控制功能,还兼具可扩展性和兼容性,系统能被第三方系统集成。
以上PLC的基本介绍,相信大家对PLC也有一个初步的了解。PLC的型号、品牌不同,对应着其结构形式、性能、编程方式等等都有所差异,价格也各不相同,在挑选时候,建议先要明确自己的应用需求,比如具体的应用场景,希望实现的运动和控制功能,已经特殊的控制要求,这些将决定了PLC的选型和搭配组合。
简单地说,PLC就是一种小型的计算机,和我们常用的计算机不同的是,PLC是设备之间通过数字信号进行互动,而我们常用的计算机,是人和计算机的互动。
控制是PLC的核心功能,其控制类型主要分为以下几种1、开关量的开环控制。这是PLC*基本的控制功能,它能凭借其强大的逻辑运算能力,取代传统继电接触器的控制系统;
2、数据采集与监控。这是PLC非常必要的功能,否则它将无法完成现场控制;
3、数字量智能控制。PLC具有实现接收和输出高速脉冲的功能,近年来先进的PLC还开发了数字控制模块和新型运动单元模块,让工程师更加轻松地通过PLC实现数字量控制;
4、PLC能通过模拟量采集和调节温度、压力、速度等参数。
正因为PLC功能强大,且具有设计方便、重量体积小、能耗低、改造工作量小、通用性强、维护方便等易学易用的特点,深受工程师的欢迎,因此应用非常广泛,钢铁、石油、化工、纺织、交通、机械制造等等行业都能看到它的身影。
数据日志文件的*大大小规则 单个数据日志文件的*大大小不可超过可用装载存储器大小或 500 MB(二者之中的较小 值)。在这种情况下,500 MB 大小表示兆字节的十进制定义,因此数据日志文件的*大大 小为 500,000,000 字节或 500 x 10002 字节。 表格 9-218 装载存储器大小 数据区 CPU 1211C CPU 1212C CPU 1214C CPU 1215C、 CPU 1217C 数据存储 内部装载存储器 闪存 1 MB 2 MB 4 MB 4 MB 用户程序和程序数 据、组态数据、数 据日志、用户定义 的 Web 页面以及 PLC 系统数据 外部装载存储器 可选“程序卡”闪存 4 MB、12 MB、24 MB、256 MB、2 GB 或 32 GB,取决于 SD 卡 大小 确定装载存储器可用空间 正常运行期间操作系统会使用和释放存储空间,因此装载存储器可用空间量会随之变化。使 用下列步骤查看装载存储器大小。 1. 建立 STEP 7 和目标 S7-1200 PLC 之间的在线连接。 2. 下载用于控制您的数据日志操作的程序。 3. 根据需要创建任何可选的用户定义 Web 页面。用于访问数据日志的标准 Web 页面存储在 PLC 固件中,不占用装载存储器的空间。 4. 请使用“在线工具和诊断工具” (页 1203)(online and diagnostic tools) 或“网页服务器诊断 页” (页 877)(Web server Diagnostics page) 来查看总装载存储器大小和自由空间。 计算数据日志文件的大小(所有数据记录) 在数据日志文件创建时,CPU 会分配*大存储器大小。除了所有数据记录需要的大小,您还 必须包括用于数据日志标头(如果使用)、时间戳标头(如果使用)和记录索引标头的存储 空间以及用于存储器分配的*小块大小。 使用下列公式确定数据日志文件的大小,确保不违反*大大小规则。 数据日志数据字节 =((一个记录中的数据字节 + 时间戳字节 + 12 字节)* 记录数) 标头 数据日志标头字节 = 标头字符字节 + 2 字节标头字符字节 ? 无数据标头和无时间戳 = 7 字节 ? 无数据标头,有时间戳(有时间戳标头) = 21 字节 ? 有数据标头,无时间戳 = 所有列标题文本包括分隔符逗号的字符字节数 ? 有数据标头和时间戳(有时间戳标头) = 所有列标题文本包括分隔符逗号的字符字节数 + 21 字节 数据 数据日志数据字节 =((一个记录中的数据字节 + 时间戳字节 + 12 字节)* 记录数) 一个数据记录中的数据字节 DataLogCreate DATA 参数指向一个结构,该结构用于为一条数据日志记录分配数据字段数 和各数据字段的数据类型。 将给出的数据类型的出现次数乘以该数据类型所需的字节数。对一条记录中的每个数据类型 重复该过程,并对所有数据类型求和得到一条记录中所有数据元素的总计字节。 各数据元素的大小 日志数据以 CSV(逗号分隔值)文件格式存储为若干字符字节。下表给出了存储各数据元素 所需的字节数。 数据类型 字节数(包括数据加上一个逗号字节)示例 1:MyString String[10] *大字符串大小分配为 10 个字符。 文本字符 + 自动填充的空格字符 = 10 个字节 成对的双引号 + 逗号字符 = 3 个字节 10 + 3 = 13 个字节(总和) 示例 2:Mystring2 String 如果未使用方括号指定大小,则默认分配 254 个字节。 文本字符 + 自动填充的空格字符 = 254 个字节 成对的双引号 + 逗号字符 = 3 个字节 254 + 3 = 257 个字节(总和) USInt 5 UInt 7 UDInt 12 SInt 5 Int 7 DInt 12 Real 16 LReal 25 Time 15 DTL 24 数据日志文件中的记录数 DataLogCreate 指令的 RECORDS 参数用于设置数据日志文件中可存储的*大记录数。 一个数据记录中的时间戳字节数据日志示例程序 该数据日志示例程序未显示从动态过程获取采样值必需的所有程序逻辑,但显示了数据日志 指令的重要操作。所使用的日志文件的结构和数目取决于过程控制要求。 说明 数据日志文件的一般用法 ? 执行 DataLogCreate 和 DataLogNew 文件操作后会自动打开数据日志文件。 ? PLC 从 RUN 切换到 STOP 或 PLC 循环上电后,数据日志文件会自动关闭。 ? 必须打开了数据日志文件,才能执行 DataLogWrite 操作。 ? *多可同时打开八个数据日志文件。可存在八个以上数据日志文件,但同时打开的文件数不 能超过八个。 示例数据日志程序 本例为数据日志名称、标题文本和 MyData 结构使用数据块。三个 MyData 变量临时存储新 的采样值。DataLogWrite 指令执行时,会将这些 DB 位置的过程采样值传送到数据日志文件READ_DBL 和 WRIT_DBL(读取/写入装载存储器中的数据块)指令 表格 9-221 READ_DBL 和 WRIT_DBL 指令 LAD/FBD SCL 说明 READ_DBL( req:=_bool_in_, srcblk:=_variant_in_, busy=>_bool_out_, dstblk=>_variant_out_); 将 DB 的全部或部分起始值从装载存 储器复制到工作存储器的目标 DB 中。 在复制期间,装载存储器的内容不 变。 WRIT_DBL( req:=_bool_in_, srcblk:=_variant_in_, busy=>_bool_out_, dstblk=>_variant_out_); 将 DB 全部当前值或部分值从工作存 储器复制到装载存储器的目标 DB 中。 在复制期间,工作存储器的内容不 变。 表格 9-222 参数的数据类型 参数和类型 数据类型 说明 REQ IN BOOL 如果 BUSY = 0,则高电平信号会启动操作。 SRCBLK IN VARIANT READ_DBL:指向装载存储器中源数据块的指针 WRIT_DBL:指向工作存储器中源数据块的指针 RET_VAL OUT INT 执行条件代码 BUSY OUT BOOL BUSY = 1 表示读取/写入过程尚未完成。 DSTBLK OUT VARIANT READ_DBL:指向工作存储器中目标数据块的指针 WRIT_DBL:指向装载存储器中目标数据块的指针 通常,DB 存储在装载存储器(闪存)和工作存储器 (RAM) 中。起始值(初始值)始终存储 在装载存储器中,当前值始终存储在工作存储器中。READ_DBL 可用于将一组起始值从装存储器复制到工作存储器中程序引用的 DB 的当前值。可使用 WRIT_DBL 将存储在内部装载 存储器或存储卡中的起始值更新为工作存储器中的当前值。 说明 WRIT_DBL 和 READ_DBL 指令对闪存的影响 WRIT_DBL 指令会在闪存(内部装载存储器或存储卡)内执行写入操作。为了避免影响闪存 的使用寿命,可以采用 WRIT_DBL 指令进行更新,例如,记录对某个生产工艺的更改。出于 同样的考虑,请避免频繁地调用读操作指令 READ_DBL。 在 STEP 7 程序中,调用 READ_DBL 和 WRIT_DBL 指令前,必须为这些指令创建数据块。如 果源数据块被创建成“标准”类型,则目标数据块也必须为“标准”类型。如果源数据块被 创建成“优化”类型,则目标数据块也必须为“优化”类型。 如果 DB 为标准 DB,则可指定一个变量名称或 P# 值。P# 值允许指定和复制指定大小(字节、 字或双字)的任意数量的元素。因此,可复制 DB 的全部或部分内容。如果 DB 是优化 DB, 则只能指定一个变量名称;无法使用 P# 操作符。如果为标准或优化数据块(或者其它工作 存储器类型)指定变量名称,则指令会复制此变量引用的数据。可以是用户定义类型、数组 或基本元素。如果 DB 是标准 DB 而不是优化 DB,则这些指令只能使用数据类型结构。如果 它是优化存储器中的结构,则必须使用用户定义类型 (UDT)。仅用户定义类型可确保源结构 和目标结构的“数据类型”完全相同。 说明 在“优化”DB 中使用结构(数据类型 Struct) 在“优化”DB 中使用 Struct 数据类型时,首先必须为 Struct 创建一个用户自定义数据类型 (UDT)。然后通过 UDT 组态源 DB 和目标 DB。UDT 确保针对两个 DB Struct 内的数据类型保 持一致。 对于“标准”DB,使用 Struct 时无需创建 UDT。 READ_DBL 和 WRIT_DBL 相对于循环程序扫描异步执行。处理期间需要多次调用 READ_DBL 和 WRIT_DBL 指令。通过 REQ = 1 来调用指令启动 DB 传输作业,然后监视 BUSY 和 RET_VAL 输出以确定数据传输的完成时间以及是否正确。为确保数据的一致性,请勿在 READ_DBL 处理过程中修改目标区域或在 WRIT_DBL 处理过程 中修改来源区域(即,不要在 BUSY 参数为 TRUE 时修改)。 SRCBLK 和 DSTBLK 参数限制: ? 数据块必须先创建,然后才可引用。 ? BOOL 类型的 VARIANT 指针长度必须可被 8 整除。 ? 源指针和目标指针中 STRING 类型的 VARIANT 指针的长度必须相同。 配方和机器设置信息 可使用 READ_DBL 和 WRIT_DBL 指令来管理配方或机器设置信息。虽然可以限制写入的次数 以防止闪存损耗,但以上方法实际上是另一种归档那些值不经常更改的保持性数据的方法。 这样即可在提供给常规掉电保持性数据的容量的基础上有效增加保持性存储器的容量,至少 可满足不经常更改值的需要。可使用 WRIT_DBL 指令将配方信息或机器设置信息从工作存储 器保存到装载存储器,并使用 READ_DBL 指令将这些信息从装载存储器提取到工作存储器。 表格 9-223 条件代码 RET_VAL (W#16#...) 说明 0000 无错误 0081 警告:源区域小于目标区域。源数据已完全复制,目标区域中的额外字节未更改。 7000 REQ = 0 时调用:BUSY = 0 7001 REQ = 1 时首次调用(工作):BUSY = 1 7002 第 N 次调用(工作):BUSY = 1 8051 数据块类型错误 8081 源区域大于目标区域。目标区域已满,源数据中的剩余字节被忽略。 8251 源数据块类型错误 82B1 缺少源数据块 82C0 源 DB 正在被其它语句或通信功能编辑。 8551 目标数据块类型错误 85B1 缺少目标数据块 85C0 目标 DB 正在被其它语句或通信功能编辑。 80C3 当前已有超过 50 个的 READ_DBL 或 WRIT_DBL 语句排队等候执行