請教1200間接尋址問題
劉玉蓉
發(fā)布于2014-11-25 17:49
183
0
標(biāo)簽:
DB里有100個(gè)REAL。需要將這100個(gè)REAL的高低字做互換。(觸摸屏程序中是按照符號名稱來尋址這些REAL的,如果PLC里將這100個(gè)REAL改成數(shù)組類型的話,觸摸屏程序也要跟著變動(dòng))。
1、不用數(shù)組,不用FIELDREAD FIELDWRITE指令。1200如何做間接尋址?
2、如果用SCL語言能否實(shí)現(xiàn)上述功能?SCL里如何做間接尋址?
佳答案
給你個(gè)我自己用的,接口定義如圖
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;
不過,數(shù)據(jù)量大的話不建議在PLC里面做,循環(huán)100次對掃描周期多度少少都有影響,什么品牌型號的觸摸屏?觸摸屏是否本身就有高低字交換的功能?建議確認(rèn)下