回复:关于用STL写循环的问题

cxaction

  • 帖子

    208
  • 精华

    1
  • 被关注

    7

论坛等级:侠士

注册时间:2011-07-16

普通 普通 如何晋级?

发布于 2013-03-08 23:12:01

7楼

quote:以下是引用YiMoon在2013-03-08 20:49:16的发言:
因为没电脑,用IPAD修改了一下,你编译后测试一下,应该可以

DATA_BLOCK DB 2
TITLE =
VERSION : 0.1


STRUCT
DATA : ARRAY [0 .. 99 ] OF INT := 100;
END_STRUCT ;
BEGIN
DATA[0] := 100;
DATA[1] := 99;
DATA[2] := 98;
DATA[3] := 97;
DATA[4] := 96;
DATA[5] := 95;
DATA[6] := 94;
DATA[7] := 93;
DATA[8] := 92;
DATA[9] := 91;
DATA[10] := 90;
DATA[11] := 0;
DATA[12] := 0;
DATA[13] := 0;
DATA[14] := 0;
DATA[15] := 0;
DATA[16] := 0;
DATA[17] := 0;
DATA[18] := 0;
DATA[19] := 0;
DATA[20] := 0;
DATA[21] := 0;
DATA[22] := 0;
DATA[23] := 0;
DATA[24] := 0;
DATA[25] := 0;
DATA[26] := 0;
DATA[27] := 0;
DATA[28] := 0;
DATA[29] := 0;
DATA[30] := 0;
DATA[31] := 0;
DATA[32] := 0;
DATA[33] := 0;
DATA[34] := 0;
DATA[35] := 0;
DATA[36] := 0;
DATA[37] := 0;
DATA[38] := 0;
DATA[39] := 0;
DATA[40] := 0;
DATA[41] := 0;
DATA[42] := 0;
DATA[43] := 0;
DATA[44] := 0;
DATA[45] := 0;
DATA[46] := 0;
DATA[47] := 0;
DATA[48] := 0;
DATA[49] := 0;
DATA[50] := 0;
DATA[51] := 0;
DATA[52] := 0;
DATA[53] := 0;
DATA[54] := 0;
DATA[55] := 0;
DATA[56] := 0;
DATA[57] := 0;
DATA[58] := 0;
DATA[59] := 0;
DATA[60] := 0;
DATA[61] := 0;
DATA[62] := 0;
DATA[63] := 0;
DATA[64] := 0;
DATA[65] := 0;
DATA[66] := 0;
DATA[67] := 0;
DATA[68] := 0;
DATA[69] := 0;
DATA[70] := 0;
DATA[71] := 0;
DATA[72] := 0;
DATA[73] := 0;
DATA[74] := 0;
DATA[75] := 0;
DATA[76] := 0;
DATA[77] := 0;
DATA[78] := 0;
DATA[79] := 0;
DATA[80] := 0;
DATA[81] := 0;
DATA[82] := 0;
DATA[83] := 0;
DATA[84] := 0;
DATA[85] := 0;
DATA[86] := 0;
DATA[87] := 0;
DATA[88] := 0;
DATA[89] := 0;
DATA[90] := 0;
DATA[91] := 0;
DATA[92] := 0;
DATA[93] := 0;
DATA[94] := 0;
DATA[95] := 0;
DATA[96] := 0;
DATA[97] := 0;
DATA[98] := 0;
DATA[99] := 0;
END_DATA_BLOCK

FUNCTION_BLOCK FB 1
TITLE =
VERSION : 0.1


VAR_INPUT
DB_NO : BLOCK_DB ;
ADRESS : INT ;
END_VAR
VAR
AR1_SAVE : DWORD ;
FP_1 : BOOL ;
START : BOOL ;
END_VAR
BEGIN
NETWORK
TITLE =

OPN #DB_NO;
L #ADRESS;
SLD 3;
LAR1 ;

AN #START;
JCN M002;
T #AR1_SAVE;
R #START;

M002: L #AR1_SAVE;
LAR1 ;
L DBW [AR1,P#0.0];
T MW 10;
A M 99.0;
JCN M001;
L 0;
T MW 10;

+AR1 P#2.0;

TAR1 ;
T #AR1_SAVE;

L P#100.0;
<=D ;
= #START;
JC M002;

M001: NOP 0;

R M 99.0;


END_FUNCTION_BLOCK

DATA_BLOCK DB 1
TITLE =
VERSION : 0.0

FB 1
BEGIN
DB_NO := DB 1;
ADRESS := 0;
AR1_SAVE := DW#16#0;
FP_1 := FALSE;
START := FALSE;
END_DATA_BLOCK

ORGANIZATION_BLOCK OB 1
TITLE = "Main Program Sweep (Cycle)"
VERSION : 0.1


VAR_TEMP
OB1_EV_CLASS : BYTE ; //Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
OB1_SCAN_1 : BYTE ; //1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1)
OB1_PRIORITY : BYTE ; //Priority of OB Execution
OB1_OB_NUMBR : BYTE ; //1 (Organization block 1, OB1)
OB1_RESERVED_1 : BYTE ; //Reserved for system
OB1_RESERVED_2 : BYTE ; //Reserved for system
OB1_PREV_CYCLE : INT ; //Cycle time of previous OB1 scan (milliseconds)
OB1_MIN_CYCLE : INT ; //Minimum cycle time of OB1 (milliseconds)
OB1_MAX_CYCLE : INT ; //Maximum cycle time of OB1 (milliseconds)
OB1_DATE_TIME : DATE_AND_TIME ; //Date and time OB1 started
TEMP0 : ANY ;
TEMP1 : ANY ;
END_VAR
BEGIN
NETWORK
TITLE =

// CALL FC 3


NETWORK
TITLE =

CALL FB 1 , DB 1 (
DB_NO := DB 2,
ADRESS := 0);



END_ORGANIZATION_BLOCK

不错收藏留着自己慢慢研究。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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