中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

施耐德电气论坛

抖音 德嘉 泓格论坛 FLIR红外热像论坛 艾睿光电产品体验活动 兆华电子手持式工业声学成像仪
工控论坛首页 施耐德电气PLC → 浏览主题: 建立一个自己的功能块
发表新帖 回复该主题
回帖:2个,阅读:264 [上一页] [1] [下一页]
* 帖子主题:

建立一个自己的功能块

分享到
37221
jint 管理员
文章数:20677
年度积分:712
历史总积分:37221
品牌积分(施耐德):771
注册时间:2007/8/30
发站内信
发表于:2022/5/24 9:14:37
#0楼
施耐德电气李工

一个功能块建立的案例

之所以建立功能块主要是为了在程序中重复使用,使编程效率提高。

比如,我们建立一个水塔水位的控制程序,这个程序只要是水塔水位控制都可以用,我们把这个程序定义成一个功能块,这样再遇到这种控制时,就不需要重复编程,直接调用这个功能块就可以了。

首先我们编这个控制程序。控制水塔,我们需要知道进水量i_diWaterIn, 我们还要知道设定的高水位 i_diSetHigh,和低水位 i_diSetLow, 然后我们测量出水塔水量 q_diValue和控制进水量的开关q_xOpenWaterIn。我们用一个开关K来代表用户打开水龙用水,这时水量会减少。我们设定这个水塔储水量为1000立方。初始水量为500,我们编一个增减程序来模拟水量增减。

这个程序如下:

IF k THEN

q_diValue:= q_diValue-2;

ELSE

q_diValue:= q_diValue+1;

END_IF

IF q_diValue>= i_diSetHigh THEN

q_diValue:= q_diValue-1;

END_IF

IF q_diValue >= i_diSetHigh THEN

q_xOpenWaterIn := FALSE;

ELSE

q_xOpenWaterIn := TRUE;

END_IF

IF q_diValue <= i_diSetLow THEN

q_xOpenWaterIn := TRUE;

ELSE

q_xOpenWaterIn := FALSE;

END_IF

IF q_xOpenWaterIn THEN

q_diValue:= q_diValue + 2;

ELSE

q_diValue:= q_diValue ;

END_IF

附件 1.jpg

初始数据

附件 2.jpg

仿真

附件 3.jpg

我们做好了这个程序,我们就可以拿这个程序控制其它的水塔。我们把它做成功能块。

附件 4.jpg

附件 5.jpg

选择功能块

附件 6.jpg

定义输入,输出,把程序拷贝进程序区

附件 7.jpg

第二个水塔用功能块

调入功能块

附件 8.jpg

附件 9.jpg

填入数据

附件 10.jpg

仿真情况

附件 11.jpg
温馨提示:
电话:0755-26546361
邮箱:blog@gkong.com
微信公众号:工控论坛;微信号gkongbbs;
不定期修改账号密码;不要在多个网站用同一账号密码
可随时站内信联系,工作日可拨打电话或发邮件咨询相关问题
1552
lingms
文章数:283
年度积分:228
历史总积分:1552
品牌积分(施耐德):113
注册时间:2013/10/5
发站内信
发表于:2022/5/25 9:10:43
#1楼
表情表情表情
1426
janrainy
文章数:344
年度积分:432
历史总积分:1426
品牌积分(施耐德):23
注册时间:2020/5/30
发站内信
发表于:2022/5/25 12:50:41
#2楼
就是变量参数不能太多。
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2022 Gkong.com, All Rights Reserved

46.8003