一起学PLC.docx
- 文档编号:6159842
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:45
- 大小:2.48MB
一起学PLC.docx
《一起学PLC.docx》由会员分享,可在线阅读,更多相关《一起学PLC.docx(45页珍藏版)》请在冰豆网上搜索。
一起学PLC
嵌入式增强型PLC编程手册
将PLC语言(梯形图语言)嵌入到单片机中,使单片机产品的二次开发从使用汇编语言变为使用梯形图语言编程,获取了商品梯形图编程平台所提供的各种强大的应用功能。
我们称用于单片机产品开发、自身具有强大功能的梯形图语言编程的装置为嵌入式PLC。
嵌入式PLC能广泛应用于各种单片机产品的二次开发,解决了产品设计开发人员不熟悉C和汇编的困难。
利用嵌入式PLC软件开发出的应用产品,我们称之为嵌入式PLC产品。
嵌入式PLC产品具有以下特点:
☆用梯形图语言编写应用程序,可借用现成的商品PLC软件所提供的各种强大的应用功能。
☆能与各个品牌的人机界面(屏)通讯,协议公开。
可与三菱、松下、EView等人机连接。
☆能与其它厂家、品牌的PLC并联运行,也可通过AD/DA、485、PWM、数显等与外部连接。
本嵌入式PLC针对各型通用设备开发,功能强大,有16路开关量输入、8路关量输出,增强型增加了4路模拟量输入、两路模拟量输出、PID功能、两路PWM输出、两路二相高速计数,RS232,RS485通讯口各一,故称为增强型PLC。
可组成485网络,网中每台PLC均支持人机界面。
第一章硬件介绍
、上端子排:
N、L、【空】、H0、H1、X00、X01、X02、X03、X04、X05、X06、X07、GND、X10、X11、X12、X13、X14、X15、X16、X17、GND、12V。
上端子排主要是输入端口,N、L为220V输入;当X输入端口或高速计数端口(H0、H1)接到GND时指示灯亮,表示相应位输入为1,这两种端口最大输入电压为30V,H0作为断电保持数据储存时占用1#编码器口;
、下端子排:
12V、5V、GND、AD0、AD0-、AD1、AD1-、AD2、AD2-、AD3、AD3-、DA0、DA1、PL0、PL1、A、B、COM1、Y00、Y01、Y02、Y03、COM2、Y04、Y05、Y06、Y07、COM2。
下端子排为功能端口及输出端口,12V、5V、GND等电源接口,可以是输入,也可以输出,当本板带有电源,那么这个接口可以输出给接近开关等检测仪器;若本板没有电源,可以外接。
AD0、AD0-组成差分放大电路:
分别都接上一个电阻R,可以对差分(AD0和AD0-的差)mV微信号放大,其放大倍数为100K/R;若AD0-不接,那么,D3读出的值就是输入的AD0的值。
差分放大在压力、温度的测量上有极大的用处。
AD1~AD3与AD0一样。
DA0、DA1为0~5V输出,其精度为0.00244V(12位Max=2048)。
PL0、PL1为PWM脉冲输出(62.5K/0~100%)。
A、B为485通信口(可组成1主机、63从机的485网络)。
COM1是Y00、Y01、Y02、Y03继电器输出的公用口。
COM2是Y10、Y11、Y12、Y13继电器输出的公用口。
③、串口:
RS232C,为编程口以及232串行的人机界面接口。
④、拨动开关:
用于运行(↓RUN)、编程(↑Program)转换。
、两线数码管驱动:
本PLC封装了对16个数码管的串行移位驱动,按照给定的硬件原理图制作的移位电路,可以动态显示16个数码管,其器件为三个74HC164,一个ULN2003。
电路原理图另行介绍。
二、指令集简介
、基本逻辑指令:
●助记符及名称:
LD:
读取常开点。
LDI:
读取常闭点。
AND:
串入常开点。
ANI:
串入常闭点。
OR:
并入常开点。
ORI:
并入常闭点。
ANB:
电路块串联。
ORB:
电路块并联。
OUT:
线圈输出。
SET:
线圈输出保持。
RST:
清除线圈输出。
PLS:
上升沿输出脉冲。
PLF:
下降沿输出脉冲。
LDP:
读取上升沿。
LDF:
读取下降沿。
ANDP:
上升沿接通,串联连接。
ANDF:
下降沿接通,串联连接。
ORP:
上升沿接通,并联连接。
ORF:
下降沿接通,并联连接。
INV:
运算触点取反。
MPS:
压栈。
MRD:
读栈。
MPP:
出栈。
MC:
主控。
MCR:
主控结束。
NOP:
空操作。
END:
程序结束。
●梯形图与指令表:
梯形图是电气控制的专业语言,方便编程人员编程。
运行时单片机是按指令表解释执行控制(扫描方式)。
梯形图与指令表二者自动相互转换。
下例是二者相互转换示意图。
、步进顺控指令:
●助记符及名称:
STL:
步进梯形图开始。
仅对状态继电器S。
步序间状态转移必须使用SETS,
不能用OUTS。
RET:
步进梯形图结束。
、基本功能指令:
●助记符及名称:
CJ:
条件跳转。
CALL:
子程序调用。
SRET:
子程序返回。
FEND:
主程序结束。
FOR:
循环开始。
NEXT:
循环结束。
******************
CMP:
比较。
MOV:
传送。
CML:
取反传送。
******************
ADD:
加法。
SUB:
减法。
MUL:
乘法。
DIV:
除法。
INC:
自加1运算。
DEC:
自减1运算。
WAND:
字与运算(按位)。
WOR:
字或运算(按位)。
WXOR:
字异或运算(按位)。
NEG:
取补运算。
******************
LD=:
读取“等于比较节点”。
LD>:
读取“大于比较节点”。
LD<:
读取“小于比较节点”。
LD<>:
读取“不等于比较节点”。
LD<=:
读取“小于等于比较节点”。
LD>=:
读取“大于等于比较节点”。
AND=:
串联“等于比较节点”。
AND>:
串联“大于比较节点”。
AND<:
串联“小于比较节点”。
AND<>:
串联“不等于比较节点”。
AND<=:
串联“小于等于比较节点”。
AND>=:
串联“大于等于比较节点”。
OR=:
并联“等于比较节点”。
OR>:
并联“大于比较节点”。
OR<:
并联“小于比较节点”。
OR<>:
并联“不等于比较节点”。
OR<=:
并联“小于等于比较节点”。
OR>=:
并联“大于等于比较节点”。
、专家功能指令:
●助记符及名称:
PID控制算法:
[PIDS1S2S3D](PID目标值测定值参数输出值)。
二、资源集简介(本控制器支持以下资源的8位、16位运算,不支持32位以上的编程和运算)
、输入X:
扩展数量:
50点。
标号范围:
X000-----X061;标号为8进制。
主板为X000~X017(K4X0),X060~X061(即H0~H1),扩展板X020~X057
、输出继电器Y:
扩展数量:
40点。
标号范围:
Y000-----Y047为8进制。
主板为Y000~Y007(K2Y0),扩展板Y010~Y047
、辅助继电器M:
数量:
640点
标号范围:
M0---M639;标号为十进制(M0~M17为增强型功能控制)。
、状态继电器S:
数量:
256点
标号范围:
S0---S255;标号为十进制。
、时间继电器T:
数量:
96点(M0为内部10mS时钟、M1为内部100mS时钟,数据分别在D0、D1中)
标号范围:
T0---T95;标号为十进制。
T0---T5,10ms型,计6点;
T6---T95,100ms型,计90点;
累加型:
T6---T10,100ms型,计5点;
、计数器C:
数量:
96点
标号范围:
C0---C95;标号为十进制。
、数据寄存器D:
数量:
628点
标号范围:
D0---D627;标号为十进制(D0~40为内部增强型功能占用)。
、变址寄存器V:
、变址寄存器Z:
、程序位置指针P:
数量:
50个
标号范围:
P0---P49;标号为十进制。
⑾、十进制常数标记K、H:
标号K后的常数为十进制常数。
标号H后的常数为十六进制常数。
如H10=K16。
、特殊软元件:
M8000:
程序运行时ON;
M8002:
程序开运行时第一个扫描周期时ON;
M8020:
零标志;
M8021:
借位标志;
M8022:
进位标志;
三、编程及应用简介
、编程软件
梯形图编程软件FXGP_WIN-C:
支持梯形图编程、下载、监控,可对嵌入式PLC产品设置加密口令。
、编程设备
个人计算机,操作系统可以是:
Windows95,Windows98,Windows2000,WindowsXP。
四、特殊资源说明:
(红色标注的是2007年6月以后版本的新功能,是以前版本中所没有的。
)
1.M0:
10mS基本脉冲发生器,数据在D0中;M1:
100mS基本脉冲发生器,数据在D1中。
2、D3456:
四路ADC输入,对应AD0~AD3(或差分放大)口,(是11位只读数据)。
3.D7D8:
两路DAC输出,最大值255。
0~255对应输出电压0~5V(与PWM输出共用)。
2007-7月后D7、D8改为12位(0~4096)寄存器,相应提高了DA输出和PWM输出的精度。
4.D9(1、2两个数码管);D10(3、4两个数码管);D11(5、6两个数码管);D12(7、8两个数码管);D14(9、10两个数码管);D15(11、12两个数码管);D16(13、14两个数码管);D17(15、16两个数码管);
5.M9、M10、M11、M12、M14、M15、M16、M17控制对应位置的数码管亮或灭。
6.M2:
函数调用D2=1写FLASH;D2=2读FLASH;D19为读入/写出起始地址,D2=0无动作,D2021222324252627为读入/写出FLASH专用缓冲区;FLASH地址为0~1000。
7.M4=1启动高速计数0,A+B相法:
A接H0,B接X0;M4=0,H0为普通开关量输入X060。
M5=1启动高速计数1,A+B相法:
A接H1,B接X1;M5=0,H1为普通开关量输入X061。
D2829高速计数H0数据寄存器;D31D32高速计数H1数据寄存器(高8位仅盼正负用)。
范围D28=0~32767,D29=-32767~+32767,D31=0~32767,D32=-32767~+32767。
8.D34=255为485网络主控制器;D34=1~63为485网络从控制器。
当M8=1时,启动485网络功能,反之,当M8=0时,关闭485网络功能。
9.D35为485网络读从站报文起始地址;D36为报文个数,最多63个;D37每个报文长度(字节),最长8个字节,4个数据字。
10.D38为485网络写从站报文起始地址;D39为报文个数,最多63个;D40每个报文长度(字节),最长8个字节,4个数据字。
11.D41、D42、D43、D44表示0~63个节点网络在线情况,0表示不在线,1表示在线.。
12·掉电瞬间保存数据:
M6=1设定H0为掉电检测中断,M4=1,H0接GND,5V与GND间接4000UF电容,掉电瞬间,进入中断,将D20D21D22D23四个数据写入D19位起始的FLASH中。
特别注意:
M4=1,M6=1时,H0不能接编码器。
(2007年6月新增自动写入功能)
M0:
10mS脉冲发生器;M1:
100mS脉冲发生器;M2:
函数调用D2=1写FLASH;D2=2读FLASH;
M4=1启动高速计数0;M5=1启动高速计数1;M6=1设定H0为掉电检测中断;
第二章指令解说
一、逻辑指令
助记符、名称
功能
可用软元件
程序步
LD取
常开触点逻辑运算开始
X,Y,M,S,T,C
1
LDI取反
常闭触点逻辑运算开始
X,Y,M,S,T,C
1
LDP取脉冲上升沿
上升沿检出运算开始
X,Y,M,S,T,C
2
LDF取脉冲下降沿
下降沿检出运算开始
X,Y,M,S,T,C
2
OUT输出
线圈驱动
Y,M,S,T,C
见说明
●LD,LDI,LDP,LDF指令将触点连接到母线上。
多个分支用ANB,ORB时也使用。
●LDP指令在上升沿(软元件由OFF到ON变化时)接通一个周期;LDF指令在下降沿(软元件由ON到OFF变化时)接通一个周期。
●LD,LDI,LDP,LDF指令的重复使用次数在8次以下。
即与后面的ANB,ORB指令使用时串并连使用的最多次数为8个。
●软元件为Y和一般M的程序步为1,S和特殊辅助继电器M的程序步为2,定时器T的程序步为3,计数器C的程序步为3-5。
●OUT指令各种软元件的线圈驱动,但对输入继电器不能使用。
并列的OUT可多次连续使用。
●OUT指令驱动计数器时,当前面的线圈从ON变成OFF,或者是从OFF变成ON时,计数器才加一。
●用LD,LDI,LDP,LDF指令与母线连接。
输出使用OUT指令驱动线圈。
●使用OUT指令驱动定时器的计时线圈或者计数器的计数线圈时,必须设定定时和计数的时间和计数的值,可以是常数K,或者由数据寄存器间接指定数值。
●每个程序结束必须要有END指令,关于END指令详见后面的END指令介绍。
助记符、名称
功能
可用软元件
程序步
AND与
常开触点串联连接
X,Y,M,S,T,C
1
ANI与非
常闭触点串联连接
X,Y,M,S,T,C
1
ANDP与脉冲上升沿
上升沿检出串联连接
X,Y,M,S,T,C
2
ANDF与脉冲下降沿
下降沿检出串联连接
X,Y,M,S,T,C
2
●AND,ANI,ANDP,ANDF指令只能串接一个触点,两个以上的并联回路串联时使用后面的ANB指令。
串联次数不受限制。
●ANDP,ANDF指令在上升沿(即软元件由ON到OFF变化时)和下降沿即(软元件由OFF到ON变化时)接通一个周期。
助记符、名称
功能
可用软元件
程序步
OR或
常开触点并联连接
X,Y,M,S,T,C
1
ORI或非
常闭触点并联连接
X,Y,M,S,T,C
1
ORP或脉冲上升沿
上升沿检出并联连接
X,Y,M,S,T,C
2
ORF或脉冲下降沿
下降沿检出并联连接
X,Y,M,S,T,C
2
●OR,ORI,ORP,ORF指令只能并接一个触点,两个以上的串联回路并联时使用后面的ORB指令。
●ORP,ORF指令在上升沿(即软元件由OFF到ON变化时)和下降沿(即软元件由ON到OFF变化时)接通一个周期。
●OR,ORI,ORP,ORF指令和前面的LD,LDI,LDP,LDF指令一起使用,并联次数不受限制。
助记符、名称
功能
可用软元件
程序步
ANB块与
并联回路块的串联连接
1
ORB块或
串联回路块的并联连接
1
●当多分支回路与前面的回路串联连接时,使用ANB指令。
分支以LD,LDI,LDP,LDF指令作为起点,使用ANB指令与前面以LD,LDI,LDP,LDF指令作为起点的分支串联连接。
●当2个以上的触点串接的串联回路块并联连接时,每个分支使用LD,LDI指令开始,ORB指令结束。
●ANB,ORB指令都是不带软元件的指令。
●ANB,ORB使用的并串联回路的个数不受限制,但是当成批使用时,必须考虑LD,LDI的使用次数在8次以下。
●在每个分支的最后使用ORB指令,不要在所有的分支后面使用ORB指令,
●
ORB和ANB指令只是对块的连接,如果不是块就不能使用,如程序步16和18不是块就不能使用。
编程示例:
0LDX000
1ANIX001
2LDIX002
3ANDX003
4ORB
5LDX004
6ANDX005
7ORB
8OUTY000
9LDX006
10ORX007
11LDX010
12ANIX011
13LDIX012
14ANDX013
15ORB
16ORIX014
17ANB
18ORX015
19OUTY001
20END
助记符、名称
功能
可用软元件
程序步
INV取反
运算结果的反转
1
●INV指令是将INV指令之前,LD,LDI,LDP,LDF指令之后的运算结果取反的指令,没有软元件。
助记符、名称
功能
可用软元件
程序步
PLS上升沿脉冲
上升沿输出
Y,M(特殊M除外)
1
PLF下降沿脉冲
下降沿输出
Y,M(特殊M除外)
1
●使用PLS指令时,只在线圈由OFF变成ON的一个扫描周期内,驱动软元件。
●使用PLF指令时,只在线圈由ON变成OFF的一个扫描周期内,驱动软元件。
●对具有停电保持功能的软元件,它只在第一次运行时产生脉冲动作。
助记符、名称
功能
可用软元件
程序步
SET置位
动作保持
Y,M,S
见说明
RST复位
清除动作保持,寄存器清零
Y,M,S,T,C,D,V,Z
●软元件为Y和一般M的程序步为1,S和特殊辅助继电器M、定时器T、计数器C的程序步为2,数据寄存器D以及变址寄存器V和Z的程序步为3。
●SET指令在线圈接通的时候就对软元件进行置位,只要置位了,除非用RST指令复位,否则将保持为1的状态。
同样,对RST指令只要对软元件复位,将保持为0的状态,除非用SET指令置位。
●对同一软元件,SET,RST指令可以多次使用,顺序随意,但是程序最后的指令有效。
●RST指令可以对数据寄存器(D),变址寄存器(V,Z),定时器(T)和计数器(C),不论是保持还是非保持的都可以复位置零。
助记符、名称
功能
可用软元件
程序步
NOP空操作
无动作
1
END结束
输入输出及返回到开始
1
●程序清除时指令变为NOP指令,指令之间加入NOP指令,程序对他不做任何事情,继续向下执行,只是增加了程序的步数。
●每个程序必须有一个且只有一个END指令,表示程序的结束。
PLC不断反复进行如下操作:
输入处理,从程序的0步开始执行直到END指令,程序处理结束,接着进行输出刷新。
然后开始循环操作。
助记符、名称
功能
可用软元件
程序步
MPS压栈
运算存储
1
MRD读栈
存储读出
1
MPP出栈
存储读出与复位
1
●嵌入式PLC中有11个栈空间,也就是说可以压栈的最大深度为11级。
每使用一次MPS将当前结果压入第一段存储,以前压入的结果依次移入下一段。
MPP指令将第一段读出,并且删除它,同时以下的单元依次向前移。
MRD指令读出第一段,但并不删除它。
其他单元保持不变。
使用这三条指令可以方便多分支的编程。
●在进行多分支编程时,MPS保存前面的计算结果,以后的分支可以利用MRD,MPP从栈中读出前面的计算结果,再进行后面的计算。
最后一个分支必须用MPP,保证MPS,MPP使用的次数相同。
注意,使用MPP以后,就不能再使用MRD读出运算结果,也就是MPP必须放在最后的分支使用。
●MRD指令可以使用多次,没有限制。
MPS连续使用的最多次数为11,但是可以多次使用。
每个MPS指令都有一个MPP指令对应,MPP的个数不能多于MPS的个数。
助记符、名称
功能
可用软元件
程序步
MC主控
公共串联点的连接线圈指令
Y,M(特殊M除外)
3
MCR主控复位
公共串联点的消除指令
2
●当前面的触点接通时,就执行MC到MCR的指令。
执行MC指令时,母线向MC触点后移动,执行MCR指令返回母线。
●使用MC指令时,嵌套级N的编号按顺序依次增大,也就是说只有使用N0,才能嵌套N1。
相反使用MCR指令时,必须从大往小返回母线。
最大嵌套级数为7级(N6)。
●通过不同的软元件Y,M,可以多次使用MC指令,如果使用相同的软元件,将同OUT指令一样,会出现双线圈输出。
●当MC可执行时,执行MC,MCR之间的指令,当MC断开时,成为如下两种形式。
现状保持:
累积定时器的值,计数器的值,用SET/RST指令驱动的软元件。
变为断开的元件:
非累积定时器的值,用OUT指令驱动的软元件。
助记符、名称
功能
可用软元件
程序步
STL
步序动作开始
S
1
RET
步序动作结束
无
1
步进控制方式(STL)是将控制被划分为多个工序状态(S),依据条件进行状态转移(SET),逐步完成控制过程。
步进控制方式的特点是将复杂控制分步后,分别考虑好每一步的控制,从而降低了各步的关联,降低编程的复杂程度。
各状态内执行的动作由梯形图其它指令编写。
STL是一个步序动作的开始指令。
RET是一个步序动作的结束指令,其后指令返回母线。
●SETSi是STL状态发生转移的唯一指令
●规定:
子程序内不能使用STL----RET指令。
●当前状态(S0)向下一个状态(S1)转移时,该扫描周期两个状态内的动作均得到执行;下一扫描周期执行时,当前状态(S0)被下一状态(S1)所复位,当前状态(S0)内的所有动作不被执行,所有OUT元件的输入均被断开。
步序与步序之间一般省去RET,因此看起来是多个STL可共用一个RET。
有STL而没有RET,程序检查出错。
示例说明:
一个简易保安系统,在规定次数(如5次)的范围内,若密码不正确将启动报警系统,并关闭安全通道。
若规定的次数内密码正确,进入密级操作。
流程示意图:
梯形图:
二、功能指令
下面功能指令中的操作数符号表示方法及解释。
:
表示数据源。
内容不随指令执行而变化的操作数称为源。
在可变址修改软元件编号的情况下,加上“·”符号的表示。
源的数量多时,以、等表示。
:
表示目标操作数。
内容随指令执行而改变的操作数被称作目标。
可作变址修饰时,加上“·”符号的表示.
在目标数量多时,以、等表示。
:
以或表示既不做源,也不做目标的操作数。
这样的操作数数量很多时,以 、 、 、 等表示。
可用作操作数的软元件
A、X,Y,M,S等位元件。
B、位元件组合。
以KnX,KnY,KnM,KnS等形式表示,作为数值处理。
C、数据寄存器D、定时器T的当前值寄存器、计数器C的当前值寄存器。
●数据寄存器D为16位,在处理32位数据时使用一对数据寄存器的组合。
例如,将数据寄存器D0指定为32位指令的操作数时,处理(D1,D0)32位数据(D1为高16位,D0为低16位)。
●T、C的当前值寄存器也可作为一般寄存器处理。
1、程序流程
分类
指令助记符
功能
页码
程
序
流
程
CJ
条件跳转
CALL
子程序调用
SRET
子程序返回
FEND
主程序结束
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一起 PLC
![提示](https://static.bdocx.com/images/bang_tan.gif)