西门子供应电线电缆经销商
PLC是什么意思?相信很多人处于大概知道是什么,但是又无法准确说出的阶段,作为专注于为企业提供数据采集和设备控制解决方案的众诚工业,今天和大家探讨一下。
而众诚工业还能根据用户需求,设计PLC控制程序,为客户提供PLC编程和上位机软件的定制化开发技术服务,满足用户的多种需求,比如,自主研发的洁净空调智能控制系统和通风排风智能控制系统就配置PLC,不仅具有报警和定时控制功能,还兼具可扩展性和兼容性,系统能被第三方系统集成。
以上PLC的基本介绍,相信大家对PLC也有一个初步的了解。PLC的型号、品牌不同,对应着其结构形式、性能、编程方式等等都有所差异,价格也各不相同,在挑选时候,建议先要明确自己的应用需求,比如具体的应用场景,希望实现的运动和控制功能,已经特殊的控制要求,这些将决定了PLC的选型和搭配组合。
简单地说,PLC就是一种小型的计算机,和我们常用的计算机不同的是,PLC是设备之间通过数字信号进行互动,而我们常用的计算机,是人和计算机的互动。
控制是PLC的核心功能,其控制类型主要分为以下几种1、开关量的开环控制。这是PLC*基本的控制功能,它能凭借其强大的逻辑运算能力,取代传统继电接触器的控制系统;
2、数据采集与监控。这是PLC非常必要的功能,否则它将无法完成现场控制;
3、数字量智能控制。PLC具有实现接收和输出高速脉冲的功能,近年来先进的PLC还开发了数字控制模块和新型运动单元模块,让工程师更加轻松地通过PLC实现数字量控制;
4、PLC能通过模拟量采集和调节温度、压力、速度等参数。
正因为PLC功能强大,且具有设计方便、重量体积小、能耗低、改造工作量小、通用性强、维护方便等易学易用的特点,深受工程师的欢迎,因此应用非常广泛,钢铁、石油、化工、纺织、交通、机械制造等等行业都能看到它的身影。
脉冲宽度格式(仅适用于 PWM):分配脉冲持续时间(宽度)的精度: – 百分数(0 到 100) – 千分数(0 到 1000) – 万分数(0 到 10000) – S7 模拟格式(0 到 27648) • 循环时间(仅适用于 PWM):分配完成一次脉冲需要的持续时间(循环时间是高脉冲时 间与低脉冲时间的和)。可以通过选中复选框“允许在运行时修改循环时间”(Allow runtime modification of the cycle time),在运行时更改循环时间。有关详细信息,参见 下文中“I/O 地址”部分。范围是 1 到 16,777,215 个时间单位。 • 初始脉冲持续时间(仅适用于 PWM):分配第一次脉冲的脉冲持续时间。可通过使用 I/O 地址中组态的 Q 字地址,在运行系统中更改初始脉冲持续时间值。范围取决于脉冲持续 时间格式。 • 允许在运行时修改循环时间(仅适用于 PWM):如果选择该选项,您的程序便能在程序 处于运行状态时,修改 PWM 信号的循环时间。有关详细信息,参见下文中“I/O 地址”部 分。 说明 设置 PWM 信号的脉冲持续时间时,请务必考虑附录 A 中规定的输出通道开关延迟。输出端 测得的实际脉冲持续时间可能会大于选择的脉冲持续时间。脉冲持续时间的增加对于小脉冲 持续时间和高频的影响更为突出。请务必检查输出端测得的脉冲持续时间是否与用户要求匹 配。 确定脉冲持续时间值 “初始脉冲持续时间”乘以“循环时间”可得出“脉冲持续时间”。选择“时基”、“脉冲 持续时间格式”、“循环时间”和“初始脉冲持续时间”时,请谨记:整个“脉冲持续时间” 不能为小数值。如果生成的“脉冲持续时间”是一个小数值,则应调整“初始脉冲持续时间” 或更改时基,从而生成一个整数值• 示例 1:如果选择以下值: – 时基 = 毫秒 (ms) – 脉冲持续时间格式 = 百分数(0 到 100) – 循环时间 = 3 ms – 初始脉冲持续时间 = 75 生成的“脉冲持续时间”= 0.75 x 3 ms = 2.25 ms 此“脉冲持续时间”值为小数值时,会造成操作 CTRL_PWM 指令时出错。“脉冲持续时 间”值必须为整数值。 • 示例 2:如果选择以下值: – 时基 = 微秒 (µs) – 脉冲持续时间格式 = 百分数(0 到 100) – 循环时间 = 3000 µs – 初始脉冲持续时间 = 75 生成的“脉冲持续时间”= 0.75 x 3000 µs = 2250 µs 此“脉冲持续时间”值为整数值,CTRL_PWM 指令可使用该值正常操作。 硬件输出 在硬件输出部分,从下拉菜单中选择输出通道。基于组态,可选择一个或两个输出。如果确 实为脉冲发生器分配输出通道,那么此输出通道不可被另一个脉冲发生器、HSC、或过程映 像寄存器所使用。 说明 用户程序中的其它指令无法使用脉冲发生器输出 将 CPU 或信号板的输出组态为脉冲发生器时(与 PWM、PTO 或运动控制指令配合使用), 会从 Q 存储器中移除相应的输出地址,且这些地址在程序中不能用于其它用途。如果您的 程序向用作脉冲发生器的输出写入某个值,则 CPU 不会将该值写入到物理输出。 I/O 地址 PWM 为“脉冲持续时间”(Pulse duration) 指定了 Q 存储器的两个字节。PWM 运行时,可以 在分配的 Q 存储器中修改该值以及更改“脉冲持续时间”(Pulse duration)。 在“I/O 地址”(I/O Address) 部分,在要用于存PWM“脉冲持续时间”(Pulse duration) 值的默认地址如下所示: • PWM1:QW1000 • PWM2:QW1002 • PWM3:QW1004 • PWM4:QW1006 对于 PWM,每次 CPU 从 STOP 模式转换为 RUN 模式时,此处值将控制脉冲持续时间并被初 始化为“初始脉冲持续时间:”(Initial pulse duration:) 值(如以上分配)。可在运行系统中 通过更改 Q 字值来更改脉冲持续时间。脉冲宽度值的范围取决于参数分配下组态的脉冲持 续时间格式。 您还可以为 PWM 信号的“循环时间”(Cycle time) 额外分配 Q 存储器的 4 个字节。关于 PWM 信号图,请参见“脉冲输出的操作” (页 482)。选中“允许在运行时修改循环时间”(Allow runtime modification of the cycle time) 复选框后,前两个字节用于保持“脉冲持续时间” (Pulse duration) 值,后四个字节用于保持“循环时间”(Cycle time) 值。 PWM 运行时,可以修改分配给该 PWM 的 Q 存储器结尾的双字值。此操作会更改 PWM 信号 的循环时间。例如,启用该选项后,CPU 会为 PWM1 分配六个字节,并由您确定使用 QB1008 到 QB1013。下载程序并启动 PWM 后,可以使用 QW1008 修改“脉冲持续时间” (Pulse duration),以及使用 QD1010 修改“循环时间”(Cycle time)。 CPU 每次从 STOP 切换为 RUN 模式时,CPU 均会将 Q 存储器中的“循环时间”(Cycle time) 值 初始化为上述“参数分配”部分中分配的“循环时间”(Cycle time) 值。Q 存储器中“循环时 间”(Cycle time) 值的单位和取值范围与“参数分配”部分中组态的相同。 选中“允许在运行时修改循环时间”(Allow runtime modification of the cycle time) 复选框后, TIA Portal 会自动为输出地址选择新的地址。新的输出地址不能与脉冲发生器的默认地址相同。 TIA Portal 将使用六个连续字节的下一个可用块。如果在搜索到 Q 存储器末尾前未找到 Q 存 储器的可用块,则会从 Q 存储器的地址“0”开始继续搜索可用块。 针对 PTO 组态的脉冲发生器不使用 Q 字地址在项目中创建的配方数据块必须存储在 CPU 装载存储器中。 可以使用内部 CPU 存储器或 外部存储器“程序”卡。 • 另一个必须创建的 DB 是活动配方数据块。 此 DB 必须在工作存储器中,其中使用程序逻 辑读取或写入一个活动配方记录。 配方数据管理 配方数据块使用一个产品配方记录数组。 配方数组的每个元素代表一种不同的配方形式,各 个配方以一组共同的成分为基础。 • 创建 PLC 数据类型或结构,以定义一个配方记录中的所有成分。 此数据类型模板重复使 用于所有配方记录。 根据分配给配方成分的起始值而产生不同的产品配方。 • 使用 READ_DBL 指令,可以随时将配方从配方数据块(装载存储器中的所有配方)传送 到活动配方数据块(工作存储器中的一个配方)。 配方记录移动到工作存储器后,程序 逻辑便可读取成分值并开始生产运行。 此过程将配方数据需要的 CPU 工作存储器使用量 降到*低。 • 如果在生产运行期间使用 HMI 设备调整活动配方成分值,可以使用 WRIT_DBL 指令将修 改的值写入配方数据块。 配方导出(从配方数据块到 CSV 文件) 可以使用 RecipeExport 指令将完整的配方记录集生成为一个 CSV 文件方导入(从 CSV 文件到配方数据块) 完成配方导出操作后,即可将生成的 CSV 文件用作数据结构模板。 1. 使用 CPU web 服务器中的文件浏览器页面将现有配方 CSV 文件从 CPU 下载到 PC 2. 使用 ASCII 文本编辑器修改配方 CSV。 可以修改分配给成分的起始值,但不能修改数据类型 或数据结构 3. 将修改的 CSV 文件从 PC 再次上传到 CPU。 但是,在 CPU Web 服务器允许上传操作之前,必 须删除或重命名 CPU 装载存储器中的旧 CSV 文件(具有相同名称)。 4. 将修改的 CSV 文件上传到 CPU 后,便可以使用 RecipeImport 指令将新的起始值从修改的 CSV 文件(在 CPU 装载存储器中)传送到配方数据块(在 CPU 装载存储器中)。 9.9.1.2 配方示例 配方实例 下表显示如何准备用于配方数据块的配方信息。该实例配方数据块存储 5 条记录,其中三条 已使用。第四条和第五条记录留空以供将来扩展。表中的每行表示一条记录,存储配方名称、 成分数据类型和成分值。添加新的 PLC 数据类型,名称作为配方类型。在下图中,“Beer_Recipe”是新的复合 PLC 数据 类型,它存储一系列简单数据类型。“Beer_Recipe”PLC 数据类型是一个数据模板,它在每个 配方数据块记录以及活动配方数据块中重复使用。输入所有实例配方共用的成分名称和数据 类型。各成分值以后在配方数据块中添加。 第二步,创建配方数据块 • 将配方数据块创建为全局数据块,并启用数据块属性“仅存储在装载存储器中”(Only store in load memory)。 • 配方数据块的名称用作相应 CSV 文件的文件名。数据块名称中使用的字符必须遵守 Windows 文件系统命名限制。字符 \ / : * ? " < > | 及空格字符均不允许使用。 • 配方数组分配是 "Products" 作为 Array [1.. 5] of "Beer_Recipe"。数组大小 5 是可创建的 配方风味的*大数目。 • 配方成分值添加为数据块起始值。 在下图中,展开的“BlackBeer”配方显示了配方记录的所有成分。执行“RecipeExport (页 493)”,可将配方数据块数据传送到 CSV 文件,如下面的文本文件 所示。 Recipe_DB.csv index,productname,water,barley,wheat,hops,yeast,waterTmp, mashTmp,mashTime,QTest 1,”Pils”,10,9,3,280,39,40,30,100,0 2,”Lager”,10,9,3,150,33,50,30,120,0 3,”BlackBeer”,10,9,3,410,47,60,30,90,1 4 ”Not_used”,0,0,0,0,0,0,0,0,0 5 ”Not_used”,0,0,0,0,0,0,0,0,0 配方导入(从 CSV 文件到配方数据块) 1. 使用 Web 服务器中的文件浏览器页面 (页 900)将现有配方 CSV 文件从 CPU 装载存储器下载到 PC 2. 使用 ASCII 文本编辑器修改配方 CSV。可以修改分配给成分的起始值,但不能修改数据类型 或数据结构 3. 将修改的 CSV 文件从 PC 回传到 CPU。但是,在 Web 服务器允许上传操作之前,必须删除或 重命名 CPU 装载存储器中的旧 CSV 文件(具有相同名称)。 4. 将修改的 CSV 文件上传到 CPU 后,便可以使用 RecipeImport 指令将新的起始值从修改的 CSV 文件(在 CPU 装载存储器中)传送到配方数据块(在 CPU 装载存储器中)。 CSV 文件必须**匹配对应的配方数据块结构 • 可以更改 CSV 文件中的值,但不允许更改结构。RecipeImport 指令要求记录和成分的数 量与目标配方数据块结构完全匹配。否则 RecipeImport 的执行会失败。例如,如果在配 方数据块中定义了 10 个配方但实际使用的只有 6 个配方,则 CSV 文件的第 7 至第 10 行 也传送到数据块。必须检查该数据是否有效。例如,对于未使用配方记录中的产品名称, 可以赋予一个变量“Not_used”。 • 如果向文本文件添加数据记录并导入修改的文件,请确保您分配的配方数据块数组限制 可以有足够的元素用于所有配方记录。 • 导出到 CSV 文件期间会自动生成索引编号。如果创建附加数据记录,请相应添加连续的 索引编号。 • 执行 RecipeImport 会检查 CSV 文件数据,判断结构是否正确以及值是否与相关配方数据 块中分配的数据类型匹配。例如,Bool 数据类型不能存储整数值