西门子S7-300+400高级编程培训教材,内部教材12、分布式+IO+和参数分配.ppt_第1页
西门子S7-300+400高级编程培训教材,内部教材12、分布式+IO+和参数分配.ppt_第2页
西门子S7-300+400高级编程培训教材,内部教材12、分布式+IO+和参数分配.ppt_第3页
西门子S7-300+400高级编程培训教材,内部教材12、分布式+IO+和参数分配.ppt_第4页
西门子S7-300+400高级编程培训教材,内部教材12、分布式+IO+和参数分配.ppt_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、S7/M7工程工具,SCL,CFC,SFC,S7/M7工程工具,SCL,CFC,SFC,S7/M7工程工具,SCL,CFC,SFC,S7- GRAPH 软件包,T1,T2,T3,T4,T5,用于顺控器编程的工具 与 IEC 61131-3兼容 为满足制造业要求而设计 以图形方式把流程细分为步和转换条件 步包含动作 转换条件检验步的激活条件 自动执行下列工作 计划,组态 编程 调试 启动 维护,诊断,顺序控制系统的程序结构,T1 转换条件 1,电机,限位开关,步激活条件,T2 转换条件 2,输入 1,输入 2,步激活条件,步 1,动作,动作,步 2,动作,动作,创建顺控器 FB,S7- GRAP

2、H用户界面,1,2,3,顺控器视图,总览,单页,单步,顺控器元素,T1,T2,T3,初始步,转换,T4,T5,顺控器结束,选择分支,打开,并行分支,打开,选择分支,闭合,并行分支,闭合,顺控器 1,T6,T7,T9,顺控器 2,S8,T9,跳转到 步 8,动作编程,T20,NCForward L1 SQ 4.3 DM3.0 T#4s NA := B - C,Door_closed,联锁,( ),Time_off,监控,( ),输入1,输 2,步激活条件,使用简单指令的动作块 N = 未保存的赋值 S = 设定值(已保存) D = 有延时,不保存赋值,延时时间为T L = 时间限制 ,在限定时间

3、内不保存赋值 CALL = 块调用,Step_block _1 NM1.1 SM1.2 RM1.3 DM1.4 T#1H2M3S LM1.5 T#4MS CALLFC1,步中的标准动作,使用条件指令的动作块 条件 带有标识符“C”(条件)的动作,仅在步的联锁条件为真(“C”1)时执行。 条件为零时存在联锁错误,受条件C限制的动作不会被执行。将该步打上标志,并且发送错误信息“Error” 。,Step_block _2 NCM1.1 SCM1.2 RCM1.3 DCM1.4 T#1H2M3S LCM1.5 T#4MS CALLCFB5.DB3,由联锁决定的动作,使用事件驱动指令的动作块 动作在事

4、件发生的扫描周期中执行一次 时间 A1 = 确认 L1 = 联锁错误到达 L0 = 联锁错误离开 S1 = 步已激活 S0 = 步已取消激活 V1 = 监控错误到达 V0 = 监控错误离开,Step_block _3 A1 NM1.1 L1 NM1.2 L0NM1.3 S1NM1.4 S0NM2.4 V1NM2.5 V0NM2.6,由事件触发的动作,使用定时器与计数器的动作块,动作中的定时器和计数器,Step_block _4 S1 CUC3 A1 CSCC2 C#123 S1 TLT5 S5T#2M3S L1 TDCT6 S5T#4MS,总是与事件关联。 在发生事件的扫描循环中引发执行一次动

5、作 也可以与联锁条件C组合,计数器 CS = 设置计数 CU =增计数 CD =减计数 CR = 复位计数,定时器 TL = 扩展脉冲 TD = 延时开 TR = 复位时间,带指令的动作块,动作中的数学运算,Step_block _5 N MW0 := IW40 S1 NC A_1 := B_2 NC_1 := BCD_TO_NUM(IW4) A1 NE_5 := EXP(MD22) S1 NX_Diff := X_new - X_old S1 NPath:= V_act * Delta_T,总是需要动作 标识符N 也可以关联到一个事件 或/且结合联锁条件C,赋值 直接赋值,例如:A := B

6、 使用内置函数赋值 转换函数,例如C := ROUND(D) 数学函数,例如E := SQRT(D) 其它函数,例如F := RLDA(G) 使用算子赋值,例如A := B + C,转换条件、步联锁和步监控,T3 Valves_on,Valve_1,Valve_2,CMP =I,MW0,MW2,Door_closed,联锁,( ),Time_off,监控,( ),(步)联锁,(步)监视,转换,步,固定指令,顺控器前的固定指令,顺控器后的固定指令,“Limit switch,EMER_OFF,“Brake closed,“Controller enable,1,2,Valve_2 open,3,

