西门子高级编程.pdf
《西门子高级编程.pdf》由会员分享,可在线阅读,更多相关《西门子高级编程.pdf(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Date:2009-4-15File:PRO2_01E.1SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives状态位指令状态位指令Date:2009-4-15File:PRO2_01E.2SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and DrivesS7-CPU 的寄存器和存储器区域的寄存器和存储器区域累加器累加器ACCU1ACCU4ACCU3ACCU2仅适用于 仅适
2、用于 S7-400AR2AR1地址寄存器地址寄存器打开的打开的 DB DB 长度长度数据块寄存器数据块寄存器状态位状态位状态字状态字32 位32位32位32位32位32位16位16位装载存储器装载存储器-逻辑块-数据块工作存储器工作存储器-逻辑块-数据块I/O 区域区域系统存储器系统存储器-过程映像输入表-过程映像输出表-位存储器-定时器-计数器-逻辑数据堆栈-中断堆栈-块堆栈S7-CPU 寄存器寄存器S7-CPU 存储器区域存储器区域T,S,=,.L,A,O,.16位打开的打开的 DI DI 长度长度Date:2009-4-15File:PRO2_01E.3SIMATIC S7Siemens
3、 AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives状态字结构状态字结构位定义值含义位定义值含义0/FC20 首次检查位首次检查位1RLO21 逻辑运算结果逻辑运算结果2STA22 状态位状态位3OR23 或或4OS24 保存溢出保存溢出5OV25 溢出溢出6CC 026 条件代码条件代码7CC 127 条件代码条件代码8BR28 二进制结果二进制结果9.15 未定义 未定义 29.210状态字各位的含义状态字各位的含义Date:2009-4-15File:PRO2_01E.4SIMATIC S7Siemen
4、s AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives检查状态位检查状态位OVSS0M 4.0M 4.0在在 STL中进行检查中进行检查?A OV扫描溢出显示?A OS扫描存储的溢出标志?A BR扫描 BR标志检查条件代码检查条件代码(CC0,CC1)?A =0 结果等于 0?A 0 结果大于 0?A 0 结果不等于 0?A =0 结果小于或等于 0,等等?A UO无序指令在在LAD 和和FBD 中进行检查中进行检查Date:2009-4-15File:PRO2_01E.5SIMATIC S7Siemens
5、AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives|带有状态位的指令带有状态位的指令指令码 含义 示例指令码 含义 示例?SET将RLO位设置为“1“SET/RLO-1=M 0.1?CLR将RLO位设置为“0“CLR/RLO-0?NOT将 RLO位取反O 手动模式;O 自动模式;NOT;=操作模式=M0.0?SAVE以二进制形式保存RLO结果?A BR检查二进制形式结果|I 1.0 I 1.1 I 1.2|()()(SAVE)|BR Q 4.2 Q 5.0Date:2009-4-15File:PRO2_01E
6、.6SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives块调用或复杂块调用或复杂功能功能中的中的BR位及位及ENOLADSTLNetwork 1:循环程序:循环程序FC23I0.0ENMW10Step_bit _memoryStep_dis playENO()M100.0QW12Network 2:?MUL_II0.1EN345IN1OUTENO()M100.1MW10987IN2Network 1:循环程序:循环程序A I 0.0 JNB _001 CALL FC 23 S
7、tep_bit_memory:=MW10 Step_display:=QW12 _001:A BR=M 100.0 Network 2:?A I 0.1JNB _002L 345L 987*I TMW10 AN OV SAVE CLR _002:A BR=M 100.1Date:2009-4-15File:PRO2_01E.7SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives取决于状态位的跳转功能取决于状态位的跳转功能?JU 标号1)无条件跳转?JC 标号1)如果“RLO”
8、=1,则跳转?JCN标号1)如果“RLO”=0,则跳转?JCB标号1)如果“RLO”=1,则跳转,并将RLO保存在BR位中?JNB标号1)如果“RLO”=0,则跳转,并将RLO保存在BR位中?JBI标号1)如果“BR”=1,则跳转?JNBI标号1)如果“BR”=0,则跳转?JO标号1)如果状态字中的“OV”位=1,则跳转?JOS标号1)如果状态字中的“OS”位=1,则跳转1)标号可以由4位字母-数字字符组成Date:2009-4-15File:PRO2_01E.8SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forA
9、utomation and Drives取决于条件代码的跳转功能取决于条件代码的跳转功能?JZ 标号1)如果状态字“CC 1”位=0且“CC 0”位=0,则跳转(结果=0)?JN标号1)如果状态字“CC 1”位不等于“CC 0”位,则跳转(结果 0)?JP标号1)如果状态字“CC 1”位=1且“CC 0”位=0(结果=0),则跳转(结果 0)?JM标号1)如果状态字“CC 1”位=0且“CC 0”位=1(结果=0),则跳转(结果=0)?JMZ标号1)JM和JZ联合使用,同时满足条件,则跳转(结果 n 时的指令段示例:带有示例:带有3个分支的跳转分支程序个分支的跳转分支程序L Recipe no
10、/装载分支程序数JL OVER/带有3个分支的跳转分支JU Rec0/跳转到0号分支(ACCU1=0)JU Rec1/跳转到1号分支(ACCU1=1)JU Rec2/跳转到2号分支(ACCU1=2)OVER:JU ERROR/如果ACCU1 2,则跳转至标号OVER.Rec0:L DBW4.Rec1:L DBW6.Rec2:L DBW8.ERROR:CLR.操作模式操作模式M_n:JU M_0JU M_nACCU1=0 时的指令段.ACCU1=n 时的指令段OVER:M_0:Date:2009-4-15File:PRO2_01E.10SIMATIC S7Siemens AG 2001.All
11、rights reserved.SITRAINTraining forAutomation and Drives循环指令的编程循环指令的编程初始化循环计数器LOOP NEXT将ACCU1进行减1操作,并作判断ACCU1 0?是否继续NEXT:将循环执行数次的代码段将循环计数器内容装入 ACCU1.示例:进行示例:进行4次循环扫描的循环指令编程次循环扫描的循环指令编程L +4/装载循环计数器NEXT:T MW10/循环开始./指令代码./指令代码./指令代码L MW10/再次装载循环计数器LOOP NEXT/循环计数器值 1,/如果Accu 1 0,则/跳转到标号NEXT处操作模式操作模式将AC
12、CU1内容送入循环计数器Date:2009-4-15File:PRO2_01E.11SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives?BE 块结束指令?BEU无条件块结束指令(在块内)?BEC 条件块结束指令(取决于 RLO位)(RET)在 LAD 编程语言中在 FBD编程语言中块结束指令块结束指令RETDate:2009-4-15File:PRO2_01E.12SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTr
13、aining forAutomation and Drives练习练习1.1:减法运算完成后跳转:减法运算完成后跳转拨码按钮拨码按钮1 2 3 4-D正值结果(正值结果(=0)将)将IW 0 的值写入显示的值写入显示删除显示负值结果删除显示负值结果JM 标号标号转换为 转换为 DINT转换为 转换为 DINTBTDBTD0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 02021527仿真器上的切换开关仿真器上的切换开关十进制开关:十进制开关:S7-300:IW4(IW2,32位模式)显示:位模式)显示:S7-300:QW12(QW6,32位模式)位模式)S7-400:IW 30 S
14、7-400:QW38切换开关:切换开关:S7-300:IW0(IW0)S7-400:IW28Date:2009-4-15File:PRO2_01E.13SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives练习练习 1.2:乘法运算完成后跳转:乘法运算完成后跳转无溢出将结果输出显示无溢出将结果输出显示删除显示溢出删除显示溢出JO 标号标号十进制开关:十进制开关:S7-300:IW4(IW2,32位模式)显示:位模式)显示:S7-300:QW12(QW6,32位模式)位模式)S7
15、-400:IW30 S7-400:QW38切换开关:切换开关:S7-300:IW0(IW0)S7-400:IW28DTB转换为 转换为 BCD码码拨码开关拨码开关1 2 3 4*I转换为 转换为 DINT转换为 转换为 DINTBTDBTD0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 02021527仿真器上的切换开关仿真器上的切换开关Date:2009-4-15File:PRO2_01E.14SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives练习练习 1.3
16、:跳转分支编程:跳转分支编程拨码按钮拨码按钮112345Motor_let 右转右转Motor_let 左转马达停转喇叭开喇叭关使用左转马达停转喇叭开喇叭关使用Jump指令,跳转到所列标号指令,跳转到所列标号功能:功能:JL 标号标号标号:地址:标号:地址:S7-300(16位)位)S7-300(32位)位)S7-400马达右转:马达右转:Q20.5 Q8.5 Q40.5马达左转:马达左转:Q20.6 Q8.6 Q40.6喇叭:喇叭:Q20.7 Q8.7 Q40.7Date:2009-4-15File:PRO2_02E.1SIMATIC S7Siemens AG 2001.All rights
17、 reserved.SITRAINTraining forAutomation and Drives累加器指令累加器指令Date:2009-4-15File:PRO2_02E.2SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives累加器指令概述累加器指令概述影响多个累加器的指令:影响多个累加器的指令:?TAK:将累加器ACCU1和累加器ACCU2中的内容交换?PUSH:将累加器中的内容依次“向上”传递“(从ACCU1向ACCU4传递)?POP:将累加器里中内容依次“向下”传递
18、“(从ACCU4 向ACCU1传递)?ENT:将累加器里中内容依次“向上”传递“,但 ACCU1内容不参与传递?LEAVE将累加器里中内容依次“向下”传递“,但 ACCU2内容不参与传递?算术指令及字逻辑指令仅影响累加器仅影响累加器ACCU1的指令的指令?INC:累加器ACCU1-LL中的内容加1?DEC:累加器ACCU1-LL中的内容减1?CAW:将ACCU1-L中的两个字节翻转?CAD:将ACCU1中的双字数据翻转?INVI,INVD:生成1的补码?NEGI,NEGD,NEGR:生成2的补码(取反)?SLW,SLD,SRW,SRD,SSI,SSD:将ACCU1中的内容逐字或双字左移或者右移
19、?RLD,RRD:将ACCU1中的内容向左或向右循环移位?RLDA,RRDA:经由条件代码位CC1,将ACCU1中的内容向左或向右循环移位Date:2009-4-15File:PRO2_02E.3SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and DrivesTAK指令(交换累加器指令(交换累加器ACCU1和累加器和累加器ACCU2的内容)的内容)S7-300:S7-400:ACCU1ACCU2V1V2V2V1指令执行前指令执行后指令执行前指令执行后ACCU1ACCU2V1V2V3V4A
20、CCU3ACCU4V2V1V3V4指令执行前指令执行后指令执行前指令执行后TAKTAKDate:2009-4-15File:PRO2_02E.4SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and DrivesPUSH和和POP指令指令S7-300:ACCU1ACCU2V1V2V1V1指令执行前指令执行后指令执行前指令执行后PUSHS7-400:ACCU1ACCU2ACCU3ACCU4V1V2V1V2V3V4V1V1V2V3指令执行前指令执行后指令执行前指令执行后PUSHV2V2指令执行前
21、指令执行后指令执行前指令执行后POPV1V2V3V4V2V3V4V4指令执行前指令执行后指令执行前指令执行后POPDate:2009-4-15File:PRO2_02E.5SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and DrivesENT和和LEAVE指令(仅适用于指令(仅适用于S7-400)ENT:LEAVE:V1V2V3V4ACCU1ACCU2ACCU3ACCU4V1V2V2V3指令执行前指令执行后指令执行前指令执行后V1V2V3V4ACCU1ACCU2ACCU3ACCU4V1V
22、3V4V4指令执行前指令执行后指令执行前指令执行后Date:2009-4-15File:PRO2_02E.6SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives算术指令算术指令S7-300:S7-400:ACCU1ACCU2V1V2V2 op V1V2指令执行前指令执行后指令执行前指令执行后ACCU1ACCU2V1V2V3V4ACCU3ACCU4V3V4V4指令执行前指令执行后操作:指令执行前指令执行后操作:+.,-.,*.,/.V2 op V1操作:操作:+.,-.,*.,
23、/.Date:2009-4-15File:PRO2_02E.7SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives字逻辑指令字逻辑指令S7-300:S7-400:ACCU1ACCU2V1V2V2 op V1V2指令执行前指令执行后指令执行前指令执行后ACCU1ACCU2V1V2V3V4ACCU3ACCU4V2V3V4指令执行前指令执行后操作类型:指令执行前指令执行后操作类型:A.,O.,X.,V2 op V1操作类型:操作类型:A.,O.,X.,Date:2009-4-15F
24、ile:PRO2_02E.8SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and DrivesACCU1交换指令交换指令CAW:CAD:V4V3V2V1ACCU1-HHACCU1-HLACCU1-LHACCU1-LLV4V3V1V2V4V3V2V1V1V2V3V4Date:2009-4-15File:PRO2_02E.9SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives
25、ACCU1增量指令增量指令ACCU1-HHACCU1-HLACCU1-LHACCU1-LLINC :V4V3V2V1V4V3V2V1+DEC:V4V3V2V1V4V3V2V1-Date:2009-4-15File:PRO2_02E.10SIMATIC S7Siemens AG 2001.All rights reserved.SITRAINTraining forAutomation and Drives生成生成1的补码的补码0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 1 1 1031INVI(ACCU1-L 1的补码):
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西门子 高级 编程
限制150内