【分享】SCL 求助 word转换到bool数组的技术问题.

已锁定

刘长坤

  • 帖子

    1
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2012-09-24

普通 普通 如何晋级?

【分享】SCL 求助 word转换到bool数组的技术问题.

4515

1

2015-10-26 10:40:41


FUNCTION_BLOCK FB10
//----------------------------版权--
TITLE = '水泵筛选'
VERSION: '1.0'
AUTHOR: lck
NAME:Pump
FAMILY: Fencer
//-----------------------版权---

//--------输入变量--------------
VAR_INPUT
(*  以下变量输入原则,例如I0.0赋值给MW10.0,I0.1赋值给MW10.1,以此类推.然后把MW10赋值给Pump_Local_remote_input,代表水泵运行状态
     为了便于编程和使用对以下变量做出要求
     Pump_Local_remote_input  要求存储的数据位当中1代表运行    
     Pump_Input_resect_input  要求存储的数据位当中1代表投入     
     Pump_Normal_fault_input  要求存储的数据位当中1代表正常 
     Pump_Run_stop_input      要求存储的数据位当中1代表运行      
*)
     Pump_Local_remote_input      : WORD ;//水泵运行状态,word正好16位,存储16个泵的本地远程状态,以后通过循赋值给结构体Pump_state_time_strcuct内部Local_remote变量使用.
     Pump_Input_resect_input      : WORD ;//水泵运行状态,word正好16位,存储16个泵的投入切除状态,以后通过循赋值给结构体Pump_state_time_strcuct内部Input_resection变量使用.
     Pump_Normal_fault_input      : WORD ;//水泵运行状态,word正好16位,存储16个泵的故障正常状态,以后通过循赋值给结构体Pump_state_time_strcuct内部Normal_fault变量使用.
     Pump_Run_stop_input          : WORD ;//水泵运行状态,word正好16位,存储16个泵的运行停止状态,以后通过循赋值给结构体Pump_state_time_strcuct内部Run_stop变量使用.
     Pump_quantity                : INT  ;//水泵数量,用于循环判断水泵数量,方便进行数组指针边界检查.

    
    
    
   

END_VAR
//--------输入变量--------------



//*********输入输出变量*********
VAR_IN_OUT


END_VAR
//*********输入输出变量*********



//>>>>>>>>>>>>>输出变量>>>>>>>>
VAR_OUTPUT
      Out_Pump_num: BOOL ; //输出当前判断哪个泵适合启动,输出的位泵的编号.

END_VAR
//>>>>>>>>>>>>>输出变量>>>>>>>>


//^^^^^^^^^^^^临时变量^^^^^^
VAR_TEMP
  

    Pump_state_time_strcuct: STRUCT //水泵状态时间结构体        
        Local_remote    : ARRAY[1..16] OF BOOL ; //存储水泵本地远程状态         
        Input_resection : ARRAY[1..16] OF BOOL ;//存储水泵投入切除状态
        Normal_fault    : ARRAY[1..16] OF BOOL ;//存储水泵故障正常状态
        Run_stop        : ARRAY[1..16] OF BOOL ;//存储水泵运行停止状态
                
  END_STRUCT;

  
END_VAR
//^^^^^^^^^^^^临时变量^^^^^^
 










//%%%%%%%%%%%%%静态变量%%%%%
CONST
 

END_CONST

//%%%%%%%%%%%%%静态变量%%%%%
  
 
BEGIN
  
   Pump_state_time_strcuct.Local_remote[6] := true;
   Out_Pump_num := Pump_state_time_strcuct.Local_remote[3]; 
  
  
  
  
  
 
  
END_FUNCTION_BLOCK







举例, 现场有3个水泵运行,分别是i0.2,i0.4,i0.5,那么把IB0存储到VW10里面就是0000000000110100,相当于10进制的52.

然后把vw10传送给Pump_Local_remote_input !!!  那么我如何把这个传送进来的VW10 转换成bool存储到Pump_state_time_strcuct.Local_remote这个数组里面.











【分享】SCL 求助 word转换到bool数组的技术问题. 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54624条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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