0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SCL--IF小练

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2020-08-10 09:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

IF:条件执行

使用“条件执行”指令,可以根据条件控制程序流的分支。该条件是结果为布尔值(TRUE 或 FALSE)的表达式。可以将逻辑表达式或比较表达式作为条件。

执行该指令时,将对指定的表达式进行运算。如果表达式的值为 TRUE,则表示满足该条件;如果其值为 FALSE,则表示不满足该条件。

语法

• IF 分支:

IF <条件> THEN <指令>

END_IF;

如果满足该条件,则将执行 THEN 后编写的指令。如果不满足该条件,则程序将从 END_IF 后的下一条指令开始继续执行。

• IF 和 ELSE 分支:

IF <条件> THEN <指令 1="">

ELSE <指令 0="">;

END_IF;

如果满足该条件,则将执行 THEN 后编写的指令。如果不满足该条件,则将执行 ELSE 后编写的指令。程序将从 END_IF 后的下一条指令开始继续执行。

<条件> BOOL I、Q、M、D、L 待求值的表达式

<指令> -在满足条件时,要执行的指令。如果不满足条件,则执行 ELSE 后编写的指令。如果不满足程序循环内的任何条件,则执行这些指令。

以下例子说明了该指令的工作原理

IF "Tag_1" = 1

THEN "Tag_Value" := 10;

ELSIF "Tag_2" = 1

THEN "Tag_Value" := 20;

ELSIF "Tag_3" = 1

THEN "Tag_Value" := 30;

ELSE "Tag_Value" := 0;

END_IF;

练习:

建立FC150 SCL 联系程序.

实现一个功能按一下按钮,有输出再按一次输出关闭

没按时状态

按时状态

抬起状态

再次按钮时的状态

再次抬起后的状态

FUNCTION FC150 : INT 程序名FC150 / 输出反馈的属性INT

VAR_INPUT 输入变量

a: BOOL; BOOL变量a

END_VAR 输入变量区结束

VAR_outPUT 输出变量

b: BOOL; BOOL变量b

END_VAR 输出变量区结束

VAR_TEMP 临时变量

END_VAR 临时变量区结束

------------程序---------------

IF a = false AND M1.3=true THEN 中间标识位

M1.3:=false;

END_IF;

IF a = true AND b=false AND M1.3=false THEN 第一次按”按钮”

b:=true; 激活输出B

END_IF;

IF a = false AND b=true THEN 中间标识位

M1.2:=true;

END_IF;

IF a = true AND b=true AND M1.2=true THEN 第二次按”按钮”

M1.2:=false;

b:=false; 关闭输出B

M1.3:=true;

END_IF;

FC150:= 100; FC反馈值

END_FUNCTION

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 变量
    +关注

    关注

    0

    文章

    615

    浏览量

    29366
  • SCL
    SCL
    +关注

    关注

    1

    文章

    244

    浏览量

    17931
  • 控制程序
    +关注

    关注

    1

    文章

    52

    浏览量

    9471

