精简面板KTP700萍乡PLC模块总代理6AV2123-2GA03-0AX0
精简面板KTP700萍乡PLC模块总代理6AV2123-2GA03-0AX0
精简面板KTP700萍乡PLC模块总代理6AV2123-2GA03-0AX0
新一代精简面板KTP700,按键+触摸操作,7寸 6.5万色显示,集成Profibus DP接口,WinCC BasicV13/Step 7 V13或更高版本组态
西门子代理|福州PLC模块总代理
西门子代理|厦门PLC模块总代理
西门子代理|莆田PLC模块总代理
西门子代理|三明PLC模块总代理
西门子代理|泉州PLC模块总代理
西门子代理|漳州PLC模块总代理
西门子代理|南平PLC模块总代理
西门子代理|龙岩PLC模块总代理
西门子代理|宁德PLC模块总代理
西门子代理|江西PLC模块总代理
西门子代理|南昌PLC模块总代理
西门子代理|景德镇PLC模块总代理
西门子代理|萍乡PLC模块总代理


西门子现在正大力推广标准化编程方式,已推出不少编程框架,是未来编程的趋势,其中开始的环节就是将输入点输出点映射到DB块中,这样做的好处是可以直接扫描过程映像区,缩短扫描时间,提高了程序的运行效率,也符未来编程合符号寻址的趋势。批量的IO映射可以使用PEEK和POKE这两个指令,下面对这两个指令的用法进行介绍。
1、 只能用在SCL语言编程环境;
2、 软件从TIA PORTAL V11 SP2起支持该指令;
3、 S7-1200 CPU 固件从 V2.2起支持该指令;
4、 适用操作数,I、Q、M、DB;
5、 DB必须是非优化访问的块。
1. 指令格式
指令格式如下图1所示:

图1
PEEK 指令用来读取输入(I)、输出(Q)、存储器(M)或数据块(DB)变量,支持位、字节、字、双字操作。PEEK指令将获取的数据值以返回值的方式赋值给对应的变量。需要注意的是,在指令列表红框中只有PEEK和PEEK_BOOL两个指令,而PEEK相当于PEEK_BYTE,当需要使用PEEK_WORD或者PEEK_DWORD,可以在将指令拖拽到程序编辑区后手动添加后缀,或者在程序中直接输入指令然后通过选择的方式选定,如下图2所示:

图2
序号1的指令为读取字节变量的PEEK指令,序号2的指令为读取字变量的PEEK指令,输入的方式为在序号1的基础上在PEEK后输入下划线会弹出数据类型的选项,包括BYTE、WORD、DWORD,这里选择WORD。也可直接在下划线后输入WORD。DWORD的输入格式亦是如此。图中的红色波浪线当填入正确的变量后会自动消失。
2. PEEK用法解析
如上图2所示,括号内的元素即为PEEK指令的形参和实参。出了PEEK_BOOL指令有四个输入参数,其余三个均为3个,下面分别加以介绍。
PEEK(_BYTE)(读字节变量,指令中BYTE 类型可省略,指令格式。)
PEEK(area:=_byte_in, https:// 寻址区域,BYTE类型
dbnumber:=_dint_in, https:// DB块块号,非DB块寻址时填0,DINT类型或DB ANY类型
byteoffset:=_dint_in);https:// 被读取变量的字节地址,DINT类型
PEEK_WORD(读字变量,指令格式。)
PEEK(area:=_byte_in, https:// 寻址区域,BYTE类型
byteoffset:=_dint_in);https:// 被读取变量的字节地址,DINT类型
PEEK_DWORD(读双字变量,指令格式。)
PEEK(area:=_byte_in, https:// 寻址区域,BYTE类型
byteoffset:=_dint_in);https:// 被读取变量的字节地址,DINT类型
PEEK_BOOL(读位变量,指令格式。)
PEEK(area:=_byte_in, https:// 寻址区域,BYTE类型
byteoffset:=_dint_in https:// 被读取变量的字节地址
byteoffset:=_dint_in);https:// 被读取变量的位地址,INT类型
参数area,根据所读区域的不同,分为四种类型,如下表1所示:
area值 | 类型 | 说明 |
16#81 | I | 输入变量区 |
16#82 | Q | 输出变量区 |
16#83 | M | 中间变量区 |
16#84 | DB | 数据块变量区 |
表1
1、为了使大家能掌握该指令的使用,下面举例加以说明,以博图V16软件进行操作。将数据区DB1中的A的内容读到B中,C的内容读到D中,E的状态读到F中。
打开博图V16,新建一个名为PEEK指令测试的项目,添加一台S7-1215C的CPU,创建数据块DB1,分别建立A、B、C、D、E、F变量,如下图3所示:

图3
需要注意的是,一定要将DB1的优化块访问的属性勾掉,否则无法在PEEK指令中使用。操作步骤为右击项目树下的DATADB,在弹出的选项列表中选择属性,又会弹出个对话框。勾掉优化的块访问前面的勾,再次选中DB1,点击工具栏的编译,如下图4所示:



图4
由上图后一张图可见,当勾选掉优化块的属性并点击编译后,DB块就会显示出便宜地址列。新建名称为peektest的FC功能,语言选择scl,点确定。在打开的FC1程序编辑区输入三条peek指令,peek指令在指令列表的基本指令-移动操作-读/写存储器下。如下图5所示:



图5
上图中序号1和序号2的代码都加了转换指令,分别是将字转换为整数、双字转换为双整数,因为A、B、C、D的数据类型分别为INT和DINT。如果不用转换指令的话,指令下方会出现黄色波浪线以示报警。序号3为位变量的读取。上述指令均是读取DB块内的变量,而且都在同一个数据块DB1,所以area填16#84,dbNumber填1;数据A的字节地址偏移为0,数据C的字节地址偏移为4,数据E的字节地址偏移为12,位偏移为0,所以在byteoffset和bitoffset处分别填上上述数据。偏移量如下图6所示:

图6
2、仿真测试
仿真过程及测试的结果如下图7所示:



图7
图7后面两张图可以看出测试的结果,使DB1处于监控状态,A、C、E分别输入456、-45678、true,B、D、F也得到相应的值,当把A和E改为0和f
主营西门子模块、PLC模块、变频器模块、触摸屏模块、电源模块、伺服电机、交换机、电缆
从事智能科技、自动化科技、机电领域内的技术开发、技术转让、技术咨询、技术服务,工业自动化设备安装,工业自动化控制设备、电气设备、机电设备、电子产品、五金产品、金属材料、仪器仪表、橡塑制品销售,商务信息咨询,软件开发,建筑装修装饰建设工程专业施工,建筑安装工程(除特种设备),机械设备租赁(不得从事金融租赁),物业管理。工业自动化设备加工、销售
从事智能科技、自动化科技、机电领域内的技术开发、技术转让、技术咨询、技术服务、工业自动化设备安装、工业自动化控制设备、电气设备、机电设备、电子产品、五金产品、金属材料、仪器仪表、橡塑制品销售、商务信息咨询、软件开发、建筑装修装饰建设工程施工、建筑安装工程(除特种设备),机械设备租赁(不得从事金融租赁),物业管理。工业自动化设备加工、销售。 浔之漫智控技术上海有限公司出售西门子S7-200PLC,西门子S7-400PLC,西门子S7-30...