7、CALL FC1 INIT:=(BOOL)(IN),“Safety door closed,1,“Feed enable,“Pushbutton,固定条件 固定块调用,2,3,CALL FC1 INIT:=(BOOL)(IN),固定条件 固定块调用,CALL FC5 TEMP:=(INT)(IN) PRESS:=(INT)(IN) RESULT:=(INT)(OUT),创建可执行块,Motor,Limit switch,Step-enabling conditions,Input 1, Input 2,Step-enabling conditions,保存顺控器为Blocks中的可执行S7块,

8、FB17,保存顺控器为SO中的S7-GRAPH源文件,S7-GRAPH 源文件,在OB1中集成FB调用,块创建或者调用 中的参数集 最小调用参数 1个输入参数,用于控制顺控器 标准调用参数 12个输入参数,用于控制顺控器 7个输出参数,用于显示运行状态 最大参数集 17个输入参数,用于控制顺控器 12个输出参数,用于显示运行状态,标准参数集,最小参数集,激活调试功能,步骤 下载顺控器FB和背景数据块 使用菜单项PLC - Download,把顺控序列FB和背景数据块下载到PLC 选择背景数据块 通过选择下列菜单项,选择希望用于测试的背景数据块Debug - Test Environment 启

9、动“Monitor”功能 选择顺控系统需要使用的部分。当前可见部分的状态信息将在打开的窗口中显示。 激活菜单项 Debug - Monitor(打勾) 退出“Monitor”功能 取消激活菜单项 Debug - Monitor,S7- HiGraph 软件包,1,2,4,位置,凸轮开关,索引输入,索引输出,旋紧/松开,计数器轴承,工件,左转,右转,电机,使用状态图表 编程的工具: 机器划分为功能单元 对每个功能单元创建状态图 状态包含动作 状态图以消息方式通信 可以使用S7-HiGraph优化 自动化项目中的以下阶段: 计划,组态 编程与调试 启动 维护,诊断 支持重新利用,状态图方法的原理,

10、1,2,4,位置,凸轮开关,索引输入,索引输出,旋紧/松开,计数器轴承,工件,左转,右转,电机,实例:铣床轮盘 功能单元(FU) 电机 索引 计数器轴承 状态图 每个FU一张图 附加一张协调图,状态图的组件,状态0,1, . 表示为圆圈 静态状态 动态状态 总是有一个激活状态 状态配有动作 转移 表示为箭头 转移配有转移条件和动作,0,4,1,2,3,1,1,2,1,1,1,实例:电梯控制器的状态图,电机,三楼 门的 状态图,二楼 门的 状态图,一楼 门的 状态图,电梯状态图,三楼,二楼,一楼,带门的电梯,0,6,3,1,5,4,2,1,1,1,1,1,1,1,1,3,2,0,1,1,1,1,

11、1,3,2,0,1,1,1,1,1,3,2,0,1,1,1,1,1,创建状态图,HiGraph用户界面,1,2,3,插入状态和转移条件,动作编程,转移条件编程,固定指令编程,图组编程,分配实际参数,选中的 实例,状态图之间的消息交换,电梯状态图,. . .,电梯的接口声明,状态2的入口动作,A To_floor_2; S Door_2_opn;,名称数据类型消息 Door_2_opn boolout,A Door_opn,t01的转移条件,门的状态图,门的接口声明,名称数据类型消息 Door_opnboolin,Door_2_opn/Door_opn,0,6,3,1,5,4,2,1,1,1,1

12、,1,1,1,1,3,2,0,1,1,1,1,1,为消息分配实际值,选中的 实例,保存和编译,建立执行顺序 菜单:Edit - Execute Order 编译 菜单:File - Compile 在OB1中集成 参数INIT_SD赋值,FC 图组,DB 图组的 数据,S7-HiGraph中的调试功能,S7- SCL高级语言编程,编写PLC程序的高级语言 与IEC 61131-3文本兼容(ST=结构化文本) PLCopen基础级认证 包含高级语言的全部典型元素,例如算子、表达式、控制语句 集成PLC功能, 例如访问 I/O、定时器、计数器.) 优势: 结构清晰,易于阅读程序 支持复杂算法和大数

13、据量,FUNCTION_BLOCK Integrator VAR_IN Init: BOOL; / 输出值复位x : REAL; / 输入值 Ta : TIME; / 采样时间,msTi : TIME;/ 集成时间,ms ulim: REAL;/ 输出值上限 llim: REAL; / 输出值下限 END_VAR VAR_OUTPUT y : REAL:= 0.0;/ 初始化输出值为0 END_VAR BEGIN IF TIME_TO_DINT(Ti)= 0 THEN / 被?除 OK := FALSE;y := 0.0; RETURN; END_IF; IF Init THEN y:= 0.