原文标题:SCL--IF小练

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    I2C死锁的问题

    在实际使用过程中,I2C比较容易出现的一个问题就是死锁 ,死锁在I2C中主要表现为:I2C死锁时表现为SCL为高,SDA一直为低。 在I2C主设备进行读写操作的过程中,主设备在开始信号后控制SCL
    发表于 12-04 06:00

    北京大学彭矛院士团队在高性能压力传感领域取得重要进展!突破性能瓶颈!

    的设计思路,这极大制约了其在需要精确力反馈与动态控制的复杂场景中的应用。   针对这一挑战,北京大学电子学院胡又凡-彭矛团队提出了一种全新的“接触主导的局域电位移场增强”设计策略。该策略通过巧妙地设计传感器
    的头像 发表于 09-28 10:52 1063次阅读
    北京大学彭<b class='flag-5'>练</b>矛院士团队在高性能压力传感领域取得重要进展!突破性能瓶颈!

    模拟I2C通信失败,出现SCL、SDA line low错误怎么解决?

    使用模拟I2C读写电量芯片时出现SCL SDA Line low err.7位从设备地址确定没有设置错
    发表于 09-26 07:58

    为什么当微控制器(MCU)用作I2C从机时,I2C_SCL连续接收数据时会出现时钟拉伸?

    为什么当微控制器(MCU)用作I2C从机时,I2C_SCL连续接收数据时会出现时钟拉伸?
    发表于 08-26 08:05

    为什么当微控制器 (MCU) 用作 I2C 从机时,I2C_SCL在接收连续数据时会出现时钟拉伸?

    为什么当微控制器 (MCU) 用作 I2C 从机时,I2C_SCL在接收连续数据时会出现时钟拉伸
    发表于 08-21 06:32

    人工智能学习17问:从入门到避坑,新手最关心的问题全在这

    问:学人工智能,光看书就行?答:不行。AI是“练出来”的,不是“看出来”的。书能教理论,但写代码、调模型、解决实际问题的能力,必须靠动手。利用学习平台把书本知识拆解成可操作的步骤,跟着3次,比看
    的头像 发表于 07-30 14:18 469次阅读
    人工智能学习17问:从入门到避坑,新手最关心的问题全在这

    用IIC接口的IIC_SCL和IIC_SDA引脚做普通GPIO,程序启动不起来怎么解决?

    想用IIC接口的IIC_SCL和IIC_SDA引脚做普通GPIO,两个引脚对应的是GPIO58和GPIO59,更改代码将设置为普通GPIO引脚模式后,程序启动不起来。问:这种情况如何解决,官方支持这种应用吗?
    发表于 05-06 08:59

    求助,关于RT700 I2C SCL频率设置的几个问题求解

    我在以传统 I2C 模式(Fm 、1MHz)运行的 I3C 总线上运行单个器件、并且我们遇到了 I2C 时序故障(参见附件)。我在 RT700 参考手册中看到有几个设置可以调整 I2C SCL 频率
    发表于 04-03 08:06

    在tpl0102的使用过程中,如果SCL,SDA,没有接上拉电阻,直接连接到了P1.6 P1.7上,会造成什么后果?

    请问在tpl0102的使用过程中,如果SCL,SDA,没有接上拉电阻,直接连接到了P1.6P1.7上,会造成什么后果,会使单片机无法控制那块芯片吗?因为已经制成pcb,请问出了再影接上拉电阻,有没有通过程序来修改这个后果的方法。谢谢!
    发表于 02-10 06:14

    使用SCL编写FIFO功能块

    找到相关的指令。    其实要实现这个功能可直接使用SCL的编程方法编写一个这样的功能块就可以了,(在文章的结尾会为大家提供参考示例程序和SCL相关的学习资料,供有需要的朋友下载学习)。 二、FIFO功能的条件分析  1)设置一个堆栈的缓存区,大小可自由指定,如指定大小为
    的头像 发表于 02-09 10:27 1139次阅读
    使用<b class='flag-5'>SCL</b>编写FIFO功能块

    碳纳米管技术革新,彭矛院士团队取得里程碑式新成果

    和2)来表示数据。这样就能够在同样的空间内处理更多的信息,提升计算速度和效率。北京大学彭矛院士团队提出了一种基于碳纳米管(CNT)晶体管的三值逻辑电路,这种电路不仅可以在低电压下稳定工作,还能在神经网络应用中提供
    的头像 发表于 02-07 11:10 944次阅读

    ADS1110的使用例程

    ) //开始{TRISD0=0;TRISD1=0;SDA=1;asm("nop");SCL=1;asm("nop");asm
    发表于 01-21 06:06

    ADS1115与MSP430的使用案例

    ;while(i--);_NOP();}void start(){S_SDA;//数据线拉高wait();S_SCL;//时钟为高wait();C_SDA;//数据线拉低,表起始信号wait
    发表于 01-21 06:04

    ADS1115接线是只需要接SCL与SDA吗?ADDR与ALERT/RDY需要接线吗?

    ADS1115接线是只需要接SCL与SDA吗?ADDR与ALERT/RDY需要接线吗? 差分输入与单输入有什么区别,怎样配置两种模式?
    发表于 12-31 06:27

    INA226利用串口助手把读取的数据显示,但是输出的结果不对,为什么?

    SCL = P1^1; void delay_ms(uint n) { uchar i; while(n--) { for(i=0;i<100;i++); } } void
    发表于 12-27 06:00