用普通指令编写西门子S7-1200PLC的循环程序

   2024-09-15 建材之家520
核心提示:循环程序用来完成大量的重复的操作。西门子S7-1200PLC没有像西门子S7-300PLC的LOOP那样的循环程序专用的指令,为了编写循环程序,可以用FieldRead指令实现间接寻址,用普通指令来编写循环程序。 生成一个名为“循环程序”的项目。首先生成全局数据块DB1,在DB1中生成有10个字节元素的数组,设置各数组元素的初始值。 生成一个功能块FB1,定义它的输入参数

    循环程序用来完成大量的重复的操作。西门子S7-1200PLC没有像西门子S7-300PLC的LOOP那样的循环程序专用的指令,为了编写循环程序,可以用FieldRead指令实现间接寻址,用普通指令来编写循环程序。
    生成一个名为“循环程序”的项目。首先生成全局数据块DB1,在DB1中生成有10个字节元素的数组,设置各数组元素的初始值。
    生成一个功能块FB1,定义它的输入参数“字节数”(Int)、“初始下标”(Dint)、“数组”(Array)和输出参数“异或结果”(Byte)。
    在FB1的程序段1用MOVE指令将“异或结果”清零(见图1)。
    程序段2的跳转标签Back表示循环的开始。指令FieldRead用来实现间接寻址,其参数INDEX是要读写的数组元素的下标,其数据类型为DInt(双整数)。参数MEMBER的实参必须是该数组的第一个元素,参数VALUE是读取的数组元素的值。
读取数组元素值后,将它与输出变量“异或结果”作异或运算,将地址指针“起始下标”加1,它指向下一个数组元素。将作为循环次数计数器的输入变量“字节数”减1。减1后如果非0则返回标签Back处,开始下一次循环的操作。

 800)this.width=800">

    图1

    在OB1中调用FB1(见图2),求DB1中的数组1从下标为2的元素开始的3个数组元素的异或值,异或的结果用MB4保存。
    将程序下载到CPU,将CPU切换到RUN模式。搬动I0.2对应的小开关,在I0.2的上升沿调用FB1。用监视表监视MB4中的运算结果,验证了程序的正确性。

800)this.width=800">

图2

 
【温馨提示】本文内容和观点为作者所有,本站只提供信息存储空间服务,如有涉嫌抄袭/侵权/违规内容请联系QQ:727533600 删除!
 
举报收藏 0打赏 0评论 0

上一篇:STEP7软件硬件更新升级方法

1).打开你的STEP7软件,再进入HW Config界面。2).点击HW Config界面的“Opition”->“Install HW Updates..”,进入到“Install HW Updates”下载界面,选择“download from Internet”并点击“Execute”,就可以从西门子网站下载最新的硬件升级文档到你自己的电脑上。3).下载完成后,还是在“Install...

下一篇:西门子S7-300PLC硬件诊断如何操作

问:我西门子S7-300PLC报故障,请帮我讲解一下硬件故障诊断的操作步骤答:"可以利用CPU诊断缓冲区进行详细故障诊断,方法如下:首先建立电脑与PLC的总线连接,在SIMATIC管理器中选择要检查的站(如SIMATIC-300(1)),执行菜单PLC/Diagnosis/Setting(诊断/设定)/Module Information(模块信息),在模块信息窗口的“D...
 
更多>同类水电电工
推荐图文
推荐水电电工
点击排行
申请链接  |  更多> 友情链接
管材水电黄金广告位赞助商链接,购买请点击进入
网站首页  |  关于建材之家  |  联系我们  |  加入建材之家  |  隐私政策  |  使用协议  |  财务相关  |  城市分站  |  招商加盟  |  建材群站  |  网站地图  |  排名推广  |  广告服务  |  网站留言  |  违规举报  |  粤ICP备14017808号  |  粤公网安备 44030402000745号
陶瓷头条 | 空调头条 | 卫浴头条 | 洁具头条 | 油漆头条 | 涂料头条 | 地板头条 | 吊顶头条 | 衣柜头条 | 家居头条 | 老姚之家 | 灯饰之家 | 电气之家 | 全景头条 | 照明之家 | 防水之家 | 防盗之家 | 区快洞察 | 深圳建材 | 香港建材 | 佛山建材 | 广州建材 | 东莞建材 | 惠州建材 | 南宁建材 | 崇左建材 | 来宾建材 | 河池建材 | 贺州建材 | 百色建材 | 玉林建材 | 贵港建材 | 钦州建材 | 防城港建材 | 北海建材 | 梧州建材 | 桂林建材 | 柳州建材 | 建材 | 720全景 | 企业之家 |