plc编程代码大全(PLC编程指令有些什么)

本文目录
PLC编程指令有些什么
首先,不同品牌的PLC厂家对同一(或类似)功能的指令,命名和定义都有差异。
其次,同一品牌的PLC厂家,也会由于产品的定位而对指令有影响,比如:
小型的PLC,点数少,功能也有限,基本上 位指令-与或非,算术运算指令-加减乘除,计时,计次,赋值
中大型PLC,除小型的指令外,有更丰富的逻辑,运算等指令,比如开放,求导数等等,还有类似运动控制,高速计数等指令
三菱plc编程指令
以下是三菱plc常用的指令,还有不懂的可以问我一 程序流程控制指令—FNC00~09
00 CJ 条件转移
01 CALL 子程序调用
02 SRET 子程序返回
03 IRET 中断返回
04 EI 开中断
05 DI 关中断
06 FEND 主程序结束
07 WDT 监控定时器刷新
08 FOR 循环开始
09 NEXT 循环结束
二 传送、比较指令—FNC10~19 BIN----二进制 BCD----十进制
10 CMP 比较
11 ZCP 区间比较
12 MOV 传送
13 SMOV BCD码移位传送
14 CML 取反传送
15 BMOV 数据块传送(n点→n点)
16 FMOV 多点传送(1点→n点)
17 XCH 数据交换,(D0)←→(D2)
18 BCD BCD变换,BIN→BCD
19 BIN BIN变换,BCD→BIN
三 算术、逻辑运算指令—FNC20~29 BIN----二进制 BCD----十进制
20 ADD BIN加法
21 SUB BIN减法
22 MUL BIN乘法
23 DIV BIN除法
24 INC BIN加一
25 DEC BIN减一
26 WAND 字与
27 WOR 字或
28 WXOR 字异或
29 NEG 求BIN补码
四 循环、移位指令—FNC30~39
30 ROR 循环右移
31 ROL 循环左移
32 RCR 带进位循环右移
33 RCL 带进位循环左移
34 SFTR 位右移
35 SFTL 位左移
36 WSFR 字右移
37 WSFL 字左移
38 SFWR FIFO写入
39 SFRD FIFO读出
五 数据处理指令—FNC40~49
40 ZRST 区间复位
41 DECO 解码
42 ENCO 编码
43 SUM 求置ON位总数
44 BON ON位判别
45 MEAN 求平均值
46 ANS 信号报警器标志置位
47 ANR 信号报警器标志复位
48 SQR BIN平方根
49 FLT BIN整数→BIN浮点数六 高速处理指令—FNC50~59
50 REF 输入输出刷新
51 REFF 输入滤波时间常数调整
52 MTR 矩阵输入
53 HSCS 高速记数器比较置位
54 HSCR 高速记数器比较复位
55 HSZ 高速记数器区间比较
56 SPD 速度检测
57 PLSY 脉冲输出
58 PWM 脉冲宽度调制
59 PLSR 带加减速功能的脉冲输出
七 方便指令—FNC60~69
60 IST 状态初始化
61 SER 数据搜索
62 ABSD 绝对值凸轮顺控
63 INCD 增量凸轮顺控
64 TTMR 示教定时器
65 STMR 专用定时器—可定义
66 ALT 交替输出
67 RAMP 斜坡输出
68 ROTC 旋转工作台控制
69 SORT 数据排序
八 外部I/O设备指令—FNC70~79
70 TKY 10键输入
71 HKY 16键输入
72 DSW 拨码开关输入
73 SEGD 七段译码
74 SEGL 带锁存的七段码显示
75 ARWS 方向开关
76 ASC ASCII码转换
77 PR 打印输出
78 FROM 读特殊功能模块
79 TO 写特殊功能模块
九 外围设备指令—FNC80~89
80 RS RS-232C串行通讯
81 PRUN 并行运行
82 ASCI 十六进制→ASCII
83 HEX ASCII→十六进制
84 CCD 校验码
85 VRRD 电位器读入
86 VRSC 电位器设定
88 PID PID控制
十 F2外部模块指令—FNC90~99
90 MNET F-16N, Mini网
91 ANRD F2-6A, 模拟量输入
92 ANW* *2-6*, 模拟量输出
93 RMST F2-32RM, 启动RM
94 RMWR F2-32RM, 写RM
95 RMRD F2-32RM, 读RM
96 RMMN F2-32RM, 监控RM
97 BLK F2-30GM, 指定块
98 MCDE F2-30GM, 机器码十一 浮点数运算指令—FNC110~132
110 ECMP BIN浮点数比较
111 EZCP BIN浮点数区间比较
118 EBCD BIN浮点数→BCD浮点数
119 EBIN BCD浮点数→BIN浮点数
120 EADD BIN浮点数加法
121 ESUB BIN浮点数减法
122 EMUL BIN浮点数乘法
123 EDIV BIN浮点数除法
127 ESQR BIN浮点数开方
129 INT BIN浮点数→BIN整数
130 SIN BIN浮点数正弦函数(SIN)
131 COS BIN浮点数余弦函数(COS)
132 TAN BIN浮点数正切函数(TAN)
十二 交换指令—FNC147
147 SWAP 高低字节交换
十三 定位指令—FNC155~159
155 ABS 读当前绝对值位置
156 ZRN 返回原点
157 PLSY 变速脉冲输出
158 DRVI 增量式单速位置控制
159 DRVA 绝对式单速位置控制
十四 时钟运算指令—FNC160~169
160 TCMP 时钟数据比较
161 TZCP 时钟数据区间比较
162 TADD 时钟数据加法
163 TSUB 时钟数据减法
166 TRD 时钟数据读出
167 TWR 时钟数据写入
169 HOUR 小时定时器
十五 变换指令—FNC170~177
170 GRY 二进制数→格雷码
171 GBIN 格雷码→二进制数
176 RD3A 读FXon-3A模拟量模块
177 WR3A 写FXon-3A模拟量模块
十六 触点比较指令—FNC224~246
224 LD= (S1)=(S2)时运算开始之触点接通
225 LD》 (S1)》(S2)时运算开始之触点接通
226 LD《 (S1)《(S2)时运算开始之触点接通
228 LD《》 (S1)≠(S2)时运算开始之触点接通
229 LD≤ (S1)≤(S2)时运算开始之触点接通
230 LD≥ (S1)≥(S2)时运算开始之触点接通
232 AND= (S1)=(S2)时串联触点接通
233 AND》 (S1)》(S2)时串联触点接通
234 AND《 (S1)《(S2)时串联触点接通
236 AND《》 (S1)≠(S2)时串联触点接通
237 AND≤ (S1)≤(S2)时串联触点接通
238 AND≥ (S1)≥(S2)时串联触点接通
240 OR= (S1)=(S2)时并联触点接通
241 OR》 (S1)》(S2)时并联触点接通
242 OR《 (S1)《(S2)时并联触点接通
244 OR《》 (S1)≠(S2)时并联触点接通
245 OR≤ (S1)≤(S2)时并联触点接通
246 OR≥ (S1)≥(S2)时并联触点接通
三菱plc编程指令是什么
三菱FX2 PLC基本指令快速浏览
1. 触点取用与线圈输出指令 LD、LDI、OUT
2 .单个触点串联指令 AND、ANI
3. 单个触点并联指令 OR、ORI
4. 串联电路块的并联 OR
5. 并联电路块的串联 ANB
6. LDP、LDF、ANDP、ANDF、ORP、ORF(FX2n型有)
7 .多重输出电路 MPS、MRD、MPP
8 .主控及主控复位指令 MCMCR
9 .脉冲输出 PLS、PLF
10 .自保持与解除 SET、RST
11 .计数器、定时器线圈输出和复位指令 OUT、RST
12. 空操作指令 NOP
13 .程序结束指令 END
DSZR带dog搜索的原点回归,DVIT中断定位,TBL表格设定定位,ABS读出ABS当前值,ZRN原点回归,PLSV可变速脉冲输出,DRVI相对定位,DRVA绝对定位。
PLC编程 (指令语句)
PLC的用户程序是设计人员根据控制系统的工艺控制要求,通过PLC编程语言的编制设计的。根据国际电工委员会制定的工业控制编程语言标准(IEC1131-3)。PLC的编程语言包括以下五种:梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)及结构化文本语言(ST)。
1、梯形图语言(LD)
梯形图语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟悉,因此,梯形图编程语言得到了广泛的欢迎和应用。
梯形图编程语言的特点是:与电气操作原理图相对应,具有直观性和对应性;与原有继电器控制相一致,电气设计人员易于掌握。
梯形图编程语言与原有的继电器控制的不同点是,梯形图中的能流不是实际意义的电流,内部的继电器也不是实际存在的继电器,应用时,需要与原有继电器控制的概念区别对待。
2、指令表语言(IL)
指令表编程语言是与汇编语言类似的一种助记符编程语言,和汇编语言一样由操作码和操作数组成。在无计算机的情况下,适合采用PLC手持编程器对用户程序进行编制。同时,指令表编程语言与梯形图编程语言图一一对应,在PLC编程软件下可以相互转换。图3就是与图2PLC梯形图对应的指令表。
指令表表编程语言的特点是:采用助记符来表示操作功能,具有容易记忆,便于掌握;在手持编程器的键盘上采用助记符表示,便于操作,可在无计算机的场合进行编程设计;与梯形图有一一对应关系。其特点与梯形图语言基本一致。
3、功能模块图语言(FBD)
功能模块图语言是与数字逻辑电路类似的一种PLC编程语言。采用功能模块图的形式来表示模块所具有的功能,不同的功能模块有不同的功能。图4是对应图1交流异步电动机直接启动的功能模块图编程语言的表达方式。
功能模块图编程语言的特点:功能模块图程序设计语言的特点是:以功能模块为单位,分析理解控制方案简单容易;功能模块是用图形的形式表达功能,直观性强,对于具有数字逻辑电路基础的设计人员很容易掌握的编程;对规模大、控制逻辑关系复杂的控制系统,由于功能模块图能够清楚表达功能关系,使编程调试时间大大减少。
4、 顺序功能流程图语言(SFC)
顺序功能流程图语言是为了满足顺序逻辑控制而设计的编程语言。编程时将顺序流程动作的过程分成步和转换条件,根据转移条件对控制系统的功能流程顺序进行分配,一步一步的按照顺序动作。每一步代表一个控制功能任务,用方框表示。在方框内含有用于完成相应控制功能任务的梯形图逻辑。这种编程语言使程序结构清晰,易于阅读及维护,大大减轻编程的工作量,缩短编程和调试时间。用于系统的规模校大,程序关系较复杂的场合。顺序功能流程图编程语言的特点:以功能为主线,按照功能流程的顺序分配,条理清楚,便于对用户程序理解;避免梯形图或其他语言不能顺序动作的缺陷,同时也避免了用梯形图语言对顺序动作编程时,由于机械互锁造成用户程序结构复杂、难以理解的缺陷;用户程序扫描时间也大大缩短。
5、结构化文本语言(ST)
结构化文本语言是用结构化的描述文本来描述程序的一种编程语言。它是类似于高级语言的一种编程语言。在大中型的PLC系统中,常采用结构化文本来描述控制系统中各个变量的关系。主要用于其他编程语言较难实现的用户程序编制。
结构化文本编程语言采用计算机的描述方式来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作。大多数PLC制造商采用的结构化文本编程语言与BASIC语言、PASCAL语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。
结构化文本编程语言的特点:采用高级语言进行编程,可以完成较复杂的控制运算;需要有一定的计算机高级语言的知识和编程技巧,对工程设计人员要求较高。直观性和操作性较差。
不同型号的PLC编程软件对以上五种编程语言的支持种类是不同的,早期的PLC仅仅支持梯形图编程语言和指令表编程语言。目前的PLC对梯形图(LD)、指令表(STL)、功能模块图(FBD)编程语言都以支持。比如,SIMATIC STEP7 MicroWIN V3.2。
在PLC控制系统设计中,要求设计人员不但对PLC的硬件性能了解外,也要了解PLC对编程语言支持的种类。
西门子plc编程的指令都有什么
西门子plc编程指令全集在这里
1 位逻辑指令
1.1 -||- 常开接点(地址)
1.2 -|/|- 常闭接点(地址)
1.3 XOR 位异或
1.4 -|NOT|- 信号流反向
1.5 -( ) 输出线圈
1.6 -(#)- 中间输出
1.7 -(R) 线圈复位
1.8 -(S) 线圈置位
1.9 RS 复位置位触发器
1.10 RS 置位复位触发器
1.11 -(N)- RLO下降沿检测
1.12 -(P)- PLO上升沿检测
1.13 -(SAVE) 将RLO存入BR存储器
1.14 MEG 地址下降沿检测
1.15 POS 地址上升沿检测
2 比较指令
2.1 CMP?I 整数比较
2.2 CMP?D 双整数比较
2.3 CMP?R 实数比较
3 转换指令
3.1 BCD_IBCD码转换为整数
3.2 I_BCD 整数转换为BCD码
3.3 I_DINT 整数转换为双整数
3.4 BCD_DIBCD码转换为双整数
3.5 DI_BCD 双整数转换为BCD码
3.6 DI_REAL 双整数转换为浮点数
3.7 INV_I 整数的二进制反码
3.8 INV_DI 双整数的二进制反码
3.9 NEG_I 整数的二进制补码
3.10 NEG_DI 双整数的二进制补码
3.11 NEG_R 浮点数求反
3.12 ROUND 舍入为双整数
3.13 TRUNC 舍去小数取整为双整数
3.14 CEIL 上取整
3.15 FLOOR 下取整
4 计数器指令
4.1 S_CUD 加减计数
4.2 S_CU 加计数器
4.3 S_CD 减计数器
4.4 -(SC) 计数器置初值
4.5 -(CU) 加计数器线圈
4.6 -(CD) 减计数器线圈
5 数据块指令
5.1 -(OPN) 打开数据块DB或DI
6 逻辑控制指令
6.1 -(JMP) 无条件跳转
6.2 -(JMP) 条件跳转
6.3 -(JMPN) 若非则跳转
6.4 LABEL 标号
7 整数算术运算指令
7.1 ADD_I 整数加法
7.2 SUB_I 整数减法
7.3 MUL_I 整数乘法
7.4 DIV_I 整数除法
7.5 ADD_DI 双整数加法
7.6 SUB_DI 双整数减法
7.7 MUL_DI 双整数乘法
7.8 DIV_DI 双整数除法
7.9 MOD_DI 回送余数的双整数
8 浮点算术运算指令
8.1 基础指令
8.1.1 ADD_R 实数加法
8.1.2 SUB_R 实数减法
8.1.3 MUL_R 实数乘法
8.1.4 DIV_R 实数除法
8.1.5 ABS 浮点数绝对值运算
8.2 扩展指令
8.2.1 SQR 浮点数平方
8.2.2 SQRT 浮点数平方根
8.2.3 EXP 浮点数指数运算
8.2.4 LN 浮点数自然对数运算
8.2.5 SIN 浮点数正弦运算
8.4.6 COS 浮点数余弦运算
8.2.7 TAN 浮点数正切运算
8.2.8 ASIN 浮点数反正弦运算
8.2.9 ACOS 浮点数反余弦运算
8.2.10ATAN 浮点数反正切运算
9 赋值指令
9.1 MOVE 赋值
10 程序控制指令
10.1 -(Call) 从线圈调用FC/SFC(无参数)
10.2 CALL_FB 从方块调用FB
10.3 CALL_FC 从方块调用FC
10.4 CALL_SFB 从方块调用SFB
10.5 CALL_SFC 从方块调用SFC
10.6 -(MCR《)》
10.7 -(MCR》) 主控继电器断开
10.8 -(MCRA) 主控继电器启动
10.9 -(MCRD) 主控继电器停止
10.10 -(RET) 返回
11 移位和循环指令
11.1 移位指令
11.1.1 SHR_I 整数右移
11.1.2 SHR_DI 双整数右移
11.1.3 SHL_W 字左移
11.1.4 SHR_W 字右移
11.1.5 SHL_DW 双字左移
11.1.6 SHR_DW 双字右移
11.2 循环指令
11.2.1 ROL_DW 双字左循环
11.2.2 ROR_DW 双字右循环
12 状态位指令
12.1 OV -||- 溢出异常位
12.2 OS -||- 存储溢出异常位
12.3 UO -||- 无序异常位
12.4 BR -||- 异常位二进制结果
12.5 ==0-||- 结果位等于’0’
12.6 《》0-||- 结果位不等于’0’
12.7 》0-||- 结果位大于’0’
12.8 《0-||-》
12.9 》=0-||- 结果位大于等于’0’
12.10 《=0-||-》
13 定时器指令
13.1 S_PULSE 脉冲S5定时器
13.2 S_PEXT 扩展脉冲S5定时器
13.3 S_ODT 接通延时S5定时器
13.4 S_ODTS 保持型接通延时S5定时器
13.5 S_OFFDT 断电延时S5定时器
13.6 -(SP) 脉冲定时器线圈
13.7 -(SE) 扩展脉冲定时器线圈
13.8 -(SD) 接通延时定时器线圈
13.9 -(SS) 保持型接通延时定时器线圈
13.10 -(SF) 断开延时定时器线圈
14 字逻辑指令
14.1 WAND_W 字和字相’与’
14.2 WOR_W 字和字相’或’
14.3 WAND_DW 双字和双字相’与’
14.4 WOR_DW 双字和双字相’或’
14.5 WXOR_W 字和字相’异或’
14.6 WXOR_DW 双字和双字相’异或

更多文章:
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00








