plc程序结构及其特点介绍
介绍以下常见的plc程序结构及其特点:
1.国外一些小型可编程控制器程序结构
这些可编程逻辑控制器的用户程序由主程序、子程序和中断程序组成。在每个扫描周期中,CPU调用主程序一次。主程序可以调用子程序,小控制系统只能有主程序。中断程序用于快速响应中断事件。在中断事件中
当这种情况发生时,中央处理器将停止执行当时正在处理的程序或任务,并执行用户编写的中断程序。执行中断程序后,继续执行暂停的程序或任务。它们的子程序和中断程序没有局部变量,子程序没有输入输出参数。
2.西门子S7-200的程序结构
处理图像输入/输出(I/Q)、可变内存V、内存位M、定时器T、计数器C等。属于全局变量。S7-200程序组织单元(POU)包括主程序、子程序和中断程序。每个POU都有一个。
它自己的64字节局部变量,只能在其POU中使用。相反,全局变量可以用于每个POU。
以下是子程序可以使用的局部变量:
1)TEMP(临时变量)是临时存储在本地数据区的变量。只有当执行POU时,才能使用定义的临时变量。执行POU之后,临时变量的值将不会被保存。
2)输入是由调用它的POU提供的输入参数。
3)OUT是返回给调用它的POU的输出参数(子程序的执行结果)。
4)IN_OUT是一个input _ output参数,其初始值由调用它的POU传递给子程序,子程序的执行结果以相同的变量返回给调用它的POU。
主程序和中断程序的局部变量中只存在临时变量temp。
带有输入、输出参数和局部变量的子程序易于实现结构化编程,对于长期生产类似设备或生产线的厂家尤其有用。这些制造商的程序员为设备的每个部件或过程功能编写了大量的通用子程序。即使你不知道子程序
只要知道子程序的功能和输入输出参数的含义,就可以通过程序之间的调用,快速“组装”出满足不同用户需求的控制程序。就像用数字集成电路芯片组成复杂的数字电路。
如果一个子程序没有输入输出参数,与调用它的程序之间没有明确的接口,就很难实现结构化编程。
如果一个子程序中没有局部变量,只能通过全局变量在它和调用它的程序之间交换数据,子程序内部只能使用全局变量。将子程序和中断程序移植到其他项目时,需要重新排列它们使用的全局变量,以确保不会有地址冲突。当程序非常复杂,有很多子程序和中断程序时,重新分配地址的工作量非常大。
如果子程序和中断程序都有局部变量,并且内部只使用局部变量,不使用全局变量,因为与其他pou没有地址冲突,那么子程序可以移植到其他项目中,而不需要做任何更改。
3.西门子S7-300/400的程序结构
S7-300/400将子程序分为功能和功能块。
S7-300/400的功能与S7-200基本相同。它们都有输入、输出参数和临时变量,函数局部数据中的返回值实际上属于输出参数。他们没有专门的存储区。函数完成后,临时变量中的数据将不被保存。全局变量可以用来保存函数完成后需要保存的数据,但是会影响函数的可移植性。功能块是由用户用其自己的专用存储区(即后台数据块)编写的程序块。功能块的输入和输出参数以及静态变量存储在指定的背景数据中。
全局变量可以用来保存函数执行后需要保存的数据,但是会影响函数的可移植性。
功能块是用户用自己的专用存储区(即后台数据块)编写的程序块。功能块的输入输出参数和静态变量存储在指定的后台数据块中,临时变量存储在本地数据栈中。每次调用功能块时,都应该指定一个后台数据块。执行功能块后,后台数据块中的数据不会丢失,但本地数据栈中的数据不会保存。
功能块采用类似C++的封装概念,将程序和数据封装在一起,移植性好。
S7-300/400的共享数据块可由所有逻辑块使用。
4.IEC 61131-3的程序结构
IEC61131-3是可编程逻辑控制器的编程语言标准。IEC61131-3是世界上第一个也是唯一一个工业控制领域的编程语言标准。IEC61131-3有三种POU:程序、功能块和函数。
函数是具有多个输入参数和一个输出参数(返回值)的POU函数。返回值的名称与函数的名称相同,需要定义返回值的数据类型。调用具有相同输入值的函数总是返回相同的结果。函数可以调用其他函数,但不能调用功能块或程序。具有可定义函数的局部变量是var和VAR_INPUT。
功能块是具有多个输入/输出参数和内部存储单元的POU,功能块的输出参数值与其内部存储单元的值相关。功能块可以调用其他功能块或函数,但不能调用程序。在调用功能块之前,您必须在要调用该功能块的POU中为每个调用声明一个功能块实例,并且操作系统将为每个调用分配一个专用于该功能块的存储区域。
(以上看不明白的童鞋可以看一套plc视频教程详细学习一下,其实并不难)
plc程序结构及其特点介绍相关推荐
- 三菱PLC CCD控制ST程序 本PLC程序中CCD控制用的ST结构化语言,程序都有注释
三菱PLC CCD控制ST程序 本PLC程序中CCD控制用的ST结构化语言,程序都有注释.注释全面,用的三菱fx3u系列plc,可借鉴,本程序已经设备实际批量应用.稳定生产.成熟可靠,借鉴价值高,是三 ...
- Mitsubishi/三菱Q系列PLC ,QD77MS16走总线控制伺服项目,实际应用的,程序结构清晰明了
Mitsubishi/三菱Q系列PLC ,QD77MS16走总线控制伺服项目,实际应用的,程序结构清晰明了,通俗易懂,8个伺服,PLC程序有完整的注释,有伺服设定参数,三菱触摸屏程序,电气BOM ,电 ...
- 三菱Q系列PLC ,QD77MS16走总线控制伺服项目,实际应用的 程序结构清晰明了,通俗易懂,8个伺服,PLC程序有完整的注释
三菱Q系列PLC ,QD77MS16走总线控制伺服项目,实际应用的 程序结构清晰明了,通俗易懂,8个伺服,PLC程序有完整的注释,有伺服设定参数,三菱触摸屏程序,电气BOM ,电气I/O表,完整的电气 ...
- Array王锐大神力作:osg与PhysX结合系列内容——第1节 PhysX核心功能及基本程序结构介绍
[Array王锐大神力作]osg与PhysX结合系列内容--PhysX核心功能及基本程序结构介绍 本节内容 下载和编译PhysX PhysX的核心功能 PhysX的基本程序结构 PhysX与OSG结合 ...
- 三菱R系列PLC程序 全部采用ST语言编写,内部使用函数块和结构体,程序思路清晰
三菱R系列PLC程序 全部采用ST语言编写,内部使用函数块和结构体,程序思路清晰,简洁明了. 通过结构体和函数块的使用,可以使您在程序编写水平得到很大提高. ST语言是PLC后续的主流语言,是日后编程 ...
- 西门子1200 1500 完整大型PLC程序 3台西门子触 摸屏 程序块无密码 结构清晰 程序带中文注解 共1多台发那科机器人
西门子1200 1500 完整大型PLC程序 3台西门子触 摸屏 程序块无密码 结构清晰 程序带中文注解 共1多台发那科机器人 三个SEW变频器控制的4面转台 130多个气缸 1200 1500 间使 ...
- 三菱PLC FX5u结构化4轴伺服1个机器人程序
三菱PLC FX5u结构化4轴伺服1个机器人程序 包括FX5u程序,维纶通触摸屏程序,IO表,元件BOM,eplan和PDF电气图,整机机构图,真实项目程序 ID:496632264480424精品工 ...
- 西门子PLC博途3种自动流程程序写法 本案例介绍3种不同的方法去写自动流程程序
西门子PLC博途3种自动流程程序写法 本案例介绍3种不同的方法去写自动流程程序. 第一种是用scl case语录,另外的两种使用梯形图的模式去写. 使用此类方法去写,清晰明了,非常使用. 并且针对程序 ...
- 三菱Q系列PLC ,QD77MS16走总线控制伺服项目,实际 应用的, 程序结构清晰明了,通俗易懂,8个伺服,PLC程序有完整的注释
三菱Q系列PLC ,QD77MS16走总线控制伺服项目,实际 应用的, 程序结构清晰明了,通俗易懂,8个伺服,PLC程序有完整的注释,有伺服设定参数,三菱触摸屏程序,电气BOM ,电气I/O表,完整的 ...
最新文章
- 图像色彩空间与应用转换
- 【 C 】简化双链表插入函数(对在双链表中插入一个新值的简明程序的简化)
- Egret学习笔记 (Egret打飞机-3.实现背景循环滚动)
- 常用服务的默认端口号
- 什么是ActiveX插件
- 数据库系统概念总结:第一章 引言
- Word2Vec学习笔记(三)
- VBS操作注册表设置新建读取,删除等操作(更新中)
- 给blog 增加文件下载统计
- 20200602每日一句
- java wifi 对讲机_freevoice(局域网对讲机)——Android4项目实战视频教程 - 移动编程 - 私塾在线 - 只做精品视频课程服务...
- Java游戏编程不完全详解-2(1万2千字吐血推荐)
- fftshift使用
- linux是手机端还是电脑端,pc端是什么意思(pc端和移动端有什么区别)
- SLAM之PTAM学习笔记
- steam游戏的计算机要求,steam游戏怎么看配置是否符合,steam不要求配置的游戏
- python在遥感中的应用_Python在遥感中的应用——导言
- Vue实现图形化积木式编程(一)
- asp mysql 性能_asp优化:最大限度优化你的Asp性能
- 记录python中itertools中product()函数用法
热门文章
- 苹果4s怎么越狱_【爆料】大神把苹果手机刷入了安卓系统!
- Mac快捷键:文本,浏览器页面,终端terminal
- RabbitMQ狂神说笔记(RabbitMQ B站狂神说笔记、KuangStudy、学相伴飞哥)
- 计算机的智能计算方向,多媒体与智能计算研究方向
- 服务器正在扫描和修复驱动器,正在扫描和修复驱动器(C:):已完成100%,已经超过24小时...
- Jmeter录制脚本(二)-----使用代理录制web脚本
- signature=501807407682dd47ffe7345fc7b18d2e,Signature-Free Intrusion Detection
- 学python对数学要求吗_python 学习和数学知识 - 文章分类 - 风中小郎君 - 博客园...
- ecshop文件结构
- Servlert 下 (HttpServletRequest 类和 HttpServletResponse 类)