循环程序用来完成大量的重复的操作。西门子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处,开始下一次循环的操作。

图1

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

图2

http://www.jdzj.com/diangong/article/2016-1-11/66231-1.htm

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

  1. 西门子1200PLC模板通讯程序,包含多种通讯Modbus-RTU(485),S7通讯

    西门子1200PLC模板通讯程序,包含多种通讯Modbus-RTU(485),S7通讯,Modbus-TCP,TCP/IP等,简单明了 编号:54112654376937554tbNick_mtjdq

  2. 西门子水处理1200PLC程序模板 Plc程序包含功能块,功能块为SCL编写 含模拟量换算功能块

    SIEMENS/西门子水处理1200PLC程序模板 (1)西门子触摸屏程序,博图V16学习程序,可仿真实验 (2)Plc程序包含功能块,功能块为SCL编写,(要有一定基础才能读懂) (3)含模拟量换算 ...

  3. 打印机通讯 tspl指令_西门子工控设备通讯

    西门子作为最早进入中国市场的工控厂家,其市场占有率一直非常高.西门子PLC的品质非常好,其网络稳定性.开放性深受工控人员的喜爱,而且编程软件分类多,使用方便. 一.PPI通讯 PPI协议是S7-200 ...

  4. 西门子S7 模拟器使用教程

    一.S7协议概述 S7协议是西门子S7系列PLC通信的核心协议,它是一种位于传输层之上的通信协议,其物理层/数据链路层可以是MPI总线.PROFIBUS总线或者工业以太网. S7以太网协议本身也是TC ...

  5. PLC实验—西门子S7 1200读取旋转编码器数据并计算电机转速

    PLC实验-西门子S7 1200读取旋转编码器数据并计算电机转速 注意PTO控制步进电机实验博途软件需要V14版本,不然没有PTO功能块 软件的下载请点击下方百度网盘的链接 链接:https://pa ...

  6. C# 读取西门子S7系列PLC教程及源码

    创建 PLC 实例,连接和断开连接 若要创建驱动程序的实例,需要使用此构造函数: public Plc(CpuType cpu, string ip, Int16 rack, Int16 slot) ...

  7. 西门子S7-200PLC自由口初始化

    文章参考链接:https://jingyan.baidu.com/article/6525d4b17c0056ac7d2e9412.html 西门子s7-200自由口十分方便快捷,熟悉其初始化方法对与 ...

  8. 西门子s7协议 android,工控协议 | 西门子S7协议学习分享

    原标题:工控协议 | 西门子S7协议学习分享 *本文作者:gongmo,本文属 FreeBuf 原创奖励计划,未经许可禁止转载. 0×1前言 随着网络安全的发展,工控安全也越发的走进信息安全人员的工作 ...

  9. 西门子水处理1200PLC程序+触摸屏程序

    西门子水处理1200PLC程序+触摸屏程序,博图V16学习程序,可仿真实验 Plc程序包含功能块,功能块为SCL编写, 内含模拟量换算功能块+滤波功能块+时间换算功能块+modubus tcp通讯程序 ...

最新文章

  1. 开学考试学生成绩管理Java
  2. HDU 3926 图的同构
  3. 【JavaScript 学习笔记】创建对象
  4. 计算机存储的大小端模式解析
  5. 【机器学习算法-python实现】采样算法的简单实现
  6. vue.js 组件之间传递数据
  7. 删除一个目录及其子目录下的所有.svn文件
  8. 浅谈SQL Server数据库分页
  9. 【超级鼠标键盘锁】之实现思路(非驱动实现)
  10. 访问VirtualBox创建的CentOS虚拟主机里面的WEB服务
  11. java mvc上传文件进度_java相关:springMVC+ajax实现文件上传且带进度条实例
  12. linux libmpi.so.12,单机安装vasp5.4.4,系统SUSE 12 SP3,编译器Intel_Parallel_Studio_XE_2019_Linux...
  13. 数据结构与算法之一快速排序
  14. 不相交集java_不相交集类
  15. Ant运行build.xml执行服务器scp,异常解决jsch.jar
  16. vue学习笔记-3-双向数据绑定
  17. 程序猿必备的17款最佳的代码审查工具
  18. LAMMPS学习系列(7)
  19. 我的自学全栈路(从0元自学到转行IT)
  20. python大驼峰_匈牙利法、大小驼峰法(两种编程命名规则)

热门文章

  1. Unity3D之VR开发笔记@Oculus开发UNITY环境搭建
  2. 中国工程院院士谈红芯造假:穿上创新的“马甲”危害更大
  3. 玄学小记.6 ~ Berlekamp_Massey
  4. python字符串去重排序_python实现字符串转数字排序-女性时尚流行美容健康娱乐mv-ida网...
  5. 23种设计模式介绍(Python示例讲解)
  6. 程序员如何过中秋 | 如何画月饼
  7. 太阁V DX 特殊结局 历史创造者
  8. CSS3 总结(十五)——滑动门技术
  9. uni-app 自定义导航栏
  10. 运维基础(7)Ansible Tower