直播课堂
HOME
直播课堂
正文内容
plc编程tp ST语言编程中常用的函数功能块
发布时间 : 2025-03-19
作者 : 小编
访问数量 : 23
扫码分享至微信

ST语言编程中常用的函数功能块

大部分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。

MID函数

注意,字符串的空格也算一位。

输入源字符串,截取长度,截取位置,将获得的字符串转换为实数后赋值。

其他

在三菱的部件选择窗口中,可以找到非常多的系统功能块和函数:

部件选择

没有必要记住每一个函数的使用方法和名称,当你需要实现某种功能时,直接在搜索框搜索功能名称(中文就行),就会得到符合的功能块,如果不会使用可以按F1按键查看帮助。

帮助文档

S7-1200 定时器SCL指令的使用介绍

S7-1200的定时器为IEC定时器,用户程序中可以使用的定时器数量仅仅受CPU的存储器容量限制。

使用定时器需要使用定时器相关的背景数据块或者数据类型为IEC_TIMER(或TP_TIME、TON_TIME、TOF_TIME、TONR_TIME)的DB块变量,不同的上述变量代表着不同的定时器。

:S7-1200的IEC定时器没有定时器号(即没有T0、T37这种带定时器号的定时器)。

S7-1200包含四种定时器:

生成脉冲定时器(TP)接通延时定时器(TON)关断延时定时器(TOF)时间累加器(TONR)

此外还包含复位定时器(RT)和加载持续时间(PT)这两个指令。

指令位置参见图1,定时器引脚参考表1,定时器使用及时序图参考表2。 这四种定时器又都有功能框和线圈型两种,区别参见常见问题3。

图1 指令位置

表1定时器引脚汇总

S7-1200 定时器创建

S7-1200定时器创建有以下几种方法:

1. 功能框指令直接拖入块中,自动生成定时器的背景数据块,该块位于“系统块>程序资源”中,参见图2。

图2 自动生成定时器的背景数据块

2. 功能框指令直接拖入FB块中,生成多重背景,参见图3。

图3 多重背景

3. 功能框指令直接拖入FB、FC块中,生成参数实例,从TIA博途V14开始,参见图4。

图4 参数实例

4. 在DB块、FB的静态变量、FC和FB的INOUT变量中新建IEC_TIMER、TP_TIME、TON_TIME、TOF_TIME、TONR_TIME(后面四个从TIA博途V11开始)类型变量,在程序中将功能框定时器指令拖入块中时,在弹出的“调用选项”页面点击“取消”按钮,之后将该建好的变量填入指定位置。对于线圈型指令,这是首选方法。

这里主要以DB块的方式来讲解定时器的SCL指令的使用:

新建DB块,

图5 DB块

5、在SCL中调用定时器

在上图中数据块1的time1没有指定定时器类型,调用时要指定定时器类型,如下图所示:

对应输入IN、PT和Q的变量,本例时当I0.0为1后,延时10s后,Q0.0输出。仿真如下:

通过FB来调用定时器的编程方法:

OB1中程序:

相关问答

西门子触摸屏TP900编程软件是博图v13,我要在触摸屏做个按钮传给plc,要?

触摸屏掉电不会影响PLC的工作状态。你将按钮设置成开关读与写都同一个就行。触摸屏掉电不会影响PLC的工作状态。你将按钮设置成开关读与写都同一个就行。

tplink无线路由器连接plc的方法?

你的plc若已处于车间工业以太网内了,就不用网线plc连接路由器了。若无,要用一根网线插在plc的网卡PN口上而另一端插在路由器任意一个LAN端口上。3、打开笔记...

我想咨询个问题,西门子触摸屏TP177A与西门子PLC之间的通讯电缆是PPI电缆吗?

子PPI电缆使用的是RS485,而PC机的COM口采用的是RS232,两者的电气规范并不相容,需要用中间电路进行匹配。PC/PPI其实就是一根RS485/RS232的匹配电缆。而US...

西门子TP27710寸触摸屏和S7-200PLC通信,怎么样做离散量报...

2条回答:【推荐答案】1、在Winccflexible中建立报警变量,然后指定位(Winccflexible2007或以上版本在数字量报警中可以指定位。2、在工业控制领域,数值的形态以模...

怎么样将pLc西门子编程软件下载到电脑中进行编程?-ZOL问答

下载,安装,编程,下载有用(0)回复zgcwangjllMCGS是不能和仿真软件连接的有...PLCSIM可以和MCGS仿真,前提是还需要一个NETTOPLCSIM的软件,NETTOP...

TP编程软件里“配方上载”和“配方下载”是什么意思?

配方上载就是批量的从PLC读取多个数据到触摸屏。配方下载就是批量写数据到PLC了,配方数据也是可以在屏上编辑的。配方上载就是批量的从PLC读取多个数据到触...

如何在TP1200上修改PLC的系统时钟?

需要在PLC里做一段程序,在触摸屏上做个输入时间的输入框个一个设定按钮,按钮按下时PLC读取触摸屏输入的时间值修改PLC系统时间。需要在PLC里做一段程序,在触...

plc跟触摸屏以太网通讯是什么协议?

plc跟触摸屏以太网通讯是S7Comm协议。S7Comm协议借助WireShark抓包,基于OSI模型以太网结构,其中,第1~4层会由计算机自己完成(底层驱动程序);关于这些神...

三菱触摸屏怎样用CC-link与PLC联接-ZOL问答

GOT和PLC上都需要对应的通讯模块,三菱GOT上面的CC-LINK有调整地址的开关,是通过硬件调整。在编程软件里面,也需要编写对应程序和做相应的设置。三菱的FX系列...

plc通电延时指令?

PLC(可编程逻辑控制器)通电延时指令是一种用于控制器在通电后延时执行特定操作的指令。它通常用于控制系统的启动过程中,以确保系统的稳定运行或执行特定的初...

 婚姻关系存续期间  东方汇理银行 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部