当前位置: 首页 > wzjs >正文

网站搜索查询wordpress云服务器安装教程

网站搜索查询,wordpress云服务器安装教程,新河网吧,如何创建html文件一、指令适用条件与生成环境 使用S7-1200 SCL 编程语言的 PEEK 和 POKE 指令,可以实现对 I/O、M 存储器和数据块的读取或写入。 而通过 POKE_BLK 指令,还可以实现数据区域的复制或移动。适用条件 仅用于 SCL 编程语言。软件需从 TIA PORTAL V11 SP2 起。…

一、指令适用条件与生成环境

使用S7-1200 SCL 编程语言的 PEEK 和 POKE 指令,可以实现对 I/O、M 存储器和数据块的读取或写入。 而通过 POKE_BLK 指令,还可以实现数据区域的复制或移动。

适用条件

  • 仅用于 SCL 编程语言。
  • 软件需从 TIA PORTAL V11 SP2 起。
  • S7-1200 CPU 固件从 V2.2 起。
  • 适用操作数为 I、Q、M、DB,且 DB 必须是非优化访问的块。

本文生成环境:

  • 硬件: CPU1214C V4.4
  • 软件:Windows 10 Pro 1903和 TIA PORTAL 专业版 V16

二、项目生成与指令位置

(一)创建 S7-1200 项目文件

在 TIA PORTAL 中创建新项目,双击 “添加新设备”,在项目中添加 S7-1200 PLC_1,选择 CPU 1214C DC/DC/DC。
在TIA PORTAL 创建新项目,双击“添加新设备”在项目中添加 S7-1200 PLC_1,CPU 1214C DC/DC/DC。

图1 添加新设备

(二)添加 SCL 逻辑块

展开 PLC_1,双击 “程序块” 中的 “添加新块”,选择语言 “SCL”,添加 FC 块,名称为 FC1。

(三)添加 PEEK、POKE 指令

双击 FC1 打开 SCL 逻辑块,将指令的 “基本指令> 移动操作 > 读写存储器” 中的 PEEK、POKE 指令拖入程序编辑区。

三、PEEK 指令

(一)指令格式

PEEK 指令用于读取输入(I)、输出(Q)、存储器(M)或数据块(DB)变量,支持位、字节、字、双字操作,且将获取的数据值以返回值的方式赋值给对应的变量。

  • PEEK_BOOL:读位变量。
  • PEEK (_BYTE):读字节变量,其中 BYTE 类型可省略。
  • PEEK_WORD:读字变量。
  • PEEK_DWORD:读双字变量。

PEEK_BOOL,读位变量。

PEEK (_BYTE) ,读字节变量。

PEEK_WORD,读字变量。

PEEK_DWORD,读双字变量。

需要注意的是,在指令列表中只有 PEEK 和 PEEK_BOOL 两个指令,PEEK 相当于 PEEK_BYTE,当需要使用 PEEK_WORD 或者 PEEK_DWORD 时,可以在将指令拖拽到程序编辑区后手动添加后缀,或者在程序中直接输入指令然后通过选择的方式选定。

参数area,根据数据所在区域的不同有四种取值。

area值类型说明
16#81I输入区变量
16#82Q输出区变量
16#83MM区变量
16#84DB数据块变量

(二)示例程序

  1. PEEK_BOOL 指令:将 M0.1 的状态值读取到 M0.7。
  2. PEEK (_BYTE) 指令:将 IB20 的值读取到 DB1 的 Byte 类型变量。
  3. PEEK_WORD 指令:在 FC2 中,将 QW30 的值读取到 DB1 的 Word 类型变量。
  4. PEEK_DWORD 指令:在 FC3 中,将变量 DB2.DBD0 的值读取到 DB1 的 DWord 类型变量。

PEEK_BOOL 指令:将 M0.1 的状态值读取到 M0.7。

PEEK (_BYTE) 指令:将 IB20 的值读取到 DB1 的 Byte 类型变量。

PEEK_WORD 指令:在 FC2 中,将 QW30 的值读取到 DB1 的 Word 类型变量。

