三菱PLC的指令代码,纯干货,需要的保存吧
三菱PLC
三菱PLC的指令代码
一 顺控指令
1 触点指令
00 LD 逻辑操作开始
01 LDI 逻辑非操作开始
02 AND 逻辑乘
03 ANI 逻辑乘非
04 OR 逻辑加
05 ORI 逻辑加非
2 连接指令
06 ANB AND逻辑块与
07 ORB OR逻辑块或
08 MPS 存储操作结果
09 MRD 从MPS读取操作结果
10 MPP 从MPS读取操作结果
并清除结果
3 输出指令
11 OUT 软元件输出
12 SET 软元件置位
13 RST 软元件复位
14 PLS 在输入信号的上升沿
15 PLF 在输入信号的下降沿
16 CHK 软元件输出翻转
4 移位指令
17 SFT 元件移1位
18 SFTP 元件移1位
5 主控指令
19 MC 主控开始
20 MCR 主控复位
6 结束指令
21 FEND 结束主程序
22 END 总的程序末尾,
返回第0步
7 其它指令
23 STOP 停止
24 NOP 空操作
二 基本指令
1 比较指令
16位数据比较
25 LD= 当S1=S2, 接通,
当S1≠S2, 断开
26 AND=
27 OR=
28 LD<> 当S1≠S2, 接通,
当S1=S2, 断开
29 AND<>
30 OR<>
31 LD> 当S1>S2, 接通,
当S1≤S2, 断开
32 AND>
33 OR>
34 LD<= 当S1≤S2, 接通,
当S1>S2, 断开
35 AND<=
36 OR<=
37 LD< 当S1<S2, 接通,
当S1≥S2, 断开
38 AND<
39 OR<
40 LD>= 当S1≥S2, 接通,
当S1<S2, 断开
41 AND>=
42 OR>=
32位数据比较
43 LDD= 当(S1+1,S1)=(S2+1,S2), 接通
44 ANDD=
45 ORD=
46 LDD<> 当(S1+1,S1)≠(S2+1,S2),接通
47 ANDD<>
48 ORD<>
49 LDD> 当(S1+1,S1)>(S2+1,S2), 接通
50 ANDD>
51 ORD>
52 LDD<= 当(S1+1,S1)≤(S2+1,S2),接通
53 ANDD<=
54 ORD<=
55 LDD< 当(S1+1,S1)<(S2+1,S2), 接通
56 ANDD<
57 ORD<
58 LDD>= 当(S1+1,S1)≥(S2+1,S2),接通
59 ANDD>=
60 ORD>=
2 算术运算指令
二进制16位加/减
61 + (D)+(S)→(D)
62 +P
63 + (S1)+(S2)→(D)
64 +P
65 - (D)-(S)→(D)
66 -P
67 - (S1)-(S2)→(D)
68 -P
二进制32位加/减
69 D+ (D+1,D)+(S+1,S)→(D+1,D)
70 D+P
71 D+ (S1+1,S1)+(S2+1,S2)→(D+1,D)
72 D+P
73 D- (D+1,D)-(S+1,S)→(D+1,D)
74 D-P
75 D- (S1+1,S1)-(S2+1,S2)→(D+1,D)
76 D-P
77 * (S1)×(S2)→(D+1,D)
78 *P
79 / (S1)/(S2)→商(D), 余数(D+1)
80 /P
81 D* (S1+1,S1)×(S2+1,S2)→
(D+3,D+2,D+1,D)
82 D*P
83 D/ (S1+1,S1)/(S2+1,S2)→
商(D+1,D),余数(D+3,D+2)
84 D/P
85 B+ (D)+(S)→(D)
86 B+P
87 B+ (S1)+(S2)→(D)
88 B+P
89 B- (D)-(S)→(D)
90 B-P
91 B- (S1)-(S2)→(D)
92 B-P
93 DB+ (D+1,D)+(S+1,S) →(D+1,D)
94 DB+P
95 DB+ (S1+1,S1)+(S2+1,S2)→(D+1,D)
96 DB+P
97 DB- (D+1,D)-(S+1,S)→(D+1,D)
98 DB-P
99 DB- (S1+1,S1)-(S2+1,S2)→(D+1,D)
100 DB-P
101 B* (S1)×(S2)→(D+1,D)
102 B*P
103 B/ (S1)/(S2)→商(D),余数(D+1)
104 B/P
105 DB* (S1+1,S1)×(S2+1,S2)→
(D+3,D+2,D+1,D)
106 DB*P
107 DB/ (S1+1,S1)/(S2+1,S2)→
商(D+1,D),余数(D+3,D+2)
108 DB/P
109 INC (D)+1→(D)
110 INCP
111 DINC (D+1,D)+1→(D+1,D)
112 DINCP
113 DEC (D)-1→(D)
114 DECP
115 DDEC (D+1,D)-1→(D+1,D)
116 DDECP
3 BCD—二进制转换
117 BCD (S)→(D)BCD转换
118 BCDP
119 DBCD (S+1,S)→(D+1,D)
120 DBCDP
121 BIN (S)→(D)二进制转换
122 BINP
123 DBIN (S+1,S)→(D+1,D)
124 DBINP
4 数据传送指令
125 MOV (S)→(D)
126 MOVP
127 DMOV (S+1,S)→(D+1,D)
128 DMOVP
129 CML (S)→(D)
130 CMLP
131 DCML (S+1,S)→(D+1,D)
132 DCML
133 DCMLP
134 BMOV (S)→(D)n个
135 BMOVP
136 FMOV (S)→(D)n个
137 FMOVP
138 XCH (D1)←→(D2)
139 XCHP
140 DXCH (D1+1,D1)←→(D2+1,D2)
141 DXCHP
5 程序分支指令
142 CJ 条件满足,跳转到P**处
143 SCJ 条件满足后紧接的扫描周期,
跳转到P**处
144 JMP 无条件跳转到P**处
145 CALL 执行P**处子程序
146 CALLP
147 RET 从子程序返回
148 EI 允许中断
149 DI 禁止中断
150 IRET 从中断程序返回
151 SUB 执行n指定的程序
152 SUBP
6 程序切换指令
153 CHG 在主副程序间切换
7 刷新指令
154 COM 执行通讯刷新
155 EI 允许通讯刷新
156 DI 禁止通讯刷新
157 SEG 对应软元件的刷新,仅执行1个扫描周期,M9052 ON时有效
三 应用指令
1 逻辑运算指令
158 WAND (D) AND (S)→(D)
159 WANDP
160 WAND (S1) AND (S2)→(D)
161 WANDP
162 DAND (D+1,D) AND (S+1,S)→(D+1,D)
163 DANDP
164 WOR (D) OR (S)→(D)
165 WORP
166 WOR (S1) OR (S2)→(D)
167 WORP
168 DOR (D+1,D) OR (S+1,S)→(D+1,D)
169 DORP
170 WXOR (D) XOR (S)→(D)异或
171 WXORP
172 WXOR (S1) XOR (S2)→(D)
173 WXORP
174 DXOR (D+1,D) XOR (S+1,S)→(D+1,D)
175 DXORP
176 WXNR (D) XOR (S)→(D)
177 WXNRP
178 WXNR (S1) XOR (S2)→(D)
179 WXNRP
180 DXNR (D+1,D) XOR (S+1,S)→(D+1,D)
181 DXNRP
182 NEG 0-(D)→(D)补码
183 NEGP
2 旋转指令
184 ROR n位右转
185 RORP
186 RCR n位右转(带进位)
187 RCRP
188 ROL n位左转
189 ROLP
190 RCL n位左转(带进位)
191 RCLP
192 DROR n位右转
193 DRORP
194 DRCR n位右转(带进位)
195 DRCRP
196 DROL n位左转
197 DROLP
198 DRCL n位左转(带进位)
199 DRCLP
3 移位指令
200 SFR n位右移
201 SFRP
202 SFL n位左移
203 SFLP
204 BSFR 1位右移
205 BSFRP
206 BSFL 1位左移
207 BSFLP
208 DSFR 1位右移
209 DSFRP
210 DSFL 1位左移
211 DSFLP
4 数据处理指令
212 SER 数据搜索
213 SERP
214 SUM 位检查
215 SUMP
216 DSUM
217 DSUMP
218 DECO 译码编码
219 DECOP
220 ENCO
221 ENCOP
222 SEG 7段编码
223 BSET 对字中n位置位
224 BSETP
225 BRST 对字中n位复位
226 BRSTP
227 DIS 组合分离
228 DISP
229 UNI
230 UNIP
231 ASC ASCII转化
5 先进先出指令
232 FIFW FIFO写
233 FIFWP
234 FIFR FIFO读
235 FIFRP
6 内存缓冲区存取指令
236 FROM 从特殊功能模块读取数据
237 FROMP
238 DFRO
239 DFROP
240 TO 向特殊功能模块写数据
241 TOP
242 DTO
243 FROM 从远程I/O站读数据
244 FROMP
245 DFRO
246 DFROP
247 TO 向远程站写数据
248 TOP
249 DTO
250 DTOP
7 FOR/NEXT指令
251 FOR 重复n次
252 NEXT
8 本地站、远程I/O站存取指令
253 LRDP 从本地站读数据
254 LWTP 向本地站写数据
255 RFRP 从远程特殊功能模块读数据
256 RTOP 向远程特殊功能模块写数据
9 显示指令
257 PR 从指定的8点字软元件输出
16个字符的ASCII码
258 PR 顺序向输出模块输出ASCII
码, 直到结束符NUL(00H)
259 PRC 将字软元件的注释转换成
ASCII码,并输出
260 LED 将指定的8点字软元件显示
16个字符的ASCII码
261 LEDA 显示指定的英文数字字符
262 LEDB
263 LEDC 显示软元件S的注释
264 LEDR 显示复位
10 其它指令
265 WDT WDT复位
266 WDTP
267 CHK 故障检测
268 SLT 按参数设定的条件,数据被锁定
269 SLTR 状态锁存复位,且执行SLT
270 STRA 按参数设定的条件,采样数据存入
271 STRAR 采样跟踪复位,且允许执行
272 STC 进位标志(M9012)ON
273 CLC 进位标志(M9012)OFF
274 DUTY 用户定义时钟
11 伺服指令
275 DSFRP 请求启动伺服程序
276 PSFLP 数据修改
特殊继电器和特殊寄存器
一 特殊继电器M清单
M9000 熔丝断
M9002 I/O组件校验出错
M9004 MINI网通讯出错
M9005 AC电源掉电检测
M9006 电池电压低
M9007 电池电压低锁存
M9008 自诊断出错
M9009 信号报警器检测
M9010 运算出错标志
M9011 运算出错标志锁存
M9012 进位标志
M9016 数据存储区清零标志
M9017 数据存储区清零标志
M9018 数据通讯监控切换
M9020 0号用户定时时钟
M9021 1号用户定时时钟
M9022 2号用户定时时钟
M9023 3号用户定时时钟
M9024 4号用户定时时钟
M9025 时钟数据设置请求
M9026 时钟数据出错
M9027 时钟数据显示
M9028 时钟数据读请求
M9030 0.1秒时钟
M9031 0.2秒时钟
M9032 1秒时钟
M9033 2秒时钟
M9034 1分钟时钟
M9036 常开
M9037 常闭
M9038 RUN后第一个扫描周期ON
M9039 运行标志
M9040 暂停PAUSE允许线圈
M9041 PAUSE状态触点
M9042 停止状态触点
M9043 采样跟踪完成
M9044 采样跟踪
M9046 采样跟踪
M9047 采样跟踪准备
M9048 RUN LED闪烁标志
M9049 切换输出字符数目
M9050 存放操作结果的存储区交换触点
M9051 CHG指令执行禁止
M9052 SEG指令切换
M9053 EI/DI指令切换
M9054 单步运行标志
M9055 状态锁存完成标志
M9056 主程序P, I设置请求
M9057 副程序P, I设置程序
M9060 副程序2P, I设置程序
M9061 副程序3P, I设置程序
M9060 远程终端出错
M9061 通讯出错
M9065 分离传送状态
M9066 传送处理切换
M9067 I/O组件出错检测
M9068 测试模式
M9069 线路故障时的输出
M9073 WDT出错标志
M9074 PCPU准备完成标志
M9075 测试模式标志
M9076 外部急停输入标志
M9077 手动脉冲发生器轴设置错误标志
M9078 测试模式请求出错标志
M9079 伺复程序设置出错标志
M9081 对远程模块的通讯请求
M9082 最终站数不一致
M9084 出错检测
M9086 运行标志BASIC程序
M9087 暂停(PAUSE)标志
M9091 操作运行出错细节标志
M9091 微机子程序调用出错标志
M9092 双电源模块过热
M9093 双工电源模块出错
M9094 I/O改变标志
M9095 双工运行校验出错
M9096 A3VCPU A自校出错
M9097 A3VCPU B自校出错
M9098 A3VCPU C自校出错
M9099 A3VTU自校出错
M9100 SFC程序登记
M9101 SFC程序起/停
M9102 SFC启动状态
M9103 连续步转移有效/失效
M9104 连续转移防止标志
M9108 步转移监控定时器起始
(对应D9108)
M9109 步转移监控定时器起始
(对应D9109)
M9110 步转移监控定时器起始
(对应D9110)
M9111 步转移监控定时器起始
(对应D9111)
M9112 步转移监控定时器起始
(对应D9112)
M9113 步转移监控定时器起始
(对应D9113)
M9114 步转移监控定时器起始
(对应D9114)
M9180 激活步采样跟踪完成标志
M9181 激活步采样跟踪执行标志
M9182 激活步采样跟踪有效
M9196 在块停止时控制输出
M9197~9198 保险丝熔断,
I/O校核出错显示切换
二 特殊寄存器
D9000 保险丝断
D9001 保险丝断
D9002 I/O组件校验出错
D9003 SUM指令检测位数
D9004 MINI网主通讯组件出错
D9005 AC掉电计数
D9006 电池不足
D9008 自诊断出错
D9009 信号报警器检测
D9010 出错步
D9011 出错步
D9014 I/O控制模式
D9015 CPU运行状态
D9016 ROM/RAM设置
D9017 最小扫描时间
D9018 当前扫描时间
D9019 最大扫描时间
D9020 恒定扫描
D9021 扫描时间
D9022 1秒计数器
D9025 时钟数据(年,月)
D9026 时钟数据(日,时)
D9027 时钟数据(分,秒)
D9028 时钟数据(星期)
D9021~D9034 远程终端组件参数设置
D9035 远程I/O组件的通讯属性
D9035 扩展文件寄存器
D9036 总的站数
D9036~9037 供指定扩展文件寄存器软件地址
D9038~9039 LED显示优先级
D9044 采样跟踪
D9050 SFC程序出错代码
D9051 出错块
D9052 出错步
D9053 转移出错
D9054 出错顺控步
D9055 状态锁存步序号
D9061 通讯出错代码
D9072 PC通讯检测
D9081 对远程终端模块的
已执行的通讯请求数
D9082 最后的站号
D9090 微机子程序输入数据区首软元件号
D9091 指令出错
D9094 待更换的I/O组件的首地址
D9095 A3VTS系统和A3V
CPU的运行状态
D9096 A3VCPU A自检出错
D9097 A3VCPU B自检出错
D9098 A3VCPU C自检出错
D9099 A3VTU 自检测出错
D9100~D9107 断保险丝的组件
D9100 保险丝熔断的组件
D9108~D9114 步转移监控定时器设置
D9116~D9123 I/O组件校验出错
D9124 信号器报警数量检测
D9125~D9132 信号报警器地址号
D9133~D9140 远程终端卡信息
D9141~D9172 通讯重发次数
D9173 模式设置
D9174 设置重发次数
D9175 线缆出错模块出错代码
D9180~9193远程终端模块出错代码
D9180 轴1和轴2的限位开关
输出状态存储区
D9181 轴3和轴4的限位开关
输出状态存储区
D9182 轴5和轴6的限位开关
输出状态存储区
D9183 轴7和轴8的限位开关
输出状态存储区
D9184 CPU出错的原因
D9185 伺服放大器接线数据
D9187 手动脉冲发生器轴设置出错
D9188 在TEST模式下启动轴号请求出错
D9189 出错程序号
D9190 数据设置出错
D9191 伺服放大器类型
D9196~9199 故障站检测
D9200 LRDP处理结果
D9201 LWTP处理结果
D9204 通讯状态
D9205 执行回送的站
D9206 执行回送的站
D9207 通讯扫描时间(最大值)
D9208 通讯扫描时间(最小值)
D9209 通讯扫描时间(当前值)
D9210 重发次数
D9211 环路切换计数
D9212 就地站运行状态(1~16)
D9213 就地站运行状态(17~32)
D9214 就地站运行状态(33~48)
D9215 就地站运行状态(49~64)
D9216 就地站出错检测(1~16)
D9217 就地站出错检测(17~32)
D9218 就地站出错检测(33~48)
D9219 就地站出错检测(49~64)
D9220 就地站参数不匹配或(1~16)
远程站I/O分配出错
D9221 就地站参数不匹配或(17~32)
远程站I/O分配出错
D9222 就地站参数不匹配或(33~48)
远程站I/O分配出错
D9223 就地站参数不匹配或(49~64)
远程站I/O分配出错
D9224 主站与从站和远程I/O站
之间的初始通讯(1~16)
D9225 主站与从站和远程I/O站
之间的初始通讯(17~32)
D9226 主站与从站和远程I/O站
之间的初始通讯(33~48)
D9227 主站与从站和远程I/O站
之间的初始通讯(49~64)
D9228 就地站或远程I/O站出错(1~16)
D9229 就地站或远程I/O站出错(17~32)
D9230 就地站或远程I/O站出错(33~48)
D9231 就地站或远程I/O站出错(49~64)
D9232 就地站或远程I/O站环路出错
D9233 就地站或远程I/O站环路出错
D9234 就地站或远程I/O站环路出错
D9235 就地站或远程I/O站环路出错
D9236 就地站或远程I/O站环路出错
D9237 就地站或远程I/O站环路出错
D9238 就地站或远程I/O站环路出错
D9239 就地站或远程I/O站环路出错
D9240 检测到接收出错的次数
D9243 本站站号检测
D9244 从站的总数
D9245 检测到的接收出错次数
D9248 就地站运行状态
D9249 就地站运行状态
D9250 就地站运行状态
D9251 就地站运行状态
D9252 就地站出错检测
D9253 就地站出错检测
D9254 就地站出错检测
D9255 就地站出错检测
了解更多电工实物接线
#pgc-card .pgc-card-href { text-decoration: none; outline: none; display: block; width: 100%; height: 100%; } #pgc-card .pgc-card-href:hover { text-decoration: none; } /*pc 样式*/ .pgc-card { box-sizing: border-box; height: 164px; border: 1px solid #e8e8e8; position: relative; padding: 20px 94px 12px 180px; overflow: hidden; } .pgc-card::after { content: " "; display: block; border-left: 1px solid #e8e8e8; height: 120px; position: absolute; right: 76px; top: 20px; } .pgc-cover { position: absolute; width: 162px; height: 162px; top: 0; left: 0; background-size: cover; } .pgc-content { overflow: hidden; position: relative; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); } .pgc-content-title { font-size: 18px; color: #222; line-height: 1; font-weight: bold; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .pgc-content-desc { font-size: 14px; color: #444; overflow: hidden; text-overflow: ellipsis; padding-top: 9px; overflow: hidden; line-height: 1.2em; display: -webkit-inline-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } .pgc-content-price { font-size: 22px; color: #f85959; padding-top: 18px; line-height: 1em; } .pgc-card-buy { width: 75px; position: absolute; right: 0; top: 50px; color: #406599; font-size: 14px; text-align: center; } .pgc-buy-text { padding-top: 10px; } .pgc-icon-buy { height: 23px; width: 20px; display: inline-block; background: url(https://lf3-cdn-tos.bytescm.com/obj/cdn-static-resource/pgc/v2/pgc_tpl/static/image/commodity_buy_f2b4d1a.png); } 全彩电路低压电气电路升级版零基础学习电工--我是大俵哥 ¥68 购买200多个电工实物接线,为初学的朋友打开一扇门
想学PLC编程?先弄清5种PLC专用语言!
PLC目前有5种标准的编程语言,包括图形化编程语言和文本化编程语言。
图形化编程语言 包括:梯形图(LD-Ladder Diagram)、功能块图(FBD - Function Block Diagram)、顺序功能图(SFC - Sequential Function Chart)。
文本化编程语言 包括:指令表(IL-Instruction List)和结构化文本(ST-Strutured Text)。
IEC 1131-3的编程语言是IEC工作组对世界范围的PLC厂家的编程语言合理地吸收、借鉴的基础上形成的一套针对工业控制系统的国际编程语言标准,它不但适用于PLC系统,而且还适用于更广泛的工业控制领域,为PLC编程语言的全球规范化做出了重要的贡献。
一
继电器梯形图(LD)
继电器梯形图(LD-Ladder Diagram)语言是PLC首先采用的编程语言,也是PLC最普遍采用的编程语言。梯形图编程语言是从继电器控制系统原理图的基础上演变而来的,与继电器控制系统梯形图的基本思想是一致的 ,只是在使用符号和表达方式上有一定区别。
PLC的设计初衷是为工厂车间电气技术人员而使用的,为了符合继电器控制电路的思维习惯,作为首先在PLC中使用的编程语言,梯形图保留了继电器电路图的风格和习惯,成为广大电气技术人员最容易接受和使用的语言。
1. 软继电器
PLC梯形图中的某些编程元件沿用了继电器这一名称,如输入继电器、输出继电器、内部辅助继电器等,但是它们不是真实的物理继电器,而是一些存储单元(软继电器),每一软继电器与PLC存储器中映像寄存器的一个存储单元相对应。该存储单元如果为“1”状态,则表示梯形图中对应软继电器的线圈“通电”,其常开触点接通,常闭触点断开,称这种状态是该软继电器的“1”或“ON”状态。如果该存储单元为“0”状态,对应软继电器的线圈和触点的状态与上述的相反,称该软继电器为“0”或“OFF”状态。使用中也常将这些“软继电器”称为编程元件。
2. 能流
有一个假想的“概念电流”或“能流”(Power Flow)从左向右流动,这一方向与执行用户程序时的逻辑运算的顺序是一致的。能流只能从左向右流动。利用能流这一概念,可以帮助我们更好地理解和分析梯形图。
3.母线
梯形图两侧的垂直公共线称为母线(Bus bar),。在分析梯形图的逻辑关系时,为了借用继电器电路图的分析方法,可以想象左右两侧母线(左母线和右母线)之间有一个左正右负的直流电源电压,母线之间有“能流”从左向右流动。右母线可以不画出。
4.梯形图的逻辑解算
根据梯形图中各触点的状态和逻辑关系,求出与图中各线圈对应的编程元件的状态,称为梯形图的逻辑解算。梯形图中逻辑解算是按从左至右、从上到下的顺序进行的。解算的结果,马上可以被后面的逻辑解算所利用。逻辑解算是根据输入映像寄存器中的值,而不是根据解算瞬时外部输入触点的状态来进行的。
1、与电气操作原理图相对应,具有直观性和对应性;
2、与原有继电器逻辑控制技术相一致,对电气技术人员来说,易于撑握和学习;
3、与原有的继电器逻辑控制技术的不同点是,梯形图中的能流(Power Flow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此,应用时,需与原有继电器逻辑控制技术的有关概念区别对待;
4、与指令表程序设计语言有一一对应关系,便于相互的转换和程序的检查。
二
功能块图(FBD)
功能块图(FBD - Function Block Diagram)采用类似于数字逻辑门电路的图形符号,逻辑直观,使用方便,它有梯形图编程中的触电和线圈等价的指令,可以解决范围广泛的逻辑问题。
1、以功能模块为单位,从控制功能入手,使控制方案的分析和理解变得容易;
2、功能模块是用图形化的方法描述功能,它的直观性大大方便了设计人员的编程和组态,有较好的易操作性;
3、对控制规模较大、控制关系较复录的系统,由于控制功能的关系可以较清楚地表达出来,因此,编程和组态时间可以缩短,调试时间也能减少。
三
顺序功能图(SFC)
顺序功能图(SFC - Sequential Function Chart)亦称流程图或状态转移图,是一种图形化的功能性说明语言,专用于描述工业顺序控制程序,使用它可以对具有并发、选择等复杂结构的系统进行编程。
1、以功能为主线,条理清楚,便于对程序操作的理解和沟通;
2、对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间;
3、常用于系统的规模校大,程序关系较复杂的场合;
4、只有在活动步的命令和操作被执行,对活动步后的转换进行扫描,因此,整个程序的扫描时间较其他程序编制的程序扫描时间要大大缩短。
四
指令表(IL)
指令表(IL-Instruction List)编程语言类似于计算机中的助记符汇编语言,它是可编程控制器最基础的编程语言,所谓指令表编程,是用一个或几个容易记忆的字符来代表可编程控制器的某种操作功能。
1、采用助记符来表示操作功能,具有容易记忆,便于撑握的特点;
2、在编程器的键盘上采用助记符表示,具有便于操作的特点,可在无计算机的场合进行编程设计;
3、与梯形图有一一对应关系,其特点与梯形图语言基本类同。
五
结构化文本(ST)
结构化文本(ST-Strutured Text)是一种高级的文本语言,可以用来描述功能,功能块和程序的行为,还可以在顺序功能流程图中描述步、动作和转变的行为。结构化文本语言表面上与 PASCAL语言很相似,但它是一个专门为工业控制应用开发的编程语言,具有很强的编程能力用于对变量赋值、回调功能和功能块、创建表达式、编写条件语句和迭代程序等。
1、采用高级语言进行编程,可以完成较复杂的控制运算;
2、需要有一定的计算机高级程序设计语言的知识和编程技巧,对编程人员的技能要求较高,普通电气人员无法完成。
3、直观性和易操作性等性能较差;
4、常被用于采用功能模块等其他语言较难实现的一些控制功能的实施。
提示注意: 不是所有的PLC都支持所有的编程语言(如功能块图、顺序功能图就有很多低档PLC不支持),而大型的PLC控制系统一般都支持这5种标准编程语言或类似的编程语言。还有一些标准以外的编程语言,它们虽然没有被选择进标准语言中,但是它们是为了适合某些特殊场合的应用而开发的,在某些情况下,它们也许是较好的编程语言。比如D7-SYS的连续功能图CFC 就是专为大型连续工艺控制而开发,只要调用程序中的CFC功能块就可以轻易实现象PID控制器、计数器、定位器、斜坡函数发生器等一系列特殊功能,而且不需要专门的编程知识,只需要懂得图形化处理和标准程序块的使用,进行简单的设置即可。
再聊聊PLC的学习方法
1、学习PLC编程需要坚强的毅力和足够的耐心
人各有所长。有些人把编程看作一项冗长而枯燥的工作;有些人把编程看作一项趣味的智力游戏。如果你是前者,强烈建议你远离这份工作。毕竟编程工作是对人的毅力和耐心的挑战,编程需要经历无数次的试错,调试-修改-调试-修改…经过无数次失败后,当看到PLC按照自己的控制要求有条不紊的运行时,你将得到极大的成就感,这就如同打通了一个游戏的关口,那种感觉是一样的。
2、学习PLC编程需要敢于实践的信心
很多初学者往往是出于一种畏惧,担心损坏设备,而不敢进行实际操作。其实这些畏惧是没有任何道理的,只要你仔细的阅读手册,遵循标准的规范去接线实操的,都不会出什么问题。不必担心自己写的程序会有什么问题,会影响PLC的正常工作,程序有没有问题,只有让PLC运行了才能发现。所以,要有敢于实践的信心,大胆的实践是PLC编程的必由之路。
3、编程需要有缜密的逻辑思维
编程本身就是一种逻辑思维过程。最初的PLC是用来替代继电器逻辑电路的,所以继承了继电器电路以触点作为触发条件的描述方式。在PLC中,以虚拟触点代替了继电器触点,而继电器电路所表达的逻辑关系还是被完整的保留下来。所以,要理顺对象之间的逻辑关系,要有缜密的逻辑思维。
4、养成良好的编程习惯
每个人编程都会有不同的习惯和特点,不能强求一致。但是一些好的习惯还是应该为大多数人所遵循。一是理顺逻辑关系、时序关系,编制程序框图;二是合理分配主程序、子程序和中断程序;三是合理分配寄存器,编制寄存器符号表。 PLC的很多操作都是直接针对寄存器的,如果在程序中出现不合理的寄存器地址重叠,可能会造成程序错误。编制寄存器符号表不仅可以避免上述问题,而且可以使程序具备更好的可读性。PLC提供了丰富的指令、模块,初学者编程时应尽量先使用简单的指令达到目的,这对你理解那些较为复杂的指令会有帮助,具备了一定经验后,应该考虑掌握复杂指令的应用,以及程序的优化。
5、有一定的程序设计基础知识
有一定的程序设计基础知识,以及弄通有关PLC程序设计理论是重要的。没有这方面的理论准备或指导,仅靠在实践中摸索,简单的问题还好办,复杂的就不好办了,不仅无从下手,而且花了很多时间与精力,也难编出质量也较高的程序,常常是事倍功半。任何理论也都只是经验的总结,归根到底也都是来自实践。
相关问答
plc中char是什么指令?
plc中char是定义字符型变量。char用于C或C++中定义字符型变量,只占一个字节,取值范围为-128~+127(-2^7~2^7-1)。C语言中如int、long、short等不指定s...
plc中ascii字符怎么用它的用途是什么在什么情况下能用着?
在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,象a、b、c、d这样的52个字母(包括大写)、以及...
c#如何写中文字符到plc?
要在C#中写中文字符到PLC,可以使用字符串编码转换的方法。PLC通常使用ASCII码来表示字符,而中文字符是使用Unicode编码表示的。因此,在将中文字符写入PLC之前...
PLC中一个字符等于多少位?
字符是指计算机中使用的字母、数字、字和符号,包括:1、2、3、A、B、C、~!·#¥%……—*()——+等等。在ASCII编码中,一个英文字母字符存储需要1个字节。...
plc两个字符怎么合成字符串?
要将两个字符合成为字符串,你可以使用字符串连接的操作符。在大多数编程语言中,这个操作符通常是加号(+)。你可以使用这个操作符将两个字符连接在一起,从而...
plc中汉字是什么数据类型?
在PLC(可编程逻辑控制器)中,汉字属于文本数据类型,和数字、布尔值等数据类型不同。PLC对文本数据类型的支持是通过内置的字符集来实现的,常用的字符集有:1.G...
plc与c语言的数据类型?
PLC是可编程逻辑控制器的缩写,它通常用于工业自动化控制领域。PLC与C语言的数据类型之间存在一定的差异。PLC通常使用的数据类型包括布尔型(bool)、整数...
plc中bit和byte的区别?
一、名称不同:bit是比特,是英文binarydigit的缩写。而Byte是字节又叫bait。二、意义不同:bit是表示信息的最小单位,是二进制数的一位包含的信息或2个选项...
三菱PLC字符M表示什么意思?
在三菱PLC中,字符M通常表示内部的继电器(Relay)或存储器(Memory)地址。M地址通常用于存储和控制程序中的逻辑状态,例如开关状态、计数器值、定时器值等。M...
plc中pr代表的是什?-懂得
PR指令,功能是16个字符的ASCII码顺序向输出模块输出,直到结束符NUL(00H)