在 S7-SCL 中如何调试多重背景
- 格式:docx
- 大小:22.63 KB
- 文档页数:1
简述多重背景的使用方法
多重背景是指在电脑或手机桌面上同时设置多张背景图片,使桌
面看起来更加丰富多彩。
使用方法如下:
1. 首先需要找到想要使用的多重背景图片,可以在互联网上搜
索或者从个人收藏中选择。
2. 将多重背景图片保存到电脑或手机中的图片文件夹中,并确
保图片尺寸大小适合桌面分辨率。
3. 在电脑或手机的桌面设置中选择“多重背景”,然后依次添
加需要使用的背景图片,确定图片的显示顺序、位置、大小等属性。
4. 根据需求可以设置多重背景图片的切换时间和方式,例如按
顺序、随机等方式进行切换,以及设置滚动、平铺等不同的显示效果。
5. 最后保存和完成设置,此时多重背景已经成功应用到电脑或
手机的桌面上。
需要注意的是,在选择多重背景图片时要选择不会影响桌面查看
和使用的图片,同时不要添加过多的背景图片,以免影响电脑或手机
的性能。
在SIEMENS S7-300/400系列PLC中有多种程序块,如下图(在管理器右边的空白区域点击右键),主要有:组织块(OB),功能块(FB),功能(FC),数据块(DB)及系统功能(SFC)和系统功能块(SFB)等。
注:快捷菜单中的其它两项:数据类型和变量表。
数据类型(UDT)用于指定程序中数据元素的大小与格式;变量表(VAT)用来在程序调试和运行时修改和监视变量的内容(在地址栏中输入地址后,符号栏中会自动显示在符号表中定义的符号)。
这几种程序块的功能简要说明如下:说明:调用程序块:OB,FB,FC(可以调用除OB块外的其它程序块);被调用程序块:FB,FC,SFB,SFC。
1、组织块OBOB由系统自动调用,并执行用户在OB块中编写的程序,所以OB的基本作用是调用用户程序。
在OB块中编写程序的最大容量,S7-300是16KB,S7-400是64KB。
除主程序循环OB1外,其它OB均是由事件触发的中断。
2、函数FC函数FC有两个作用:(1)作为子程序用;(2)作为函数用,函数中通常带形参。
函数中程序的最大容量,S7-300是16KB,S7-400是64KB。
FC的形参通常也称为接口区,参数类型分为输入参数,输出参数,输入/输出参数和临时数据区。
在编写函数FC的输出参数时,应避免没有直接输出(否则,可能输出一个随机值,影响程序的判断)。
可以在函数的开始,将字输出参数清0,位输出参数复位。
3、函数块FBFB与FC相比,FB每次调用都必须分配一个背景数据块,用来存储接口数据区(TEMP类型除外)和运算的中间数据。
其它程序可以直接使用背景数据区中的数据。
FB中程序的最大容量,S7-300是16KB,S7-400是64KB。
FB的接口区比FC多了一个静态数据区(STAT),用来存储中间变量。
程序调用FB时,形参不像FC那样必须赋值,可以通过背景数据块直接赋值。
由于FB带有背景数据块,输出参数不会输出随机值,可以不在FB中编写初始化程序。
实例解析西门子S7-300的多重背景数据块使用,教你事半功倍!BFH当功能块FB1在组织块中被调用时,使用了与FB1相关联的背景数据块。
这样FB1有几次调用,就必须配套相应数量的背景数据块。
当FB1的调用次数较多时,就会占用更多的数据块。
使用多重背景数据块可以有效地减少数据块的数量,其编程思路是创建一个比FB1级别更高的功能块,如FB10,对于FB1的每一次调用,都将数据存储在FB10的背景数据块中。
这样就不需要为FB1分配任何背景数据块。
下面以发动机组控制系统为例,介绍如何编辑和使用多重背景数据块。
例发动机组控制系统设计——使用多重背景设某发动机组由1台汽油发动机和1台柴油发动机组成,现要求用PLC控制发动机组,使各台发动机的转速稳定在设定的速度上,并控制散热风扇的启动和延时关闭。
每台发动机均设置一个启动按钮和一个停止按钮。
项目的编程步骤如下:(1)创建S7项目。
使用菜单“文件”à“新建工程”向导创建发动机组控制系统的S7项目,并命名为“多重背景”。
CPU选择CPU 315- 2DP,项目包含组织块OB1。
(2)硬件配置。
在“多重背景”项目内打开“SIMATIC 300(1)”文件夹,打开硬件配置窗口,并按图1完成硬件配置。
图1 硬件配置(3)编辑如图2所示的符号表。
(4)规划程序结构。
程序结构规划如图3所示。
FB10为上层功能块,它把FB1作为其“局部实例”,通过二次调用本地实例,分别实现对汽油机和柴油机的控制。
这种调用不占用数据块DB1和DB2,它将每次调用(对于每个调用实例)的数据存储到体系的上层功能块FB10的背景数据块DB10中。
(5)编辑功能(FC)。
FC1用来实现发动机(汽油机或柴油机)的风扇控制,按照控制要求,当发动机启动时,风扇应立即启动;当发动机停止后,风扇应延时关闭。
因此FC1需要一个发动机启动信号、一个风扇控制信号和一个延时定时器。
1)定义局部变量声明表。
局部变量声明表如表1所示,表中包含3个变量,两个IN变量,1个OUT变量。
S7-300的功能块忘记选择多重实例背景功能,如何修改?
难道必须要删掉重新建立吗?
还有我建立好的FB FC在主程序已经调用了,
之后我又修改了调用的地方就是红的必须要重新调用吗?没有什么简单的方法可以更新吗?
Step1:在LAD编辑器开启你需要修改的FB.
Step2:执行菜单File——Generate Sourece(中文版可能译为文件——生成源文件),给Object Name文件名,单击OK。
Step3:将需要生成.源.代.码的FB拖入右边的框中,确认。
Step4:在Step7的项目树中的Source源文件夹中你能看到刚才转换的文件。
Step5:双击打开刚才的文件,然后删除CODE_VERSION1行。
Step6:执行File——Compile(文件——编译),编译前应确保先前开启的FB编辑器关闭,否则将提示错误。
经过上述过程,你可以为没有多背景的FB添加该功能,反之,可以为FB的多背景属性取消,如果你的FB不需要多背景功能,建议不要选择多背景选项,因为多背景选项会限制STL的编程。
SCL⼊门教程SCL介绍SCL 编程语⾔SCL(Structured Control Language,结构化控制语⾔)是⼀种基于 PASCAL 的⾼级编程语⾔。
这种语⾔基于标准 DIN EN 61131-3(国际标准为 IEC 1131-3)。
根据该标准,可对⽤于可编程逻辑控制器的编程语⾔进⾏标准化。
SCL 编程语⾔实现了该标准中定义的 ST 语⾔ (结构化⽂本) 的 PLCopen 初级⽔平。
S7-1200从V2.2版本开始⽀持SCL语⾔。
语⾔元素SCL 除了包含 PLC 的典型元素(例如,输⼊、输出、定时器或存储器位)外,还包含⾼级编程语⾔。
表达式赋值运算运算符程序控制语句SCL 提供了简便的指令进⾏程序控制。
例如,创建程序分⽀、循环或跳转。
应⽤因此,SCL 尤其适⽤于下列应⽤领域:数据管理过程优化配⽅管理数学计算 / 统计任务表达式说明:表达式将在程序运⾏期间进⾏运算,然后返回⼀个值。
⼀个表达式由操作数(如常数、变量或函数调⽤)和与之搭配的操作符(如 *、/、+ 或 -)组成。
通过运算符可以将表达式连接在⼀起或相互嵌套。
运算顺序表达式将按照下⾯因素定义的特定顺序进⾏运算:相关运算符的优先级,优先级数越⼩越优先同等优先级运算符的运算顺序按照从左到右的顺序赋值运算的计算按照从右到左的顺序进⾏括号优先级最⾼表达式类型不同的运算符,分别可使⽤以下不同类型的表达式:算术表达式关系表达式逻辑表达式算数表达式说明:算术表达式既可以是⼀个数字值,也可以是由带有算术运算符的两个值或表达式组合⽽成。
算术运算符可以处理当前 CPU 所⽀持的各种数据类型。
如果在该运算中有 2 个操作数,那么可根据以下条件来确定结果的数据类型:如果这 2 个操作数均为有符号的整数,但长度不同,那么结果将采⽤长度较长的那个整数数据类型(例如,Int + DInt = DInt)。
如果这 2 个操作数均为⽆符号整数,但长度不同,那么结果将采⽤长度较长的那个整数数据类型(例如,USInt + UDInt = UDInt)。
S7-1200PLC多重背景数据块DB使用方法前两次文章和大家讲解了FB FC块使用方法,其中包含带参数、多次调用、全局库知识点,那么结合前两次内容给大家补充一个技巧,如何通过多次调用FB或FC块并产生一个DB背景数据块,统称为:多重背景数据DB块。
一、创建一个FB块(电机正反转互锁)第一步:(添加FB块,命名为:正反转)二、编写FB块参数与程序第一步:(填写接口参数地址与数据类型)Input(输入接口)正转启动(数据类型BOOL)反转启动(数据类型BOOL)停止按钮(数据类型BOOL)InOut(输入输出接口)正转启动(数据类型BOOL)反转启动(数据类型BOOL)第二步:(编写正反转程序)三、创建一个FB块作为多重背景存放第一步:(创建FB100块,作为多重背景存放区)FB编号可以根据调用的FB多少来确定,当然越大越好。
第二步:(在FB100接口Static(静态变量)参数中创建调用FB 块多重背景名称)根据自己需要调用次数来填写,比如我需要调用三次,那么就创建三个即可,其它以此类推,FB块多重背景名称可以随意定义,没有固定的名称。
四、调用FB块第一步:(在FB100中调用FB1正反转程序)调用时选择多重背景,然后在多重背景接口参数中的名称选择在FB100接口参数中Static(静态变量)创建的名称,通过编号1 2 3排列。
第二步:(填写FB1正反转管脚地址)五、查看背景数据DB块第一步:(创建DB块,命名为:正反转背景DB块)第二步:(调用三次FB块,背景数据块全部集成在一个背景DB 块中)按照正常调用法,每次调用一个FB或FC块都要产生一个DB背景数据块,这样浪费并占地方,一个背景DB块可以存入1万6千多个数据,所以这样很浪费,因此采用多重背景数据DB,把所有数据都放在一个背景数据块中。
六、演示效果第一步:(三个FB正反转块全部同时启动电机正转)它们之间相互互不影响,可以同时启动,同时停止,同时反转。
S7-1200 定时器S7-1200的定时器为IEC定时器,用户程序中可以使用的定时器数量仅仅受CPU的存储器容量限制。
使用定时器需要使用定时器相关的背景数据块或者数据类型为IEC_TIMER(或TP_TIME、TON_TIME、TOF_TIME、TONR_TIME)的DB块变量,不同的上述变量代表着不同的定时器。
注:S7-1200的IEC定时器没有定时器号(即没有T0、T37这种带定时器号的定时器)。
S7-1200包含四种定时器:•生成脉冲定时器(TP)•接通延时定时器(TON)•关断延时定时器(TOF)•时间累加器(TONR)此外还包含复位定时器(RT)和加载持续时间(PT)这两个指令。
指令位置参见图1,定时器引脚参考表1,定时器使用及时序图参考表2。
这四种定时器又都有功能框和线圈型两种,区别参见常见问题3。
图1 指令位置表1定时器引脚汇总表2定时器使用及时序图生成脉冲LAD:或-( TP )-SCL:TP接通延时LAD:或-( TON )-SCL:TON 关断延时LAD:或-( TOF )-时间累加器LAD:或-( TONR )-SCL:TONRS7-1200 定时器创建S7-1200定时器创建有以下几种方法:1. 功能框指令直接拖入块中,自动生成定时器的背景数据块,该块位于“系统块>程序资源”中,参见图2。
图2 自动生成定时器的背景数据块2. 功能框指令直接拖入FB块中,生成多重背景,参见图3。
图3 多重背景3. 功能框指令直接拖入FB、FC块中,生成参数实例,从TIA博途V14开始,参见图4。
图4 参数实例4. 在DB块、FB的静态变量、FC和FB的INOUT变量中新建IEC_TIMER、TP_TIME、TON_TIME、TOF_TIME、TONR_TIME(后面四个从TIA博途V11开始)类型变量,在程序中将功能框定时器指令拖入块中时,在弹出的“调用选项”页面点击“取消”按钮,之后将该建好的变量填入指定位置。
在 S7-SCL 中如何调试多重背景?
介绍: 在 S7-SCL 中,可以像在 STEP 7 LAD/STL/FBD 编辑器一样编辑多重背景。
可以在如下条目中查找到关于断点 的详细描述:
"How can you test a STEP 7 program with breakpoints?" 在条目 ID: 21336333
过程描述见下表:
编 步骤 号 1 通过 S7-SCL 菜单命令 "Tools > Settings..." 打开 "Settings" 对话框, 并选择 "Compiler" 页面。
激活选项 "Create Debug Info" 并确认。
2 通过 "Test > Operation > Test operation" 操作,改变 CPU 模式至测试模式 3 保存并编译 S7-SCL 程序,并下载到 CPU 中。
4 把光标移动至相应的程序行,并执行 "Test > Set breakpoint",来为多重背景 设置断点。
在 S7-SCL 指令临近位置,断点以一个彩色的小圆圈显示。
5 通过 "Test > Breakpoints active" 切换至测试模式 6 S7-SCL 编辑器窗口将被分割为两部分,并且程序将运行到下一个断点。
如 果程序停止在块调用的行(多重背景),则选择 "Test > Execute call"。
图 01 在测试模式下,低等级的块被打开并被处理。
在处理后,程序返回调用位置。
可以在 S7-SCL 在线帮助中查找到更多的信息
Debugging with Breakpoints/Single Step Mode Starting the Test with Breakpoints Debugging in the Single Step Mode
关键字: 故障检测
。