CFC编程入门_【10分钟学会】

本文介绍了CFC,一种图形化编程语言,其特点类似于单片机连线,强调了功能块的输入输出类型、控件如指针、运算块、选择器等的使用,以及地址运算和数据类型的概念。文中还提到了CFC与C#的区别和维修电工的选择建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是CFC: 【差不多10分钟全学会】

CFC是图形化编程,
跟单片机的连线一样,
唯一的区别:功能块右侧是输出引脚。【只能输出】
只有左侧引脚可以输入输出。【引用类型】

赋值操作用【MOVE

类型:

字符:

【  1】      bool
【  8】      byte
【16】      word
【32】      dword
【64】      Lword
8bit   x N    string
16bit x N    Wstring

值类型:
【  8】    sint    // 正数 Usint
【16】     int
【32】    dint    // 正数 Udint
【64】    Lint

浮点数:
32bit    real
64        Lreal

时间:
Time    T#12345m67s89ms
date    D#1970-1-1    【D#2106-02-06】

date_and_time    DT#1970-1-1-12:34:56

RETAIN        保持变量【断电不丢失,重启会初始化变量】
PERSISTENT    永久保持变量【靠电池保持】

控件:

 1指针:用于拖动功能块。

 2控制点:调整两个模块之间线的路径【连线】。带有控制点的连接线不再自动布线。

3输入:填变量,或实例对象的属性。 

4输出:用导线,连接到下级模块的输入。

 5运算块:就是FB功能块。【左侧:输入输出】,【右侧:只输出】

6Box :在FB原有的基础上,增加逻辑运行条件。【用bool控制EN运行】

7跳转:跟goto一样。跳转到指定的标签位置。

8标签:这个跟【跳转】配合使用,能实现循环。

9返回:同于提前结束本轮循环。

 10合成器:用于对结构体的成员变量赋值。【生成实例对象

 11选择器:用于输出结构体的成员变量。【输出实例的属性值】

 参考:

 12注释:对功能块的说明。使用快捷键 [ Ctrl ] + [ Enter ] 插入一个换行符。

 13连接标记:用于解决出现交叉线的情况。名称不区分大小写。

显示块运行顺序:右键【属性】

 

常用元件:边沿,定时器。。。

语法: 

赋值【MOVE】 

F_TRIG    下降沿  多选MUX  等于EQ  不等NE  大于GT  大于等于GE  小于LT  小于等于LE
R_TRIG    上升沿  左移SHL  右移SHR  循环左移ROL  循环右移ROR
ADD    加    SUB    减    MUL    乘    DIV    除
AND    与    OR    或    XOR    异或

SR        置位
RS        复位
BOOL_TO_???    【转换】
MOVE      赋值
MUX        多路转换
SEL        二进制转换
LIMIT    【限制值范围】

TOF    延时断开
TON    延时接通
TP     脉冲计时器

CTD    减计数【自减】
CTU    增计数【自增】
CTUD    增减器

继承  extends
赋值  :=
输出  =>
引用  REFERENCE TO
指针  POINTER TO

变量声明:
<标识符>{AT<Address>}:<数据类型>{:=<初始化>}: 
其中{}中的部分是可选择的。
bTest AT %IX10.3: INT; 

数组:
<数组名>:ARRAY [<ll1>..<ul1>,<ll2>..<ul2>,<ll3>..<ul3>] OF <基本数据类型> 
                纵            横           高

 RETAIN                    保持变量【断电不丢失,重启会初始化变量】
PERSISTENT    永久保持变量【靠电池保持】

 

指针   
 <标识符>: POINTER TO <数据类型 | 功能块 | 程序 | 方法 | 函数>; 

VAR 
 PointVar:POINTER TO INT; 
 var1:INT := 5; 
 var2:INT; 
END_VAR 

PointVar := ADR(var1);       //取对象地址
var2:= PointVar^;            //取地址对象
指针复习:

指针变量:最大值是CPU能表示的bit数【钞票的张数】
写法  *p

指针类型:光有钞票的张数还无法表示,所以需要类型,是5张十元的,还是5张百元的。
写法  type  *p;

二级指针:类似2个储物柜AB,在A柜子里放B柜子的钥匙,这样可以实现有序的地址管理无序的对象。
写法  type后   *后     type先   *先

地址运算方向是:从右到左。

地址值:是将整个内存切割成Type类型后,第n个Type的位置。
%Mb20  跟  %Mw10  是同一个位置【起始位置相同,截取长度不同】

 结尾:

功能块有些输入有默认值,可以不用赋值。

维修电工选择 CFC编程,不要用ST,高级语法学C#,【因为C# 》ST】而且st语法有些反人类,比如 【你说的语法请说明语法】      num : int := 16#1234;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值