scl语言用plc脉冲做定时器_PLC编程,如何学习SCL语言?SCL语言编程入门「建议收藏」

scl语言用plc脉冲做定时器_PLC编程,如何学习SCL语言?SCL语言编程入门「建议收藏」随着现代工控技术的不断发展,可能很多使用过PLC的技术人员都有这么一个感受:传统的‘梯形图’编程方式在面对越来越复杂的控制要求时,已显得力不从心。其实,现在很多大品牌的中高级PLC都支持国际电工委员会IEC61131标准中规范的五种编程语言的混合编程,即梯形图(LD)、结构化文本(ST)、流程图(SFC)、指令表(IL)和功能块(FB)。在这五种编程语言中,梯形图+结构化文本是一…


Jetbrains全系列IDE稳定放心使用

随着现代工控技术的不断发展,可能很多使用过 PLC 的技术人员都有这么一个感受: 传统的‘梯形图’编程方式在面对越来越复杂的控制要求时,已显得力不从心。

其实,现在很多大品牌的中高级 PLC 都支持国际电工委员会 IEC61131 标准中规范的 五种编程语言的混合编程,即梯形图(LD)、结构化文本(ST)、流程图(SFC)、指令表(IL) 和功能块(FB)。在这五种编程语言中,梯形图+结构化文本是一种不错的组合,用 梯形图写逻辑控制,用结构化文本写计算,这样可以加快编程效率并且使程序的可读性大 大提高。而流程图编程则非常适用于一些“顺序控制”场合。

西门子 S7 系列 PLC 在国内工控领域中使用很广,它的编程软件 Step7 默认情况下只支 持梯形图和指令表编程,但通过安装“S7-SCL”软件包和“S7-Graph”软件包可实现结构 化文本和流程图编程。下面,介绍一下如何在 Step7 中用 结构化文本编程。

一、 什么是结构化文本编程 结构化文本是一种类似于计算机高级语言的编程方式,它的语法规范接近计算机中的

PASCAL 语言。具体的语法规则大家可参考西门子的相关手册,在此就不做详细介绍。下 图为 Step7 中的 SCL 编程界面:

scl语言用plc脉冲做定时器_PLC编程,如何学习SCL语言?SCL语言编程入门「建议收藏」

二、 S7-SCL 软件包的安装在 Step7 中,结构化文本编程被称为结构化控制语言(Structured Control Language), 缩写为 SCL. Step7 V5.3 的软件包中已包含了 S7-SCL 软件包,在安装 Step7 V5.3 时,系统 会提示是否要安装 S7-SCL,把复选框打钩即可,见下图:

scl语言用plc脉冲做定时器_PLC编程,如何学习SCL语言?SCL语言编程入门「建议收藏」

三、 SCL 软件包的使用SCL软件包用于以“源文件”的方式编写功能块、函数块。步骤如下: 第一步:当Step7中已正确安装SCL软件包后,会有如下界面

第二步:进入 SCL 编程界面,并选择准备编写的程序块的类别

scl语言用plc脉冲做定时器_PLC编程,如何学习SCL语言?SCL语言编程入门「建议收藏」

选择你所要编写的程序块的类

scl语言用plc脉冲做定时器_PLC编程,如何学习SCL语言?SCL语言编程入门「建议收藏」

第三步:编写程序并编译

scl语言用plc脉冲做定时器_PLC编程,如何学习SCL语言?SCL语言编程入门「建议收藏」 经过以上步骤,就完成了一个用 SCL 编写功能块的全过程, FC1 的源程序,保存 在“Sources”文件夹中,可随时打开进行修改。

scl语言用plc脉冲做定时器_PLC编程,如何学习SCL语言?SCL语言编程入门「建议收藏」

四、 用 SCL 编程实现“间接寻址”Step7 中,梯形图编程不支持对 PLC 的间接寻址,用指令表的方式虽可实现,但步骤 烦琐且程序可读性差,相比之下,用 SCL 的方式来做就简便的多,具体方法如下:

1、位寻址:

MX[i,j],i 为字节地址,j 表示该字节中的哪个位,当 i=5;j=0 时,表示 M5.0 2、字节、字、双字寻址

2. MB[i] IW[i]、QB[i]、MD[i]

scl语言用plc脉冲做定时器_PLC编程,如何学习SCL语言?SCL语言编程入门「建议收藏」

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185173.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 电商后台管理系统——权限管理模块

    电商后台管理系统——权限管理模块电商后台管理系统——权限管理模块电商后台管理系统的权限管理模块分为角色列表和权限列表两部分,两部分流程图大概如下权限列表实现过程:

    2022年5月16日
  • mybatis拦截器修改sql_javaweb拦截器是什么

    mybatis拦截器修改sql_javaweb拦截器是什么/***Copyright2009-2016theoriginalauthororauthors.**LicensedundertheApacheLicense,Version2.0(the”License”);*youmaynotusethisfileexceptincompliancewiththeLicense.*…

    2022年9月8日
  • python中替换字符串中字符_Python replace()函数:替换字符串中的某个字符「建议收藏」

    python中替换字符串中字符_Python replace()函数:替换字符串中的某个字符「建议收藏」下面我们将通过一组示例,详细给大家说明下关于用python的替换问题,相信大家结合实例一定非常容易理解,一起来看下吧~基础了解——replace()函数语法:str.replace(old,new[,max])参数:old–将被替换的子字符串。new–新字符串,用于替换old子字符串。max–可选字符串,替换不超过max次。返回值:返回字符串中的old(旧字符串)替…

    2022年6月7日
  • java类加载过程详解_java三个类加载器

    java类加载过程详解_java三个类加载器朋友给我发了一道有意思的题目,如下为什么用.class的方式加载类和以Class.forName()的方式加载的结果不同呢,原因很简单,就是类加载过程的不同。这就扯到基础理解上了,就是Java是如何加载一个类的呢?上图是我绘制的整个Java类加载过程。首先是编译期,将Java源文件也就是敲好的代码通过编译,转换成.class文件,也就是字节码文件(byte),然后经过传输传…

    2022年8月11日
  • 爬取爱套图网上的图片

    爬取爱套图网上的图片#coding=utf-8frombs4importBeautifulSoupimportrequestsforiinrange(20):i=str(i)url=’https://www.aitaotu.com/weimei/16359_’+i+’.html’html=requests.g…

    2022年9月14日
  • js 删除换行符

    js 删除换行符mymsg=mymsg.replace(/<\/?.+?>/g,””);//html2txt去掉html标记mymsg=mymsg.replace(/\n|\r/g,””);//去掉换行转载于:https://www.cnblogs.com/jerryLee/archive/2010/02/01/1661036.html…

    2022年5月20日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号