技术论坛

 • 产品分类
 • 咱工程师的故事
 • 培训与认证答疑专区
 • 服务合作伙伴专区

 批量WORD转REAL SCL程序

返回主题列表
作者 主题
steven.lee
侠士

经验值:1302
发帖数:175
精华帖:2
楼主    2021-05-16 10:56:48
主题:批量WORD转REAL SCL程序

把一个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

仿真结果如下:




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