批量WORD转REAL SCL程序

已锁定

steven.lee

  • 帖子

    175
  • 精华

    2
  • 被关注

    17

论坛等级:侠士

注册时间:2007-07-11

普通 普通 如何晋级?

批量WORD转REAL SCL程序

2002

9

2021-05-16 10:56:48

把一个DB块中的WORD数据类型转成REAL类型存于另一个DB块中,程序已经仿真验证。

FB块程序如下

 VAR_INPUT 

      DB_Source_Num { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : DInt;

      DB_Source_Address { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : DInt;

      DB_Target_Num { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : DInt;

      DB_Target_Address { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : DInt;

   END_VAR

   VAR 

      "Array" { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : Array[0..7] of Word;

   END_VAR

   VAR_TEMP 

      i : DInt;

   END_VAR

BEGIN

FOR #i := 0 TO 7 DO    

    #Array[#i]:= PEEK_WORD(area := 16#84,

                             dbNumber := #DB_Source_Num,

                             byteOffset := #DB_Source_Address + #i * 2);

    

    POKE(area := 16#84,

         dbNumber := #DB_Target_Num,

         byteOffset := #DB_Target_Address + #i * 4,

         value := REAL_TO_DWORD(DINT_TO_REAL(DWORD_TO_DINT(#Array[#i] AND DW#16#FFFF))));    

END_FOR;


END_FUNCTION_BLOCK

OB1程序如下

ORGANIZATION_BLOCK "Main"

TITLE = "Main Program Sweep (Cycle)"

{ S7_Optimized_Access := 'TRUE' }

VERSION : 0.1

BEGIN

"WTR_DB"(DB_Source_Num:=1,

         DB_Target_Num:=2);

END_ORGANIZATION_BLOCK

仿真结果如下:




批量WORD转REAL SCL程序 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有12957条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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