回复:SCL编程请教

askab

  • 帖子

    401
  • 精华

    5
  • 被关注

    34

论坛等级:侠圣

注册时间:2005-07-24

黄金 黄金 如何晋级?

发布于 2015-12-24 16:09:27

5楼

DB1的数组1中的A1不为0时,DB2数据1中的B1则为True,同理数据2也是如此。

FC1为一数据转移,将DB1数组1的值转移至数组2中。

按照你的DB块 DB1 中 A1-A8 为输入数据,均与0进行比较,当<>0 DB2 B1-B8 为true ,且讲A1-A8数据发送到DB2里的DB10-DB18里,如果是这个意思,可以参考以下

FUNCTION_BLOCK FB6

VAR_INPUT

groupA:ARRAY[1..8] OF INT;  //A1-A8 这里定义数据类型为INT

END_VAR

VAR_OUTPUT

groupB1:ARRAY[1..8] OF BOOL;  //B1-B8 为BOOL型

groupB2:ARRAY[1..8] OF INT;   //B10-B18 为INT型

END_VAR

VAR_TEMP

i:INT;

END_VAR

    FOR i:= 1 TO 8 BY 1 DO

        IF groupA[i]<>0 THEN    //如果A1-A8中里有任何一个数据不为0 

           groupB1[i]:=true;    //相应的B1-B8 为真

           groupB2[i]:= groupA[i];  //且将A1-A8里的数据传送到B10-B18

        ELSE

            groupB1[i]:=false;   //当A1-A8都为0,则B1-B8相应的复位

        END_IF;  

    END_FOR;

END_FUNCTION_BLOCK


大家同行,you ok ? me !
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。