浮头导航网

专注编程技术分享的开发者社区

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

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


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

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

仅供参考!

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言