PLC程序设计基础

基本环境:CCW
主要语言:梯形图(Ladder Diagram,LD)
软件编程:双击图标,设置与硬件的映射关系

基本数据类型

BOOL 布尔值
DATE 日期
INT 整型 216
DINT 双整型 232
UINT 无符号整型
REAL 实数浮点型
STRING 字符串
TIME 时间

基本元件

左母线-->右母线,程序顺序循环执行,相当于编程语言中 while,按 rung 梯级从上到下执行,不断循环

Pasted image 20241228130131.png

Direct Contact
Reverse Contact

常用功能指令块 Instruction Block

时序图应该关注:信号、高低电平、上升沿、下降沿

定时器

Pasted image 20241211104346.png

T # 3s 表示 T = 3s

TON 开通延时定时器

TOF 关断延时定时器
IN 的下降沿使得 ET 开始累加,上升沿使得 ET 直接清零
当 ET 为高电平时(到达 PT 水平线),Q 为低电平,其余时刻都为高电平。

比较指令块 :数据进行比较

ANY_TO_ 数据转换: 例如ANY_TO_REAL 将任何数据转换为 REAL 类型

MOV 直接传送: 实现赋值,将一个变量分配给另一个

CTU 向上计数器,对输入信号的上升沿进行计数

CTUD 向下向上计数器

数据进行移位操作,例如有数据:1111 1001
ROL 左循环移位:向左循环移动指定的位数,一端移出的位会从另一端重新移入 1111 0011
ROR 右循环移位:向右循环移动指定的位数,一端移出的位会从另一端重新移入 1111 0011
SHL 左移:移出的位被丢弃,而空出的低位则补零 1111 0010
SHR 右移:移出的位被丢弃,而空出的低位则补零

MOD 除法余数
POW 实数指数幂
* 乘法
Neg 取反

用户自定义功能块

相当于编程语言中的子程序/函数

方向设置
输入:VarInput
输出:VarOutput

SFC 顺序功能流程图

Sequential Function Chart
用于描述控制系统中顺序控制过程的图形化编程语言

基本结构

SFC 程序按照步的顺序依次执行。当某个步的前一个步满足转换条件时,系统会自动切换到该步,并执行与该步相关联的动作。一旦该步的转换条件满足,又会触发下一个步的执行,如此循环,直到整个顺序控制过程结束。

Pasted image 20241229124253.png

主要类型

单序列:最基本的 SFC 结构,由一系列相继激活的步组成,每个步后面只有一个转换,每个转换后面只有一个步。
选择序列:在某个步之后有多个分支,根据不同的转换条件选择其中一个分支执行。
并行序列:可以同时激活多个分支,各分支同时执行,当所有分支都完成后,再进行下一步。

绘制规则

PLC 编程语言

PLC 支持多种编程语言,