Občas se bohužel stane, že něco nezafunguje jak má, a dojde k "sesypání" DetStudia. Pokud byla před tím prováděna generace, měl by být k dohledání záložní soubor aplikace v souboru TEMP.DSO v adresáři "C:\Documents and Settings\NNNN\Local Settings\Temp", kde NNNN je konkrétní uživatel.
Programování AMiT
Obrácení pořadí bytů pro komunikaci
06.06.2011 08:25Tuto operaci je třeba provést např. při komunikaci s vizualizací InTouch, popř. jinou, která u MODBUSU nepodporuje formát swapet-long / swapet-float. Obrácení pořadí bytů se pak provede takhle nějak (v případě proměnných LONG; nutno ověřit funkci!):
Let LONG = ((SwLONG & 0x0000FFFF) << 16) | (SwLONG >> 16)
Pro float je to trochu složitější, kód pro matici jsem vytvořil takto:
For iter01, 0.000, 10.000, 1.000
Let CH_COM = SwFLOATs[iter01,0]
StrFormat CH_COM_O, 0, NONE, "", 6, -1, -1, -1, CH_COM, NONE.0
Let FLOATs[2*iter01,0] = CH_COM_O[0,0]|(CH_COM_O[0,1]<<8)
Let FLOATs[2*iter01+1,0] = CH_COM_O[0,2]|(CH_COM_O[0,3]<<8)
EndFor
Náměty k naprogramování ŘS TR
03.06.2011 14:46V tomto článku si budu poznamenávat, co by bylo vhodné do programu regulačního systému doplnit, aby mi to nenávratně nevypadlo z paměti:
- provozní hodiny (doděláno, neodzkoušeno)
- časování servisních intervalů na základě PH a počtu startů s upozorněním na LCD
- archivace s uložením časového úseku před odstavením
Převodové poměry TR320 a TR560
03.06.2011 11:11V tabulce níže jsou parametry převodovek sohledem na nastavení měřidel otáček. Parametr 30/PP se zadává do otáčkoměru OrbitMerret, 16/PP do ŘS AMiT. IM21 se nastavuje pro přímé měření.
Převodovky:
Otáčky | zubů | PP | 30/PP | 16/PP |
13000/3000 | 161/37 | 4,351351 | 6,89440 | 3,6770 |
15000/3000 | 161/32 | 5,03125 | 5,96273 | 3,18012 |
16000/3000 | ? | ? | 5,65217 | 3,0145 |
17000/3000 | 164/29 | 5,65517 | 5,30488 | 2,82926 |
19000/3000 | 171/27 | 6,33333 | 4,73684 | 2,52632 |
TR 560 | ||||
9000/1500 | 268/44 | 6,090909 | 4,92537 | 2,62687 |
11000/1500 | 268/36 | 7,444444 | 4,02985 | 2,14925 |
13000/1500 | 268/31 | 8,645161 | 3,47015 | 1,85075 |
15000/1500 | ? | ? | ? | ? |
Sloučení dvou INT proměnných do jedné LONG
03.06.2011 10:47Při programování ŘS turbíny jsem narazil na potřebu převést dvě proměnné typu INT do jedné LONG (proměnné jsem používal pro stavy alarmů - tj. jako jednotlivé bity). Podpora AMiTu mi poradila následující:
Let LONG = (INT1 & 0x0000FFFF) | ((INT2 & 0x0000FFFF) << 16)
Bitové operace
02.06.2011 08:54Pro bitové operace v reléových schématech DetStudia (PSE) nejsou k dispozici moduly. Je ale možné tyto operace provést pomocí následujících propojení spojovacích čar a invertorů: