欧姆龙PLC的功能块勇哥暂时理解为是一种拥有输入输出参数的自定义的指令。它的好处是实现功能复用,从梯形图上看来很简洁,可以减少plc内存消耗。

如果仅仅是实现功能的利用,显然功能块无法和子程序区分开来,功能块拥有自己特殊的定义与调用方式。

功能块有两种方法,一是梯形图形式,二是ST文本形式(结构文本),两者区别只是编码方式不同。

(一) 梯形图形式的功能块

首先创建一个梯形图功能块

然后进入功能块的参数与梯形图编辑界面

参数区有:内部、输入、输出、输入输出、外部,共5个标签项。

下面的示例块用到了输入与输出,其它3个标签是干嘛用的勇哥暂时还不清楚,以后再补充。

输入标签要自己建立变量,指定数据类型,因为yButton等三个变量我准备输入继电器点,所以其类型为BOOL型。

EN是输入标签里面自带的一个变量,可以叫做系统变量吧,它是不可删除的,这个变量按名称就可以猜出来是让功能有效或者无效的作用。

输出标签里也有个系统变量,ENO,它是表示这个功能块运行成功或者失败的标志,默认置1。

最下面是梯形图编辑区,在这里面你不可以LD 0.01这样写,也就是不可以用到实际的输入输出IO点,你可以使用的是上面定义的输入输出的变量。

(二)功能块的使用方式

通过CX的插入菜单->功能块调用。

如下图的“功能块1”,只有两个系统变量EN/ENO需要用结点连接到左右母线上去,其它的输入输出点都不需要连线。

在其它的输入输出点上按“P”键,选择“FB参数”,输入该点需要的参数。

如果你把输入输出点都画线连接左右母线,会报“错误:功能块输入参数 在条 0 (4, 2) @4,2缺失.”这样的错误。

就像勇哥开篇写的那样,功能块就像是一个有多少输入输出点的自定义的指令。让人感觉很像西门子plc程序中的那些模块。

(三)子程序

在下面的例子中,子程序fun2中使用了1.09,在主程序中也使用了1.09,如果子程序不被执行,则我们按下1.09则子程序里面的指令即使导通也是没有效果的。

即如果子程序没被导通调用的话,其内部的指令不被执行。

子程序指令包括:

SBN    定义子程序

RET     子程序结束

SBS     调用子程序

另外还有3条指令:GSBN,GRET,GSBS为全局子程序调用。

这三条指令是和中断调用配合的,勇哥还不知道怎么用,以后再补全。

欧姆龙plc的子程序,基本上相当于高级语言的无参数调用。

如果要有参数调用子程序,可以上面讲的功能块指令。

另外一点是,子程序也是支持嵌套的。

主程序

子程序fun1

子程序fun2

---------------------

作者:hackpig

来源:www.skcircle.com

版权声明:本文为博主原创文章,转载请附上博文链接!

其它相关文章:

#转载请注明出处 www.skcircle.com 《少有人走的路》勇哥的工业自动化技术网站。如果需要本贴图片源码等资源,请向勇哥索取。

