技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > s7300 数据查询

s7300 数据查询

刘玉蓉 发布于2014-11-03 17:17 725 0 标签:


问题:
想有S7300做一个功能块,
输入3个数据,(分别是:配方号一个字r,工位号一个字p,查询请求一个位q)
输出15个数据(分别是这个工位上的15个工艺参数a.b.c .d.e.f.g.h.i .j.k.l.m.n.o)其中,这15个数据存在DB10里面的一个二维数据表里,这个表有38行,15列,每15个数据作为一个工位的15个参数都有规律的存在这个表中的一行里面。
请教如何实现, 不太会用,望给讲一下,越详细越好!

问题补充:
我怎么也找不到FC500和FC501,能否帮我测试一下你的程序,我不知问题出在哪里。

佳答案

用scl的数组方法来处理:
1、新建一个db,name键入DATA,type键入ARRAY[1..15,1..38],Initial vlaue为空,下一行的type键入Real
2、在soruce目录下新建一个scl source文件,把下面代码粘贴然后编译,得到两个fc,其中fc500是用于给数组赋初始值,可以放在ob100里面,fc501则是查询数据用的,放在ob1里面

FUNCTION FC500 : VOID

BEGIN
DB3.DATA[1,1]:=1.0;
DB3.DATA[1,2]:=2.0;
DB3.DATA[1,3]:=3.0;
DB3.DATA[1,4]:=4.0;


DB3.DATA[2,1]:=1.0;
DB3.DATA[2,2]:=2.0;
DB3.DATA[2,3]:=3.0;
DB3.DATA[2,4]:=4.0;
END_FUNCTION

FUNCTION FC501 : VOID
VAR_INPUT
        P:INT;
        Q:BOOL;
END_VAR
VAR_OUTPUT
        A:REAL;
        B:REAL;
        C:REAL;
        D:REAL;
        E:REAL;
        F:REAL;
        G:REAL;
        H:REAL;
        I:REAL;
        J:REAL;
        K:REAL;
        L:REAL;
        M:REAL;
        N:REAL;
        O:REAL;
        ERROR:BOOL;
END_VAR
BEGIN
IF Q=TRUE AND P>=1 AND P<=38 THEN
   A:=DB3.DATA[P,1];
   B:=DB3.DATA[P,2];
   C:=DB3.DATA[P,3];
   //后面自己加
   //如果输出参数用一个数组,这段程序就可以用一个循环写了
   ERROR:=FALSE;
ELSE
   ERROR:=TRUE;      
END_IF;
END_FUNCTION

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签