沉迷學習
一個什么正在努力學習的實習生
級別: 探索解密
|
另外,再問一下,西門子PLC中有像三菱PLC里的SER數據查找指令嗎? |
---|---|
|
worker02
級別: 略有小成
|
這些都可以自已寫然后放入庫中調用,現成的不一定符合自己的應用。就當給自己練練手也是好的。 FUNCTION FC1006 : VOID //Know_How_Protect; VAR_TEMP i :INT; S :BOOL; END_VAR VAR_INPUT DB_No :INT; DB_DW :INT; In_Data :INT; Lenght :INT; END_VAR VAR_OUTPUT RFPos :INT; Total :INT; END_VAR; IF In_Data>0 THEN Total:=0; RFPos:=0; S:=FALSE; FOR I:= 0 TO((Lenght*2)-2) BY 2 DO IF WORD_TO_INT(WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No)).DW[DB_DW+I])=In_Data THEN IF S=false THEN RFPos:=(DB_DW+I); END_IF; S:=TRUE; Total:=Total+1; END_IF; END_FOR; ELSE Total:=0; RFPos:=0; S:=FALSE; END_IF; END_FUNCTION 以上是數據查找的原代碼,不知道能不能符合你的要求。 FUNCTION FC1005 : VOID Know_How_Protect; VAR_TEMP i:INT; J:INT; II:INT; END_VAR VAR_INPUT DB_No:Int; DB_DW:INT; Lenght:INT; On_Off:BOOL; END_VAR; //II:=0; FOR I:= 0 TO (Lenght-1) DO FOR J:= 0 to((Lenght*2)-2) BY 2 DO IF j<((Lenght*2)-2) THEN IF On_Off then IF (WORD_TO_INT(WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No)).DW[DB_DW+J])> WORD_TO_INT(WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No)).DW[DB_DW+J+2])) THEN II:=WORD_TO_INT(WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No)).DW[DB_DW+J]); WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No)).DW[DB_DW+J]:=WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No)).DW[DB_DW+J+2]; WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No)).DW[DB_DW+J+2]:=INT_TO_WORD(II); END_IF; ELSE IF (WORD_TO_INT(WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No)).DW[DB_DW+J])< WORD_TO_INT(WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No)).DW[DB_DW+J+2])) THEN II:=WORD_TO_INT(WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No)).DW[DB_DW+J]); WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No)).DW[DB_DW+J]:=WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No)).DW[DB_DW+J+2]; WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No)).DW[DB_DW+J+2]:=INT_TO_WORD(II); END_IF; END_IF; END_IF; END_FOR; END_FOR; END_FUNCTION 以上是數據排序源代碼 [ 此帖被worker02在2018-06-20 10:59重新編輯 ] |
---|---|
|
沉迷學習
一個什么正在努力學習的實習生
級別: 探索解密
|
額。。。請問怎么把這個用在博圖V14里面呢。。。 |
---|---|
|