西门子S7-1200(博途)学习四

一、FC函数

在这里插入图片描述
在这里插入图片描述


注意:如果FC函数需要重复调用时就不能直接使用全局DB,M寄存器之类的数据,只能使用外部针脚填入的实参。
创建FC函数,选择使用的语言和名称。
在这里插入图片描述


创建调用该函数所需要用到的形参(名称,数据类型,默认值等)和基本起跑停梯形图。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


从左侧拖拽出刚创建的FC函数并填入所对应数据类型的实参
在这里插入图片描述


开启仿真,接通 启动(M3.0),FC函数快中的梯形图就会进入自锁状态,保持接通 运行(M3.2) 常开触点后接通 M4.0线圈
在这里插入图片描述


在接通 M3.1(停止) 后中断自锁电路,运行(M3.2) 断开。
在这里插入图片描述

二、FB函数块

创建FB函数块,选择使用的语言和名称。
在这里插入图片描述


向刚创建的FB函数块中拖入一个定时器。
在这里插入图片描述


不同实例模式之间的区别:
1、单个实例
在这里插入图片描述
2、多重实例
在这里插入图片描述
3、参数实例
在这里插入图片描述


这里使用多重实例演示
在这里插入图片描述


创建后,在Static(静态) 一栏下面创建了PT生成脉冲定时器所需要的形参。
在这里插入图片描述


编写出简易的梯形图并创建好所对应的形参。
在这里插入图片描述


将左侧FB函数块拖入主程序Main中并创建一个数据DB。
在这里插入图片描述


创建两个T0_FB函数块定时器并分开启动。

在这里插入图片描述


注意:在FB函数块中创建定时器使用单个实例的话,主程序若是重复调用该FB函数块就会导致所有使用单个实例的定时器同时启动。
在这里插入图片描述

三、DB数据块

注意:在 “添加新块” 处添加的DB数据块为全局DB数据块,计数器、定时器等创建时关联的是背景DB数据块。
在这里插入图片描述


创建起、跑、停所需要的变量,数据类型设置为布尔(Bool),起始值都设为False。
在这里插入图片描述


如果不勾选此处“优化的块访问”,那么勾选保持就会所有数据都进行保持,想要单个/某些数据进行保持的话必须勾选该选项。

在这里插入图片描述

四、数组的创建、读取、写入


1、数组的创建

在创建好的DB数据块中点击 新增 输入数组名。
在这里插入图片描述


数据类型 一栏选择 Array[0…1] of
在这里插入图片描述


选择好数组后,点击下图箭头处选择数组的数据类型。
在这里插入图片描述


这里使用 USInt(无符号短整型) 数组举例。
在这里插入图片描述


单击下图箭头处可以更改数组的数据类型,长度。
在这里插入图片描述


2、数组中单个元素写入

通过MOVE移动指令传递数值

在这里插入图片描述
在这里插入图片描述


DB数据块中写好的数组
在这里插入图片描述


IN处填入需要写入的数值,OUT处填写需要被写入的元素。上图是将常数 99 写入 DB1数据块中的 采集保存数组中的第四位
在这里插入图片描述

3、数组中多个元素合并写入

在右侧的 基本指令 -> 移动操作 -> 原有 -> FieldWrite
在这里插入图片描述
在这里插入图片描述


MEMBER为读取值的起始位,INDEX为需要读取的位的个数,VALUE为保存读出数据的元素。
注意: MEMBER 和 VALUE 的数据类型要保持一致。

在这里插入图片描述


接通后从 采集器[0] 开始的 2 位( 采集器[0],采集器[1] )之和传递给了 采集保存[2] 中。
在这里插入图片描述

4、移动块

在这里插入图片描述


从 采集器[0] 开始 一共 4 个位,移动到 采集保存[0] 开始往后 4 个位中。
在这里插入图片描述


执行后:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值