西门子scl语言编程手册_高级工程师必备‖详解西门子SCL语言编程附案例,赶紧收藏...

第一:S7-SCL简介S7-SCL(Structured Control Language 结构化控制语言) 具有以下特点:是一种类似于PASCAL的高级编程语言,符合国际标准IEC 61131-3PLCopen基础级认证适用于 SIMATIC S7-300 (推荐用于CPU314以上CPU), S7-400, C7 and WinACS7-SCL 为 PLC 做了优化处理,它不仅仅具有 PLC ...
摘要由CSDN通过智能技术生成

第一:S7-SCL简介

S7-SCL(Structured Control Language 结构化控制语言) 具有以下特点:

是一种类似于PASCAL的高级编程语言,符合国际标准IEC 61131-3PLCopen基础级认证适用于 SIMATIC S7-300 (推荐用于CPU314以上CPU), S7-400, C7 and WinACS7-SCL 为 PLC 做了优化处理,它不仅仅具有 PLC 典型的元素(例如 输入/输出,定时器,计数器,符号表),而且具有高级语言的特性, 例如:循环、选择、分支、数组、高级函数

S7-SCL 其非常适合于如下任务:

复杂运算功能

复杂数学函数

数据管理

过程优化


第二:S7-SCL 与 STL

S7-SCL 可以编译成 STL, 虽然其代码量相对于 STL 编程有所增加,但我们更关心的是程序结构和程序的总体效率。类似于计算机行业的发展,汇编语言已经被舍弃,取而代之的是 C/C++等高级语言。S7-SCL 对工程设计人员要求较高,需要其具有一定的计算机高级语言的知识和编程技巧。


第三:S7-SCL 的安装与使用

STEP7 标准版并不包括 S7-SCL 软件包及授权,需单独购买,STEP7 Professional 版包括了S7-SCL 的软件包及授权,安装即可。在 S7 程序中,S7-SCL 块可以与其它 STEP7 编程语言生成的块互相调用。S7-SCL 生成的块也可以作为库文件被其它语言引用。由于 S7-SCL 程序由 ASCII 文本构成,所以它非常容易被导入或导出。


第四:S7-SCL 软件兼容性

不同 S7-SCL 软件版本与 STEP7 及操作系统之间的兼容性:图中的 X 表示兼容,- 表示不兼容

仅仅 S7-SCL V5.1+SP1或以后版本支持

仅仅 S7-SCL V5.1+SP1或以后版本支持

仅仅 S7-SCL V5.1+SP1或以后版本支持


第五:S7-SCL 简单示例

在下面的例子中,编写一个完成软件滤波程序的 FB1, 程序每调用一次 FB1, 其采集一个新的过程变量,存储在 FIFO 堆栈中,共 10 个周期的采样值,超过 10 个周期的采样值将被舍弃。程序将此 10 个采样值中的最大最小值找出,并计算出除去最大值及最小值之后的平均值。

平均值(滤波输出)=(10 个采样值之和-最大值-最小值)/8 平均值(非滤波输出)=转换后的实时采样值

新建项目,插入 SCL Source

7878591e062db71b61b13a35ae921a4f.png

双击,SCLSource 打开 SCL 环境,并使用 FB 模板

accff11490c7ff5b74e28a873ffd9fb0.png

更改 FB编号

ab678db82775cce7c0ddfe380b7faf2b.png

使用参数模板

93ac8eb00eb7ce81f7c6e2e7d4206eb3.png

编辑 FB参数

959de4fc027d2684d1539078b406e32e.png

使用调用功能块向导

41200340d3ee3534b8f7f8f7adaccec6.png

调用 FC105

66102feb43b06d819380f1e8eb5edb9a.png

由于在 SCL中调用了 FC105, 还需在 SIMATIC Manager 将 FC105 添加到项目中

3190fa15f4e3ef9a4abda6f3cc5c2c3e.png

FC105 复制到当前项目中

869d3757e36882adb2f6f9e4bba72fe8.png

FB1 参数定义

eff4845bf9a37db6384b2741a39e0f81.png

FC105调用

3a2fc6c28775ea6a7a82adee35124abf.png

下面的程序中使用了判断条件,在此使用 IF 模板

640ad283dfa48712b3b6c743ef04ad8d.png

使用 IF, FOR-NEXT等高级语言的方式,很容易就可编写出滤波程序

d33ae0e683ee12a3d496c4fcac2c6ade.png

在菜单 Option-Customize中选择生成调试信息

92abd00ce8b0d946af42e2cf523a1900.png

在菜单的 File-Compile编译没有错误后,就可以生成 FB1 了,在 OB35 中可以调用 FB1,下载整个项目后监控 OB35:

输出参数 SCALED_VAL 为实时的采样值

输出参数 SCALED_FILTED 为滤波后的采样值

假设OB35的执行周期为T, 如果某时刻采样值发生变化,那么此数值将不同于以前的多个采样值,此数值可能被认定为最大值或最小值,而最大值或最小值将被忽略,这样就实现了滤波的效果。当采样值发生变化,并维持了大于等于2T的时间,此时的输入值的两次采样值会被滤掉一个采样值,而另一个采样值将参与平均值的运算。

7e4673f49aea052d6125946bd803765a.png

可以在高级语言界面下监控 FB1

5b4e2f1048c5c05d1f8913df8639f778.png
  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值