欧姆龙cp1h指令讲解_欧姆龙cp1h常用指令学习(六)功能块、子程序相关推荐

  1. 欧姆龙rxd指令讲解_欧姆龙指令表

    编程指令 顺序输入指令 顺序输出指令 顺序输出指令 定时器和计数器指令 比较指令 数据传送指令 指令助记符 装载LD 装载非LD NOT 与AND 与非AND NOT搜索 或OR 或非OR NOT 与 ...

  2. 详细讲解systemctl(附常用指令)

    目录 •写在前面 •systemd和systemctl •systemd的配置文件目录 •主要服务功能类型 •服务状态 •常用指令 切换系统模式(文本.界面模式等) •systemctl配置文件的设置 ...

  3. 三菱plc pwm指令_三菱PLC常用指令汇总,速存!

    三菱PLC FX系列的基本逻辑指令: 取指令与输出指令(LD/LDI/LDP/LDF/OUT) (1)LD(取指令) 一个常开触点与左母线连接的指令,每一个以常开触点开始的逻辑行都用此指令; (2)L ...

  4. mc服务器常用指令_MC玩家必看常用指令大全

    /register 密码 #注册账号 /login 密码 #登陆账号 /money #查看金钱 /sethome #设置自己的家 /home #回到自己设置的家 /spawn #传送到出生点(主城) ...

  5. matlab各个指令的含义,matlab的常用指令及其含义

    . . . . . . . . matlab的常用指令及其含义 最佳答案matlab常用命令速查 sizeabs 绝对值.模.字符的ASCII码值acos 反余弦 acosh 反双曲余弦 acot 反 ...

  6. mongodb查询不带表名_原创 | MongoDB常用指令

    库的操作 1. 查看数据库列表 show dbs: 2. 查看当前数据库 db 3. 新建一个表 db.createCollection('要新建的表名') // 返回结果// {"ok&q ...

  7. linux查看进程运行日志文件,【Linux】常用指令、ps查看进程、kill杀进程、启动停止tomcat命令、查看日志、查看端口、find查找文件...

    1.说出 10 个 linux 常用的指令 1) ls 查看目录中的文件 2)cd /home 进入 '/ home' 目录:cd .. 返回上一级目录:cd ../.. 返回上两级目录 3)mkdi ...

  8. linux常用定时任务,Linux常用指令---定时任务

    linux定时任务 crontab命令选项基本只有对用户操作选项: -u 指定用户 -l 列出某用户任务计划 -r 删除某用户任务 -e 编辑某用户任务 查看某一用户的定时任务crontab -u r ...

  9. MIPS指令集的常用指令分类和相关解释

    MIPS指令集的常用指令分类和相关解释 MIPS 一些基本概念 MIPS指令集的六种指令格式 R型指令: I型计算类指令 I型取数类指令: I型条件判断类指令: J型指令: MIPS指令集的常用指令 ...

  10. 欧姆龙nj与nx哪个高端_欧姆龙NJ/NX/Sysmac Studio实用经典教程 欧姆龙NJ视频教程

    欧姆龙NJ/NX/Sysmac Studio实用经典教学. 由店主一对一手把手教学,包学会.本课程都是店主结合多年的自身工程经验来教学的,NJ入门与提高课程浅显易懂,实用性强,避免大家走弯路.可提供一 ...

最新文章

  1. 代码审查就是在排大便——你懂的!
  2. flutter能开发游戏吗_游戏开发者都擅长“打自己的游戏”吗?
  3. java 通信层_Android native进程间通信实例-binder篇之——HAL层访问JAVA层的服务
  4. vuex 基本入门和使用(一)
  5. 数学--图论--莫比乌斯线性筛模板
  6. 原型即对象(以及认识这点的重要性)
  7. sqoop从mysql导入hive字符集的问题乱码问题
  8. getshell工具下载批量ecshop4.0全版本通杀工具下载
  9. 9*6工作制度真的不适合我们
  10. vs code 安装 IIS Express
  11. 天涯明月刀服务器位置都在哪里,天涯明月刀手游好友服务器怎么查看 怎么看好友在哪个区?[多图]...
  12. php实现商城评论,谁能写一个thinkphp 商城购物评论回复能例子?
  13. mysql 登录 无密码_重置mysql的密码/无密码登录mysql
  14. C语言 switch 条件语句
  15. 怎么给图片加滤镜?这三个实用方法教会你
  16. 在Ubuntu 20.04 拆分pdf文档
  17. python中如何清空_python中如何清空数组(列表)元素
  18. IIS6.0功能及应用详解
  19. 感悟·随笔·自弹自唱
  20. 申宝股票-市场全天弱势洗盘

热门文章

  1. 计算机组成原理(LogisimVerilog部分)-笔记
  2. WIN10配置JAVA环境变量
  3. 软件功能测试用例表,功能测试用例模板.xls
  4. 微信公众号内嵌H5网页授权步骤
  5. WeTest质量云平台,618盛惠活动开启
  6. 《企业IT架构转型之道-阿里巴巴中台战略思想与架构实战》笔记
  7. 基于大数据的智慧旅游数据分析系统
  8. (附源码)springboot高校科研管理系统 毕业设计 222055
  9. 怎么将图片旋转一定角度?
  10. SQL 当前时间加/减一天/时/分/秒