博途中用 SCL 实现 T 触发器

点击 "添加新块" 创建一个 FB 块,语言选择 SCL,块名称为 T_Trigger .

按下图的设置,将变量声明编辑器从表格视图改成文本视图

打开新建的块,编辑器界面如下图所示

在上方的变量声明编辑框中输入如下内容

SCL 复制代码
FUNCTION_BLOCK "T_Trigger"

VAR_INPUT
  in : Bool := false;
END_VAR

VAR_OUTPUT
  out : Bool;
END_VAR

VAR_IN_OUT

END_VAR

VAR
  last_input : Bool := false;
  result : Bool := false;
END_VAR

VAR_TEMP

END_VAR

VAR CONSTANT

END_VAR

在下方的逻辑编辑框中输入如下内容

SCL 复制代码
IF ((#last_input = FALSE) AND (#in = TRUE) ) THEN
    #result := NOT #result;
END_IF;

#last_input := #in;
#out := #result;

不需要手动创建 DB 块,博途会自动根据你在变量声明编辑框中输入的内容生成

然后就可以拖动到程序段中使用

输入端每产生一个上升沿,输出端的值就会翻转一次。

相关推荐
专注VB编程开发20年12 天前
Wifi智能插座,国产运动控制PLC MC508价格1万,西门子2万
plc·智能插座
控电PLC12 天前
29. 长定时电路
plc·plc基本电路编程
专注VB编程开发20年16 天前
PLC协议:Modbus.Device(NModbus4)和手动 Socket.BeginConnect (APM异步编程模型)对比
网络·网络协议·tcp/ip·plc
控电PLC17 天前
28. 计数器的扩展
plc·plc基本电路编程
专注VB编程开发20年17 天前
简易虚拟 PLC 服务器-流水线自动化,上位机程序维护升级,西门子PLC仿真
服务器·单片机·自动化·上位机·plc·流水线·工控
专注VB编程开发20年17 天前
MC508 PLC支持多线程网络通讯,多客户端连接,要注意不要同时读写(麦格米特PLC)
服务器·网络·windows·.net·plc·mc508·麦格米特
控电PLC19 天前
27. 脉冲宽度可控制电路
plc·plc基本电路编程
kyle~19 天前
PLC通信
c++·机器人·plc·通信·工业自动化
控电PLC21 天前
26. 瞬时接通、延时断开电路
plc·plc基本电路编程
Mya1535927378724 天前
BX&Mya PM864AK01 3BSE018161R1 高性能冗余CPU模块
plc·控制器模块·现货库存·价格优惠·处理器模块·pm864ak01·3bse018161r1