用普通指令编写西门子S7-1200PLC的循环程序
循环程序用来完成大量的重复的操作。西门子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的循环程序相关推荐
- 西门子1200PLC模板通讯程序,包含多种通讯Modbus-RTU(485),S7通讯
西门子1200PLC模板通讯程序,包含多种通讯Modbus-RTU(485),S7通讯,Modbus-TCP,TCP/IP等,简单明了 编号:54112654376937554tbNick_mtjdq
- 西门子水处理1200PLC程序模板 Plc程序包含功能块,功能块为SCL编写 含模拟量换算功能块
SIEMENS/西门子水处理1200PLC程序模板 (1)西门子触摸屏程序,博图V16学习程序,可仿真实验 (2)Plc程序包含功能块,功能块为SCL编写,(要有一定基础才能读懂) (3)含模拟量换算 ...
- 打印机通讯 tspl指令_西门子工控设备通讯
西门子作为最早进入中国市场的工控厂家,其市场占有率一直非常高.西门子PLC的品质非常好,其网络稳定性.开放性深受工控人员的喜爱,而且编程软件分类多,使用方便. 一.PPI通讯 PPI协议是S7-200 ...
- 西门子S7 模拟器使用教程
一.S7协议概述 S7协议是西门子S7系列PLC通信的核心协议,它是一种位于传输层之上的通信协议,其物理层/数据链路层可以是MPI总线.PROFIBUS总线或者工业以太网. S7以太网协议本身也是TC ...
- PLC实验—西门子S7 1200读取旋转编码器数据并计算电机转速
PLC实验-西门子S7 1200读取旋转编码器数据并计算电机转速 注意PTO控制步进电机实验博途软件需要V14版本,不然没有PTO功能块 软件的下载请点击下方百度网盘的链接 链接:https://pa ...
- C# 读取西门子S7系列PLC教程及源码
创建 PLC 实例,连接和断开连接 若要创建驱动程序的实例,需要使用此构造函数: public Plc(CpuType cpu, string ip, Int16 rack, Int16 slot) ...
- 西门子S7-200PLC自由口初始化
文章参考链接:https://jingyan.baidu.com/article/6525d4b17c0056ac7d2e9412.html 西门子s7-200自由口十分方便快捷,熟悉其初始化方法对与 ...
- 西门子s7协议 android,工控协议 | 西门子S7协议学习分享
原标题:工控协议 | 西门子S7协议学习分享 *本文作者:gongmo,本文属 FreeBuf 原创奖励计划,未经许可禁止转载. 0×1前言 随着网络安全的发展,工控安全也越发的走进信息安全人员的工作 ...
- 西门子水处理1200PLC程序+触摸屏程序
西门子水处理1200PLC程序+触摸屏程序,博图V16学习程序,可仿真实验 Plc程序包含功能块,功能块为SCL编写, 内含模拟量换算功能块+滤波功能块+时间换算功能块+modubus tcp通讯程序 ...
最新文章
- 开学考试学生成绩管理Java
- HDU 3926 图的同构
- 【JavaScript 学习笔记】创建对象
- 计算机存储的大小端模式解析
- 【机器学习算法-python实现】采样算法的简单实现
- vue.js 组件之间传递数据
- 删除一个目录及其子目录下的所有.svn文件
- 浅谈SQL Server数据库分页
- 【超级鼠标键盘锁】之实现思路(非驱动实现)
- 访问VirtualBox创建的CentOS虚拟主机里面的WEB服务
- java mvc上传文件进度_java相关:springMVC+ajax实现文件上传且带进度条实例
- linux libmpi.so.12,单机安装vasp5.4.4,系统SUSE 12 SP3,编译器Intel_Parallel_Studio_XE_2019_Linux...
- 数据结构与算法之一快速排序
- 不相交集java_不相交集类
- Ant运行build.xml执行服务器scp,异常解决jsch.jar
- vue学习笔记-3-双向数据绑定
- 程序猿必备的17款最佳的代码审查工具
- LAMMPS学习系列(7)
- 我的自学全栈路(从0元自学到转行IT)
- python大驼峰_匈牙利法、大小驼峰法(两种编程命名规则)
热门文章
- Unity3D之VR开发笔记@Oculus开发UNITY环境搭建
- 中国工程院院士谈红芯造假:穿上创新的“马甲”危害更大
- 玄学小记.6 ~ Berlekamp_Massey
- python字符串去重排序_python实现字符串转数字排序-女性时尚流行美容健康娱乐mv-ida网...
- 23种设计模式介绍(Python示例讲解)
- 程序员如何过中秋 | 如何画月饼
- 太阁V DX 特殊结局 历史创造者
- CSS3 总结(十五)——滑动门技术
- uni-app 自定义导航栏
- 运维基础(7)Ansible Tower