西门子成都PLC模块总代理商
离线编程示指主机和编程器共用一个 CPU ,通过编程器的方式选择开关来选择 PLC 的编程、监控和运行工作状态。编程状态时,CPU 只为编程器服务,而不对现场进行控制。编程器编程属于这种情况。在线编程是指主机和编程器各有一个 CPU ,主机的 CPU完成对现场的控制,在每一个扫描周期末尾与编程器通信,编程器把修改的程序发给主机,在下一个扫描周期主机将按新的程序对现场进行控制。计算机辅助编程既能实现离线编程,也能实现在线编程。在线编程需购置计算机,并配置编程软件。采用哪种编程方法应根据需要决定。 ( 6 )据是否联网通信选型 若 PLC 控制的系统需要联入工厂自动化网络,则 PLC 需要有通信联网功能,即要求 PLC 应具有连接其他 PLC、上位计算机及 CRT 等的接口。大、中型机都有通信功能,目前大部分小型机也具有通信功能。 ( 7 )对 PLC 结构形式的选择 在相同功能和相同 I/O点数据的情况下,整体式比模块式价格低。但模块式具有功能扩展灵活,维修方便(换模块),容易判断故障等优点,要按实际需要选择 PLC的结构形式。 2 .分配输入 / 输出点 一般输入点和输入信号、输出点和输出控制是一一对应的。 分配好后,按系统配置的通道与接点号,分配给每一个输入信号和输出信号,即进行编号。 在个别情况下,也有两个信号用一个输入点的,那样就应在接入输入点前,按逻辑关系接好线(如两个触点先串联或并联),再接到输入点。 ( 1 )确定 I/O 通道范围 不同型号的 PLC ,其输入 / 输出通道的范围是不一样的,应根据所选 PLC型号,查阅相应的编程手册,决不可“张冠李戴”。必须参阅有关操作手册。 ( 2 )部辅助继电器 内部辅助继电器不对外输出,不能直接连接外部器件,而是在控制其他继电器、定时器 / 计数器时作数据存储或数据处理用。 从功能上讲,内部辅助继电器相当于传统电控柜中的中间继电器。 未分配模块的输入 / 输出继电器区以及未使用 1 : 1链接时的链接继电器区等均可作为内部辅助继电器使用。根据程序设计的需要,应合理安排PLC的内部辅助继电器,在设计说明书中应详细列出各内部辅助继电器在程序中的用途,避免重复使用。参阅有关操作手册。 ( 3 )分配定时器 / 计数器 PLC 的定时器 / 计数器数量分别见有关操作手册。 7.3 PLC 软件系统设计方法及步骤 7.3.1 PLC 软件系统设计的方法 在了解了 PLC 程序结构之后,就要具体地编制程序了。编制 PLC 控制程序的方法很多,这里主要介绍几种典型的编程方法。 | |
| IEC 68, Part 2-6: |
西门子成都PLC模块总代理商
在STEP7(TIA Portal)中如何为S7-1200/1500实现积分编程?
为了近似测定面积,使用以SCL语言编写的FB "Integration"程序块可以持续对区域面积进行累加。
说明
积分是对给定函数曲线的面积进行数学计算。实际曲线往往没有明确的数学关系,而是随时间变化的模拟量。积分计算就是把所有由两个过程值与时间所围成的梯形区域面积相加,梯形面积等于两个过程值的平均值乘以时间间隔。
下载附件是以SCL语言编写的用于计算积分的 "Integration" 功能块
表示了FB "Integration"的调用参数。FB "Integration"中"in"参数为转化为浮点数的模拟量输入值。
如果"enable" 参数接收到 "False" 值,那么积分计算将停止并且"out"参数输出后计算值。
如果 "reset"接收到 "True"值,那么"out"输出将复位为零。
计算结果存储于 "out" 输出。
当使能积分后,"error"会在启动计算时输出一个周期的"True"信号(信号在积分计算期间失效)。
要使用 "in"参数的输入值启动积分计算,必须
创建一个功能,并声明输入变量为"Int"类型。图.01显示了对于"AccessGroupInt"功能块的编程示例,通过index进行间接寻址并返回值。可以在程序中直接使用间接访问,例如使用指令#TempValue:="AccessGroupInt"(#Index);。这一编程方法
可追踪,因为可以使用交叉索引。
安全,因为仅使用了预定义的内存区。
通用,因为既可以用于标准块也可以用于优化的数据区 。
在下面的示例中数据被从三个不同的优化的数据块中读出或写入。三个数据块"Silo_Water", "Silo_Sugar"和"Silo_Milk"都包含相同的变量声明:
DB 变量1:"MyBool" Bool类型
DB 变量2:"MyInt" Int类型
DB 变量3:"MyWord" Word类型
创建的PLC数据类型"SiloUDT"用于寻址包含不同数据类型的DB变量。"AccessGroupSiloRead"功能块用于读出返回值,是由PLC 数据类型"SiloUDT"定义的。基于此可以在一个FB中间接访问,例如如图.03所示的指令:
"Silo_Handling_OnlyReading"("AccessGroupSiloRead"(Index:=#Silo_Index));
创建环境
此FAQ中的截屏由 STEP 7 (TIA Portal) V13创建。
创建的PLC数据类型"SiloUDT"用于寻址包含不同数据类型的DB变量。"AccessGroupSiloRead"功能块用于读出返回值,是由PLC 数据类型"SiloUDT"定义的。基于此可以在一个FB中间接访问,例如如图.03所示的指令:
创建环境
此FAQ中的截屏由 STEP 7 (TIA Portal) V13创建。
在STEP7(TIA Portal)中如何为S7-1200/1500实现积分编程?
下表列出了 FB "Integration" 的输入和输出参数。
参数 接口 数据类型 描述
in Input DInt 需要做积分计算的值
enable Input Bool 使能积分计算
reset Input Bool 复位( 为 True 时复位输出参数)
out Output LReal 积分后的值(可保持)
error Output Bool 错误输出
在STEP7(TIA Portal)中如何安全地并且间接地寻址?
采用间接寻址时,只有程序执行时,用于读或写数值的地址才得以确定。使用这种方法可以减少编程量并使得程序更灵活。通常来讲,程序创建后访问地址也就确定了。为了使得间接寻址更灵活和更安全,可以
使用"Array"数据类型用于组合相同的数据类型。
对于不同的存储区,采用index来访问相关的针对每个应用不同的变量。
在下面的例子中,对于三个变量的访问采用了不同的存储区。表01 显示了三个变量的访问列表,每个都有单独的索引。