当前位置:首页 > 技术知识 > 正文内容

坚持学习第十一天:使用SCL语言编写阀门控制程序(一)

maynowei8个月前 (10-19)技术知识222

博途---使用SCL语言编写阀门控制程序

一、SCL 编程语言介绍

SCL(Structured Control Language,结构化控制语言)是一种基于 PASCAL 的高级编程语言。 这种语言基于标准 DIN EN 61131-3(国际标准为 IEC 1131-3)。根据该标准,可对用于可编程逻辑控制器的编程语言进行标准化。 SCL 编程语言实现了该标准中定义的 ST 语言 (结构化文本) 的 PLCopen 初级水平。S7-1200从V2.2版本开始支持SCL语言。

二、阀门控制程序编写思路

前段时间使用200smart编写了阀门控制程序,后面发现还是有不少问题的,比如不能多次调用,逻辑啰嗦等;自己抽空又用博途SCL语言编写了一个阀门控制程序,经过仿真测试发现程序可以多次调用,并且个人觉得还是很实用的。

根据上一次的经验,这次的思路大体就是,当HMI按下阀门开按钮后,阀门开输出变为TURE,同时开阀报警延时计时器开始计时,阀门在设定的时间内没有打开,那么触发报警,报警后需要手动进行复位;关阀的思路同开阀思路一样。

这次新增了一个阀门状态位,建了两个变量,一个是字符串,一个是字节;字符串可以直观的看到阀门开关状态,字节在不同的状态位输出不同的数字。

另外上一次有小伙伴留言想要写成中文的,这次的大部分内容还是中文的,小部分中文表示太长了,还是使用英文表示,请谅解。

三、阀门控制程序变量表

变量表主要组成部分为:Input(输入变量),Output(输出变量),Static(静态临时变量)。具体的变量表如图1所示。

图1 变量表

四、阀门控制程序设计

阀门控制程序全部使用SCL语言进行编写,首先是开阀程序,开阀的前提条件是没有开到位状态,没有开阀延时报警,然后在触摸屏按下开阀按钮后,开始开阀输出,同时计时器开始计时,当阀门在设定的时间内没有打开,会输出阀门报警,同时停止开阀输出。程序如图2所示。

图2 开阀程序

关阀程序与开阀程序一样,关阀的前提条件是没有关到位状态,没有关阀延时报警,然后在触摸屏按下关阀按钮后,开始关阀输出,同时计时器开始计时,当阀门在设定的时间内没有关闭,会输出阀门报警,同时停止关阀输出。程序如图3所示。

图3 关阀程序

阀门状态程序主要是为了使上位机更加直观的看到阀门的各种状态,此程序做了两种状态显示,一种是字符串直接使用中文显示阀门状态;另外一种是使用直接显示阀门状态,不同的数字表示不同的状态,具体的程序如图4所示。

图4 阀门状态程序

五、阀门控制程序调用

阀门控制程直接在主程序里调用测试,本次调用两个功能快,使用数组进行测试,调用的功能块如图5、图6所示。

图5 1#阀门功能块

图6 2#阀门功能块


明天准备把仿真测试做出来,与触摸屏仿真测试。

不足之处还望海涵,请各界大佬多多批评指教!

仅供参考!

相关文章

第四章:产品设计(2.3)PRD写作 - 原型设计

2.3、原型设计(界面线框图)当我们逐渐清晰了产品的需求后,并梳理了产品的各个频道及页面,那么这一步就要开始验证这些想法的具体界面表现和方案的可行性了。原型设计是帮助我们更细致的思考,并做各项需求的评...

Axure案例小红书APP登陆界面划屏效果制作

有一款叫做小红书的APP(不是小黄书)登陆界面做的非常清新脱俗,教他家用Axure模仿练习一下他的登陆界面划屏效果,这个内容虽然有些多,但是制作方法并不难,耐心跟着做的话肯定没问题哒!点击观看效果效果...

出售闲置原型素材来赚钱,上传作品,即可收上万元收入

出售闲置原型素材来赚钱。产品经理每年设计出大量的原型作品和组件、元件库、交互原型模板等作品,如果项目结束,你的原型就失去了作用,而有需求的人却找不到这样的作品。现在我们发现这样一家元件库、原型模板、素...

msf系列篇章之七模块详解,黑客必学

1、 mestasploit有很多模块,一共分为七类那如果是kali中自带的msf,它默认的安装路径是在这里。,然后可以看见它这些模块有些相对应的目录。1)、exploits漏洞利用模块,这个模块通常...

Win10桌面/手机版最深层次开发功能挖掘

IT之家讯 Win10开发者预览版为我们提供了一个Win10大框架的早期概览,使开发者与热心用户都可以提前感受Win10带来的新特性,尝试新工具,而作为开发者,最关心的莫过于Windows多平台通用应...

Linux系统编程—互斥量mutex(linux 互斥量)

##互斥量mutex前文提到,系统中如果存在资源共享,线程间存在竞争,并且没有合理的同步机制的话,会出现数据混乱的现象。为了实现同步机制,Linux中提供了多种方式,其中一种方式为互斥锁mutex(也...