>文末有55个实战案例资料 导读:在我们编程的时候,有时候需要IO映射,而映射的方法可以使用梯形图和SCL,而使用SCL语言编写会更加方便和高效。SCL来编写的话,就需要使用PEEK、和POKE指令,那这两个指令如何使用呢? 使用S7-1200 SCL 编程语言的 PEEK 和 POKE 指令,可以实现对 I/O、M 存储器和数据块的读取或写入。而通过 POKE_BLK 指令,还可以实现数据区域的复制或移动。 (1)创建 S7-1200 项目文件 在TIA PORTAL 创建新项目,双击“添加新设备”在项目中添加 S7-1200 PLC_1,CPU 1214C DC/DC/DC。 (2)添加 SCL 逻辑块 展开 PLC_1,双击“程序块”中的“添加新块”,选择语言“SCL”,添加 FC 块,名称为 FC1 。 (3)添加 PEEK、POK E指令 双击 FC1 打开 SCL 逻辑块,将指令的“基本指令>移动操作>读写存储器”中 PEEK、POKE指令拖入程序编辑区。 示例: 1) PEEK_BOOL 指令 将 M0.1 的状态值读取到 M0_7(M0.7),执行结果如图所示: (2) PEEK(_BYTE)指令 将 IB20 的值读取到 DB1的Byte类型变量,执行结果如图10 所示: (3) PEEK_WORD指令 如图所示, FC2 是字寻址,执行 FC2,将 QW30 的值读取到 DB1的Word类型变量: (4) PEEK_DWORD指令 如图 所示, FC3 是双字寻址,执行 FC3,将变量 DB2.DBD0 的值读取到 DB1的DWord类型变量: (5)将CPU1214C本体的起始地址I0.0的14个I点的值,分别送入DB1的14个Bool的数组的每一个元素,对应方式: 通过上述对应关系,可以发现规律,数组元素下标从0开始逐个加1,对应的I点输入地址的位变量是从0到7再往复,而字节地址是先是8个0,然后是1,所以总结是字节地址是下标整除8的商,位地址是下标整除8的余数,换成编程语言就是字节地址是下标/8,位地址是下标MOD8。然后就可以利用FOR循环来快速实现逐个位的赋值,如图13所示。结果如图所示。 最近有很多小伙伴说要案例书籍,说是手机上看文章不是很方便,我抽时间把55个实战案例全部整理出来,案例都是比较典型的,其中包括气缸控制程序、报警程序、程序框架、运动控制程序封装、模拟量控制变频器、通信等实战案例。需要的可以加我微信:biao467524527,如果加不上可以私信我!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |