第3章PLC的指令系统.ppt

返回 相似 举报
第3章PLC的指令系统.ppt_第1页
第1页 / 共40页
第3章PLC的指令系统.ppt_第2页
第2页 / 共40页
第3章PLC的指令系统.ppt_第3页
第3页 / 共40页
第3章PLC的指令系统.ppt_第4页
第4页 / 共40页
第3章PLC的指令系统.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述:
PLC梯形图语言的编程原则,1、梯形图由多个梯级组成,每个线圈可构成一个梯级,每个梯级有多条支路,每个梯级代表一个逻辑方程;2、梯形图中的继电器继电器、接点、线圈不是物理的,是PLC存储器中的位1ON;0OFF;编程时常开/常闭接点可无限次引用,线圈输出只能是一次;3、梯形图中流过的不是物理电流而是“概念电流”,只能从左向右流;4、用户程序的运算是根据PLC的输入/输出映象寄存器中的内容,逻辑运算结果可以立即被后面的程序使用;5、PLC的内部继电器不能做控制用,只能存放逻辑控制的中间状态;6、输出线圈不能直接驱动现场的执行元件,通过I/O模块上的功率器件来驱动。,,指令分类按形式分,2.功能块,1.继电器,触点,线圈,,,,,Enable,,输入参数,,IN1,,IN2,,N,输出参数,OUT,功能数据类型,地址,条件,长度,EN,指令分类按功能分,1。位操作功能2。定时器/计数器3。算术运算功能4。关系运算功能5。数据传送功能6。转换功能7。控制功能,,一、基本逻辑指令,,,,,,逻辑关系梯形图助记符,,,,,,I0.0,I0.1,LDI0.0AI0.1Q0.0,LDI0.0OI0.1Q0.0,LDNI0.1Q0.0,AND,OR,NOT,当I0.0与I0.1都“ON”时,则输出Q0.0“ON”1。,当I0.0或I0.0“ON”时,则输出Y0“ON”1,当I0.1“OFF”时则输出Q0.0“ON”1,,,,,,,,,,,,,Q0.0,I0.0,I0.1,Q0.0,Q0.0,I0.1,I0.0,*,*,,I0.1,Q0.0,注意与、或、非运算均是对从该指令前面的ST指令到该指令的前一个指令处的结果进行运算。,X2是与图中A点处的结果(即X0与X1的结果)相或,而不是与X1相或。,Y0,,,,逻辑关系梯形图助记符,LDX0OX1LDX2OX3ALDY0,,LDX0AX1LDX2ANX3OLDY0,当“X0或X1”与“X2或X3”都“ON”时,则输出Y0“ON”。,ALD(AndStack),OLD(OrStack),当“X0与X1”或“X2与X3非”“ON”时,则输出Y0“ON”。,,Y0,,,,,,,,,,,X0,X2,,,,,X1,X3,,,,,,,Y0,例1直接启动停车控制,继电器控制电路图,I/O分配I0.0停车I0.1启动Q0.1KM,梯形图,语句表LDI0.1OQ0.0AI0.0Q0.0,启动优先,停止优先,I/O分配决定PLC的端子接线图,PLC的端子接线方式又决定编程语言,I/O分配I0.0停车I0.1启动Q0.1KM,,,,,,,,,,,,Q0.0,I0.0,Q0.0,I0.1,,置位、复位指令,,,立即I/O指令立即输入,直接读取物理输入点的值,输入映象寄存器内容不更新。指令操作数仅限于输入物理点的值。,立即I/O指令立即输出,,执行立即输出指令时,则将结果同时立即复制到物理输出点和相应的输出映象寄存器,立即I/O指令立即置位和复位指令,须指出立即I/O指令是直接访问物理输入输出点的,比一般指令访问输入输出映象寄存器占用CPU时间要长,因而不能盲目地使用立即指令,否则,会加长扫描周期时间,反而对系统造成不利影响。,,,,空操作,正跳变,负跳变,能流到达取非触点时,能流就停止;能流未到达取非触点时,能流就通过。,检测到每一次正跳变(信号后,让能流通过一个扫描周期的时间,检测到每一次负跳变信号后,让能流通过一个扫描周期的时间,取非,,,,输入映象寄存器I0.0,输出映象寄存器Q0.0,输出映象寄存器Q0.1,输出映象寄存器Q0.2,,,,,,一个周期,,,,,一个周期,空操作指令(NOPN)不影响程序的执行。操作数N是常数0255,编程中应注意的几个问题,,,,,,,,,,,,,X0,Y0,X1,Y0,,,,,,,,,,X1,Y0,X0,Y0,,,一、用电路变换简化程序减少指令的条数),二、逻辑关系应尽量清楚避免左轻右重,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,X3,X2,X5,X4,X6,X8,X7,Y0,X9,,,,,,,,,,,,,,,,,,X3,X2,X5,X4,X6,X8,X7,Y0,X9,,,,,,X5,X6,,,X2,X2,,LDX2ANX3AX4LDX2AX5ANX6AX7,LDX2AX5ANX6AX8ANX9OLDY0ED,,,,,,三、避免出现无法编程的梯形图,X5,,,,,,,,,X1,X3,X2,Y1,,,,X4,Y2,,,,,LDX3AX5OX1ANX2Y1LDX1AX5OX3ANX4Y2ED,2.定时器及定时器指令,输入接点,设定值132767,定时器号码(0~255),,,,,,,,IN,PT,,T37,TON,,定时器分辨率(时基)有三种1ms、10ms、100ms。定时器的分辨率由定时器号决定,定时器的实际设定时间T设定值PT分辨率,TS1200*0.1120S,延时接通定时器TON,其工作波形图如下,,I0.1,Q0.1,计时值,,,,,,,设定值,,,,TS,T38,,,,,TON,,PT,IN,I0.1,120,,,,T38,Q0.1,延时断开定时器TOF,其工作波形图如下,,I0.1,Q0.1,,,,,计时值,,,,,设定值,,,,,,,,,,,,,,TS,设定值,使能输入,,TOF,,,PT,IN,T38,,,,,TOF,,PT,IN,I0.1,120,T38,,,,T38,Q0.1,TS1200*0.1120S,,,保持型定时器TONR,其工作波形图如下,,输入端,Q0.1,当前值,,,,,,设定值,,,,TS,,,,,,,,,,,,,,,,,TS120*10ms,T4,M0.1,,,,TONR,PT,IN,I0.1,120,T4,,,,T4,Q0.1,,最大值,32767,120,,,①1ms分辩率定时器每隔1ms刷新一次,刷新定时器位和定时器当前值,在一个扫描周期中要刷新多次,而不和扫描周期同步。,②10ms分辩率定时器10ms分辩率定时器启动后,定时器对10ms时间间隔进行计时。程序执行时,在每次扫描周期的开始对10ms定时器刷新,在一个扫描周期内定时器位和定时器当前值保持不变。,③100ms分辨率定时器100ms定时器启动后,定时器对100ms时间间隔进行计时。只有在定时器指令执行时,100ms定时器的当前值才被刷新。,,,自复位式的定时器,T33,T33,T33,错误,正确,2.计数器指令,定时器是对PLC内部的时钟脉冲进行计数,而计数器是对外部的或由程序产生的计数脉冲进行计数。,当前值计数器累计计数的当前值(16位有符号整数),它存放在计数器的16位(bit)当前值寄存器中。,每个计数器只有一个16位的当前值寄存器地址。在一个程序中,同一计数器号不要重复使用,更不可分配给几个不同类型的计数器。,增计数器,设定值-3276832767,,CU,PV,,C20,CTU,R,,复位,,计脉冲数,,增/减计数器,,增计数,减计数,复位,,,,,C0255,当前值,减计数器,,,CU,PV,,C0255,CTD,LD,,复位,装设定值,,计脉冲数,,,,,,2,1,计数器当前值等于0时,停止计数,同时计数器位被置位“1”,设定值,例5.计数器应用举例产品数量检测,(每24个产品机械手动作1次),机械手动作后,延时2秒,将机械手电磁铁切断,同时将CT100复位。CT100复位后,Y1和TM1也复位,电机起动后,R1产生宽度为一个扫描周期的正脉冲,使C20和T37复位,起、停传送带电机,计数器应用举例产品数量检测,,,,,,,Q0.0,Q0.0,I0.2,,24,,,,C20,,T37,,,20,C20,Q0.1,每检测到一个产品,X2产生一个正脉冲,使C20计一个数,C20每计24个数,机械手动作一次,机械手动作后,延时2秒,将机械手电磁铁切断,同时将C20复位。C20复位后,Q0.1和T37也复位,,,I0.0,,,,I0.1,C20,,,IN,PT,,TON,T37,T37,,,P,,,,Q0.0,移位寄存器指令,,L,D,,,I,0,.,1,E,U,S,H,R,B,,,,,I,0,.,2,,,V,1,0,.,0,,,4,一、传送指令数据传送指令,,数据块传送指令,数据块传送指令把从输入(IN)指定地址的N个连续字节、字、双字的内容传送到从输出(OUT)指定地址开始的N个连续字节、字、双字的存储单元中去。,,传送字节立即读、写指令,传送字节立即写(BIW)指令,将从输入端(IN)指定字节地址的内容写入输出端(OUT)指定字节地址的物理输出点(QB)。,传送字节立即读(BIR)指令,读取输入端(IN)指定字节地址的物理输入点(IB)的值,并写入输出端(OUT)指定字节地址的存储单元中。,二、数学运算指令1.加法指令,,,,,-IIN2,OUT,-DIN2,OUT,-RIN2,OUT,2.加法指令,整数加法、减法、乘法、除法,双整数加法、减法、乘法、除法,整数完全乘法、除法,实数加法、减法、乘法、除法,3.乘法指令,4.除法指令,整数完全除法指令,把输入端(IN)指定的两个16位整数相除,产生一个32位结果,并送到输出端(OUT)指定的存储单元中去。其中高16位是余数,低16位是商。,三、转换指令,BCD码转为整数(BCDI)指令,将输入端(IN)指定的BCD码转换成整数,并将结果存放到输出端(OUT)指定的存储单元中去。输入数据的范围是0到9999(BCD码)。整数转为BCD码(IBCD)指令,将输入端(IN)指定的整数转换成BCD码,并将结果存放到输出端(OUT)指定的存储单元中去。输入数据的范围是0到9999。指令影响的特殊存储器位SM1.6(非法BCD),无符号操作,1.BCD码与整数的转换,2.双字整数与实数的转换,双字整数转换为实数,双字整数转换为实数,实数转换为双字整数,双字整数转为实数(DTR)指令将输入端(IN)指定的32位有符号整数转换成32位实数ROUND取整指令,转换时实数的小数部分四舍五入。TRUNC取整指令,实数舍去小数部分后,转换成32位有符号整数。,实数转为双字整数指令可分为四舍五入取整(ROUND)和舍去尾数后取整(TRUNC)指令。,取整指令被转换的输入值应是有效的实数,如果实数值太大,使输出无法表示,那末溢出位(SM1.1)被置位。,3.双整数与整数的转换,输入端(IN)的有符号双整数转换成整数,并存入OUT。被转换的输入值应是有效的双整数,否则溢出位(SM1.1)被置位。,欲将整数转换为实数,可先用ITD指令把整数转换为双整数,然后再用DTR指令把双整数转换为实数。,例,101,,,C10,英寸,
展开阅读全文

资源标签

最新标签

长按识别或保存二维码,关注学链未来公众号

copyright@ 2019-2020“矿业文库”网

矿业文库合伙人QQ群 30735420