实训25 共享数据块和系统功能的调用

Posted bailongwei654321

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实训25 共享数据块和系统功能的调用相关的知识,希望对你有一定的参考价值。

实训25 共享数据块与系统功能的调用

关键字:共享数据块和符号表中的变量 为全局变量。可供所有逻辑块使用

注意符号表中的变量 描述 。 功能块中的变量 成为变量声明表,与符号表区别开来。

变量声明表里面的额变量是局部变量,符号表里的是全局变量。

 

关键字: 实际参数 "P#DB1.DBX0.0 INT 4"表示的是 共享数据表里面 的4个 数组元素的地址 。

在声明视图里查看 共享数据表的声明表 地址 0.0 对应数组的第一个地址。

技术图片

 

 

 

数据块(DB)用来分类存储设备或者生产线中变量的值。

数据块分为 共享数据块 (DB) 和 背景数据块 (DI)

 

共享数据块 和符号表中的变量为全局变量,可供所有逻辑块使用。

 

CPU使用OPN指令分别打开一个共享数据块和一个背景数据块 。

打开新的数据块时,原来被打开的数据块将会自动关闭。

 

 

 

快递定义数据块的大小

技术图片

 

然后单击 数据块 DB2 打开 只有一个 临时占位符变量 DB_VAR

技术图片

 

将DB_VAR 变量名称改为 press 然后类型 选择 数组 ARRAY

技术图片

 

下表中 建立了一个数组 ,array (数据类型是 int )

一个int 变量 voltage

一个int 变量 current

 

这个数据块 放在 C语言中 一个类似于结构体 的数据块

技术图片

+0.0 表示 数组的起始地址为0 ,

*2 表示数元素的大小是2B

+8.0 表示改行上面的四个元素是8B

最左边地址列 的内容是自动添加的。

注意第一行 最左边的 0.0 类型 struct

最后一行 =12.0 类型 END_STRUCT

这个像C语言中的结构体

DB1.BUFFER[2] 是该数组中下标为2 的元素 。

 

部分2 调用系统功能。

 

技术图片

 

调用的功能显示 如下 :

 

技术图片

 

实现的功能 是把 MW2 的内容 通过 系统功能SFC21

SF21 用源存储区 BVAL的数值 初始化 目标存储区 BLK

假设在PLCSIM中 令MW2 的值 等于 520 十进制 dec

然后 付给DB1 里面的 数组的 4个元素。 注意 DB1 是共享数据块 存放的是全局变量。如果是功能块FB1 的背景数据块 名称应该是 DI1

 

在PLCSIM中设置 MW2 的步骤

技术图片    

 

直接打开 共享数据块 DB1 用 数据视图 模式 进行监控

说明 SFC21 FILL功能块 已经 将 MW2

分别写进了 数组prsee 的 元素1 元素2 元素3 元素 4

技术图片

 

调用了系统功能块 SFC20 "blockMOV" 指令。将源存储区数据SRSBLK的内容复制到 目标存储区 DSTBLK

 

在sumatic 管理器下 选中"块",然后新建 变量表。 生成变量表 VAT_1

在变量表 VAT_1 中查看 "P#M10.0 INT 4" 即

MW10 MW12 MW14 MW16 MW18 的值的变化 。

 

技术图片

技术图片

 

将共享数据块 和 系统功能的调用 重头到位录制成 视频 。

注意视频中的数据共享块DB1 是全局变量 。

 

另外 系统功能 SFC21 和系统功能 SFC20 的形式参数都是什么类型的变量?

答:上述的两个SFC的参数 BVAL BLK SRCBLK 和DSTBLK 的数据类型 均为 参数类型 。

 

参数类型 用 ANY 表示 。

 

ANY主要用来表示一连串的数据区

例如 P#M10.0 INT 4 表示的是MW10 MW12 MW14 MW16

 

此外 ANY 的实参也可以是一个任意的数据类型的地址。 例如下图中的MW2

技术图片

 

视频存放在百度网盘的地址 。

以上是关于实训25 共享数据块和系统功能的调用的主要内容,如果未能解决你的问题,请参考以下文章

python中各模块变量共享的问题。

计算机操作系统之文件管理二

雪花 UDF 调用“显示共享”功能

实训三 配置和使用NFS服务器

Windows Server挂载NFS共享

实训24 功能块的生成与调用 注意功能块的背景数据块 变量表最左侧的地址是系统自动生成的。前面讲 功能块与功能的区别是 功能块不能一个扫描周期完成,本功能块例子 确实不是一个扫描周期能完成,例如判