请教1200间接寻址问题
	                        
	                            刘玉蓉
	                            发布于2014-11-25 17:49
	                            
	                                
	                                183
	                            
	                            
	                                
	                                0
	                            
	                            
	                            标签:
	                        
	                     
	                    
	                        DB里有100个REAL。需要将这100个REAL的高低字做互换。(触摸屏程序中是按照符号名称来寻址这些REAL的,如果PLC里将这100个REAL改成数组类型的话,触摸屏程序也要跟着变动)。
1、不用数组,不用FIELDREAD FIELDWRITE指令。1200如何做间接寻址?
2、如果用SCL语言能否实现上述功能?SCL里如何做间接寻址?
												 				佳答案
 给你个我自己用的,接口定义如图
FOR #index := 0 TO #Len_Byte DO
    #Read_Index := #index * 2  + #Read_DB_Offset ;
    #Write_Index := #index * 2 + #Write_DB_Offset ;
    #Data_Read_L:= PEEK(area:=16#84,                            //读取一条
                 dbNumber:=#"Read_DB_No.", 
                 byteOffset:=#Read_Index);
    #Data_Read_H:= PEEK(area:=16#84,                           
             dbNumber:=#"Read_DB_No.", 
             byteOffset:=#Read_Index+1);
    POKE(area:=16#84,                                         //写入
         dbNumber:=#"Write_DB_No.",
         byteOffset:=#Write_Index,
         value:=#Data_Read_H);
    POKE(area:=16#84,                                        
        dbNumber:=#"Write_DB_No.",
        byteOffset:=#Write_Index+1,
        value:=#Data_Read_L);
  
END_FOR;
不过,数据量大的话不建议在PLC里面做,循环100次对扫描周期多度少少都有影响,什么品牌型号的触摸屏?触摸屏是否本身就有高低字交换的功能?建议确认下