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

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

maynowei5个月前 (10-19)技术知识116

博途---使用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#阀门功能块


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

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

仅供参考!

相关文章

高效办公,你值得拥有之原型工具AXURE篇

简介 Axure RP是美国Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格、设计功能和界面的专家能够快速创建应用软件或Web网站的线框图...

Oracle中泄露“天机”的TNS(在oracle中发出的下列查询)

数据库的安全是长期存在的问题。在目前大量的数据泄露事件以及漏洞面前,大家看到的大都是SQl注入、越权操作、缓冲区溢出等这些具体漏洞。往往却忽视了造成这些问题的前提,黑客想要入侵数据库一定会尝试获取数据...

python-oracledb——利用python连接Oracle数据库的好用方法

这篇文章最早发布在CSDN了,最近想尝试使用一下头条,重新转移过来了。背景介绍之前使用的数据库一直是MySql,偶尔使用PostgreSQL,都是利用的数据库连接池使用;最近需要在Oracle数据库取...

Oracle 不是有效的导出文件,标头验证失败 解决方法

第一种:网上搜索到的大多解决方法是说导出文件时使用的Oracle版本不一致问题,需要修改dmp文件的版本号。如果确定版本号确实不一样,请自行搜索一下解决方法。第二种:备份dmp文件时,备份的语句可能使...

Oracle 11g安装教程完整版(oracle 11g 安装教程)

由于工作需要,将安装的经验分享给大家。第一步:首先准备安装文件包:Oralce 11.2.0.4 64bit和plsqldev1405x64如图所示:第二步:将2个文件解压到同一个目录,如图所示:第三...

Diplomacy Talk | Why building a shared future matters now more than ever

What does it mean to build a global community of a shared future? First put forward by Chinese Presi...