PEEK_DWORD 指令:在 FC3 中,将变量 DB2.DBD0 的值读取到 DB1 的 DWord 类型变量。

(三)应用案例

将 CPU1214C 本体的起始地址 I0.0 的 14 个 I 点的值,分别送入 DB1 的 14 个 Bool 的数组的每一个元素。通过分析对应关系可知,字节地址是下标整除 8 的商,位地址是下标整除 8 的余数。利用 FOR 循环可快速实现逐个位的赋值。

  • I0.0 -- > 元素0
  • I0.1 -- > 元素1
  • I0.7 -- > 元素7
  • I1.0 -- > 元素8
  • I1.1 -- > 元素9
  • I1.5 -- > 元素13

通过上述对应关系,可以发现规律,数组元素下标从0开始逐个加1,对应的I点输入地址的位变量是从0到7再往复,而字节地址是先是8个0,然后是1,所以总结是字节地址是下标整除8的商,位地址是下标整除8的余数,换成编程语言就是字节地址是下标/8,位地址是下标MOD8。然后就可以利用FOR循环来快速实现逐个位的赋值,如图13所示。结果如图所示。

四、POKE 写指令

(一)指令格式

POKE 指令可以对输入(I,一般不使用)、输出(Q)、存储器(M)或数据块(DB)变量地址进行写操作,支持位、字节、字、双字操作,还可以进行区域操作,实现区域数据移动,可在指令体内将结果传递给对应变量。

POKE 位操作:

POKE 指令没有 POKE_BYTE、POKE_WORD、POKE_DWORD 指令,实现写入字节、字、双字取决于待写入的变量 value 的数据类型。

POKE 字节、字、双字操作:

说明:POKE指令和PEEK指令不同,没有POKE_BYTE、POKE_WORD、POKE_DWORD指令,实现写入字节、字、双字,取决于待写入的变量value的数据类型,如图所示,不同的数据类型写入的结果不同。

POKE_BLK 指令可将源数据块、I/O 或存储区从 byteOffset 开始的 “count” 个字节,写入目标数据块、I/O 或存储区 byteOffset 开始的区域。

参数area,根据数据所在区域的不同有四种取值。

area值类型说明
16#81I输入区变量
16#82Q输出区变量
16#83MM区变量
16#84DB数据块变量

(二)示例程序

  1. POKE_BOOL 指令:将 M0.1 的状态值写入 Q0.7。
  2. POKE 指令:在 FC4 中,将 MW2 的值写入 DB2.DBW20。
  3. POKE_BLK 指令:在 FC5 中,将 DB2.DBB22 开始的 12 个字节的值写入 MB100 开始的地址。

POKE_BOOL 指令:将 M0.1 的状态值写入 Q0.7。

POKE 指令:在 FC4 中,将 MW2 的值写入 DB2.DBW20。

POKE_BLK 指令:在 FC5 中,将 DB2.DBB22 开始的 12 个字节的值写入 MB100 开始的地址。

五、常见问题

(一)如何使用 PEEK 指令将一个 Real 类型变量读取到另一个 Real 类型?

PEEK 指令不检查数据类型,直接读取可能会出现乱码。建议先将原始 Real 变量使用 PEEK 指令转换为 DWord 类型,然后使用 DWORD_TO_REAL 进行转换,可避免误差。

当输入一个浮点数,输出的浮点数是一个乱码似的数,需要使用DWORD_TO_REAL把该数进行转换,但是转换结果会产生一定的误差。

为了解决这个问题,可以先将原始Real变量使用PEEK指令转换为DWord类型,然后使用DWORD_TO_REAL,如图所示。

同样是输入1.2,输出也是1.2了。

所以建议使用第二种方法,也就是先将原始Real变量使用PEEK指令转换为DWord类型,然后使用DWORD_TO_REAL。

(二)如何使用 POKE 指令将一个 Real 类型变量写入到另一个 Real 类型?

直接写入可能会导致精度丢失或结果异常。建议先将原始 Real 类型使用 REAL_TO_DWORD 转换为 DWord 类型,然后使用 POKE 指令。

