第6课 FB、标签的用法
06第6课 FB、标签的用法
本期内容:
标签的应用
标签数据
标签编程的好处
FB功能块的应用
FB编程的好处 |
往期内容:
三菱ST语言:第1课 ST语言的基础
三菱ST语言:第2课 定时器计数器的应用
三菱ST语言:第3课 传送指令的应用
三菱ST语言:第4课 赋值指令的应用
三菱ST语言:第5课 数据处理与算法
|
标签
标签是用来标志您的产品目标和分类或内容,像是您给您的目标确定的关键字词,便于您自己和他人查找和定位自己目标的工具
我们如果要在梯形图中使用标签的话,就要在新建工程中选择标签编程,或者简单编程更改为标签编程。当然ST 和结构体编程自己打开的。
局部标签
只能在同一个程序使用
全局标签
整个程序使用
我们打开标签设置
类代表我们的变量类型,
VAR: 可变量的意思
VAR-CONSTANT:可理解成常数标签,必须设置
VAR-RETAIN: FB程序中可使用的锁存型的标签
VAR-INPUT: FB程序的输入中使用的标签 ( 输入标签)
VAR-OUTPUT:FB程序的输入中使用的标签 ( 输出标签)
VAR-IN-OUT: 输入与输出可使用相同名称的标签 ( 输入输出标签)
标签名:就是定义这个变量的名称,除了符号数字你随便取名,实在不会取就叫王富贵
在数据类型这一栏目中有多个选项
基本数据类型:
Bit: 二进制数比如0和1 代表我们的M
Word: 16位寄存器 D
Double Word: 32位寄存器 D
FLOAT(single precision): 32位浮点数 D
FLOAT(Double precision): 64位浮点数 D
STRING[32]: 字符串
Timer: 定时器
Counter: 计数器
Retentive Timer: 相对保留时间
结构体是我们调用的标签名称
FB也同是我们调用的名称。
数组是我自我选择是否使用数组后续我会一一讲解
|
标签的使用
比如我现在做一个总电源标签
我们可以看到平常我们做启保停电路时,都是用M来表示,我们这边用标签来表示。效果都是一样的,但是我们会有一个好处就是看起总体的画面都很清楚。
如果你想寄数值的话我们一样也是可以用标签来解决。
总数:=第一个数+第二个数;
我们可以修改数值
就和我们的D一样会变换
梯形图同理
当然你也可以用它来给我们的D进行传送
总数:=第一个数+第二个数;D1:=总数;
如果你想看你的标签地址位置
我们打开工具-点击自动软元件设置可以看到PLC为我们分配好了起始位置和结束位置,如果你不想要你可重新再设置
|
FB块
在PLC编写程序过程中经常遇到一些 重复逻辑控制 的梯形图,比如流水线控制,气缸报警等等,这时候可以使用FB块来便捷编程,减少工作量与出错率
我们点击FB管理右键新建FB块
输入我入我们的数据名称
比如做一个启保停电路我们启名叫起保停
程序语言选择梯形图或ST语言
注:
FX系列PLC梯形图和ST语言不能共存
Q系列PLC梯形图和ST语言可以共存
我这边用的是QPLC语言是梯形图
这样我们就建立好了FB块
纯ST语言和梯形图FB块之间是不一样的
1、如果你调用的FB块的程序是梯形图,那么你就要设置打插针
就是输入,输出
VAR-INPUT: FB程序的输入中使用的标签 ( 输入标签)
VAR-OUTPUT:FB程序的输入中使用的标签 ( 输出标签)
这二个必须要设置不然用不了
我们设置好后编写梯形图
我们编写完后保存转换,在调用程序中调出来
方法直接选中FB块拖出来
名称可以使用默认 也可以使用自定
然后确实就行了
然后连接信号这样我们有用么他完成了
我们启动动X1 我们的Y0也输出
我们双击FB块可以看到,他对应我们的按钮
按下X2 Y0停止输出
这就是FB块的针脚程序
当然FB的目白就为了减少代码的使用,我们只要做好了一个FB块
我们就可以重复使用
同一个启保停电路我用了三次无不干涉
|
ST语言调用FB
带针脚的FB块
;启保停_1(启动:= ?BOOL? ,停止:= ?BOOL? ,输出:= ?BOOL? );
和梯形图一样填好对应的参数就行了
但是如果我们建的是ST语言的FB块,
我们就不会做针脚
比如我们做一个左右边启动亮灯的程序
OUT_T(M0 AND NOT TC0 , TC0 , k100 );先在主程序上写要计时间
然后在FB块中写上对应的时间要做什么
Y0:= TN0 > k10 AND TN0 <k30;Y1:=TN0 > k30 AND TN0 <k80;Y2:=TN0 > k80 ;
然后我们再从主程序中调用它
直接拖过来
OUT_T(M0 AND NOT TC0 , TC0 , k100 );左边灯_1();
然后启动开关,我们对应的灯动作
在ST语言中调中FB块就像我们的子程序一样
主程序就用来做开关信号
逻辑分开做成一个子程序
输出分开做成一个子程序
数据分开做成一个子程序
那里有问题就找那里
当然梯形图也可看个人习惯
|
好了今天的内容就到这里了更多内容请关注小白自动化,
点击课程学习就会出来一系列ST课程,
喜欢就点个关注吧 |
|