第四课_2(SCL)_第1页
第四课_2(SCL)_第2页
第四课_2(SCL)_第3页
第四课_2(SCL)_第4页
第四课_2(SCL)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、n SCL高级语言编程高级语言编程 分块程序分块程序结构化程序结构化程序所有的指令都放在一个块中 (通常是组织块OB 1) 单一功能的指令放在单一的块中,OB1调用这些单独的块可重复使用的功能装入单个块中,OB 1 (或其他块) 调用这些块并传递相关数据。OB 1OB 1Recipe ARecipe BMixerOutletOB 1PumpOutlet线性化程序线性化程序1、程序结构、程序结构线性编程 整个程序写在一个连续的程序块中。 这种方法和PLC所代替的硬接线继电器控制类似,CPU 逐条地处理指令。分块编程 程序被分成一些块,每块包含处理一部分任务的程序。在一个块中可以进 一步分解成段。

2、可以为相同类型的段生成段模板。 组织块 OB 1 包含按顺序调用其他块的指令。结构化编程 结构化程序被分成一些块,组织块 OB 1 包含调用其他块的指令。这些 块可分配参数。这些块可传递参数。这些块以通用的方式进行设计。 当调用可分配参数的块时,程序编辑器列出该块局部参数名,参数值在 调用块中分配并传送到该功能或功能块。 例如:“泵控制块”包含泵控制的指令负责特殊泵控制的程序块称为“泵控制块”,将要控制泵的参数传递给它。当“泵控制块”执行结束时,程序返回调用的块 (如:OB 1),继续执行调用的块的程序。n SCL高级语言编程高级语言编程 2、线性化编程线性化编程OB1NETWORK1NETW

3、ORK2NETWORK3电机控制操作小时数计算信息处理n SCL高级语言编程高级语言编程 n SCL高级语言编程高级语言编程 操作小时数计算OB1电机控制信息处理FC1FC3FC23、模块化编程模块化编程4、结构化编程结构化编程电机3OB1电机1电机2FC1FC1FC1n SCL高级语言编程高级语言编程 S7-SCL是一种类似于Pasical、Deliphi的高级编程语言,其符合国际标准IEC 61131-3,也就是说支持该标准的任意厂家的PLC均可以使用与之相似的语言编程。这种语言适合于处理复杂的逻辑和大量的数学运算,由于其具有高级语言的编程结构,因此和S7的STL语句表编程方式比较起来有着

4、更加方便的控制方式,可以这样说,只要是必须使用语句表的地方,我们均可以考虑使用SCL,也许STL在执行时比SCL更加高效,但事实上也不一定,首先SCL可以编译成STL,同时SCL设计时可以优化编程,而STL若运用不当,可能还会将低效率。当然在目前的这种系列的PLC上,效率对于我们来说已是次要的,我们更关心的是编程结构。就像在PC机上,舍弃了汇编语言,而主要采用C/C+等高级语言。总体来说,SCL适合于编写标准功能块,由于在维护中,它和STL一样,不象Lad一样利于维护,因此这些标准功能块都应该有文档说明,以便用户了解其功能。 n SCL高级语言编程高级语言编程 概述 n SCL高级语言编程高级

5、语言编程 软件的使用 软件的使用 n SCL高级语言编程高级语言编程 软件的使用 n SCL高级语言编程高级语言编程 软件的使用 n SCL高级语言编程高级语言编程 FB, FC, OB, DB以及用户定义的UDT,它们使用的任意数字号 均可以在SCL Source中编辑。 每种块类型都有它自己的结构。 每段落或者每个变量的声明以符号”;”标志结束。 不区分大小写。 注释仅存在于程序文档中,它不影响程序运行。 当一个功能块被调用时,其背景数据块被自动创建,因此它们不需要被编辑。 语法规则 n SCL高级语言编程高级语言编程 定义变量 n SCL高级语言编程高级语言编程 定义变量 n SCL高级

6、语言编程高级语言编程 1、IF选择语句 IF condition THEN ELSIF condition THEN / ELSIF语句可以不使用,或者使用一个或者多个 ELSE / ELSE语句可以不使用 END_IF ; 常用语句 n SCL高级语言编程高级语言编程 常用语句 n SCL高级语言编程高级语言编程 2、CASE选择语句 CASE intVariant OF 1 : DISPLAY:= OVEN_TEMP; 2 : DISPLAY:= MOTOR_SPEED; 3.10: DISPLAY:= INT_TO_DINT (TW); /可以指定连续的值 END_CASE ; 常用语句

7、 n SCL高级语言编程高级语言编程 3、FOR循环语句 FOR INDEX := 1 TO 50 BY 2 DO /从1到50,增量为2 IF IDWORD INDEX = KEY THEN EXIT; /退出循环 END_IF; END_FOR; 常用语句 n SCL高级语言编程高级语言编程 4、WHILE循环 WHILE INDEX KEY DO /两个条件均满足才执行循环 INDEX := INDEX + 2; END_WHILE ; 常用语句 n SCL高级语言编程高级语言编程 数据类型转换函数 其依照的顺序为: BOOL BYTE WORD DWORD INT DINT REAL 常用语句 n SCL高级语言编程高级语言编程 IF DB100.DBX16+K,JANDAND

温馨提示

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

评论

0/150

提交评论