《西门子PLC编程举例.pptx》由会员分享,可在线阅读,更多相关《西门子PLC编程举例.pptx(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、S7-300系列PLC编成语言-STEP7详细资料见梯形图(LAD)手册或语句表(STL)手册PLC的编程语言有3种:1、梯形图(LAD)方式 2、语句表(STL)方式 3、功能块图(FBD)方式I124.0()Q125.1例1 梯形图方式例2 语句表方式A I124.0A I124.1=Q125.1例3 功能块图方式I124.1&I124.0I124.1=Q125.1第1页/共46页二、S7-300指令系统(梯形图方式)1、位逻辑指令 2、比较指令 3、转换指令 4、计数器指令 5、数据块指令 6、逻辑控制指令 7、整数算术运算指令 8、浮点算术运算指令9、赋值指令 10、程序控制指令
2、11、移位和循环指令 12、状态位指令13、定时器指令14、字逻辑指令详细资料见梯形图(LAD)手册或语句表(STL)手册第2页/共46页三、S7-300系列PLC数字指令2、比较指令 3、转换指令 4、计数器指令 5、数据块指令 6、逻辑控制指令 7、整数算术运算指令 8、浮点算术运算指令9、赋值指令 10、程序控制指令 11、移位和循环指令 12、状态位指令13、定时器指令14、字逻辑指令详细资料见梯形图(LAD)手册或语句表(STL)手册注:这些运算分整数(2个字节)运算、双整数(4个字节)运算、实数(即浮点数)运算等。第3页/共46页四、STEP 7基本数据类型基本数据类型BOOL1T
3、rue 或 False(1 或0)BYTE8B#16#A9WORD16W#16#12AFDWORD32DW#16#ADAC1EF5CHAR8 w S5TIME16S5T#5s_200msINT16123DINT32L#65539REAL321.2 或 34.5E-12TIME32T#2D_1H_3M_45S_12MSDATE16D#1993-01-20TIME_OF_DAY32TOD#12:23:45关键字关键字长度长度(位位)该类型的常数举例该类型的常数举例用户定义的变量或常数可以为以上基本数据类型第4页/共46页五、S7-300PLC的特殊功能寄存器累计器1(ACCU1)32位累计器2(A
4、CCU2)32位地址寄存器1(AR1)32位地址寄存器2(AR2)32位数据块地址寄存器DB(共享数据块)32位数据块地址寄存器DI(背景数据块)32位状态寄存器 16位第5页/共46页状态字 状态字用于表示CPUCPU执行指令时所具有的状态。某些指令可否执行或以何种方式执行可能取决于状态字中的某些位,指令执行时也可能改变状态字中的某些位,可以用位逻辑指令或字逻辑指令访问并检测状态字。第6页/共46页状态字的结构 1.1.首位检测位(FCFC)2.2.逻辑操作结果(RLORLO)3.3.状态位(STASTA)4.4.或位(OROR)5.5.溢出位(OVOV)6.6.溢出状态保持位(OSOS)7
5、.7.条件码1 1(CC1CC1)和条件码0 0(CC0CC0)8.8.二进制结果位(BRBR)第7页/共46页编程元件 对应的存储区1.输入继电器I 输入映像寄存器区I2.输出继电器Q 输出映像寄存器区Q3.辅助继电器M 位存储区M4.外部输入寄存器 PI 外部输入寄存器区PI 5.外部输出寄存器PQ 外部输出寄存器区PQ 6.定时器T(共5种)定时器区T7.计数器C(共3种)计数器区C8.数据块寄存器DB 数据块寄存器区DB9.本地数据寄存器L 本地数据寄存器区L六、数字指令所用到的操作数第8页/共46页地址的表示方法:例如:I 2.1或 IX2.1IB3 Q0.1 区域标识符 访问方式
6、位置编程元件地址的表示方法例如:QW4 区域标识符区域标识符访问方式位置第9页/共46页区域标识符 :指出该地址在存储器的哪个区域,各字母代表的存储区域如下。(P89)I:输入映像寄存器区(数字入)Q:输出映像寄存器区(数字出)PI:外部输入区(模拟输入)PQ:外部输出区(模拟输出)M:标志位存储区T:定时器存储区C:计数器存储区L:局部变量存储区DB:数据存储区访问方式:X:位(一般可省略)B:字节W:字D:双字位置:不同的CPU位置范围不同。参考P47 第10页/共46页例I1.0 IB2 IW4 ID0Q2.0 QB0 QW6 QD2PIW2 PQW4M4.0 MB2 MW4 MD8L2
7、.2 LB1 LW4 LD4T1 T5C0 C3DBX10.0 DBW2 DB10.DBX2.3第11页/共46页字节单元为存储单元 S7S7系列PLCPLC的物理存储器以字节为单位,所以规定字节单元为存储单元,每个字节单元存储8 8位信息。存储单元可以位、字节、字、双字为单位使用,例如,MW0MW0由MB0MB0和MB1MB1组成,MB0MB0是高位字节,MB1MB1是低位字节。在分配存储区地址时,要防止因字节重叠造成读写错误。第12页/共46页七、典型数字指令第13页/共46页二、比较指令P124根据所选比较类型,对 IN1 和 IN2 进行比较:=表示IN1 等于 IN2 表示IN1 不
8、等于 IN2 表示IN1 大于 IN2=表示IN1 大于等于 IN2=MW2第15页/共46页CMP?D 双整数比较例如果下列条件成立,则输出 Q4.0 置位:在输入 I0.0 和 I0.1 的信号状态为“1”并且 MD0=MD4 并且,输入 I0.2 的信号状态为“1”第16页/共46页CMP?R 实数比较例如果下列条件成立,则输出 Q4.0 置位:在输入 I0.0 和 I0.1 的信号状态为“1”并且 MD0=MD4 并且,输入 I0.2 的信号状态为“1”第17页/共46页三、转换指令P118下述转换指令可供使用:BCD_I BCD 码转换为整数 I_BCD 整数转换为BCD 码 BCD
9、_DI BCD 码转换为双整数 I_DINT 整数转换为双整数 DI_BCD 双整数转换为BCD 码 DI_REAL 双整数转换为浮点数 INV_I 整数的二进制反码 INV_DI 双整数的二进制反码 NEG_I 整数的二进制补码 NEG_DI 双整数的二进制补码 NEG_R 浮点数求反 ROUND 舍入为双整数 TRUNC 舍去小数取整为双整数 CEIL 上取整 FLOOR 下取整第18页/共46页例1例2如果I0.0 为“1”,则 MW10 的内容作为整数读入,并转换为一个双整数。其结果保存在MD12 中。如果不执行转换(ENO=EN=0),则输出 Q4.0 为“1”第19页/共46页四、
10、整数算数运算指令P121使用整数算术运算指令,可以进行以下两个整数(16 位和 32 位)之间的运算:ADD_I 整数加法 SUB_I 整数减法 MUL_I 整数乘法 DIV_I 整数除法 ADD_DI 双整数加法 SUB_DI 双整数减法 MUL_DI 双整数乘法 DIV_DI 双整数除法 MOD_DI 回送余数的双整数第20页/共46页如果I0.0=“1”,则ADD_I 方块激活。MW0+MW2 相加的结果放入MW10 中。如果结果在整数的允许范围之外,则输出Q4.0 置位。例1第21页/共46页例2 解决算术问题如何使用 3 种整数算术运算指令产生如下列方程一样的结果:MW4=(IW0+
11、DBW3)x 15)/MW0打开数据块 DB1。第22页/共46页五、浮点数运算指令P12132 位标准IEEE 浮点数完成以下算术运算:ADD_R 实数加法 SUB_R 实数减法 MUL_R 实数乘法 DIV_R 实数除法 完成一个浮点数的绝对值运算(ABS)完成一个浮点数的平方(SQR)和平方根(SQRT)运算 完成一个用 32 位标准IEEE 浮点数表示的角度的以下三角函数运算:-正弦(SIN)和反正弦(ASIN)运算-余弦(COS)和反余弦(ACOS)运算-正切(TAN)和反正切(ATAN)运算第23页/共46页例如果I0.0=“1”,则ADD_R 方块激活。MD0+MD4 相加的结果
12、放入MD10 中。如果结果在浮点数的允许范围之外或程序语句没有执行(I0.0=“0”),则输出Q4.0 置位。第24页/共46页六、数据块指令例数据块10(DB10)被打开。接点地址(DBX0.0)指的是数据块DB10 中包含的当前数据记录的数据字节 0 的 0 位。该位的信号状态被赋值给输出Q4.0。-(OPN)打开数据块:DB 或DI第25页/共46页七、赋值指令P197MOVE 赋值例如果 I0.0=“1”,则执行指令。MW10 的内容被复制到当前打开的数据块的数据字12中。如果执行指令,则 Q4.0 为“1”。第26页/共46页参数 数据类型 存储区域 说明EN BOOL I,Q,M,
13、L,D 使能输入ENO BOOL I,Q,M,L,D 使能输出IN 所有数据类型,长度可为 8位、16 位或 32 位 I,Q,M,L,D 或 常数 源数值OUT 所有数据类型,长度可为 8位、16 位或 32 位 I,Q,M,L,D 目的地址第27页/共46页装载举例数据装入和传递数据装入和传递 (1)(1)L +5/16-位常数(整数)L L#523123/32-位常数(双整数)L B#16#EF/十六进制字节L 2#0010 0110 1110 0011/16-位二进制值L 3.14/32-位常数(实数)MOVEENIN OUT ENO MB55FBDL+5TMB5STLMOVEEN O
14、UT ENO MB5LADIN5第28页/共46页数据装入和传递数据装入和传递(2)(2)00000000:L W#16#CAFEL W#16#AFFE:XXXXXXXXCAFEAFFE ACCU2内容 ACCU1内容程序程序YYYYYYYYXXXXXXXX0000CAFE第29页/共46页数据装入和传递数据装入和传递(3)(3)312315700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0MB0312315700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0MB1MB031231570MB3MB2MB0MB1装载L MB 0程序程
15、序T QD 4QD 4QW 4QB 4传递ACCU1内容L MW 0L MD 0T QW 4T QB 4第30页/共46页八、逻辑控制指令P133逻辑控制指令可以用于所有逻辑块:组织块(OB),功能块(FB)和功能(FC)。可执行下列功能的逻辑控制指令:-(JMP)-无条件跳转-(JMP)-条件跳转-(JMPN)-若非则跳转第31页/共46页例1 无条件跳转例2 有条件跳转第32页/共46页无条件跳转无条件跳转(不依赖于不依赖于 RLO)(JMP)NEW1Network 1Network 2:Network xNEW1()M69.0I 2.7M5.5LADNEW1JMP.NEW1&M5.5I
16、2.7=M69.0Network 1Network 2:Network xFBDNetwork 1JU NEW1Network 2:Network xNEW1:AN M5.5 AN I 2.7=M69.0STL第33页/共46页条件跳转条件跳转(依赖于依赖于 RLO)A I0.0A I0.1JC NEW1NEW1I 0.0I 0.1&I0.0I0.1JMPNEW1(JMP)如果RLO=1就跳转A I0.2A I0.3JCN NEW2JMPNI0.2I0.3NEW2NEW2I 0.2I 0.3如果RLO=0就跳转(JMPN)&LADFBDSTL第34页/共46页九、程序控制指令下述程序控制指令可
17、供使用:-(CALL)从线圈调用 FC/SFC(无参数)CALL_FB 从方块调用 FB CALL_FC 从方块调用 FC CALL_SFB 从方块调用 SFB CALL_SFC 从方块调用 SFC 调用多背景块 从库中调用块第35页/共46页十、移位和循环指令P199下述移位指令可供使用:SHR_I 整数右移 SHR_DI 双整数右移 SHL_W 字左移 SHR_W 字右移 SHL_DW 双字左移 SHR_DW 双字右移第36页/共46页例如果 I0.0=“1”,则 SHR_I 方块激活。MW0 装入,并右移使用 MW2 指定的位数。其结果被写入 MW4 中。Q4.0 置位。第37页/共46
18、页 下图所示为包括两台传送带的系统,在两台传送带之间有一个临时仓库区。传送带1 将包裹运送至仓库区。传送带1 靠近仓库区一端安装的光电传感器确定已有多少包裹运送至仓库区。传送带2 将临时库区中的包裹运送至装货场,在这里货物由卡运送至顾客。传送带2 靠近仓库区一端安装的光电传感器确定已有多少包裹从仓库区运送至装货场。含 5 个指示灯的显示面板表示临时仓库区的占用程度。第38页/共46页输入点:光电传感器1 I12.0光电传感器2 I12.1仓库置初值 I12.2设备启动 I12.4设备停止 I12.5输出点:仓库区空 Q12.0仓库区不空 Q12.1仓库区装入大于等于50%Q15.3仓库区装入大
19、于等于90%Q15.4 仓库区满 Q15.4传送带1前进 Q15.5传送带2前进 Q15.6第39页/共46页()I2.4 I2.5M0.0()M0.0I12.0Q15.5M0.0()M0.0I12.1Q15.6第40页/共46页进库出库置初值清零第41页/共46页Q12.0第42页/共46页第43页/共46页S7-300指令系统(语句表STL方式)STL指令与LAD和FBD相比,指令集更为丰富。因此LAD、FBD的代码可以转换为STL代码,但并非所有的STL代码都可以转换成LAD或FBD。1、位逻辑指令 2、比较指令 3、转换指令 4、计数器指令 5、数据块指令 6、逻辑控制指令 7、整数算术运算指令 8、浮点算术运算指令9、装入和传送指令 10、程序控制指令 11、移位和循环指令12、定时器指令13、字逻辑指令14、累加器操作指令详细资料语句表(STL)手册第44页/共46页S7-300指令系统(梯形图方式)1、位逻辑指令 2、比较指令 3、转换指令 4、计数器指令 5、数据块指令 6、逻辑控制指令 7、整数算术运算指令 8、浮点算术运算指令9、赋值指令 10、程序控制指令 11、移位和循环指令 12、状态位指令13、定时器指令14、字逻辑指令详细资料见梯形图(LAD)手册或语句表(STL)手册第45页/共46页感谢您的观看!第46页/共46页
限制150内