和问题1类似,因为POKE指令不检查数据类型,所以理论上可以输入一个Real类型变量的地址,返回一个Real类型,但是解决方法和第一个不太一样,如图24 所示。

当输入一个正数,输出的数是通过ROUND取证的一个DINT类型,需要再转换,并且精度丢失,而输入一个负数,输出正常,这种方法肯定是不可取的。

为了解决这个问题,可以先将原始Real类型使用REAL_TO_DWORD转换为DWord类型,然后使用POKE指令,如图所示。

通过以上对 PEEK 和 POKE 指令的详细介绍,相信大家对其在 S7-1200 系列 PLC 的 SCL 编程语言中的使用有了更清晰的认识,在实际应用中可以根据具体需求灵活运用这些指令。


文章转载自:

http://7yhJgyR3.ghsLr.cn
http://VMvsuvVc.ghsLr.cn
http://cNXoQ54L.ghsLr.cn
http://odMxxywL.ghsLr.cn
http://XP6ETofa.ghsLr.cn
http://PZ7PD0wo.ghsLr.cn
http://Y908Q3iA.ghsLr.cn
http://0cDGr4ag.ghsLr.cn
http://57xSQR7V.ghsLr.cn
http://SzVwhhVd.ghsLr.cn
http://kyR1xlFi.ghsLr.cn
http://cyym9aJY.ghsLr.cn
http://YpqhR8Cr.ghsLr.cn
http://Klfbm5nK.ghsLr.cn
http://lzW6cmle.ghsLr.cn
http://cSvKdnxd.ghsLr.cn
http://9xOcO57h.ghsLr.cn
http://wNAjYmB7.ghsLr.cn
http://RRNUEoxg.ghsLr.cn
http://dgmfjPMX.ghsLr.cn
http://QeNvMrRI.ghsLr.cn
http://bRcMkPmC.ghsLr.cn
http://aYLdFpZw.ghsLr.cn
http://Rr3uhlLB.ghsLr.cn
http://93tCXgnv.ghsLr.cn
http://3Vfgitxz.ghsLr.cn
http://iHGIT4zu.ghsLr.cn
http://Kodx8YYP.ghsLr.cn
http://DNiBb2s8.ghsLr.cn
http://SSuVjzvJ.ghsLr.cn
http://www.dtcms.com/wzjs/684802.html

相关文章:

  • 创新的常州网站建设免费ppt模板300套
  • 网站的ftp地址怎么查中国交通建设集团英语网站
  • 找天津网站建设公司做个网站多少钱厦门关键词排名优化
  • 大连网站建设案例河南旅游网站建设
  • 做价值投资有哪些网站学院网站群建设的目标
  • 数据网站建设多少钱一级造价工程师贴吧
  • 建设小网站教程网站建设性能分析
  • 企业网站建设好的案例百度站长资源平台
  • 网站建设最新签约静态网站培训
  • 商务网站开发工具不包括做的好的手机网站
  • 营销型网站建设信融沈阳网站开发公司电话
  • 泰安企业网站制作做包装看什么网站
  • 常州外贸网站建设wordpress加文章顶部全局广告图片
  • 标准页面布局seo学院
  • 网站维护内容及费用全文搜索引擎有哪些
  • 网站前台的网址做网站专用图标
  • 静态网站开发课程模板wordpress socket
  • 网站后台版权dw做的个人网站
  • 京东网站建设目标是什么正规网站建设公司
  • 贵阳开发网站建设域名注册多少钱
  • 阜阳网站建设专业机构有哪些好的ps素材网站
  • 企业网站名是什么意思制作网站专业公司吗
  • 网站建设维护教程国外网站查询
  • 给个人网站做百度百科网站运营总监
  • 响应式网站效果图做多大的免费下载软件大厅
  • 物流网站开发项目书django wordpress
  • 长沙鞋网站建设团队网站源码
  • 哈尔滨哪里做网站wordpress linux下载
  • seo查询 站长工具网站建设应重视后期的服务和维护
  • 北京建设工程交易服务中心网站seo推广优化服务