• 沒有找到結果。

PLC 概念 3

5.3.4 数据块 (DB)

PtP(Point-to-Point,点对点)指令和 PROFINET 指令(例如,TSEND_C 和

TRCV_C)可用于传送可被中断的数据缓冲区。 通过避免对程序循环 OB 和中断 OB 中 的缓冲区进行任何读/写操作,可以确保数据缓冲区的数据一致性。如果需要在中断 OB

中修改这些指令的缓冲区值,请使用 DIS_AIRT 指令延迟所有中断(中断 OB 或源自 HMI 或另一个 CPU 的通信中断),直到执行了 EN_AIRT 指令。

说明

使用 DIS_AIRT 指令延迟中断 OB 的处理,直到执行了 EN_AIRT 指令,以此影响用户程 序的中断等待时间(从事件发生到执行中断 OB 的时间)。

5.5 选择编程语言

可以在 LAD(梯形图)或 FBD(功能块图)编程语言之间做出选择。

LAD 编程语言

LAD 是一种图形编程语言。 它使用基于电路图的表示法。

电路图的元件(如常闭触 点、常开触点和线圈)相互 连接构成程序段。

要创建复杂运算逻辑,可插入分支以创建并行电路的逻辑。 并行分支向下打开或直接连 接到电源线。 用户可向上终止分支。

LAD 向多种功能(如数学、定时器、计数器和移动)提供“功能框”指令。

创建 LAD 程序段时请注意以下规则:

● 每个 LAD 程序段都必须使用线圈或功能框指令来终止。 不要使用比较指令或沿检测

(上升沿或下降沿)指令终止程序段。

● 不能创建可能导致反向能流的分支。

( )

& ' =

%

$

● 不能创建可能导致短路的分支。

& =

%

$

功能块图 (FBD) 编程语言

与 LAD 一样,FBD 也是一种图形编程语言。 逻辑表示法以布尔代数中使用的图形逻辑符 号为基础。

算术功能和其它复杂功能可直接结合逻辑框 表示。 要创建复杂运算的逻辑,在功能框之 间插入并行分支。

理解“功能框”指令的 EN 和 ENO

LAD 和 FBD 都可以将“能流”(EN 和 ENO)用于某些“功能框”指令。 特定指令(如数学 和移动指令)显示 EN 和 ENO 的参数。 这些参数与能流有关并确定在该扫描期间是否执 行指令。

● EN(使能输入)是 LAD 和 FBD 中功能框的布尔输入。 要执行功能框指令,能流 (EN = 1) 必须出现在此输入端。 如果 LAD 功能框的 EN 输入直接连接到左侧电源 线,则将始终执行该功能框。

● ENO(使能输出)是 LAD 和 FBD 中功能框的布尔输出。 如果该功能框在 EN 输入端 有能流且正确执行了其功能,则 ENO 输出会将能流 (ENO = 1) 传递到下一个元素。

如果执行功能框指令时检测到错误,则在产生该错误的功能框指令处终止该能流 (ENO = 0)。

程序编辑器 输入/输出 操作数 数据类型

LAD EN、ENO 能流 BOOL

EN I、I:P、Q、M、DB、Temp、能流 BOOL FBD

ENO 能流 BOOL

5.6 复制保护

通过复制或“专有技术”保护可防止程 序中的一个或多个代码块(OB、FB 或 FC)受到未经授权的访问。 用户 创建密码以限制对代码块的访问。

将块组态为“专有技术”保护时,只有 在输入密码后才能访问块内的代 码。

要对块实施复制保护,可从“编 辑”(Edit) 菜单中选择“专有技术保 护”(Know how protection) 命令。 然 后输入允许访问该块的密码。

密码保护会防止对代码块进行未授权的读取或修改。 如果没有密码,只能读取有关代码 块的以下信息:

● 块标题、块注释和块属性

● 传送参数(IN、OUT、IN_OUT、Return)

● 程序的调用结构

● 交叉引用中的全局变量(不带使用时的信息),但局部变量已隐藏

