您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

基于SCL语言的结构化编程案例,常见问题解答

时间:2020-09-08 09:58:54  来源:  作者:

有人提问SCL语言编程与西门子PLC的关系,我们都知道PLC调试设备,需要输入设备语言(让设备懂你想让它做啥),而SCL就是这样演变出的存在,下面我们就一起看看,在这过程中遇上的一些常见的疑问吧

基于SCL语言的结构化编程案例,常见问题解答

 

问:如果第二次按HomePB,i需要清零吗?

答:不需要,FOR循环里面,i每次都会从0开始。

 

问:复位的数组是定义了的吗?

答:对,数组在静态变量里定义的。

 

问:把99改成3会是什么结果?

答:会复位数组的前四个,后面的不会复位。

 

问:张老师,执行这个FOR指令需要9个PLC扫描周期还是1个?如果循环1000次,会PLC运行超时报警吗?

答:FOR指令是1个扫描周期,PLC的处理速度是非常快的,1000次的循环时间还远不及超时报警。

 

问:常闭触点怎么表达?

答:常闭触点加NOT,表示取反。

 

问:数组跟循环有什么关系?

答:可以用循环处理数组里面的数据。

基于SCL语言的结构化编程案例,常见问题解答

 

问:for循环在一个扫描周期?

答:对的,FOR循环是在一个扫描周期内。

 

问:那个I是什么作用?

答:i这里是用作FOR循环语句里面的变量,它是根据FOR指令的语法做变化的,当然你也可以使用其他变量,这里我们习惯用i。

 

问:数组里面就一个数#i?怎么还叫组?

答:数组是可以根据下标进行寻址的,这里的i是变化的。

 

问:数组跟复位有什么关系?

答:电磁阀这类布尔量可以组成一个数组,可以对布尔量进行复位当然也可以对数组进行复位

 

问:下降沿的怎么标示?

答:F_TRIG指令检测下降沿。

 

问:每一次结束后对 i递增吗?

答:FOR循环指令里面是这么执行的,增量可以通过BY指定。

 

问:for循环周期是plc扫描周期?

答:不是,PLC扫描周期包含FOR循环周期。

 

问:定时器的数据在这SCL中是哪个?

答:如果你指的是当前值,那么就存放在定时器输出ET里面。

 

问:那in是不是也可以写在括号外?

答:输入需要写在括号内。

 

问:这个定时器的变量个数有限制?

答:理论上是有限制,但一般情况下是用不完的,请放心使用。

 

问:梯形图有en scl都写到in吗?

答:SCL跟LAD不同,没有EN,你想要的EN逻辑可以通过加IF指令实现。

 

问:R_TRIG_是上升沿?那下降沿?

答:下降沿是F_TRIG指令。

 

问:r_trig 在一个程序里面用建多个吗?

答:可以多个。

 

问:A AND NOT B B:=A 这能否代替 R_TRIG?

答:你的程序可能没写全,是可以自己用逻辑做出来上升沿的。

 

问:IF和CASE有先后顺序吗?

答:没有,你哪个写在前面先执行哪个。

 

问:老师,stl和scl有什么区别啊?

答:STL是语句表,相差非常大。

 

问:如果start与stop都为1怎么办?

答:按逻辑执行最后面的语句。

 

问:老师case能放到下面吗?

答:可以放到下面的,程序逻辑不受影响。

 

问:CASE是MOVE指令还是相当于一个变量存储区?

答:CASE是SCL里面的专有指令,它起到一个枚举作用。

 

问:老师,为什么在static那里建 变量?谢谢

答:static里面是局部变量,当然你也可以用类似于M这样的全局变量。

 

问:老师,工艺流程图中扫描完case1为啥直接扫描CASE4?

答:那个工艺流程图我只是做一个示意,是切换并不是扫描,可以通过编程随意的切换到CASE里面的一个状态。

 

问:同时接通为什么不是状态1?

答:STOP的状态2在后面,执行后面的程序。

 

问:老师,请问一下400的软件用scl语言与博图的scl有什么区别吗?

答:语法上没有区别。

 

问:DB 块里面变量为啥和临时变量一致了?

答:那个是背景DB块,自动根据FB生成的。

 

问:ALT指令是什么?

答:ALT是三菱里面的交替指令。

 

问:梯形图好不直接转scl?

答:不能转。

 

问:梯形图指令里的 “取反”指令怎么写 ALT指令?

答:NOT表示取反。

 

问:张老师是不是scl在条件里面双线圈是不是就不存在了?

答:这个也要看逻辑,它也会从上而下执行。

 

问:IF#A这个语句中,#A=1?

答:对,如果A为逻辑1则执行后面的语句。

 

问:#A,#B是什么意思?

答:是布尔型的局部变量。

 

问:老师问不懂西门子plc,学过C语言,这个可以学会吗?

答:有PLC基础就可以学,你稍微了解下西门子编程基础就可以。

 

