1 | /*
|
---|
2 | * ãµã³ãã«ããã°ã©ã (2)ã®ã³ã³ãã¼ãã³ãè¨è¿°ãã¡ã¤ã«
|
---|
3 | *
|
---|
4 | * $Id: tSample2.cdl 270 2017-02-09 04:03:47Z coas-nagasima $
|
---|
5 | */
|
---|
6 | /*
|
---|
7 | * ã«ã¼ãã«ãªãã¸ã§ã¯ãã®å®ç¾©
|
---|
8 | */
|
---|
9 | import("kernel.cdl");
|
---|
10 |
|
---|
11 | /*
|
---|
12 | * ã¿ã¼ã²ããéä¾åã®ã»ã«ã¿ã¤ãã®å®ç¾©
|
---|
13 | */
|
---|
14 | import("syssvc/tSerialPort.cdl");
|
---|
15 | import("syssvc/tSysLog.cdl");
|
---|
16 | import("syssvc/tLogTask.cdl");
|
---|
17 | import("syssvc/tBanner.cdl");
|
---|
18 |
|
---|
19 | /*
|
---|
20 | * ã¿ã¼ã²ããä¾åé¨ã®åãè¾¼ã¿
|
---|
21 | */
|
---|
22 | import("target.cdl");
|
---|
23 |
|
---|
24 | /*
|
---|
25 | * ãã»ã«ã®çµä¸ãè¨è¿°ãã¨ã¯ï¼"cell"ã§å§ã¾ãè¡ããï¼ããã«å¯¾å¿ãã"};"
|
---|
26 | * ã®è¡ã¾ã§ã®ãã¨ãè¨ãï¼
|
---|
27 | */
|
---|
28 |
|
---|
29 | /*
|
---|
30 | * ã·ã¹ãã ãã°æ©è½ã®çµä¸ãè¨è¿°
|
---|
31 | *
|
---|
32 | * ã·ã¹ãã ãã°æ©è½ãå¤ãå ´åã«ã¯ï¼ä»¥ä¸ã®ã»ã«ã®çµä¸ãè¨è¿°ãåé¤ãï¼ã³
|
---|
33 | * ã³ãã¤ã«ãªãã·ã§ã³ã«-DTOPPERS_OMIT_SYSLOGã追å ããã°ããï¼ãã ãï¼
|
---|
34 | * ã·ã¹ãã ãã°ã¿ã¹ã¯ã¯ã·ã¹ãã ãã°æ©è½ã使ç¨ããããï¼ãããå¤ããã¨
|
---|
35 | * ãå¿
|
---|
36 | è¦ã§ããï¼ã¾ãï¼ã·ã¹ãã ãã°æ©è½ã®ã¢ããã¿ãå¤ããªããã°ãªããª
|
---|
37 | * ãï¼tecsgenãè¦åã¡ãã»ã¼ã¸ãåºããï¼ç¡è¦ãã¦ããï¼
|
---|
38 | */
|
---|
39 | cell tSysLog SysLog {
|
---|
40 | logBufferSize = 32; /* ãã°ãããã¡ã®ãµã¤ãº */
|
---|
41 | initLogMask = C_EXP("LOG_UPTO(LOG_NOTICE)");
|
---|
42 | /* ãã°ãããã¡ã«è¨é²ãã¹ãéè¦åº¦ */
|
---|
43 | initLowMask = C_EXP("LOG_UPTO(LOG_EMERG)");
|
---|
44 | /* ä½ã¬ãã«åºåãã¹ãéè¦åº¦ */
|
---|
45 |
|
---|
46 | /* ä½ã¬ãã«åºåã¨ã®çµå */
|
---|
47 | cPutLog = PutLogTarget.ePutLog;
|
---|
48 | };
|
---|
49 |
|
---|
50 | /*
|
---|
51 | * ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®çµä¸ãè¨è¿°
|
---|
52 | *
|
---|
53 | * ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ããå¤ãå ´åã«ã¯ï¼ä»¥ä¸ã®ã»ã«ã®çµä¸ãè¨
|
---|
54 | * è¿°ãåé¤ããã°ããï¼ãã ãï¼ã·ã¹ãã ãã°ã¿ã¹ã¯ã¯ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼
|
---|
55 | * ã¹ãã©ã¤ãã使ç¨ããããï¼ãããå¤ããã¨ãå¿
|
---|
56 | è¦ã§ããï¼ã¾ãï¼ã·ãªã¢
|
---|
57 | * ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¢ããã¿ãå¤ããªããã°ãªããªãï¼
|
---|
58 | */
|
---|
59 | cell tSerialPort SerialPort1 {
|
---|
60 | receiveBufferSize = 256; /* åä¿¡ãããã¡ã®ãµã¤ãº */
|
---|
61 | sendBufferSize = 256; /* éä¿¡ãããã¡ã®ãµã¤ãº */
|
---|
62 |
|
---|
63 | /* ã¿ã¼ã²ããä¾åé¨ã¨ã®çµå */
|
---|
64 | cSIOPort = SIOPortTarget1.eSIOPort;
|
---|
65 | eiSIOCBR <= SIOPortTarget1.ciSIOCBR; /* ã³ã¼ã«ãã㯠*/
|
---|
66 | };
|
---|
67 |
|
---|
68 | /*
|
---|
69 | * ã·ã¹ãã ãã°ã¿ã¹ã¯ã®çµä¸ãè¨è¿°
|
---|
70 | *
|
---|
71 | * ã·ã¹ãã ãã°ã¿ã¹ã¯ãå¤ãå ´åã«ã¯ï¼ä»¥ä¸ã®ã»ã«ã®çµä¸ãè¨è¿°ãåé¤ãã
|
---|
72 | * ã°ããï¼
|
---|
73 | */
|
---|
74 | cell tLogTask LogTask {
|
---|
75 | priority = 3; /* ã·ã¹ãã ãã°ã¿ã¹ã¯ã®åªå
|
---|
76 | 度 */
|
---|
77 | stackSize = LogTaskStackSize; /* ã·ã¹ãã ãã°ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
|
---|
78 |
|
---|
79 | /* ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¨ã®çµå */
|
---|
80 | cSerialPort = SerialPort1.eSerialPort;
|
---|
81 | cnSerialPortManage = SerialPort1.enSerialPortManage;
|
---|
82 |
|
---|
83 | /* ã·ã¹ãã ãã°æ©è½ã¨ã®çµå */
|
---|
84 | cSysLog = SysLog.eSysLog;
|
---|
85 |
|
---|
86 | /* ä½ã¬ãã«åºåã¨ã®çµå */
|
---|
87 | cPutLog = PutLogTarget.ePutLog;
|
---|
88 | };
|
---|
89 |
|
---|
90 | /*
|
---|
91 | * ã«ã¼ãã«èµ·åã¡ãã»ã¼ã¸åºåã®çµä¸ãè¨è¿°
|
---|
92 | *
|
---|
93 | * ã«ã¼ãã«èµ·åã¡ãã»ã¼ã¸ã®åºåãå¤ãå ´åã«ã¯ï¼ä»¥ä¸ã®ã»ã«ã®çµä¸ãè¨è¿°
|
---|
94 | * ãåé¤ããã°ããï¼
|
---|
95 | */
|
---|
96 | cell tBanner Banner {
|
---|
97 | /* å±æ§ã®è¨å® */
|
---|
98 | targetName = BannerTargetName;
|
---|
99 | copyrightNotice = BannerCopyrightNotice;
|
---|
100 | };
|
---|
101 |
|
---|
102 | /*
|
---|
103 | * ãµã³ãã«ããã°ã©ã ã®å®ç¾©
|
---|
104 | */
|
---|
105 | [singleton]
|
---|
106 | celltype tSample2 {
|
---|
107 | require tKernel.eKernel; /* å¼ã³å£åãªãï¼ä¾ï¼delayï¼*/
|
---|
108 | /*require cKernel = tKernel.eKernel;/* å¼ã³å£åããï¼ä¾ï¼cKernel_delayï¼*/
|
---|
109 | require ciKernel = tKernel.eiKernel;/* å¼ã³å£åããï¼ä¾ï¼ciKernel_ï¼*/
|
---|
110 |
|
---|
111 | call sTask cTask[4]; /* ã¿ã¹ã¯æä½ */
|
---|
112 | call sTask cExceptionTask;
|
---|
113 | call sCyclic cCyclic;
|
---|
114 | call sAlarm cAlarm;
|
---|
115 |
|
---|
116 | [optional] call sSerialPort cSerialPort;/* ã·ãªã¢ã«ãã©ã¤ãã¨ã®æ¥ç¶ */
|
---|
117 | call sSysLog cSysLog; /* ã·ã¹ãã ãã°æ©è½ã¨ã®æ¥ç¶ */
|
---|
118 |
|
---|
119 | entry sTaskBody eMainTask; /* Mainã¿ã¹ã¯ */
|
---|
120 | entry sTaskBody eSampleTask[3]; /* 並è¡å®è¡ãããã¿ã¹ã¯ */
|
---|
121 | entry sTaskBody eExceptionTask; /* ä¾å¤å¦çã¿ã¹ã¯ */
|
---|
122 |
|
---|
123 | entry siHandlerBody eiCyclicHandler;/* å¨æãã³ãã©*/
|
---|
124 | entry siHandlerBody eiAlarmHandler; /* ã¢ã©ã¼ã ãã³ãã© */
|
---|
125 | };
|
---|
126 |
|
---|
127 | /*
|
---|
128 | * çµã¿ä¸ãè¨è¿°
|
---|
129 | */
|
---|
130 |
|
---|
131 | /* Sample2ã®ãããã¿ã¤ãå®£è¨ */
|
---|
132 | cell tSample2 Sample2;
|
---|
133 |
|
---|
134 | cell tKernel ASPKernel{
|
---|
135 | };
|
---|
136 |
|
---|
137 | cell tTask MainTask {
|
---|
138 | /* å¼ã³å£ã®çµå */
|
---|
139 | cTaskBody = Sample2.eMainTask;
|
---|
140 | /* å±æ§ã®è¨å® */
|
---|
141 | attribute = C_EXP("TA_ACT");
|
---|
142 | priority = C_EXP("MAIN_PRIORITY");
|
---|
143 | stackSize = C_EXP("STACK_SIZE");
|
---|
144 | };
|
---|
145 |
|
---|
146 | cell tTask Task1 {
|
---|
147 | /* å¼ã³å£ã®çµå */
|
---|
148 | cTaskBody = Sample2.eSampleTask[0];
|
---|
149 | /* å±æ§ã®è¨å® */
|
---|
150 | priority = C_EXP("MID_PRIORITY");
|
---|
151 | stackSize = C_EXP("STACK_SIZE");
|
---|
152 | };
|
---|
153 |
|
---|
154 | cell tTask Task2 {
|
---|
155 | /* å¼ã³å£ã®çµå */
|
---|
156 | cTaskBody = Sample2.eSampleTask[1];
|
---|
157 | /* å±æ§ã®è¨å® */
|
---|
158 | priority = C_EXP("MID_PRIORITY");
|
---|
159 | stackSize = C_EXP("STACK_SIZE");
|
---|
160 | };
|
---|
161 |
|
---|
162 | cell tTask Task3 {
|
---|
163 | /* å¼ã³å£ã®çµå */
|
---|
164 | cTaskBody = Sample2.eSampleTask[2];
|
---|
165 | /* å±æ§ã®è¨å® */
|
---|
166 | priority = C_EXP("MID_PRIORITY");
|
---|
167 | stackSize = C_EXP("STACK_SIZE");
|
---|
168 | };
|
---|
169 |
|
---|
170 | cell tTask ExceptionTask {
|
---|
171 | /* å¼ã³å£ã®çµå */
|
---|
172 | cTaskBody = Sample2.eExceptionTask;
|
---|
173 | /* å±æ§ã®è¨å® */
|
---|
174 | priority = C_EXP("EXC_PRIORITY");
|
---|
175 | stackSize = C_EXP("STACK_SIZE");
|
---|
176 | };
|
---|
177 |
|
---|
178 | cell tCyclicHandler CyclicHandler {
|
---|
179 | /* å¼ã³å£ã®çµå */
|
---|
180 | ciHandlerBody = Sample2.eiCyclicHandler;
|
---|
181 | /* å±æ§ã®è¨å® */
|
---|
182 | cycleTime = 2000000;
|
---|
183 | };
|
---|
184 |
|
---|
185 | cell tAlarmHandler AlarmHandler {
|
---|
186 | ciHandlerBody = Sample2.eiAlarmHandler;
|
---|
187 | };
|
---|
188 |
|
---|
189 | cell tSample2 Sample2 {
|
---|
190 | /* å¼ã³å£ã®çµå */
|
---|
191 | cTask[ 0 ] = MainTask.eTask;
|
---|
192 | cTask[ 1 ] = Task1.eTask;
|
---|
193 | cTask[ 2 ] = Task2.eTask;
|
---|
194 | cTask[ 3 ] = Task3.eTask;
|
---|
195 |
|
---|
196 | cExceptionTask = ExceptionTask.eTask;
|
---|
197 |
|
---|
198 | cCyclic = CyclicHandler.eCyclic;
|
---|
199 | cAlarm = AlarmHandler.eAlarm;
|
---|
200 |
|
---|
201 | cSerialPort = SerialPort1.eSerialPort;
|
---|
202 | cSysLog = SysLog.eSysLog;
|
---|
203 | };
|
---|