5.7 下载程序的元素

可将项目的元素从编程设备下载到 CPU。 下载项目时,CPU 会将用户程序(OB、FC、

FB 和 DB)存储在永久存储器中。

可从以下任何位置将项目从编程设 备下载到 CPU:

 “项目树”(Project tree): 右键单 击程序元素,然后单击上下文 相关的“下载”(Download) 选择 项。

 “在线”(Online) 菜单: 单击“下 载到设备”(Download to device) 选择项。

 工具栏: 单击“下载到设 备”(Download to device) 图 标。

5.8 上传程序的元素

可以将所有程序块和变量表从在线 CPU 上传到离线项目,但无法上传设备配置或监视表 格。 无法上传到空项目中;必须有一个离线 CPU 可用于上传。 无法上传单个块;只能 上传整个程序。 如果执行上传,则在上传前出现确认提示后将“清空”离线 CPU(删除所 有块和变量表)。 用户无法在在线区域编辑块;必须先将其上传到离线区域进行修改,

然后重新下载到 PLC。

有两种执行上传的方式: 在项目树中拖放,或在比较编辑器中同步。

在项目树中拖放

1. 创建一个新项目。

2. 添加与要上传的 CPU 相匹配的 CPU 设备。

3. 展开该 CPU 节点一次,以便“程序块”(Program blocks) 文件夹可见。

4. 在“项目树”中,展开“在线访问”(Online access) 节点,然后展开对应所需网络的节点 并双击“更新可访问的设备”(Update accessible devices)。

5. 列出了可用的 CPU 后,展开所需 CPU 的节点。

6. 在在线访问区域中,左键单击并按住“程序块”(Program blocks) 文件夹,将其向上拖 动到离线区域的“程序块”(Program blocks) 文件夹,然后松开鼠标左键。 在经过相应 正确区域上方时,鼠标指针应会变为“+”。

7. 您应能看到“上传预览”(Upload preview) 对话框打开。 单击“继续”(Continue) 框,然后 单击“从设备上传”(Upload from device)。

8. 等到上传完成。 此时,所有程序块、工艺块和变量应显示在离线区域中。

9. 由于无法上传设备配置,因而请使用设备配置手动设置 CPU 属性(包括所需的 IP 地 址),并将其它设备添加到离线项目中。

也可以从在线区域拖动到现有程序的“程序块”(Program blocks) 区域。 也就是说,程序块 离线区域并不一定是空的。 此时,现有程序将被删除,取而代之的是在线程序。

在比较编辑器中同步

1. 打开包含相应项目的项目。

2. 在“项目树”中,选择要比较的离线 CPU。

3. 右键单击离线 CPU,或从“工具”(Tools) 菜单中选择“比较离线/在线”(Compare offline/online) 命令,打开比较编辑器。

4. 比较编辑器将在“程序块”(Program blocks) 文件夹下列出不同之处。 单击动作列中的 符号。 要上传项目,请选择“从设备上传”(Upload from device)。

5. 单击“同步在线和离线对象”(Synchronize online and offline) 按钮,将项目从在线 CPU 复制到离线 CPU。

5.9 调试和测试程序

使用“监视表格”监视和修改正在由在线 CPU 执行的用户程序的值。 可在项目中创建并保 存不同的监视表格以支持各种测试环境。 这使得用户可以在调试期间或出于维修和维护 目的重新进行测试。

通过监视表格,可监视 CPU 并与 CPU 交互,如同 CPU 执行用户程序一样。 不仅可以 显示或更改代码块和数据块的变量值,也可以显示或更改 CPU 存储区(其中包括输入和 输出(I 和 Q)、外围设备输入和输出(I:P 和 Q:P)、位存储器 (M) 和数据块 (DB))的 值。

通过监视表格,可在 STOP 模式下启用 CPU 的物理输出 (Q:P)。 例如,测试 CPU 的接 线时可为输出端赋特定值。

编写指令 6

6.1 基本指令

6.1.1 位逻辑