5 简化了编程概念
5.3 轻松使用功能强大的编程语言
5.3 轻松使用功能强大的编程语言
可以在 LAD(梯形图)或 FBD(功能块图)编程语言之间做出选择。
LAD 是一种图形编程语言。它使用基于电路图的表示法。要创建复杂运算逻辑,可插入 分支以创建并行电路的逻辑。并行分支向下打开或直接连接到电源线。用户可向上终止 分支。 LAD 还为多种功能(如数学运算、定时器、计数器和移动)提供“功能框”指令。
电路图的元件(如常闭触 点、常开触点和线圈)相互 连接构成程序段。
创建 LAD 程序段时请注意以下规则:
● 每个 LAD 程序段都必须使用线圈或功能框指令来终止。不要使用比较指令或沿检测
(上升沿或下降沿)指令终止程序段。
● 不能创建可能导致反向能流的分支。
+ *
( )
& ' =
%
$
● 不能创建可能导致短路的分支。
& =
%
$
与 LAD 一样,FBD 也是一种图形编程语言。
逻辑表示法以布尔代数中使用的图形逻辑符号 为基础。
算术函数和其它复杂函数可直接结合逻辑框表示。要创建复杂运算的逻辑,请在功能框之 间插入并行分支。
长沙工控帮教育科技有限公司整理
5.3 轻松使用功能强大的编程语言
5.3.1 提供您所期望的基本指令
位逻辑指令
位逻辑指令的基础是触点和线圈。 触点读取位的状态,而线圈则将操作的状态写入到位 中。
触点可测试位的二进制状态,结 果是在接通 (1) 时“有能流”,在断 开 (0) 时“没有能流”。
线圈的状态反映前导逻辑的状 态。
如果在多个程序段中使用地址相同的线圈,则用户程序中最后一次运算的结果将决定该地 址的值状态。
常开触点 常闭触点 在赋的位值为 1 时,常开触点将闭合 (ON)。
在赋的位值为 0 时,常闭触点将闭合 (ON)。
位逻辑运算的基本结构为 AND 逻辑或 OR 逻辑。 以串联方式连接的触点创建 AND 逻辑 程序段。 以并联方式连接的触点创建 OR 逻辑程序段。
可将触点相互连接,创建用户自己的组合逻辑。 如果用户指定的输入位使用存储器标识 符 I(输入)或 Q(输出),则从过程映像寄存器中读取位值。 控制过程中的物理触点信 号会连接到 PLC 上的输入端子。 CPU 扫描已连接的输入信号并更新过程映像输入寄存 器中的相应状态值。
通过在输入变量后加上“:P”(例如,“Motor_Start:P”或“I3.4:P”),可指定立即读取物理输 入。 对于立即读取,将直接从物理输入读取位数据值,而不是从过程映像中读取。 立即 读取不会更新过程映像。
输出线圈 反向输出线圈
● 如果有能流通过输出线圈,则输出位设置为 1。
● 如果没有能流通过输出线圈,则输出线圈位设置为 0。
● 如果有能流通过反向输出线圈,则输出位设置为 0。
● 如果没有能流通过反向输出线圈,则输出位设置为 1。
长沙工控帮教育科技有限公司整理
5.3 轻松使用功能强大的编程语言
反”(Negate binary input) 工具,然后将其放置在输入或输出端以在该功能框连接器上创建 逻辑反相器。 二进制输入”(Insert binary input) 工具,然后将其放置在功能框的输入侧以添加更多输 入。 也可以右键单击功能框输入连接器并选择“插入输入”(Insert input)。
功能框输入和输出可连接到其它逻辑框,也可输入未连接输入的位地址或位符号名称。
执行功能框指令时,当前输入状态会应用到二进制功能框逻辑,如果为真,功能框输出将 为真。
长沙工控帮教育科技有限公司整理
5.3 轻松使用功能强大的编程语言
比较指令
使用比较指令可比较两个数据类型相同的值。 比较结果为 TRUE 时,触点将被激活 (LAD) 或者功能框输出为 TRUE (FBD)。
LAD FBD
在程序编辑器中单击该指令后,可以从下拉菜单中选 择比较类型和数据类型。
关系类型 满足以下条件时比较结果为真:
== IN1 等于 IN2
<> IN1 不等于 IN2
>= IN1 大于或等于 IN2
<= IN1 小于或等于 IN2
> IN1 大于 IN2
< IN1 小于 IN2
移动和块移动指令
使用移动指令将数据元素复制到新的存储器地址并从一种数据类型转换为另一种数据类 型。 移动过程不会更改源数据。
MOVE 可将存储在指定地址的数据元素复制到新地址。
MOVE_BLK(可中断移动)可将数据元素块复制到新地址
UMOVE_BLK(不可中断移动)可将数据元素块复制到新地址
● MOVE 指令将单个数据元素从 IN 参数指定的源地址复制到 OUT 参数指定的目标地 址。
● MOVE_BLK 和 UMOVE_BLK 指令具有附加的 COUNT 参数。 COUNT 指定要复制的 数据元素个数。 每个被复制元素的字节数取决于 PLC 变量表中分配给 IN 和 OUT 参 数变量名称的数据类型。
长沙工控帮教育科技有限公司整理
5.3 轻松使用功能强大的编程语言
5.3 轻松使用功能强大的编程语言
5.3 轻松使用功能强大的编程语言
定时器
使用定时器指令可创建编程的时间延迟:
● TP: 脉冲定时器可生成具有预设宽度时间的脉冲。
● TON: 接通延迟定时器输出 Q 在预设的延时过后设置为 ON。
● TOF: 关断延迟定时器输出 Q 在预设的延时过后重置为 OFF。
● TONR: 保持型接通延迟定时器输出在预设的延时过后设置为 ON。 在使用输入 R 重 置所消耗的时间之前,会一直累加多个定时时段内耗用的时间。
● RT: 通过清除存储在指定定时器背景数据块中的时间数据来重置定时器。
TP、TON 和 TOF 定时器 具有相同的输入和输出参 数。
TONR 定时器具有附 加的复位输入参数 R。
RT 指令可重置指定定时器 的定时器数据。
“定时器名称”
----[ RT ]----
用户程序中可以使用的定时器数仅受 CPU 存储器容量限制。 每个定时器占用 16 个字节 的存储器空间:
每个定时器都使用一个存储在数据块中的结构来保存定时器数据。 在编辑器中放置定时 器指令时即可分配该数据块。 在功能块中放置定时器指令后,可以选择多重背景数据块 选项,各数据结构的定时器结构名称可以不同,但定时器数据包含在单个数据块中,而且 每个定时器不必使用一个单独的数据块。 这样可减少处理定时器所需的处理时间和数据 存储空间。 在共享的多重背景数据块中的定时器数据结构之间不存在交互作用。
TP 定时器 脉冲时序图
,1
4
(7 37
37 37 37
长沙工控帮教育科技有限公司整理
5.3 轻松使用功能强大的编程语言
TON 定时器 接通延迟时序图
,1
4 (7
37 37
37
TOF 定时器 关断延迟时序图
,1
4 (7
37 37
37
TONR 定时器 保持型接通延迟时 序图
,1
4 5
(7
37
长沙工控帮教育科技有限公司整理
5.3 轻松使用功能强大的编程语言
S7-1200 提供了功能强大的指令
除基本指令外,S7-1200 还提供了其它一些功能强大的指令集,可帮助您轻松解决复杂控 制应用方面的问题。 以下指令只是一些集成在 S7-1200 中的强大功能的实例。
CTRL_PWM 指令: CTRL_PWM 脉冲宽度调制 (PWM, Pulse Width Modulation) 指令可提供占空比可变的固定循环 时间输出。 PWM 输出以指定频率(循环时间)启动之后将 连续运行。 脉冲宽度会根据需要进行变化。
更多相关信息,请参见 脉冲宽度调制 (页 83)的说明。
PID_Compact 指令: PID(比例/积分/微分)控制使用 PID 算法计算反馈和设定点值的差,并将结果输出到执行器(例 如,加热器或变频器),以保持设定点。 PID_ Compact 指 令可用来提供可在自动和手动模式下自我优化调节的 PID 控 制器。
以恒定的采样时间间隔(最好在循环中断 OB 中)执行 PID_Compact 指令。
PID_Compact 指令用于测量两次调用之间的时间间隔并评估监视采样时间的结果。 每 次进行模式切换时以及初始启动期间都会生成采样时间的平均值。 该值用作监视功能的 参考并用于块中的计算。 监视包括两次调用之间的当前测量时间和定义的控制器采样时 间的平均值。
模式 说明
未激活 首次下载用户程序后,PID 控制器仍处于“未激活”工作模式。 在这种情况 下,将执行调试窗口中的“初始启动期间的自调节”。 在运行期间,如果发 生错误或在调试窗口中单击“控制器停止”(Controller stop) 图标,PID 控制 器会切换为“未激活”工作模式。
自调节 在调试窗口中调用此功能时,将执行“初始启动期间的自调节”或“工作点中 的自调节”工作模式。
自动模式 在自动模式下,PID_Compact 指令会按照指定的参数更正控制回路。
手动模式 如果 PID 控制器在手动模式下运行,则可手动设置受控变量。
长沙工控帮教育科技有限公司整理
5.3 轻松使用功能强大的编程语言
运动控制指令: 运动控制指令使用相关工艺数据块和 CPU 的专用 PTO(Pulse Train Outputs,脉冲串输出)来控制轴上的运动。 有关运行运动控制指令的信息,请参见 STEP 7 Basic 的在线信息系统。
MC_Power 可启用和禁用运动 控制轴。
MC_Reset 可复位所有运动控制错误。 所有可确认的运 动控制错误都会被确认。
MC_Home 可建立轴控制程序 与轴机械定位系统之间的关 系。
MC_Halt 可取消所有运动 过程并使轴停止运动。 停 止位置未定义。
MC_MoveJog 可执行用于 进行测试和启动的点动模 式。
MC_MoveAbsolute 可启动到 某个绝对位置的运动。 该作业 在到达目标位置时结束。
MC_MoveRelative 可启动 相对于起始位置的定位运 动。
MC_MoveVelocity 可使轴 以指定的速度行进。