网站首页 > 教程文章 正文
大部分PLC都会内置很多基本的函数和功能块供编程人员调用,而且很多具有通用性,也就是在不同品牌的PLC中,这些函数和功能块的名称、用法和功能相同,记住这些函数和功能块的名称和使用方法,能让我们编程时更加便捷。下面以三菱PLC的编辑软件GX Works3为例,展示这些函数、功能块的使用方法。
边缘检测与计时器
1, R_TRIG/F_TRIG(上升/下降沿检测功能块)
上升沿和下降沿应该是所有程序里最常用的FB(功能块)之一了,他的功能是检测一个bool变量变化的边缘,输出一个扫描周期,下面通过一个例子介绍一下我常用的命名方法和编程格式:检测开始按钮X1的上升沿, 置位Y0,检测停止按钮X2的下降沿,复位Y0。
第一步声明标签, 我个人习惯将上升沿加前缀“rt”,下降沿加“ft”:
第二步编程,FB的输入引脚赋值要在()内操作,而输出引脚可以当作变量直接使用,节省一个标签:
增加变量前缀,无论在程序的什么地方使用,都能一眼看出变量的类型,方便阅读程序。
2,TON/TOF(延时启动/关闭功能块)
延时功能块也是非常常用的FB,除了起到延时的作用,还可以用来过滤信号,起到筛选的作用,例如:使用对射光电传感器X0(阻挡时ON)检测皮带上产品缝隙,当传感器OFF时间超过100ms时报警Y0。
声明标签 :
编程:
3,TP(脉冲定时器)
脉冲定时器的功能是输出一个固定时长脉冲,典型的应用如报警灯的控制,举个例子:当变量bAlarm触发后,点亮报警灯Y0,要求每隔700ms亮一次,一次亮200ms,持续闪烁。
声明标签:
编程:
ton功能块的输入设置为自身输出的非,作用是每隔700ms生成一个单扫描周期的脉冲,tp功能块将脉冲的时长设定为200ms,并给到指示灯。
算术运算
算数运算除了常用的"+","-","*","/"(加减乘除)还有“**”(幂运算)"<","=",">"(比较)等。还有一些常用的函数可供使用。
1,MAX,MIN(最大值,最小值函数)
选取最大值/最小值存入iMax/iMin中,三菱最多可比较28个数据。这个函数在我的《五子棋》游戏程序中有用到,选取一个棋子4个方向连棋数和分数的最大值。
2,MOD(取余数函数)
取余数是非常有用的函数,比如生成一个范围内的随机数时可以使用MOD对生成的数字进行限制;可以将一维数组存入多维数组时使用MOD进行设限,例如:将一维数组DataListA[0..99]的数据传递给二维数组DataListB[0..1,0..49]。
3,ABS(绝对值函数)
还有很多三角函数(sin,cos,tan)反三角函数,这里就不再演示了,用法差不多。
类型转换
类型转换的函数指令非常多,基本涵盖了所有数据类型之间的相互转换,格式基本相同。
下面以“幂运算”为例演示用法:
由于三菱的幂运算要求实数,所以在计算前先将整数转为实数,计算后的结果也是实数,想要存入整数变量还要再转为整数。
字符串处理
字符串的处理函数经常在TCPIP通讯中用到,尤其是工业相机的应用中,种类也是非常多:
以常用的MID截取函数为例,讲述函数用法:解析由相机发来的字符串,包含一个产品的XY坐标和旋转角度C,存入实数变量iX,iY,iC。
注意,字符串的空格也算一位。
输入源字符串,截取长度,截取位置,将获得的字符串转换为实数后赋值。
其他
在三菱的部件选择窗口中,可以找到非常多的系统功能块和函数:
没有必要记住每一个函数的使用方法和名称,当你需要实现某种功能时,直接在搜索框搜索功能名称(中文就行),就会得到符合的功能块,如果不会使用可以按F1按键查看帮助。
- 上一篇: Java 编程技巧之单元测试用例编写流程
- 下一篇: HTML大整合(上) :html
猜你喜欢
- 2024-12-27 盘点15个优秀的甘特图开源项目 甘特图开发
- 2024-12-27 vue深坑记-keep-alive 路由缓存和清除
- 2024-12-27 1-html基本知识 html基本概念
- 2024-12-27 HTML5入门 HTML5入门 标签
- 2024-12-27 (一)熟练HTML5+CSS3,每天复习一遍
- 2024-12-27 MVVM模式解析和在WPF中的实现(二)
- 2024-12-27 网页设计HTML零基础入门 html5网页设计教程
- 2024-12-27 python实现爬取豆瓣电影Top250 python爬虫豆瓣
- 2024-12-27 DOM破坏攻击学习 ddos攻击破坏了信息什么特性
- 2024-12-27 手把手教你Vue解析pdf(base64)转图片【实践】
- 06-18CentOS7安装Mongodb 4.x.x(centos7安装openstack)
- 06-18Window环境配置Mongodb(mongodb默认配置文件路径)
- 06-18FineReport如何连接和使用MongoDB数据库
- 06-18nosql之mongodb(nosql怎么读正确发音)
- 06-18Mongodb centos7安装(mongodb4.4.2安装教程)
- 06-18群晖(Synology)NAS 安装 MongoDB(群晖安装nat123)
- 06-18MongoDB 安装及实践(mongodb的安装过程和操作命令)
- 06-18MongoDB最全详解(万字图文总结)(mongodb lsm)
- 最近发表
-
- CentOS7安装Mongodb 4.x.x(centos7安装openstack)
- Window环境配置Mongodb(mongodb默认配置文件路径)
- FineReport如何连接和使用MongoDB数据库
- nosql之mongodb(nosql怎么读正确发音)
- Mongodb centos7安装(mongodb4.4.2安装教程)
- 群晖(Synology)NAS 安装 MongoDB(群晖安装nat123)
- MongoDB 安装及实践(mongodb的安装过程和操作命令)
- MongoDB最全详解(万字图文总结)(mongodb lsm)
- CentOS安装MongoDB教程(centos安装mpich)
- MongoDB入门指南:下载、安装和配置一款强大的NoSQL数据库
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)