德国西门子PLC编程
- 格式:ppt
- 大小:3.57 MB
- 文档页数:113
西门子PLC编程指令1、位逻辑指令(1)-||-常开接点(地址)(2)-|/|-常闭接点(地址)(3)XOR位异或(4)-|NOT|-信号流反向(5)-()输出线圈(6)-(#)-中间输出(7)-(R)线圈复位(8)-(S)线圈置位(9)RS复位置位触发器(10)RS置位复位触发器(11)-(N)-RLO下降沿检测(12)-(P)-PLO上升沿检测(13)-(SAVE)将RLO存入BR存储器(14)MEG地址下降沿检测(15)POS地址上升沿检测2、比较指令(1)CMP?I整数比较(2)CMP?D双整数比较(3)CMP?R实数比较3、转换指令(1)BCD_IBCD码转换为整数(2)I_BCD整数转换为BCD码(3)I_DINT整数转换为双整数(4)BCD_DIBCD码转换为双整数(5)DI_BCD双整数转换为BCD码(6)DI_REAL双整数转换为浮点数(7)INV_I整数的二进制反码(8)INV_DI双整数的二进制反码(9)NEG_I整数的二进制补码(10)NEG_DI双整数的二进制补码(11)NEG_R浮点数求反(12)ROUND舍入为双整数(13)TRUNC舍去小数取整为双整数(14)CEIL上取整(15)FLOOR下取整4、计数器指令(1)S_CUD加减计数(2)S_CU加计数器(3)S_CD减计数器(4)-(SC)计数器置初值(5)-(CU)加计数器线圈(6)-(CD)减计数器线圈5、数据块指令(1)-(OPN)打开数据块:DB或DI6、逻辑控制指令(1)-(JMP)无条件跳转(2)-(JMP)条件跳转(3)-(JMPN)若非则跳转(4)LABEL标号7、整数算术运算指令(1)ADD_I整数加法(2)SUB_I整数减法(3)MUL_I整数乘法(4)DIV_I整数除法(5)ADD_DI双整数加法(6)SUB_DI双整数减法(7)MUL_DI双整数乘法(8)DIV_DI双整数除法(9)MOD_DI回送余数的双整数8、浮点算术运算指令(1)基础指令①ADD_R实数加法②SUB_R实数减法③MUL_R实数乘法④DIV_R实数除法⑤ABS浮点数绝对值运算(2)扩展指令①SQR浮点数平方②SQRT浮点数平方根③EXP浮点数指数运算④LN浮点数自然对数运算⑤SIN浮点数正弦运算⑥COS浮点数余弦运算⑦TAN浮点数正切运算⑧ASIN浮点数反正弦运算⑨ACOS浮点数反余弦运算⑩ATAN浮点数反正切运算9、赋值指令(1)MOVE赋值10、程序控制指令(1)-(Call)从线圈调用FC/SFC(无参数) (2)CALL_FB从方块调用FB(3)CALL_FC从方块调用FC(4)CALL_SFB从方块调用SFB(5)CALL_SFC从方块调用SFC(6)-(MCR<)主控继电器接通(7)-(MCR>)主控继电器断开(8)-(MCRA)主控继电器启动(9)-(MCRD)主控继电器停止(10)-(RET)返回11、移位和循环指令(1)移位指令①SHR_I整数右移②SHR_DI双整数右移③SHL_W字左移④SHR_W字右移⑤SHL_DW双字左移⑥SHR_DW双字右移(2)循环指令①ROL_DW双字左循环②ROR_DW双字右循环12、状态位指令(1)OV-||-溢出异常位(2)OS-||-存储溢出异常位(3)UO-||-无序异常位(4)BR-||-异常位二进制结果(5)==0-||-结果位等于"0"(6)<>0-||-结果位不等于"0" (7)>0-||-结果位大于"0"(8)<0-||-结果位小于"0"(9)>=0-||-结果位大于等于"0" (10)<=0-||-结果位小于等于"0"13、定时器指令(1)S_PULSE脉冲S5定时器(2)S_PEXT扩展脉冲S5定时器(3)S_ODT接通延时S5定时器(4)S_ODTS保持型接通延时S5定时器(5)S_OFFDT断电延时S5定时器(6)-(SP)脉冲定时器线圈(7)-(SE)扩展脉冲定时器线圈(8)-(SD)接通延时定时器线圈(9)-(SS)保持型接通延时定时器线圈(10)-(SF)断开延时定时器线圈14、字逻辑指令(1)WAND_W字和字相"与"(2)WOR_W字和字相"或"(3)WAND_DW双字和双字相"与" (4)WOR_DW双字和双字相"或" (5)WXOR_W字和字相"异或" (6)WXOR_DW双字和双字相"异或“。
西门子PLC编程操作及注意事项一、PLC基本概念可编程控制器(Programmable Controller)是计算机家族中的一员,是为工业控制而设计制造的。
早期的可编程控制器称作可编程逻辑控制器(Programmable Logic Controller),简称 PLC,它主要用来代替继电器实现逻辑控制。
随着技术的发展,这种装置的功能已经大大超过了逻辑控制的范围,因此,今天这种装置称作可编程控制器,简称PC。
但是为了避免与个人计算机(Personal Computer)的简称混淆,所以将可编程控制器简称PLC。
二、PLC的基本结构PLC实质是一种专用于工业控制的计算机,其硬件结构基本上与微型计算机相同。
A、中央处理器(CPU)中央处理器(CPU)是PLC的控制中枢。
它按照PLC系统成程序赋予的功能接收并存储从编程器键入的用户程序和数据;检查电源、存储器、I/O以及报警定时器的状态,并能诊断用户程序中的语法错误。
当PLC投入运行时,首先它以扫描的方式接受现场各输入装置的状态和数据,并分别存入I/O映象区,然后从用户程序存储器中逐条读取用户程序,经过命令解释后,按指令的规定执行逻辑或数字运算的结果送入I/O映象区或数字寄存器内。
等所有的用户程序执行完毕之后,最后将I/O映象区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环运行,直到停止运行。
为了进一步提高PLC的可靠性,近年来对大型PLC还采用双CPU构成冗余系统(如S1501\二期循环水、除盐水等系统),或采用三CPU(TS300等)的表决式系统。
这样即使某个CPU出现故障,整个系统仍能正常运行。
B、存储器存储系统程序的存储器称为系统存储器。
存储应用软件的存储器称为用户存储器。
(一) PLC常用的存储器类型1. RAM (Random Assess Memory)这是一种读/写存储器(随机存储器),其存取速度最快,由锂电池支持。
2. EPROM (Erasable Programmable Read Only Memory)这是一种可擦除的只读存储器。
在学习STL语言的编程方式之前首先要了解西门子STL语言的最基本的知识:状态字用于表示CPU执行指令时所具有的状态;下列情况都将影响状态字的变化:1、一些指令是否执行或以何方式执行,可能取决于状态字中的某些位;2、执行指令时也可能改变状态字中的某些位;3、也能在位逻辑指令或字逻辑指令中访问并检测他们;状态字的结构如下:FC首位检测位:若FC=0,表明一个梯形逻辑网络的开始,或第一条指令;CPU对第一条指令的检测,产生的结果直接保存在状态字的二次检测存放在RLO中的0或1被称为首位检测结果;FC位在逻辑串的开始总是0,在逻辑串指令位为1,输出指令与逻辑运算有关的转移指令表示一个逻辑串结束的指令将FC清零;RLO逻辑操作结果:该位存储逻辑指令结果;在逻辑串中,RLO位的状态能表示有关信号流的信息;RLO的状态为1,表示有信号流通,0表示无信号流断;可用RLO触发跳转指令;STA状态位,状态位不能用指令检测,它只是在程序测试中被CPU解释并使用,如果一条指令是对存储区操作的位逻辑指令,则无论是对该位读或写操作,STA总是与该位的值取得一致;对不访问存储区的位逻辑指令来说,STA位没有意义,此时它总被置位1;OR或位,在先逻辑与后逻辑或的逻辑串中,OR位暂存逻辑与的操作结果,以便进行后面的逻辑或运算;其他指令将OR位清零;OS溢出状态保持位:OV被置1时,OS也被置1;OV被清零时,OS仍保持;所以它保存了OV位,可以用于指明在先前的一些指令执行中是否产生过错误;只有下面的指令才能复位OS位:JOSOS=1时跳转,块调用指令和块结束指令;OV溢出位,溢出位为1,表明一个算术运算或浮点数比较指令执行时出现错误错误:溢出,非法操作,不规范格式;后面的算术运算或浮点数比较指令的结果正常的话,OV位就被清零;CC0&CC1称为条件码1和条件码0.这两位结合起来用于表示在累加器1中产生的算术运算或逻辑运算结果与0的大小关系;比较指令的执行结果或移位指令的移出位状态;BR二进制结果位:它将字处理程序与位处理联系起来,在一段既有位操作又有字操作的程序中,用于表示字操作结果是否正确异常;将BR位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断;在LAD的方块指令中,BR位与EN0有对应关系,用于表示功能块指令是否被正确执行:如果执行出现了错误,则BR位0,EN0也为0;如果功能块被正确执行,BR位为1,EN0也为1;在用户编写的FB和FC程序中,必须对BR进行管理,当功能块正确运行后使BR位1,否则使其为0;使用STL编程,指令SAVE,可将RLO的值存入BR中,从而达到管理BR位的目的;当FB或FC执行无错误的时候,使RLO位1,并存入BR,否则,在BR中存入0;+D:将累加器1和累加器2中的值累加,放入到累加器1中;-D:可以将累加器2中的内容减去累加器1中的内容,结果保存在累加器1中TAR1:将寄存器1中内容送入到累加器1;LAR1:将累加器1中的内容装入地址寄存器1;T:将累加器1 中的内容传送复制到目标地址L:可以在累加器1 的原有内容保存到累加器2 并将累加器1 置为&0&之后,将寻址字节、字或双字装入累加器 1 中;JCN RLO=0 JUMPJNB RLO=0 BR=1 JUMP JU 无条件JUMPJC RLO=1 JUMPJN 非零JUMPJP 正JUMP。
西门子PLC的几种编程语言简单介绍西门子PLC的几种编程语言不同的商家的PLC有不同的编程语言,但就某个商家而言,PLC的编程语言也就那么几种。
下面,以西门子PLC的编程语言为例,说明一下,各种编程语言的异同。
1、顺序功能图(SFC-Seauential Fuction Chart)这是位于其它编程语言之上的图形语言,用来编程顺序控制的程序(如:机械手控制程序)。
编写时,工艺过程被划分为若干个顺序出现的步,每步中包括控制输出的动作,从一步到另一步的转换由转换条件来控制,特别适合于生产制造过程。
西门子STEP7中的该编程语言是S7Graph。
2、梯形图(LAD-LAdder Diagram)这是使用使用最多的PLC编程语言。
因与继电器电路很相似,具有直观易懂的特点,很容易被熟悉继电器控制的电气人员所掌握,特别适合于数字量逻辑控制。
梯形图由触点、线圈和用方框表示的指令构成。
触点代表逻辑输入条件,线圈代表逻辑运算结果,常用来控制的指示灯,开关和内部的标志位等。
指令框用来表示定时器、计数器或数学运算等附加指令。
在程序中,最左边是主信号流,信号流总是从左向右流动的。
不适合于编写大型控制程序。
3、语句表(STL-STatement List)是一种类似于微机汇编语言的一种文本编程语言,由多条语句组成一个程序段。
语言表适合于经验丰富的程序员使用,可以实现某些梯形图不能实现的功能。
4、功能块图(FBD-Function Block Diagram)功能块图使用类似于布尔代数的图形逻辑符号来表示控制逻辑,一些复杂的功能用指令框表示,适合于有数字电路基础的编程人员使用。
功能块图用类似于与门、或门的框图来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,方框用“导线”连在一起,信号自左向右。
5、结构化文本(ST-Structured Text)结构化文本(ST)是为IEC61131-3标准创建的一种专用的高级编程语言。
西门子S7-300PLC模拟量编程西门子S7-300PLC模拟量方面的实例,包含了以下几个方面的要点:1、对变送器进行取值,并进行控制2、对模数功能块FC105 进行调用3、对AI 模块进行设置4、对AI 量程块进行选择这个实例,调试的是一个流量调节回路中,流量变送器输出2-2-MA DC信号到SM331 模拟输入模块,模块将该信号转换成浮点数,然后在程序中调用FC105将该值转换成工程量,我们就可以监视实际工程中的流量值了。
模拟量AI 采用SM311 模块是8x12Bit(8 通道12 位)对应货号是6ES7 331-7KF02-OABO,在模数转化上利用传感器或变送器的,电压或电流取出的值,到AI 模块上进行转换,然后把值传给西门子的CPU 进行处理,从而检测控制传感器的值,如图:模拟量输入模块模拟量输入用于连接电压和电流传感器、热电耦、电阻和热电阻,用来实现PLC 与模拟量过程信号的连接。
模拟量输入模块将从过程发送来的模拟信号转换成供PLC 内部处理用的数字信号。
本次工程用的是SM311 输入模块如下图所示。
该模块具有如下特点:分辨率为9 到15 位+符号位(用于不同的转换时间),可设置不同的测量范围。
通过量程模块可以机械调整电流/电压的基本测量范围。
用STEP 7硬件组态工具可进行微调。
模块把诊断和超限中断发送到可编程控制器的CPU 中。
模块向CPU 发送详细的诊断信息。
模拟量输入模块的接线方式两线制电流和四线制电流都只有两根信号线,它们之间的主要区别在于:两线制电流的两根信号线既要给传感器或者变送器供电,又要提供电流信号;而四线制电流的两根信号线只提供电流信号。
因此,通常提供两线制电流信号的传感器或者变送器是无源的;而提供四线制电流信号的传感器或者变送器是有源的。
因此,当PLC 的模板输入通道设定为连接四线制传感器时,PLC 只从模板通道的端子上采集模拟信号,如图2-3,而当PLC 的模板输入通道设定为连接二线制传感器时,如图2-2,PLC 的模拟输入模板的通道上还要向外输出一个直流24V的电源,以驱动两线制传感器工作。
一、小车往返运动用S7-200实现小车往返的自动控制 ,控制过程为按下启动按钮,小车从左边往右边(右边往左边运动)当运动到右边(左边)碰到右边(左边)的行程开关后小车自动做返回运动,当碰到另一边的行程开关后又做返回运动。
如此的往返运动,直到当按下停车按钮后小车停止运动。
▲电气接线图I/O分配表梯形图程序PLC接线图程序调试及结果分析▲控制平台操作面板当按下SB2即i0.0(鼠标点击i0.0f)接通后,Q0.0接通,小车右行(即指示 灯 Q0.0 亮)。
当小车运行碰到右限位开关SQ2即i0.4(用鼠标点击i0.4f,模拟SQ2被压下)接通,此时小车左行(指示灯Q0.0灭,指示灯Q0.1亮),当运行到左边碰到左限位SQ1即i0.3(鼠标点击i0.3f)接通,此时小车又往右运行(指示灯Q0.1灭,指示灯Q0.0亮)。
如此往返运动下去直到按下SB1即i0.2(鼠标点i0.2f)接通,小车停止运行。
附:二、闪光电路当按下启动按钮后,要求在两秒钟内有一秒亮有一秒灭,如此反复,灯一闪一闪 发光。
I/O分配表梯形图程序PLC接线图程序调试及结果分析把编写好的程序下载到西门子s7-200PLC中进行调试。
观察运行结果和实验要求是否相同。
通过在线控制面板进行调试,当按下在线控制面板上的I0.0f(即 I0.0接通)此时Q0.0有输出,Q0.0所接负载灯就亮,同时启动定时器T37开始计时, 当计时一秒后因T37动作,其常闭触点断开,所以Q0.0无输出,所接负载灯灭。
灯灭的同时启动定时器 T38,T38 计时一秒后,把串联在定时器T37的常闭触点断开,所以T37复位,T37常闭触点恢复常闭。
此时Q0.0 又有输出, 所接负载灯又亮。
这样,输出Q0.0上所接的负载灯以接通一秒,断开一秒频率不停的闪烁,直到按下在线控制面板上的 I0.1f(即I0.1接通),闪光电路不在继续工作。
若想改变灯闪烁的频率只要改变定时器的时间就能够达到改变要求。
西门子在制造业有不可忽视的地位,其产品遍布各个领域,很多人学PLC首选西门子,但作为德国品牌,它指令虽少但稍微抽象,其难度也让一些人望而却步。
俗话说,难者不会,会者不难,如果你学不会,或者学的很痛苦,那只因为你没有一条科学的指导方法,西门子PLC的知识点很多,究竟先学哪块?编程?模拟量?还是指令?接线?很多人晕头转向。
今天咱们就先说说西门子PLC该怎么学,将众多知识点汇成一个合理有序的学习框架体系会让你融会贯通,事半功倍。
之前也有文章讲过,学PLC的人无非两种,有基础、无基础。
电工基础属于第一步,其重要性不言而喻,在此略过不再多说。
有了电工基础后,我们将学习PLC的人群分为两种,一种是小型设备项目操作者,另一种是中大型设备操作者,今天咱们就先说说小型设备项目操作者应该如何循序渐进的掌握西门子PLC。
有了电工基础的你,首先要面对的是PLC编程基础和逻辑控制顺序的设置。
其实说白了,就是PLC入门基础知识和PLC编程指令知识。
PLC入门基础知识就是:首先要了解PLC的内部系统和外部设置,比如它的系统构成、通讯和网络、CPU和模块参数以及PLC接线,了解这些,就像你知道了一个陌生人的性别、名字、籍贯、有什么目的。
为了达到基础性的了解,一般推荐比较简单且具有代表性的PLC作为认知对象,比如S7-200PLC或者S7-200 SMART PLC。
接下来要接触的是STEP 7 Micro/WIN软件,这个软件是用来给PLC编程的,算是一个操作平台,通过它把你脑中的思想用梯形图或者其他电气编程语言表达出来,然后被PLC识别,进行操作。
知己知彼才能百战不殆~首先你要先把这个软件下载安装好,然后熟悉每个功能的位置和作用,尤其是常用的编程工具,以及程序如何上传下载。
比如PLC这一栏,它的主要功能是对在线连接的S7-200 SMART CPU的操作和控制,比如控制CPU的运行状态、编译和传送项目文件、清除CPU中项目文件、比较离线和在线的项目程序、读取PLC信息以及修改CPU的实时时钟,如下图所示:其次是了解编程的程序结构、进制数和PLC中的数据类型。