S7-1200 SCL PEEK 和 POKE 指令使用发表时间:2026-02-10 23:52 S7-1200 SCL PEEK 和 POKE 指令使用使用S7-1200 SCL 编程语言的 PEEK 和 POKE 指令,可以实现对 I/O、M 存储器和数据块的读取或写入。 而通过 POKE_BLK 指令,还可以实现数据区域的复制或移动。 指令适用条件:
本文生成环境:
一、项目生成方法:(1)创建 S7-1200 项目文件
图一 添加新设备 (2)添加 SCL 逻辑块
图二 添加新块 (3)添加 PEEK、POK E指令
图三 添加指令 二、PEEK 指令1、指令格式PEEK 指令用来读取输入(I)、输出(Q)、存储器(M)或数据块(DB)变量,支持位、字节、字、双字操作。PEEK指令将获取的数据值以返回值的方式赋值给对应的变量。 PEEK_BOOL,读位变量,指令格式。 图四 PEEK_BOOL PEEK (_BYTE) ,读字节变量,指令中BYTE 类型可省略,指令格式。 图五 PEEK_BYTE PEEK_WORD,读字变量,指令格式。 图六 PEEK_WORD PEEK_DWORD,读双字变量,指令格式。 图七 PEEK_DWORD 参数area,根据数据所在区域的不同有四种取值。
图八 PEEK参数area 2、示例程序(1)、PEEK 指令 – M区寻址:将 M0.1 的状态值读取到 Tag_15(M0.7),执行结果如下:
图九 PEEK_BOOL 如下程序 FC9 是字节寻址,执行 FC9,将 MB10 的值读取到 MB1:
图十 PEEK_Byte(PEEK) 如下序 FC10 是字寻址,执行 FC10,将 MW30 的值读取到 MW32:
图十一 PEEK_Word(PEEK) 将 MD50 的值读取到 MD54 ,程序 FC 11,执行结果如下:
图十二 PEEK_DWord(PEEK) (2)PEEK 指令 – DB 寻址:使用 PEEK 指令编写程序 FC3,实现对 DB5 中的数据位、字节、字、双字的读取。
图十三 DB寻址 测试结果如下图:
图十四 DB寻址测试 三、POKE 写指令1、指令格式POKE 指令可以用来对输入(I)、输出(Q)、存储器(M)或数据块(DB)变量地址进行写操作,不仅支持位、字节、字、双字操作,还可以区域操作,实现区域数据移动。 POKE 位操作: 图十五 POKE 位操作 POKE 字节、字、双字操作:
图十六 POKE字节、字、双字 将源数据块、I/O 或存储区从 byteOffset 开始的“count”个字节,写入目标数据块、I/O 或存储区 byteOffset 开始的区域。 图十七 POKE_BLK 注:
图十八 POKE参数area 2、示例(1)POKE 指令– M 存储器操作:使用 POKE 指令编写程序 FC13 ,将 MB2 6的值写入 MB20,程序执行如下:
图十九 POKE写字节 使用 POKE 指令编写程序 FC14 ,将 MW2 的值写入 MW60,程序执行如下:
图二十 POKE字操作 使用 POKE 指令编写程序 FC15 ,将 MD100 的值写入 MD40,程序执行如下:
图二十一 POKE双字操作 (2)POKE_BOOL 指令,写M位存储器:使用 POKE_BOO L指令编写程序 FC12 ,将 M0.1 的值写入 M10.1:
图二十二 POKE_BOOL 调用 FC12 执行结果:
图二十三 POKE_BOOL测试结果 (3)POKE_BLK, 写存储区示例:使用 POKE_BLK 指令编写程序 FC8,将 DB2.DBB3 2开始的12个字节的值写入 MB100 开始的地址,程序执行如下:
图二十四 POKE_BLK
文章分类:
+技术分享
汽车电动化转型全面落地,传统燃油汽修行业持续遇冷,大量汽修从业者业务缩减、利润下滑,汽修大专、退伍军人范同学,主动跳出汽修赛道,选择高壁垒工控 PLC 电气工程师作为新职业方向。范同学大专汽修专业,退伍后长期从事燃油车辆维修工作。近两年新能源汽车全面普及,三电系统维修权限、专用检测设备全部掌握在车企手中,普通修理厂仅能承接基础保养业务,维修利润持续压缩,行业整体发展空间持续收窄。他也曾考虑转...
2026-06-26
电气工程是工科热门专业,多数电气本科生就业目标锁定国家电网,但受编制名额、院校门槛限制,普通本科毕业生很难进入正式编制,大多只能入职电网外包、分包配套企业,长期发展空间狭窄,电气本科李同学就是这类就业人群的典型代表。李同学本科电气工程专业,毕业后进入地方电网分包企业,负责基础强电运维、线路辅助作业。电网体系招录规则清晰:正式编制优先重点院校、研究生,普通本科几乎没有转编渠道,分包岗位薪资涨幅...
2026-06-25
|