问:SCL语言可以和梯形图在一个项目里能互用吗?

答:可以的,可以穿插使用。

 

问:这跟模块化编程有什么区别?

答:结构化的主要思想是建立通用的模块,方便后期使用。

 

问:SCL可以做成功能快 梯形图调用可以吗?

答:可以的,可以混合使用。

 

问:梯形图和scl语言可以互相转换吗?

答:不能转换。

 

问:ST语言一个IF语句大概占用几步?

答:在SCL/ST语言里面我们一般用占用内存来衡量。



Tags:SCL语言   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
有人提问SCL语言编程与西门子PLC的关系,我们都知道PLC调试设备,需要输入设备语言(让设备懂你想让它做啥),而SCL就是这样演变出的存在,下面我们就一起看看,在这过程中遇上的一些常见...【详细内容】
2020-09-08  Tags: SCL语言  点击:(632)  评论:(0)  加入收藏
SCL作为一种编程语言,可以实现LAD/FBD所有的功能,大多数的指令与LAD/FBD都是相同的,只是在编辑器中的外形不同。只有一些指令使用是不太一样的甚至LAD/FBD没有的,这里只介绍这...【详细内容】
2020-06-27  Tags: SCL语言  点击:(7137)  评论:(0)  加入收藏
▌简易百科推荐
1. 前言了解响应式编程,首先我们需要了解函数式操作和Stream的操作,下面我们简单的复习一下喽。1.1 常用函数式编程函数式接口中我们先来回顾一下Java中的函数式接口。常见的...【详细内容】
2022-07-15  二哥学Java    Tags:编程   点击:(1)  评论:(0)  加入收藏
在本文中,我们将学习如何使用 Next.js、 Prisma、 Postgres 和 Fastify 构建一个 Full-stack 应用程序。在本文中,我们将学习如何使用 Next.js、 Prisma、 Postgres 和 Fastif...【详细内容】
2022-07-12  qaseven    Tags:全栈   点击:(9)  评论:(0)  加入收藏
好的软件开发网站有哪些?做软件开发哪些网站能提供帮助呢?这些很多做软件开发的小伙伴都会问到的问题。007出海全球社交流量导航网站,整合了多方出海跨境网站资源,为你介绍出海...【详细内容】
2022-07-08  Chuhai007    Tags:软件开发   点击:(10)  评论:(0)  加入收藏
我们用monkey做压力测试后,会保存一个monkey日志,那如果想快速的分析日志中有哪些异常,我们可以用批处理工具进行快速的筛查,我们一起来看看吧。先编写个小脚本,然后修改为bat后...【详细内容】
2022-07-08  溪流涌动    Tags:monkey   点击:(13)  评论:(0)  加入收藏
白盒测试落地实践分为两个大方向,一个是静态分析,一个是动态分析,当然啦,也可以叫做静态测试和动态测试。那我们如何高质量保效率的做好白盒测试呢?Parasoft已经为您准备好了成熟...【详细内容】
2022-07-08  Parasoft中国    Tags:白盒测试   点击:(11)  评论:(0)  加入收藏
Altium Designer 自带脚本功能的开发项目,可以调用官方AD API接口对原理图或者PCB进行自动操作,本文主要分享开发的流程,和一些基本的概念信息,本文介绍的脚本工具例子可以用在P...【详细内容】
2022-07-07  电子工程师伟哥    Tags:Altium Designer   点击:(21)  评论:(0)  加入收藏
一、目录介绍 前置知识点 NIO Netty 的核心组件 Channel Callback Future 和 Promise 事件和 ChannelHandler Hello World二、前置知识点1、NIO首先我们需要回顾一...【详细内容】
2022-07-06  架构师jickly    Tags:聊天系统   点击:(16)  评论:(0)  加入收藏
1.事件流事件流是对事件执行过程的描述,了解事件的执行过程有助于加深对事件的理解,提升开发实践中对事件运用的灵活度。2.捕获和冒泡捕获阶段是【从父到子】的传导过程,冒泡阶...【详细内容】
2022-07-06  金乾坤    Tags:API   点击:(13)  评论:(0)  加入收藏
刷盘策略CommitLog的asyncPutMessage方法中可以看到在写入消息之后,调用了submitFlushRequest方法执行刷盘策略:public class CommitLog { public CompletableFuture<PutMe...【详细内容】
2022-07-06  Java码农之路    Tags:RocketMQ   点击:(16)  评论:(0)  加入收藏
最近读了本好书-《深度学习推荐系统》,读完不觉全身通畅,于是就有了写这篇文章的想法,把自己的理解和总结分享给大家。 本文将按照从算法到工程的顺序,先介绍一下推荐系统整体...【详细内容】
2022-07-05  InfoQ    Tags:推荐系统   点击:(22)  评论:(0)  加入收藏
站内最新
站内热门
站内头条