1、附录1: 使用文本编辑器创建程序,“保护属性”,ASCII AWL,项目结构中的S7程序,项目,S7,块,源文件,图表文件夹,符号表,S7块: 编辑器: - OB LAD, STL, FBD - FB LAD, STL, FBD, S7-Graph - FC LAD, STL, FBD - DB DB编辑器,- CFC图,S7程序,S7 源文件: - STL源文件 - S7-SCL源文件 - S7-HiGraph源文件 - S7-Graph源文件,连接表,块(S7-CPU),工作站(S7-300),S7 程序,输出和编译概念,块,用户程序,ASCII 源文件,FUNCTION_BLOCK FB
2、21AUTHOR: Andy FAMILY: plant1 NAME: fb_mot21 VERSION: 01.01 VAR_INPUT IN1: INT:=123; END_VARVAR_OUTPUT OUT1: INT:=123; END_VARVAR_IN_OUT IN_OUT1: INT:=123; END_VARVAR VAR1: INT:=123; END_VAR . .,编译,生成,符号表,编译和生成过程中的读访问,递增式 编辑,打开,保存,编辑过程中的读访问,面向源文件的 编辑,符号 编辑器,启动文本编辑器,使用文本编辑器创建程序,插入块模板、块和源文件,正在编辑的 源文件,
3、块 模板,块,文件,文件,插入块模板,插入块,插入文件,插入文件,生成,通用输入规则和结构,UDT,全局DB,来自UDT的DB,FB3,FB3的背景DB,FC5,OB1,分配,调用,调用,调用,调用,分配,源文件中的顺序,逻辑块语法,组态,块开头是块说明 (绝对或符号),块标题 (可选),关键字示例,ORGANIZATION_BLOCK OB1 FUNCTION_BLOCK FB1 FUNCTION FC 1 : int,TITLE = Block title,块注释 (可选),块属性(可选),/ 块注释,KNOW_HOW_PROTECT AUTHOR: PT41 FAMILY: Motors
4、 NAME: Motorone VERSION: 0815,变量声明部分 (声明类型决定于块类型每个声明类型的终止,指令部分包括 程序段 程序段标题 程序段注释,VAR_IN VAR_OUT VAR_IN_OUT VAR VAR_TEMPEND_VAR,BEGIN NETWORK TITLE=first network /,块结束,END_ORGANIZATION_BLOCK END_FUNCTION_BLOCK END_FUNCTION,块的系统属性(可选),Attr1 := block_val1; / 块属性1Attr2 := block_val2; /块属性2Attr3 := block
5、_val3 /块属性3,数据块语法,组态,块开头是块说明 (绝对或符号),块标题 (可选),关键字示例,DATA_BLOCK DB 26,TITLE = Block title,块注释 (可选),块属性(可选),/ 块注释,KNOW_HOW_PROTECT AUTHOR: Mller FAMILY: Motors NAME: Motorone VERSION: 0815,声明部分决定于DB,全局数据块: 变量声明 (初始值可选),STRUCTEND_STRUCT,UDT的DB: UDT规定(绝对或符号),UDT 16,背景DB: FB规定(绝对或符号),FB 20,使用当前值赋值部分,BEGI
6、N ,块结束,END_DATA_BLOCK,块的系统属性(可选),Attr1 := block_val1; / 块属性1Attr2 := block_val2; /块属性2,变量声明规则,设置块属性,属性,KNOW_HOW_PROTECT,逻辑块 (OB、FB、FC),数据块,UDT,是,是,否,AUTHOR,是,是,否,FAMILY,是,是,否,NAME,是,是,否,VERSION,是,是,否,UNLINKED,否,是,否,READ_ONLY,否,是,否,习题A1.1: 创建源文件,传送,Station_1,Station_2,Station_3,FB10,Data for Transpor
7、t,FB10的背景DB,CALL Station_1 CALL Station_2 CALL Station_3 . . CALL Transport,DB10,. stat Station_1 FB1 stat Station_2 FB1 stat Station_3 FB1 stat Transport FB2 .,Data for Station_1,Data for Station_2,FB1,FB2,Data for Station_3,OB1,FUNCTION_BLOCK “Station“ TITLE = VERSION : 0.1VAR_INPUTInitial : BOOL
8、; Proximity_switch : BOOL ;Acknowledge : BOOL ; Clock_bit : BOOL ; END_VAR VAR_OUTPUTLED : BOOL ; Transp_req : BOOL ; END_VAR VAR_IN_OUTConv_busy : BOOL ; END_VAR VARState : STRUCT Busy : BOOL ; Completed : BOOL ; Waiting : BOOL ; END_STRUCT ; Aux_1 : BOOL ; Aux_2 : BOOL ; END_VAR BEGIN NETWORK TITL
9、E =Initialization /初始化进行“Busy”设置 A #Initial; .,源文件: “Assembly Line“,习题A1.2:计数已完成的工件,传送,Station_1,Station_2,Station_3,总装配,习题解答A1.1:计数已完成的零件 (FB1, 第1部分),习题解答A1.2:计数已完成的零件 (FB1, 第2部分),习题解答A1.2:计数已完成的零件 (FB2, 第3部分),习题解答A1.2:计数已完成的零件 (FB2, 第4部分),习题解答A1.2:计数已完成的零件 (FB10, 第5部分),习题解答A1.2: 完成零件计数 (FB10, 第6部分),