❶ plc编程口诀是什么
plc编程口诀如下:
1、位置控制指令,每次回原点或者开始的瞬间清零当前位置。
2、位置控制在回到原始位置的时候,一定要用回原点指令,不可以走数据。
3、位置控制时,最好用脉冲+方向控制,尽量不要使用双脉冲。
4、有用到上升沿或下降沿的时候,触点必须放在输出线圈的后面。
5、仅有两个取值,0或1、ON或OFF。
特点:
PLC由继电控制引入微处理技术后发展而来的,可方便及可靠地用于开关量控制。由于模拟量可转换成数字量,数字量只是多位的开关量,故经转换后的模拟量,PLC也完全可以可靠地进行处理控制。
PLC脉冲量的控制目的主要是位置控制、运动控制、轨迹控制等。例如:脉冲数在角度控制中的应用。步进电机驱动器的细分是每圈10000,要求步进电机旋转90度。那么所要动作的脉冲数值=10000/(360/90)=2500。
❷ s7—200plc指令功能
S7-200的功能指令很丰富,大致包括这几方面:算术与逻辑运算、传送、移位与循环移位、程序流控制、数据表处理、PID指令、数据格式变换、高速处理、通信以及实时时钟等。
功能指令的助记符与汇编语言相似,略具计算机知识的人学习起来也不会有太大困难。但S7-200系列PLC功能指令毕竟太多,一般读者不必准确记忆其详尽用法,需要时可可查阅产品手册。
表4-20 四则运算指令
名称
指令格式
(语句表)
功能
操作数寻址范围
加法指令
+I IN1,OUT
两个16位带符号整数相加,得到一个16位带符号整数。
执行结果:IN1+OUT=OUT(在LAD和FBD中为:IN1+IN2=OUT)
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD
IN1和IN2还可以是AIW和常数
+D IN1,IN2
两个32位带符号整数相加,得到一个32位带符号整数。
执行结果:IN1+OUT=OUT(在LAD和FBD中为:IN1+IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2还可以是HC和常数
+R IN1,OUT
两个32位实数相加,得到一个32位实数。
执行结果:IN1+OUT=OUT(在LAD和FBD中为:IN1+IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2还可以常数
减法指令
-I IN1,OUT
两个16位带符号整数相减,得到一个16位带符号整数。
执行结果:OUT-IN1=OUT(在LAD和FBD中为:IN1-IN2=OUT)
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD
IN1和IN2还可以是AIW和常数
-D IN1,OUT
两个32位带符号整数相减,得到一个32位带符号整数。
执行结果:OUT-IN1=OUT(在LAD和FBD中为:IN1-IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2还可以是HC和常数
-R IN1,OUT
两个32位实数相加,得到一个32位实数。
执行结果:OUT-IN1=OUT(在LAD和FBD中为:IN1-IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2还可以常数
乘法指令
*I IN1,OUT
两个16位符号整数相乘,得到一个16整数。
执行结果:IN1*OUT=OUT(在LAD和FBD中为:IN1*IN2=OUT)
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD
IN1和IN2还可以是AIW和常数
MUL IN1,OUT
两个16位带符号整数相乘,得到一个32位带符号整数。
执行结果:IN1*OUT=OUT(在LAD和FBD中为:IN1*IN2=OUT)
IN1,IN2:VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD和常数
OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
*D IN1,OUT
两个32位带符号整数相乘,得到一个32位带符号整数。
执行结果:IN1*OUT=OUT(在LAD和FBD中为:IN1*IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2还可以是HC和常数
*R IN1,OUT
两个32位实数相乘,得到一个32位实数。
执行结果:IN1*OUT=OUT(在LAD和FBD中为:IN1*IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2还可以是常数
除法指令
/I IN1,OUT
两个16位带符号整数相除,得到一个16位带符号整数商,不保留余数。
执行结果:OUT/IN1=OUT(在LAD和FBD中为:IN1/IN2=OUT)
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD
IN1和IN2还可以是AIW和常数
DIV IN1,OUT
两个16位带符号整数相除,得到一个32位结果,其中低16位为商,高16位为结果。
执行结果:OUT/IN1=OUT(在LAD和FBD中为:IN1/IN2=OUT)
IN1,IN2:VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD和常数
OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
/D IN1,OUT
两个32位带符号整数相除,得到一个32位整数商,不保留余数。
执行结果:OUT/IN1=OUT(在LAD和FBD中为:IN1/IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2还可以是HC和常数
/R IN1,OUT
两个32位实数相除,得到一个32位实数商。
执行结果:OUT/IN1=OUT(在LAD和FBD中为:IN1/IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2还可以是常数
数学函数指令
SQRT IN,OUT
把一个32位实数(IN)开平方,得到32位实数结果(OUT)
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN还可以是常数
LN IN,OUT
对一个32位实数(IN)取自然对数,得到32位实数结果(OUT)
EXP IN,OUT
对一个32位实数(IN)取以e为底数的指数,得到32位实数结果(OUT)
SIN IN,OUT
分别对一个32位实数弧度值(IN)取正弦、余弦、正切,得到32位实数结果(OUT)
COS IN,OUT
TAN IN,OUT
增减指令
INCB OUT
将字节无符号输入数加1
执行结果:OUT+1=OUT(在LAD和FBD中为:IN+1=OUT)
IN,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
IN还可以是常数
DECB OUT
将字节无符号输入数减1
执行结果:OUT-1=OUT(在LAD和FBD中为:IN-1=OUT)
INCW OUT
将字(16位)有符号输入数加1
执行结果:OUT+1=OUT(在LAD和FBD中为:IN+1=OUT)
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
IN还可以是AIW和常数
DECW OUT
将字(16位)有符号输入数减1
执行结果:OUT-1=OUT(在LAD和FBD中为:IN-1=OUT)
INCD OUT
将双字(32位)有符号输入数加1
执行结果:OUT+1=OUT(在LAD和FBD中为:IN+1=OUT)
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN还可以是HC和常数
DECD OUT
将字(32位)有符号输入数减1
执行结果:OUT-1=OUT(在LAD和FBD中为:IN-1=OUT)
表4-21 逻辑运算指令
名称
指令格式
(语句表)
功能
操作数
字节逻辑运算指令
ANDB IN1,OUT
将字节IN1和OUT按位作逻辑与运算,OUT输出结果
IN1,IN2,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
IN1和IN2还可以是常数
ORB IN1,OUT
将字节IN1和OUT按位作逻辑或运算,OUT输出结果
XORB IN1,OUT
将字节IN1和OUT按位作逻辑异或运算,OUT输出结果
INVB OUT
将字节OUT按位取反,OUT输出结果
字逻辑运算指令
ANDW IN1,OUT
将字IN1和OUT按位作逻辑与运算,OUT输出结果
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
IN1和IN2还可以是AIW和常数
ORW IN1,OUT
将字IN1和OUT按位作逻辑或运算,OUT输出结果
XORW IN1,OUT
将字IN1和OUT按位作逻辑异或运算,OUT输出结果
INVW OUT
将字OUT按位取反,OUT输出结果
双字逻辑运算指令
ANDD IN1,OUT
将双字IN1和OUT按位作逻辑与运算,OUT输出结果
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2还可以是HC和常数
ORD IN1,OUT
将双字IN1和OUT按位作逻辑或运算,OUT输出结果
XORD IN1,OUT
将双字IN1和OUT按位作逻辑异或运算,OUT输出结果
INVD OUT
将双字OUT按位取反,OUT输出结果
表4-22 数据传送指令
名称
指令格式
(语句表)
功能
操作数
单一传送指令
MOVB IN,OUT
将IN的内容拷贝到OUT中
IN和OUT的数据类型应相同,可分别为字,字节,双字,实数
IN,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
IN还可以是常数
MOVW IN,OUT
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
IN还可以是AIW和常数
OUT还可以是AQW
MOVD IN,OUT
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN还可以是HC,常数,&VB,&IB,&QB,&MB,&T,&C
MOVR IN,OUT
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN还可以是常数
BIR IN,OUT
立即读取输入IN的值,将结果输出到OUT
IN:IB
OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
BIW IN,OUT
立即将IN单元的值写到OUT所指的物理输出区
IN:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数
OUT:QB
块传送指令
BMB IN,OUT,N
将从IN开始的连续N个字节数据拷贝到从OUT开始的数据块
N的有效范围是1~255
IN,OUT:VB,IB,QB,MB,SB,SMB,LB,*VD,*AC,*LD
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数
BMW IN,OUT,N
将从IN开始的连续N个字数据拷贝到从OUT开始的数据块
N的有效范围是1~255
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,*VD,*AC,*LD
IN还可以是AIW
OUT还可以是AQW
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数
BMD IN,OUT,N
将从IN开始的连续N个双字数据拷贝到从OUT开始的数据块
N的有效范围是1~255
IN,OUT:VD,ID,QD,MD,SD,SMD,LD, *VD,*AC,*LD
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数
表4-23 移位与循环移位指令
名称
指令格式
(语句表)
功能
操作数
字节移位指令
SRB OUT,N
将字节OUT右移N位,最左边的位依次用0填充
IN,OUT,N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
IN和N还可以是常数
SLB OUT,N
将字节OUT左移N位,最右边的位依次用0填充
RRB OUT,N
将字节OUT循环右移N位,从最右边移出的位送到OUT的最左位
RLB OUT,N
将字节OUT循环左移N位,从最左边移出的位送到OUT的最右位
字移位指令
SRW OUT,N
将字OUT右移N位,最左边的位依次用0填充
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
IN还可以是AIW和常数
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数
SLW OUT,N
将字OUT左移N位,最右边的位依次用0填充
RRW OUT,N
将字OUT循环右移N位,从最右边移出的位送到OUT的最左位
RLW OUT,N
将字OUT循环左移N位,从最左边移出的位送到OUT的最右位
双字移位指令
SRD OUT,N
将双字OUT右移N位,最左边的位依次用0填充
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN还可以是HC和常数
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数
SLD OUT,N
将双字OUT左移N位,最右边的位依次用0填充
RRD OUT,N
将双字OUT循环右移N位,从最右边移出的位送到OUT的最左位
RLD OUT,N
将双字OUT循环左移N位,从最左边移出的位送到OUT的最右位
位移位寄存器指令
SHRB DATA,S_BIT,N
将DATA的值(位型)移入移位寄存器;S_BIT指定移位寄存器的最低位,N指定移位寄存器的长度(正向移位=N,反向移位=-N)
DATA,S_BIT:I,Q,M,SM,T,C,V,S,L
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数
表4-24 交换和填充指令
名称
指令格式
(语句表)
功能
操作数
换字节指令
SWAP IN
将输入字IN的高位字节与低位字节的内容交换,结果放回IN中
IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
填充指令
FILL IN,OUT,N
用输入字IN填充从OUT开始的N个字存储单元
N的范围为1~255
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
IN还可以是AIW和常数
OUT还可以是AQW
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数
表4-25 表操作指令
名称
指令格式
(语句表)
功能
操作数
表存数指令
ATT DATA,TABLE
将一个字型数据DATA添加到表TABLE的末尾。EC值加1
DATA,TABLE:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
DATA还可以是AIW,AC和常数
表取数指令
FIFO TABLE,DATA
将表TABLE的第一个字型数据删除,并将它送到DATA指定的单元。表中其余的数据项都向前移动一个位置,同时实际填表数EC值减1
DATA,TABLE:VW,IW,QW,MW,SW,SMW,LW,T,C, *VD,*AC,*LD
DATA还可以是AQW和AC
LIFO TABLE,DATA
将表TABLE的最后一个字型数据删除,并将它送到DATA指定的单元。剩余数据位置保持不变,同时实际填表数EC值减1
表查找指令
FND= TBL,PTN,INDEX
FND<> TBL,PTN,INDEX
FND< TBL,PTN,INDEX
FND> TBL,PTN,INDEX
搜索表TBL,从INDEX指定的数据项开始,用给定值PTN检索出符合条件(=,<>,<,>)的数据项
如果找到一个符合条件的数据项,则INDEX指明该数据项在表中的位置。如果一个也找不到,则INDEX的值等于数据表的长度。为了搜索下一个符合的值,在再次使用该指令之前,必须先将INDEX加1
TBL:VW,IW,QW,MW,SMW,LW,T,C, *VD,*AC,*LD
PTN,INDEX:VW,IW,QW,MW,SW,SMW,LW,T,C,AC, *VD,*AC,*LD
PTN还可以是AIW和AC
表4-26 数据转换指令
名称
指令格式
(语句表)
功能
操作数
数据类型转换指令
BTI IN,OUT
将字节输入数据IN转换成整数类型,结果送到OUT,无符号扩展
IN:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数
OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
ITB IN,OUT
将整数输入数据IN转换成一个字节,结果送到OUT。输入数据超出字节范围(0~255)则产生溢出
IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,*VD,*AC,*LD,常数
OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
DTI IN,OUT
将双整数输入数据IN转换成整数,结果送到OUT。
IN:VD,ID,QD,MD,SD,SMD,LD,HC,AC,*VD,*AC,*LD,常数
OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
ITD IN,OUT
将整数输入数据IN转换成双整数(符号进行扩展),结果送到OUT
IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,*VD,*AC,*LD,常数
OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
ROUND IN,OUT
将实数输入数据IN转换成双整数,小数部分四舍五入,结果送到OUT
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN还可以是常数
在ROUND指令中IN还可以是HC
TRUNC IN,OUT
将实数输入数据IN转换成双整数,小数部分直接舍去,结果送到OUT
DTR IN,OUT
将双整数输入数据IN转换成实数,结果送到OUT
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN还可以是HC和常数
BCDI OUT
将BCD码输入数据IN转换成整数,结果送到OUT。IN的范围为0~9999
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
IN还可以是AIW和常数
AC和常数
IBCD OUT
将整数输入数据IN转换成BCD码,结果送到OUT。IN的范围为0~9999
编码译码指令
ENCO IN,OUT
将字节输入数据IN的最低有效位(值为1的位)的位号输出到OUT指定的字节单元的低4位
IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,*VD,*AC,*LD,常数
OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
DECO IN,OUT
根据字节输入数据IN的低4位所表示的位号将OUT所指定的字单元的相应位置1,其它位置0
IN:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数
IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AQW,AC,*VD,*AC,*LD
段码指令
SEG IN,OUT
根据字节输入数据IN的低4位有效数字产生相应的七段码,结果输出到OUT,OUT的最高位恒为0
IN,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
IN还可以是常数
字符串转换指令
ATH IN,OUT,LEN
把从IN开始的长度为LEN的ASCⅡ码字符串转换成16进制数,并存放在以OUT为首地址的存储区中。合法的ASCⅡ码字符的16进制值在30H~39H,41H~46H之间,字符串的最大长度为255个字符
IN,OUT,LEN:VB,IB,QB,MB,SB,SMB,LB,*VD,*AC,*LD
LEN还可以是AC和常数
表4-27 特殊指令
名称
指令格式
(语句表)
功能
操作数
中断指令
ATCH INT,EVNT
把一个中断事件(EVNT)和一个中断程序联系起来,并允许该中断事件
INT:常数
EVNT:常数(CPU221/222:0~12,19~23,27~33;CPU224:0~23,27~33;CPU226:0~33)
DTCH EVNT
截断一个中断事件和所有中断程序的联系,并禁止该中断事件
ENI
全局地允许所有被连接的中断事件
无
DISI
全局地关闭所有被连接的中断事件
CRETI
根据逻辑操作的条件从中断程序中返回
RETI
位于中断程序结束,是必选部分,程序编译时软件自动在程序结尾加入该指令
通信指令
NETR TBL,PORT
初始化通讯操作,通过指令端口(PORT)从远程设备上接收数据并形成表(TBL)。可以从远程站点读最多16个字节的信息
TBL:VB,MB,*VD,*AC,*LD
PORT:常数
NETW TBL,PORT
初始化通讯操作,通过指定端口(PORT)向远程设备写表(TBL)中的数据,可以向远程站点写最多16个字节的信息
XMT TBL,PORT
用于自由端口模式。指定激活发送数据缓冲区(TBL)中的数据,数据缓冲区的第一个数据指明了要发送的字节数,PORT指定用于发送的端口
TBL:VB,IB,QB,MB,SB,SMB,*VD,*AC,*LD
PORT:常数(CPU221/222/224为0;CPU226为0或1)
RCV TBL,PORT
激活初始化或结束接收信息的服务。通过指定端口(PORT)接收的信息存储于数据缓冲区(TBL),数据缓冲区的第一个数据指明了接收的字节数
GPA ADDR,PORT
读取PORT指定的CPU口的站地址,将数值放入ADDR指定的地址中
ADDR:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
在SPA指令中ADDR还可以是常数
PORT:常数
SPA ADDR,PORT
将CPU口的站地址(PORT)设置为ADDR指定的数值
时钟指令
TODR T
读当前时间和日期并把它装入一个8字节的缓冲区(起始地址为T)
T:VB,IB,QB,MB,SB,SMB,LB,*VD,*AC,*LD
TODW T
将包含当前时间和日期的一个8字节的缓冲区(起始地址是T)装入时钟
高速计数器指令
HDEF HSC,MODE
为指定的高速计数器分配一种工作模式。每个高速计数器使用之前必须使用HDEF指令,且只能使用一次
HSC:常数(0~5)
MODE:常数(0~11)
HSC N
根据高速计数器特殊存储器位的状态,按照HDEF指令指定的工作模式,设置和控制高速计数器。N指定了高速计数器号
N:常数(0~5)
高速脉冲输出指令
PLS Q
检测用户程序设置的特殊存储器位,激活由控制位定义的脉冲操作,从Q0.0或Q0.1输出高速脉冲
可用于激活高速脉冲串输出(PTO)或宽度可调脉冲输出(PWM)
Q:常数(0或1)
PID回路指令
PID TBL,LOOP
运用回路表中的输入和组态信息,进行PID运算。要执行该指令,逻辑堆栈顶(TOS)必须为ON状态。TBL指定回路表的起始地址,LOOP指定控制回路号
回路表包含9个用来控制和监视PID运算的参数:过程变量当前值(PVn),过程变量前值(PVn-1),给定值(SPn),输出值(Mn),增益(Kc),采样时间(Ts),积分时间(Ti),微分时间(Td)和积分项前值(MX)
为使PID计算是以所要求的采样时间进行,应在定时中断执行中断服务程序或在由定时器控制的主程序中完成,其中定时时间必须填入回路表中,以作为PID指令的一个输入参数
TBL
❸ PLC编程的入门
PLC是一种在工业中被广泛应用的自动控制元件。然而PLC应用与编程人才短缺已经成为制约我国自动控制领域发展的瓶颈。通过学习PLC可编程控制器程序设计使学员掌握可编程序控制器的工作原理和PLC控制系统硬件软件的设计方法,可编写复杂的PLC程序,为从事PLC控制系统的设计、调试和改造工作打下基础。可以独立承担相关项目的设计与开发。让您由一位电工升级为货真价实的工程师!
随着现代工业设备自动化,越来越多的工厂设备将采用PLC人机界面等自动化器件来控制,因此设备自动化程度越来越高。对设备的维护人员的技术要求越来越严格。作为一名合格的技术员,需要掌握的技能也越来越多,越来越全面性,以此来满足自动化的发展及要求,学习PLC编程一点也不难。有的初学者在理论上花了很多功夫,结果半年下来还是没有把PLC搞懂,其实他们只是缺少了一些PLC的实践经验,只要再进行一些实际的梯形图编写、程序下载、调试等操作,增加对PLC的感性认识,很快就可以掌握PLC这项技术了。开始阶段可以先学习一种品牌的PLC,因为所有的PLC原理都是差不多的,掌握了一种PLC其它的只要翻阅一下手册也就能上手使用了。初学时可以编一些简单的梯形图,如触点的与、或、输出等,在PLC的机器里运行一下。成功了就会增加你学习的兴趣、和信心。然后再把PLC的主要功能逐个运用一次,比如高速计数器,你可以用PLC本身的脉冲输出端接到高速计数器的输入端,下载编好的梯形图,打开变量观察窗口,运行程序,观察计数的值是否正确。经过了这样的实践,你基本上知道PLC到底能做哪些事情了,在实际的工控应用中就能做到胸有成竹了。1.电工原理和电机原理一定要懂,简单的就记背也要背下来,比如马达容量1KW2A,正反转,星三角接线,电线容量。电阻,电感,电容的特性等2.液压和气动也要掌握,比如压力换算,压力和电流的比例换算,这在有压力控制上都要用到3. 电线截面要会看,线拿到手就知道几平方的,还有什么电器上该用什么线,比如马达就用4线的,3根主线1根接地。从变频器上出来的要用屏蔽线。4. 机修也要会做,特别是螺丝,一看就知道用几的内角扳手或外六角扳手(别小看了它,平常维修固定螺丝是少不了它的,这样能节约时间)5. PLC编程自己可以模拟编,简单的如红绿灯,控制小车走等6. 做人要会做,要谦虚,不可能你样样都会。7. 心态要好,保持一颗平常的心8. 平常要多干,就是在苦在累也要,这样技术才能学到手能解决实际问题,反之你只不过是纸上谈兵对于做项目的1. 四大常用PLC要会,基本指令和功能指令要熟2. 通讯接口要懂3.电气市场行情要熟,好的和坏的要会区分,列如买到个2手40点的PLC怎么判断它是好的呢?4.变频器和单片机要懂,变频调速和伺服控制要懂5. 常用电器元件和传感器要知道6. 要会CAD电气制图。
PLC扫描周期和响应时间
PLC在运行状态时,执行一个扫描操作所需要的时间为一个周期,这个是PLC的重要指标之一,其值为0.5~100ms。
扫描周期T=(输入—点时间*输入端子数)+(指令执行速度*指令的条数)+(输出一点时间*输出端子数)+故障诊断时间+通讯时间
从上式可看出,扫描周期已经决定了:
1.CPU执行指令的速度
2.执行每条指令所占用的时间
3.程序中指令条数的多少
指令执行所需的时间和用户程序的长短、指令的种类和CPU执行速度是有很大关系,一般来说,一个扫描的过程中,故障诊断时间,通信时间,输入采样和输出刷新所占的时间较少,执行的时间是占了绝大部分。
PLC的响应时间是指PLC外部输出信号的改变时刻起止由它控制的有关外部输出信号变化的时刻之间的间隔,称为滞后时间,这个是由输入电路时间常数,输出电路的时间常数,用户语句的安排和指令的使用,plc的循环扫描方式及PLC对I/O的刷新方式等部分组成。这个现象称为I/O延迟时间效应。
由于PLC的这种周期循环扫描工作方式,决定了相应时间的长短与收到输入信号的时刻有关。相应时间就分为最短和最长。
(1)最短的响应时间
如果在一个扫描周期刚结束之前收到一个输入信号,在下一个扫描周期之前输入采样阶段,这个信号也就被采样,是输入更新,这个响应时间最短。
(2)最长响应时间
如果收到的是一个输入信号经输入延迟后,刚好错过了I/O刷新的时间,在该周期内输入信号就被视为无效,就要等下一个扫描周期才会被读入,这个时间是最长的了。
❹ 三菱plc编程指令
展开全部
以下是三菱plc常用的指令,还有不懂的可以问我一程序流程控制指令—FNC00~09
00CJ条件转移
01CALL子程序调用
02SRET子程序返回
03IRET中断返回
04EI开中断
05DI关中断
06FEND主程序结束
07WDT监控定时器刷新
08FOR循环开始
09NEXT循环结束
二传送、比较指令—FNC10~19BIN----二进制BCD----十进制
10CMP比较
11ZCP区间比较
12MOV传送
13SMOVBCD码移位传送
14CML取反传送
15BMOV数据块传送(n点→n点)
16FMOV多点传送(1点→n点)
17XCH数据交换,(D0)←→(D2)
18BCDBCD变换,BIN→BCD
19BINBIN变换,BCD→BIN
三算术、逻辑运算指令—FNC20~29BIN----二进制BCD----十进制
20ADDBIN加法
21SUBBIN减法
22MULBIN乘法
23DIVBIN除法
24INCBIN加一
25DECBIN减一
26WAND字与
27WOR字或
28WXOR字异或
29NEG求BIN补码
四循环、移位指令—FNC30~39
30ROR循环右移
31ROL循环左移
32RCR带进位循环右移
33RCL带进羡冲位循环左移
34SFTR位右移
35SFTL位左移
36WSFR字右移
37WSFL字左移
38SFWRFIFO写入
39SFRDFIFO读出
五数据处理指令—FNC40~49
40ZRST区间复位
41DECO解码
42ENCO编码
43SUM求置ON位总数
44BONON位判别
45MEAN求平均值
46ANS信号报警器标志置位
47ANR信号报警器标志复位
48SQRBIN平方根
49FLTBIN整数→BIN浮点数六高速处理指令—FNC50~59
50REF输入输出刷新
51REFF输入滤波时间常数调整
52MTR矩阵输入
53HSCS高速记数器比较置位
54HSCR高速记数器比较复位
55HSZ高速记数器区间比较
56SPD速度检测
57PLSY脉冲输出
58PWM脉冲宽度调制
59PLSR带加减速功能的脉冲输出
七方便指令—FNC60~69
60IST状态初始化
61SER数据搜索
62ABSD绝对值凸轮顺控
63INCD增量凸轮顺控
64TTMR示教定时器
65STMR专用定时器—可定义
66ALT交替输出
67RAMP斜坡输出
68ROTC旋转工兄枯歼作台控制
69SORT数据排序
八外部I/O设备指令—FNC70~79
70TKY10键输入
71HKY16键输入
72DSW拨码开关输入
73SEGD七段译码
74SEGL带锁存的七段码显示
75ARWS方向开关
76ASCASCII码转换
77PR打印输出
78FROM读特殊功能模块
79TO写特殊功能模块
九外围设备指令—FNC80~89
80RSRS-232C串行通讯
81PRUN并行运行
82ASCI十六进制→ASCII
83HEXASCII→十六进制
84CCD校验码
85VRRD电位器读入
86VRSC电位器设定
88PIDPID控制
十F2外部模块指令—FNC90~99
90MNETF-16N,Mini网
91ANRDF2-6A,模拟量输入
92ANW**2-6*,模拟量输出
93RMSTF2-32RM,启动RM
94RMWRF2-32RM,写RM
95RMRDF2-32RM,读RM
96RMMNF2-32RM,监控RM
97BLKF2-30GM,指定块
98MCDEF2-30GM,机器码十一浮点数运算指令—FNC110~132
110ECMPBIN浮点数比较
111EZCPBIN浮点数区间比较
118EBCDBIN浮点数→BCD浮点数
119EBINBCD浮点数→BIN浮点数
120EADDBIN浮点数加法
121ESUBBIN浮点数减法
122EMULBIN浮点数乘法
123EDIVBIN浮点数除法
127ESQRBIN浮点数开方
129INTBIN浮点数→BIN整数
130SINBIN浮点数正弦函数(SIN)
131COSBIN浮点数余弦函数(COS)
132TANBIN浮点数正切函数(TAN)
十二交换指令—FNC147
147SWAP高低字节交换
十三定位指令—FNC155~159
155ABS读当前绝败好对值位置
156ZRN返回原点
157PLSY变速脉冲输出
158DRVI增量式单速位置控制
159DRVA绝对式单速位置控制
十四时钟运算指令—FNC160~169
160TCMP时钟数据比较
161TZCP时钟数据区间比较
162TADD时钟数据加法
163TSUB时钟数据减法
166TRD时钟数据读出
167TWR时钟数据写入
169HOUR小时定时器
十五变换指令—FNC170~177
170GRY二进制数→格雷码
171GBIN格雷码→二进制数
176RD3A读FXon-3A模拟量模块
177WR3A写FXon-3A模拟量模块
十六触点比较指令—FNC224~246
224LD=(S1)=(S2)时运算开始之触点接通
225LD>(S1)>(S2)时运算开始之触点接通
226LD<(S1)<(S2)时运算开始之触点接通
228LD<>(S1)≠(S2)时运算开始之触点接通
229LD≤(S1)≤(S2)时运算开始之触点接通
230LD≥(S1)≥(S2)时运算开始之触点接通
232AND=(S1)=(S2)时串联触点接通
233AND>(S1)>(S2)时串联触点接通
234AND<(S1)<(S2)时串联触点接通
236AND<>(S1)≠(S2)时串联触点接通
237AND≤(S1)≤(S2)时串联触点接通
238AND≥(S1)≥(S2)时串联触点接通
240OR=(S1)=(S2)时并联触点接通
241OR>(S1)>(S2)时并联触点接通
242OR<(S1)<(S2)时并联触点接通
244OR<>(S1)≠(S2)时并联触点接通
245OR≤(S1)≤(S2)时并联触点接通
246OR≥(S1)≥(S2)时并联触点接通
以下是三菱plc常用的指令,还有不懂的可以问我一程序流程控制指令—FNC00~0900CJ条件转移01CALL子程序调用02SRET子程序返回03IRET中断返回04EI