14、0; ELSE y := y+TIME_TO_DINT(Ta)*x/TIME_TO_DINT(Ti); IF y ulim THEN y := ulim; END_IF; IF y llim THEN y := llim; END_IF;END_IF; END_FUNCTION_BLOCK,SCL源文件结构,. .,FUNCTION_BLOCK FB10,END_FUNCTION_BLOCK,声明部分,表达式部分,属性,块的声明部分,声明部分,Begin (* 语句部分 *),FUNCTION_BLOCK fb_name,END_FUNCTION_BLOCK,属性,CONST CONSTANT

15、:=5; P_Part:=0.8; END_CONST VAR Val1,Val2,Val3 :INT; END_VAR,块的语句部分,声明部分,Begin (* 语句部分 *),FUNCTION_BLOCK fb_name,END_FUNCTION_BLOCK,属性,Begin /赋值实例 Measured value:=0 ; /控制表达式 /的实例 IF I1.1 THEN N:=0; SUM:=0.0; ELSIF START = TRUE THEN N:=N+1; SUM:=SUM + IN; ELSE OK:=FALSE; END_IF; / 子程序调用实例 FB11.DB22(P

16、ass:=10);,S7-SCL中的表达式、算子和操作数,表达式 数学表达式 (3+CONST_INT)*(VAR_INT * 37)/ 3.14) 比较表达式A =9 逻辑表达式(n 5)AND(n 、=、= 逻辑算子NOT、AND或 控制语句 IF语句IF I 1.1 THEN . ELSIF . ELSE . END_IF CASE语句CASE SELECTOR OF 1: .; 2: . ELSE: . END_CASE FOR语句FOR INDEX := 1 TO 49 BY 2 DO . END_FOR WHILE语句WHILE INDEX = 50 DO . END_WHILE

17、REPEAT语句REPEAT . UNTIL INDEX:= 51 . END_REPEAT CONTINUE语句WHILE BOOL_1 DO . CONTINUE . END_WHILE EXIT语句WHILE BOOL_1 DO . EXIT . END_WHILE GOTO语句IF INDEX 23 THEN GOTO MARK; . RETURN语句IF ENABLED THEN RETURN; . 功能块和功能调用 FB或SFB调用FB11.DB20(IN:=VAL1, BY:=VAL2); FC或SFC调用RETURN := FC32(IN:=VAL1,OUT:=VAL2);,S

18、7-SCL中的赋值,局部变量 基本数据类型 COUNTER :=(5 + RUNVAR)* 2; 结构 整个结构STRUCT_1 := STRUCT_2; 分量STRUCT_1.COMP3 := STRUCT_2.COMP1; 数组 整个数组ARRAY_1 := ARRAY_2; 分量ARRAY_1I := ARRAY_2 J; 全局变量 CPU存储区 绝对地址VALUE := IW10; 符号地址VALUE := INPUT ;/ 符号表中的“INPUT” 变址VALUE := IWINDEX; 数据块 绝对地址VALUE := DB11.DW5; 符号地址VALUE := MOTOR.CU

19、RRENT;/ MOTOR和CURRENT必须 变址VALUE := MOTOR.DWIndex;/ 在符号表中存在 通过输入参数VALUE := I_PAR.DWIndex;/ I_PAR 被声明为VAR_IN,S7-SCL中的IF语句,语法 IF THEN ELSIF THEN /可选 . . ELSE /可选 END_IF 实例 IF INPUT_OK THEN N := 0;SUM := 0.0;OK := FALSE;/ 设置OK标志为FALSE ELSIF START_OK THEN N := N + 1;SUM := SUM + IN; ELSE OK := FALSE; END

20、_IF;,S7-SCL中的WHILE语句,语法 WHILE DO END_WHILE 实例 FUNCTION_BLOCK SEARCH/ SEARCH在符号表中声明 VARINDEX: INT;KEYWORD: ARRAY1.50 OF STRING; END_VAR BEGIN INDEX := 1; WHILE INDEX KEY DOINDEX := INDEX + 2; END_WHILE; END_FUNCTION_BLOCK,调用功能块,作为全局实例调用 绝对调用 FB10.DB20(X1 := 5, X2 := IW12,.);(*调用FB10,带背景数据块DB20 *) 符号调

21、用 DRIVE.ON(X1 :=5, X2 := IW12,.);(*DRIVE和ON 在符号表中声明*) 作为局部实例调用 使用标识符调用 VARMOTOR: FB10; END_VAR BEGIN . . . (*可能在其它功能块中 MOTOR(X1 := 5, X2 := IW12,.);作为局部实例调用*),用于辨识出错的“OK”标志,用于错误检测的全局位(在块末尾复制到BR位) 实例: / 设置OK变量为TRUE,激活/ 一个检测,以查看/ 以下动作是否被正确 / 执行 OK := TRUE;SUM := SUM + IN;IF OK THEN/ 加法执行正确.ELSE/ 加法溢出.END_IF;,编译SCL源文件,连续监视,设置和编辑断点,用于SIMATIC S7和SIMATIC M7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论