5/31/2007 6:42 AM | |
Joined: 8/10/2006 Last visit: 8/13/2024 Posts: 298 Rating: (29) |
I found if I create a type in the SCL file, it creates a UDT in the blocks, but does not build proper association, and so won't compile. I asked a colleague to try it on his system, but his did not even create the UDT blocks. Please, someone correct me if my observation is wrong. So I created UDT's to generate the necessary structures. Calling SFC51 to read LED status on the CPU has some caveats. The application note on the FAQ is incorrect. If you call the wrong function, you will get "SFC51 Unavailable" error (see code). You use SZL_ID W#16#0174 to read LED status on H type CPUs. Use SZL_ID W#16#xy19 for other CPUs. The data result for xy74 is two structures: one for the master CPU, one for the redundant one. The attached file is code that correctly compiles, embellished. It still does not give me the results I'm looking for, but is a good starting point. AttachmentFB61_RDSYSST_LEDs.zip (213 Downloads) |
Last edited by: UnimogMan at: 01.06.2007 07:28Yes, my observations were wrong. 1. If you code a Type struct in the SCL file, you must have a symbol name in the symbol table associating the type to a UDT/DB/etc. Otherwise it will not work. 2. The problem of the code was the following: SZL_Header expects this struct *EXACTLY*: <textarea name="code" class="c#" style="height:100px" rows="15" cols="100"> SZL_HDR: STRUCT LENTHDR : WORD; <<- NOTE SPELLING (OR MIS-SPELLING) N_DR : WORD; END_STRUCT; </textarea>If it's not exactly declared (the struct elements, and element names) as it is above (and as it is documented), it will not work. It doesn't matter whether the declaration is as a Type, in a VAR, or a VAR_TEMP; etc. |
|
This contribution was helpful to2 thankful Users |
2/15/2013 11:33 AM | |
Posts: 139 Rating: (1) |
Dorftrottel, it is great! Really LENTHDR, but not LENGTHDR, and all is working. Best regards, SpKV. |
2/15/2013 1:34 PM | |
Posts: 2348 Rating: (264)
|
Misspelled |
Follow us on