Knowledge Base - Platforma Internetowa ASTOR.
Transkrypt
Knowledge Base - Platforma Internetowa ASTOR.
INFORMATOR TECHNICZNY WONDERWARE Informator Techniczny nr 19 10-08-2000 Baza Wiedzy Technicznej (Knowledge Base) – biblioteka dodatkowych funkcji skryptowych dla InTouch’a Baza Wiedzy Technicznej jest to zbiór demonstracyjnych aplikacji, wizard’ów, obiektów ActiveX, technicznych informacji oraz przede wszystkim dodatkowych funkcji skryptowych dla InTouch’a, które moŜna wykorzystać w wielu zastosowaniach. Baza Wiedzy Technicznej umieszczona jest na jednym z CD-ROM’ów, wysyłanych co kwartał do tych klientów, którzy zdecydowali się wykupić Kompleksowy Serwis Techniczny Wonderware za pośrednictwem firmy Astor. Za przykład moŜe posłuŜyć biblioteka funkcji skryptowych, znajdująca się na najnowszym - marcowym wydaniu Kompleksowego Serwisu Technicznego, która zawiera ponad 90 zupełnie nowych funkcji, dla porównania InTouch 7.1 standardowo posiada ich 120. Dzięki temu poszerzony zostaje zakres moŜliwych do realizacji działań, które wykonywane są z poziomu zaprojektowanej aplikacji, co przekłada się bezpośrednio na wzrost elastyczności oraz uniwersalności InTouch’a. UŜytkownik projektując aplikację w InTouch’u moŜe śmiało sięgnąć po dodatkowe funkcje skryptowe, które w wielu przypadkach okazują się bezcenne w zastosowaniu. Dlatego celem niniejszego opracowania jest przybliŜenie zawartości biblioteki funkcji skryptowych znajdujących się w najnowszym wydaniu Kompleksowego Serwisu Technicznego, przez krótki opis zastosowania kaŜdej funkcji. ASTOR Sp. z o.o. Dział Oprogramowania Przemysłowego ul. Smoleńsk 29, 31-112 Kraków tel.: 012 428-63-30 fax: 012 428-63-09 e-mail: [email protected] http://www.astor.com.pl Funkcje matematyczne Zamiana wartości wielkości pomiędzy róŜnymi systemami miar • StdFromMetLinear() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Zamiana wartości wielkości liniowych stosowanych w systemie metrycznym na wartości wielkości liniowych w systemie angielskim. Składnia funkcji: StdFromMetLinear ( MetricValue, MetricUnits, StandardUnits ) Przykład zastosowania: Zamienić 1500 metrów na mile. Result = StdFromMetLinear ( 1500, 2, 3 ); • MetFromStdLinear() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Zamiana wartości wielkości liniowych stosowanych w systemie angielskim na wartości wielkości liniowych w systemie metrycznym. Składnia funkcji: MetFromStdLinear( StandardValue, StandardUnits, MetricUnits) Przykład zastosowania: Zamienić 1500 cali na metry. Result = MetFromStdLinear( 1500, 0, 2 ); 2 • StdFromMetFluid() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Zamiana wartości wielkości związanych z płynami stosowanych w systemie metrycznym na wartości wielkości związanych z płynami stosowanych w systemie angielskim. Składnia funkcji: StdFromMetFluid( MetricValue, MetricUnits, StandardUnits ) Przykład zastosowania: Zamienić 250 mililitrów na galony. Result = StdFromMetFluid( 250, 0, 2 ); • MetFromStdFluid() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Zamiana wartości wielkości związanych z płynami w systemie angielskim na wartości wielkości w systemie metrycznym. Składnia funkcji: MetFromStdFluid( StandardValue, StandardUnits, MetricUnits) Przykład zastosowania: Zamienić 1500 uncji na litry. Result = MetFromStdFluid( 1500, 0, 2 ); • StdFromMetWeight() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Zamiana wartości wielkości wagowych stosowanych w systemie metrycznym na wartości wielkości wagowych stosowanym w systemie angielskim. Składnia funkcji: StdFromMetWeight( MetricValue, MetricUnits, StandardUnits ) Przykład zastosowania: Zamienić 250 kilogramów na uncje. Result = StdFromMetWeight( 250, 2, 1 ); • MetFromStdWeight() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Zamiana wartości wielkości wagowych stosowanych w systemie angielskim na wartości wielkości wagowych stosowanych w systemie metrycznym. Składani funkcji: MetFromStdWeight( StandardValue, StandardUnits, MetricUnits) Przykład zastosowania: Zamienić 4 tony w systemie angielskim na tony w systemie metrycznym. Result = MetFromStdWeight( 4, 3, 2 ); 3 • ConvertTemp() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Zmiana wartości temperatury z jednych jednostek mierniczych na inne. Składnia funkcji: ConvertTemp( Value, FromUnits, ToUnits ); Przykład zastosowania: Zamienić 130 stopni Kelwina na stopnie Fahrenheit ‘a. Result = ConvertTemp( 130, 1, 3 ); Obliczanie pola i objętości figur geometrycznych • GeoArea() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Obliczanie pola prostych figur geometrycznych (trójkąta, prostokąta, koła). Składnia funkcji: GeoArea( Base, Height, Shape ); Przykład zastosowania: Obliczyć pole okręgu o promieniu 3.5 cala. Result = GeoArea( 3.5, 0, 3 ); • GeoEqualSideArea() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Obliczanie pola wielokątów na podstawie długości i liczby boków. Składnia funkcji: GeoEqualSideArea( SideLength, NumOfSides ); Przykład zastosowania: Obliczyć pole figury o jedenastu bokach i długości kaŜdego z boków 2.34 cala. Result = GeoEqualSideArea( 2.34, 11 ); • GeoVolume() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Obliczanie objętości figur geometrycznych. Składnia funkcji: GeoVolume( Base, Height, Width, Shape ); Przykład zastosowania: Obliczyć objętość ostrosłupa o wymiarach podstawy 3.5, 5.5 i 6.5 cali. Result = GeoVolume( 3.5, 5.5, 6.5, 6 ); 4 Obliczenia statystyczne • StatReset() /Free Apps & Add-ons/Scripts & Script Functions/InTouch Statistical Functions/ Ustawianie moŜliwości prowadzenia obliczeń statystycznych dla określonej zmiennej. Składnia funkcji: StatReset(TagName); Przykład zastosowania: StatReset(TIC101PV.Name); • StatResetAll() /Free Apps & Add-ons/Scripts & Script Functions/InTouch Statistical Functions/ Ustawianie moŜliwości prowadzenia obliczeń statystycznych dla wszystkich zmiennych. Składnia funkcji: StatResetAll(); Przykład zastosowania: StatResetAll(); • StatSample() /Free Apps & Add-ons/Scripts & Script Functions/InTouch Statistical Functions/ Zbieranie wartości zmiennej (próbek) poprzez czytanie jej aktualnej wartości z InTouch’a. Składnia funkcji: StatSample(TagName); Przykład zastosowania: StatSample(TIC101PV.Name); • StatSampleAll() /Free Apps & Add-ons/Scripts & Script Functions/InTouch Statistical Functions/ Zbieranie wartości zmiennych aktualnie monitorowanych poprzez czytanie ich aktualnych wartości z InTouch’a. Składnia funkcji: StatSampleAll(); Przykład zastosowania: StatSampleAll(); 5 • StatGetAverage() /Free Apps & Add-ons/Scripts & Script Functions/InTouch Statistical Functions/ Obliczanie średniej wartości zmiennej na podstawie zbieranych aktualnie wartości. Składnia funkcji: StatGetAverage(TagName, TriggerTag); Przykład zastosowania: TagAverageValue = StatGetAverage(TIC101PV.Name, DummyTag); • StatGetMax() /Free Apps & Add-ons/Scripts & Script Functions/InTouch Statistical Functions/ Zwracanie maksymalnej wartości zmiennej od ostatniego jej ustalenia. Składnia funkcji: StatGetMax(TagName, TriggerTag); Przykład zastosowania: TagMaxValue = StatGetMax(TIC101PV.Name, DummyTag); • StatGetMin() /Free Apps & Add-ons/Scripts & Script Functions/InTouch Statistical Functions/ Zwracanie minimalnej wartości zmiennej od ostatniego jej ustalenia. Składnia funkcji: StatGetMin(TagName, TriggerTag); Przykład zastosowania: TagMinValue = • StatGetMin(TIC101PV.Name, DummyTag); StatGetStdDev() /Free Apps & Add-ons/Scripts & Script Functions/InTouch Statistical Functions/ Obliczanie wartości średniego odchylenia standardowego zmiennej. Składnia funkcji: StatGetStdDev(TagName, TriggerTag); Przykład zastosowania: TagStdDevValue = StatGetStdDev(TIC101PV.Name, DummyTag); 6 • StatGetSampleCount() /Free Apps & Add-ons/Scripts & Script Functions/InTouch Statistical Functions/ Obliczanie wartości średniej próbek. Składnia funkcji: StatGetSampleCount(TagName, TriggerTag); Przykład zastosowania: CurrentSampleCount = StatGetSampleCount(TIC101PV.Name, DummyTag); • StatGetSumXSquared() /Free Apps & Add-ons/Scripts & Script Functions/InTouch Statistical Functions/ Obliczanie sumy kwadratów wartości średniej próbek. Składnia funkcji: StatGetSumXSquared(TagName, TriggerTag); Przykład zastosowania: TagSumXSquared = StatGetStdDev(TIC101PV.Name, DummyTag); Funkcje związane ze zmiennymi • TagExists() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Pokazuje typ zdefiniowanej zmiennej. Składnia funkcji: TagExists( Tagname ); Przykład zastosowania: PokaŜ typ zmiennej określonej nazwą FilterLevel. Result = TagExists ( "FilterLevel" ); • GetDiscOnMsg() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Pokazuje treść komunikatu ustawionego w polu On Msg dla zmiennej dyskretnej. Składnia funkcji: GetDiscOnMsg( Tagname ); Przykład zastosowania: PokaŜ treść komunikatu ustawionego w polu On Msg zmiennej dyskretnej o nazwie FiltrPump. Result = GetDiscOnMsg( "FilterPump" ); 7 • GetDiscOffMsg() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Pokazuje treść komunikatu ustawionego w polu Off Msg dla zmiennej dyskretnej. Składnia funkcji: GetDiscOffMsg( Tagname ); Przykład zastosowania: PokaŜ treść komunikatu ustawionego w polu Off Msg zmiennej dyskretnej o nazwie FilterPump. Result = GetDiscOffMsg( "FilterPump" ); • SetTagEU() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Ustawianie jednostek inŜynierskich dla zmiennych typu I/O Integer i I/O Real w pliku Tagname.X. Składnia funkcji: SetTagEU( Tagname, Message ); Przykład zastosowania: Ustaw jednostki inŜynierskie dla zmiennej typu Manifold_Pressure. I/O o nazwie Result = SetTagEU( "Manifold_Pressure", "PSI" ); • SetCommentField() /Free Apps & Add-ons/Scripts & Script Functions/WWField Functions/Descriptions Zmiana treści pola komentarz dla określonej zmiennej. Składnia funkcji: SetCommentField(Tagname, Comment); Przykład zastosowania: ErrCode = SetCommentField( Tag.Name, "New Comment" ); Wykonanie funkcji spowoduje ustawienie komentarza dla zmiennej Tag w postaci ”New Comment”. • SetDiscOffMsg() /Free Apps & Add-ons/Scripts & Script Functions/WWField Functions/Descriptions Zmiana wartości pola Off Message dla określonej zmiennej. Składnia funkcji: SetDiscOffMsg(Tagname, OffMessage); Przykład zastosowania: ErrCode = SetDiscOffMsg( Tag.Name, "Closed" ); Wykonanie funkcji spowoduje ustawienie pola Off Message dla zmiennej Tag w postaci ”Closed”. 8 • SetDiscOnMsg() /Free Apps & Add-ons/Scripts & Script Functions/WWField Functions/Descriptions Zmiana wartości pola On Message dla określonej zmiennej. Składnia funkcji: SetDiscOnMsg(Tagname, OnMessage); Przykład zastosowania: ErrCode = SetDiscOnMsg( Tag.Name, "Open" ); Wykonanie funkcji spowoduje ustawienie pola On Message dla zmiennej Tag w postaci ”Open”. • GetEUDesc() /Free Apps & Add-ons/Scripts & Script Functions/WWField Functions/Descriptions UŜycie jednostek inŜynierskich w skryptach. W ten sposób moŜna wyświetlić jednostki inŜynierskie bez korzystania np. z pola comment. Składnia funkcji: GetEUDesc(Analog_Tag.Name); Przykład zastosowania: UnitsDescription = GetEUDesc(Tag1.Name); Wykonanie funkcji spowoduje przypisanie zmiennej Tag1 jednostek inŜynierskich. • IntFromString() /Free Apps & Add-ons/Scripts & Script Functions/ Konwertowanie numerycznej zmiennej typu string na zmienną integer. Zastosowanie tej funkcji wymaga aby zmienna typu string posiadała liczbę znaków od 2 do 35, natomiast wartość zmiennej typu integer jest ograniczona przedziałem od - 2147483648 do 2147483647. Składnia funkcji: <Integer_tag> = IntFromString(<Numeric_Text>, <Base>); Przykład zastosowania: Zamień znak ”8” określającą liczbę w systemie dziesiętnym na liczbę całkowitą: IntFromString( "8", 10 ); Zamień ciąg znaków ”11010” określających liczbę w systemie binarnym na liczbę całkowitą: IntFromString( "11010", 2 ); 9 • MLDialogValueEntry() /Free Apps & Add-ons/Scripts & Script Functions/Multi-Language Functions/ Edycja wartości zdefiniowanej zmiennej typu discrete, integer lub real w Tagname Dictionary za pomocą wyświetlanego okna zawierającego klawiaturę. Składnia funkcji: MLDialogValueEntry ( txtTag, lLimit, hLimit, txtUserPrompt, txtCur, txtMin, txtMax, txtNew, Msg1, Msg2 ); Przykład zastosowania: Result = MLDialogValueEntry( ”MyIntegerTag”, -100, 100, ”Enter a new value... ”, ”Current value”, ”Minimum”, ”Maximum”, ”New value”, ”Value is out of limit!”, ” Invalid floating point input!”); • MLNoKeyDialogValueEntry() /Free Apps & Add-ons/Scripts & Script Functions/Multi-Language Functions/ Edycja wartości zdefiniowanej zmiennej typu discrete, integer lub real w Tagname Dictionary za pomocą wyświetlanego okna lecz nie zawierającego klawiatury. Składnia funkcji: MLNoKeyDialogValueEntry ( txtTag, lLimit, hLimit, txtUserPrompt, txtCur, txtMin, txtMax, txtNew, Msg1, Msg2 ); Przykład zastosowania: Result = MLNoKeyDialogValueEntry( ”MyIntegerTag”, -100, 100, ”Enter a new value...”, ”Current value”, ”Minimum”, ”Maximum”, ”New value”, ”Value is out of limit!”, ”Invalid floating point input!”); • MLNoKeyDialogStringEntry() /Free Apps & Add-ons/Scripts & Script Functions/Multi-Language Functions/ Edycja wartości zdefiniowanej zmiennej typu message w Tagname Directory za pomocą wyświetlanego okna. Składnia funkcji: MLNoKeyDialogStringEntry( MessageTag_Text, UserPrompt_Text ); Przykład zastosowania: Result = MLNoKeyDialogStringEntry( ”MyMessageTag”, ”Enter a new string...”); 10 Funkcje związane z parametrami Data i Czas • ITXCreateDateTime() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Zwraca wartość liczbową typu całkowitego (integer), która reprezentuje liczbę sekund które upłynęły od 1 stycznia 1970 roku. Składnia funkcji: ITXCreateDateTime(year, month, day, hour, minute, second); Przykład zastosowania: TrendTag.ChartStart = ITXCreateDateTime(1994,5,10,12,30,0); • ITXCreateDate() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Zwraca wartość liczbową typu całkowitego (integer), która reprezentuje liczbę dni, które upłynęły od 1 stycznia 1970 roku. Składnia funkcji: ITXCreateDate(year,month,day); Przykład zastosowania: StartOfMay = ITXCreateDate(1994,5,1); • ITXConvertDateTime() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Zamiana wartości daty i czasu na poszczególne wartości tzn. rok (year), miesiąc (month), dzień (day), godzinę (hour), minutę (minute) oraz sekundę (second). Składnia funkcji: ITXConvertDateTime(InTouchDateTime, year, month, day, hour, minute, second); Przykład zastosowania: ITXConvertDateTime($DateTime, htyear, htmonth, htday, hthour, htminute, htsecond); • ITXConvertDate() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Zamiana wartości daty na poszczególne wartości tzn. rok (year), miesiąc (month) oraz dzień (day). Składnia funkcji: ITXConvertDate(InTouchDate, year, month, day); Przykład zastosowania: ITXConvertDate($Date, htyear, htmonth, htday); 11 • ITXConvertDateTimeString() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Zamiana wartości string MM/DD/YY HH:MM:SS na poszczególne wartości tzn. rok (year), miesiąc (month), dzień (day), godzina (hour), minuta (minute) oraz sekunda (second). Składnia funkcji: ITXConvertDateTimeString(DateTimeString, year, month, day, hour, minute, second); Przykład zastosowania: TXConvertDateTimeString(3/4/95 10:15:47, htyear, htmonth, htday, hthour, htminute, htsecond); • ITXConvertDateString() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Zamiana wartości string MM/DD/YY na poszczególne wartości tzn. rok (year), miesiąc (month) oaz dzień (day). Składnia funkcji: ITXConvertDateString(DateString, year, month, day); Przykład zastosowania: ITXConvertDateString(4/1/94, htyear, htmonth, htday); • ITXCheckDate() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Sprawdzanie waŜności daty. Składnia funkcji: ITXCheckDate(year, month ,day); Przykład zastosowania: IsTheDateValid = ITXCheckDate(1994,5,1); • ITXSetSystemTime() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Ustawianie wartości czasu systemowego. Składnia funkcji: ITXSetSystemTime(Hour, Minute, Second); Przykład zastosowania: ITXSetSystemTime(12, 15, 00); 12 • ITXSetSystemDate() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Ustawianie daty czasu systemowego. Składnia funkcji: ITXSetSystemDate(Year, Month, Day); Przykład zastosowania: ITXSetSystemDate(1994, 5, 10); Edytowanie plików .INI oraz HLP • INIWriteString() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Zapisywanie wielkości typu string do pliku z rozszerzeniem .INI. Składnia funkcji: INIWriteString( FileName, Section, Key, Message ); Przykład zastosowania: Edytuj część pliku WIN.INI dotyczącą InTouch’a i zmień InstallDir. Result = INIWriteString( "WIN.INI","InTouch","InstallDir","c:\testapp" ); • INIWriteInteger() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Zapisywanie wielkości typu integer do pliku z rozszerzeniem .INI. Składnia funkcji: INIWriteInteger( FileName, Section, Key, Value ); Przykład zastosowania: Edytuj część pliku WIN.INI dotyczącą InTouch’a i zmień wartość FastSwitch. Result = INIWriteInteger( "WIN.INI","InTouch"," FastSwitch",1 ); Edytowanie pliku SPCEX.INI • SPCEXSetStartDate() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Ustawianie początkowej daty w pliku SPCEX.INI. Składnia funkcji: SPCEXSetStartDate( StartYear, StartMonth, StartDay ); Przykład zastosowania: Ustaw początkową datę na 28 lutego 1997. Result = SPCEXSetStartDate( 1997,2,28 ); 13 • SPCEXSetStartTime() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Ustawianie początkowego czasu w pliku SPCEX.INI. Składnia funkcji: SPCEXSetStartTime( StartHour, StartMin, StartSec ); Przykład zastosowania: Ustaw początkowy czas na godz. 5:15:05 po południu. Result = SPCEXSetStartTime( 17,15,5 ); • SPCEXSetEndDate() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Ustawianie końcowej daty w pliku SPCEX.INI. Składnia funkcji: SPCEXSetEndDate(EndYear, EndMonth, EndDay ); Przykład zastosowania: Ustaw końcową datę na 28 lutego 1997. Result = SPCEXSetEndDate( 1997,2,28 ); • SPCEXSetEndTime() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Ustawianie końcowego czasu w pliku SPCEX.INI. Składnia funkcji: SPCEXSetEndTime( EndHour, EndMin, EndSec ); Przykład zastosowania: Ustaw końcowy czas na godz. 5:15:05 po południu. Result = SPCEXSetEndTime( 17,15,5 ); • SPCEXSetProduct() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Ustawianie nazwy produktu w pliku SPCEX.INI. Składnia funkcji: SPCEXSetProduct( ProductName ); Przykład zastosowania: Ustaw nowy product o nazwie product1. Result = SPCEXSetProduct( "product1" ); 14 • SPCEXSetDataset() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Ustawianie nazwy dataset w pliku SPCEX.INI. Składnia funkcji: SPCEXSetDataset( DatasetName ); Przykład zastosowania: Ustaw nową dataset o nazwie dataset1. Result = SPCEXSetDataset( "dataset1" ); • SPCEXSetOutputFile() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Ustawianie nazwy pliku zewnętrznego oraz ścieŜki dojścia. Składnia: SPCEXSetOutputFile( OutputFileName ) Przykład zastosowania: Utwórz nowy plik o nazwie "C:\SPC_APP\EXPORT.CSV". Result = SPCEXSetOutputFile( "C:\SPC_APP\EXPORT.CSV" ); Edytowanie pliku WIN.INI • ITXGetProfileString() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Odczytywanie ciągu znaków (string) z pliku WIN.INI. Składnia funkcji: ITXGetProfileString(Section, Entry); Przykład zastosowania: RecipeManagerDirectory = ITXGetProfileString("Recipe Manager" , "LastDir" ); • ITXGetProfileInt() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Odczytywanie liczby całkowitej (integer) z pliku WIN.INI. Składnia funkcji: ITXGetProfileInt(Section, Entry); Przykład zastosowania: ServerPollRate = ITXGetProfileInt("MyDDEServer" , "PollRate" ); 15 • ITXPutProfileString() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Wpisywanie ciągu znaków (string) do pliku WIN.INI. Składnia funkcji: ITXPutProfileString(Section, Entry, NewMessageValue); Przykład zastosowania: ITXPutProfileString("MyApplication" , "DefaultUser" ," Rick" ); • ITXPutProfileInt() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Wpisywanie liczby całkowitej (integer) do pliku WIN.INI. Składnia funkcji: ITXPutProfileInt(Section, Entry, NewIntegerValue); Przykład zastosowania: ITXPutProfileInt("MyDDEServer" , "PollRate" ,60); Przegląd plików .HLP • ITXShowHelpByNumber() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Uruchomienie okna Windows Help dla wskazanego pliku .HLP, wraz z automatycznym wyświetleniem treści tematu poprzez określenie jego ID. Składnia funkcji: ITXShowHelpByNumber(HelpFileName, HelpContextID); Przykład zastosowania: ITXShowHelpByNumber("C:\MYHELP\ALARMS.HLP" , 101); • ITXShowHelpByString() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Uruchomienie okna Windows Help dla wskazanego pliku .HLP, wraz z automatycznym wyświetleniem treści poprzez określenie tematu. Składnia funkcji: ITXShowHelpByString(HelpFileName, HelpKeyword); Przykład zastosowania: ITXShowHelpByString(HelpFileName, HelpKeyword); 16 Tworzenie katalogów • ITXCreateSubDirectory() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Tworzenie podkatalogu. Składnia funkcji: ITXCreateSubDirectory(DirectoryName); Przykład zastosowania: ResultCode = ITXCreateSubDirectory("C:\REPORTS\MARCH"); • ITXRemoveSubDirectory() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Usuwanie pustego podkatalogu. Składnia funkcji: ITXRemoveSubDirectory(DirectoryName); Przykład zastosowania: ResultCode = ITXRemoveSubDirectory("C:\REPORTS\MARCH"); • ITXCreateDirectory() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Tworzenie katalogu. Składnia funkcji: ITXCreateDirectory(DirectoryName); Przykład zastosowania: ResultCode = ITXCreateDirectory("C:\REPORTS\MARCH"); • ITXRemoveDirectory() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Usuwanie katalogu. Składnia funkcji: ITXRemoveDirectory(DirectoryName); Przykład zastosowania: ITXRemoveDirectory("C:\REPORTS\MARCH"); 17 Operacje na plikach • CreateFilenameFromDate() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Tworzenie nazwy pliku opartego na dacie komputera. Składnia funkcji: CreateFilenameFromDate(Format, Prefix, Postfix, DayOffset) Przykład zastosowania: Utwórz plik w podanym miejscu o nazwie utworzonej z daty dnia poprzedniego. FilenameMessageTag = CreateFilenameFromDate("mdy","C:\InTouch\DataLogs\",".Log",-1); JeŜeli obecną datą jest 1 stycznia C:\InTouch\DataLogs\12311999.Log. • 2000 roku, wtedy plik będzie nazwany jako FileDeleteWC() /Free Apps & Add-ons/Scripts & Script Functions/ MoŜliwość szybkiego i łatwego usuwania plików z poziomu aplikacji InTouch. Składnia funkcji: <Integer_tag> = FileDeleteWC( "<Dir_Path>\<File>" ); Przykład zastosowania: DeleteFlag DeleteFlag DeleteFlag DeleteFlag • = = = = FileDeleteWC( FileDeleteWC( FileDeleteWC( FileDeleteWC( "C:\MyDir\ABC??.*" ); "C:\MyDir\MyDir1\*.*" ); "C:\MyDir\MyDir2\*.LOG" ); "\\NODE1\DIRA\ABC??.*" ); FilePrint() /Free Apps & Add-ons/Scripts & Script Functions/Tech Support Functions/Descriptions/ MoŜliwość wydrukowania wskazanego pliku. Składnia funkcji: FilePrint(Filename, InitState); Przykład zastosowania: errorcode = FilePrint ( "C:\MYAPP\REPORT.TXT", "INVISIBLE" ); Wykonując tę funkcję zostanie najpierw uruchomiony Microsoft Notepad a następnie wydrukowana zawartość pliku REPORT.TXT. Wszystko odbędzie się w tle bez wyświetlania na ekranie. 18 • FileSelect() /Free Apps & Add-ons/Scripts & Script Functions/Tech Support Functions/Descriptions/ UmoŜliwienie uŜytkownikowi dostępu do standardowego okna dialogowego Windows File Open. Składnia funkcji: FileSelect(Title, DefaultDirectory, DefaultExtention, DefaultFilename); Pobieranie informacji o systemie operacyjnym oraz zamykanie systemu • SystemIsNT() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Ustalenie czy komputer na którym uruchomiony jest InTouch wykorzystuje system operacyjny Windows NT. Składnia funkcji: SystemIsNT () Przykład zastosowania: Sprawdź czy systemem operacyjnym jest Windows NT. Result = SystemIsNT () • InfoDosEnv() /Free Apps & Add-ons/Scripts & Script Functions/Tech Support Functions/Descriptions/ Wyszukiwanie ustawień w środowisku DOS. Składnia funkcji: InfoDosEnv(EnvironmentVar); Przykład zastosowania: DosPath = InfoDosEnv( "Path" ); JeŜeli aktualna ścieŜka DOS’owa była: C:\INTOUCH; C:\DOS; C:\WINDOWS, wtedy wartość zmiennej DosPath typu Memory Message zostanie ustawiona jako C:\INTOUCH; C:\DOS; C:\WINDOWS. • InfoWinEnv() /Free Apps & Add-ons/Scripts & Script Functions/Tech Support Functions/Descriptions/ Otrzymanie szczególnych wartości atrybutów dotyczących uruchomionego systemu Windows. Składnia funkcji: InfoWinEnv(EnvironmentVariable); Przykład zastosowania: DosVer = InfoWinEnv( "OSVERSION" ); JeŜeli DOS uruchomiony pod Windows’ami jest wersji 6.1, wtedy zmienna DosVer typu Memory Message przyjmie wartość ciągu znaków ”6.1”. 19 • WWShutDownWinNT40() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Zamykanie sytemu Windows NT 4.0. Składnia funkcji: WWShutDownWinNT40( ShutDownFlag ) Przykład zastosowania: Zamknij system Windows NT 4.0. Result = WWShutDownWinNT40( 2 ); • WWShutDownWin95() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Zamykanie sytemu Windows 95. Składnia funkcji: WWShutDownWin95( ShutDownFlag ); Przykład zastosowania: Zamknij system Windows 95. Result = WWShutDownWin95( 2 ); • WWExitWindows() /Free Apps & Add-ons/Scripts & Script Functions/Tech Support Functions/Descriptions/ Bezpieczne zamykanie systemu operacyjnego Windows z poziomu uruchomionego InTouch’a. Składnia funkcji: WWExitWindows(Option); Przykład zastosowania: Success = WWExitWindows( "EXITWINDOWS" ); Wykonanie tej funkcji spowoduje bezpieczne wyjście z WindowViewer zanim zostanie zamknięty system operacyjny. Definiowanie uŜytkowników • PwdUserEdit() /Free Apps & Add-ons/Scripts & Script Functions/Password.bin Functions/ Poszukiwanie określonego uŜytkownika i zmiana poziomu dostępu oraz hasła. Składnia funkcji: PwdUserEdit ( path, username, acclevel, password ); Przykład zastosowania: Result = PwdUserEdit( ”C:\IT7.0_Appl”, Tom, 0, Tom); 20 • PwdUserAdd() /Free Apps & Add-ons/Scripts & Script Functions/Password.bin Functions/ Definiowanie nowego uŜytkownika wraz z określeniem jego poziomu dostępu oraz hasła do pliku password.bin. Składnia funkcji: PwdUserAdd ( path, username, acclevel, password ); Przykład zastosowania: Result = PwdUserAdd( ”C:\IT7.0_Appl”, Tom, 0, Tom); • PwdUserDelete() /Free Apps & Add-ons/Scripts & Script Functions/Password.bin Functions/ Usuwanie zdefiniowanego uŜytkownika z pliku password.bin. Składnia funkcji: PwdUserDelete( path, username ); Przykład zastosowania: Result = PwdUserDelete( ”C:\IT7.0_Appl”, Tom); • PwdUserRead() /Free Apps & Add-ons/Scripts & Script Functions/Password.bin Functions/ Poszukiwanie uŜytkownika, hasła lub poziomu dostępu za pomocą określonego wskaźnika. Składnia funkcji: PwdUserRead( path, idx, username, acclevel, password ); Przykład zastosowania: Result = PwdUserRead( ”C:\IT7.0_Appl”, 1, tagname_user, tagname_acclevel, tagname_password); • PwdUserGetIndex() /Free Apps & Add-ons/Scripts & Script Functions/Password.bin Functions/ Poszukiwanie wskaźnika zdefiniowanego uŜytkownika. Składnia funkcji: PwdUserGetIndex( path, username); Przykład zastosowania: Index = PwdUserGetIndex( ”C:\IT7.0_Appl”, tagname_user); 21 Ciekawe i wartościowe funkcje skryptowe • WWBeep32() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Zainicjowanie sygnału dźwiękowego z głośnika komputera. Składnia funkcji: WWBeep32 ( Freq_37to14000 , Dur_msecs) Przykład zastosowania: Wygeneruj wysoko tonowy sygnał dźwiękowy przez 3 sekundy. WWBeep32 ( 1000 , 3000); lub WWBeep32 ( FreqTagName , DurTagName); gdzie: FreqTagName – zmienna typu Memory Integer, DurTagName – zmienna typu Memory Integer. • WWCntx32() /Free Apps & Add-ons/Scripts & Script Functions/FactorySuite Functions/ Zdefiniowanie obszaru reakcji związanego z pojawieniem się kursora graficznego. Składnia funkcji: WWCntx32( Window, Left, Top, Width, Height, NameOfTag, Message ); Przykład zastosowania: Result = WWCntx32( "MyWindow", 100, 100, 100, 100, MyMessage.name, "This is Rect 1" ); Result = WWCntx32( "MyWindow", 200, 100, 100, 100, MyMessage.name, "This is Rect 2" ); Pierwszy obszar określony został przez współrzędne punktu początkowego (100,100) - obszar ma wysokość i szerokość 100 pikseli. Drugi obszar określono poprzez współrzędne punktu początkowego (200,100) - obszar równieŜ ma wysokość i szerokość 100 pikseli. Gdy kursor znajdzie się na pierwszym zdefiniowanym obszarze parametr MyMessage przyjmie wartość typu string: ”This is Rect1”. Gdy kursor pojawi się na drugim zdefiniowanym obszarze MyMessage zostanie ustawiony na wartość typu string: ”This is Rect2”. Tego typu funkcja skryptowa moŜe zostać wykorzystana do wyświetlania komunikatów lub pomocnych rad. • NumberRecipes() /Free Apps & Add-ons/Scripts & Script Functions/ Zliczenie liczby receptur w Recipe Manager. Składnia funkcji: Number_of_Recipes = NumberRecipes( CSVFileName ); 22 • RandInt() /Free Apps & Add-ons/Scripts & Script Functions/ 32 bitowa funkcja skryptowa stworzona dla wersji 6.0 i późniejszych InTouch’a, uruchomionego w systemie Windows NT. Funkcja umoŜliwia losowy wybór liczby całkowitej z określonego przedziału, przy czym granice przedziału muszą się mieścić pomiędzy wartościami od 0 do 32000 włącznie. • SysBeep() /Free Apps & Add-ons/Scripts & Script Functions/ 32 bitowa funkcja skryptowa zaprojektowana dla wersji 6.0 i późniejszych InTouch’a. Wywołanie funkcji powoduje pojawienie się domyślnie ustawionego w Windows NT Control Panel sygnału dźwiękowego. Funkcja nie wymaga karty muzycznej oraz ustawiania dodatkowych parametrów. • InfoAppStatus() /Free Apps & Add-ons/Scripts & Script Functions/Tech Support Functions/Descriptions/ Sprawdzanie aktualnego statusu określonej aplikacji. Składnia funkcji: InfoAppStatus(WindowName, DesiredState, Errorcode, Trigger); Przykład zastosowania: ViewerIsIcon = InfoAppStatus ( InfoAppTitle( "view" ), "MINIMIZED", Errorcode, $Minute ); Zmienna ViewerIsIcon zostanie ustawiona jako True jeŜeli WindowViewer jest ikoną, w przeciwnym wypadku zmienna ViewerIsIcon przyjmie wartość False. Wykorzystanie tej funkcji na przykład w skrypcie Data Change pozwoli sprawdzać status WindowViewer’a co minutę. • InfoAppTitleExpand() /Free Apps & Add-ons/Scripts & Script Functions/Tech Support Functions/Descriptions/ Określenie nazwy uruchomionej aplikacji lub nazwy okna Microsoft Windows Task List, którego nazwa jest częściowo lub w pełni sprecyzowana. Składnia funkcji: InfoAppTitleExpand(PartialWindowName); Przykład zastosowania: ExcelTitle = InfoAppTitleExpand ( "Microsoft Excel" ); Funkcja ta ustawi wartość zmiennej ExcelTitle jako nazwę aktualnie uruchomionego okna Microsof Excel. JeŜeli dodatkowo wykorzystywany jest plik Excel’a np. "C:\MYSHEET.XLS", to wtedy ExcelTitle zostanie ustawione jako ”Microsoft Excel - MYSHEET.XLS". 23 • MessageBox() /Free Apps & Add-ons/Scripts & Script Functions/Tech Support Functions/Descriptions/ Wyświetlanie standardowego okna Windows z określonym komunikatem. Składnia funkcji: MessageBox( Message, Title, Style); Przykład zastosowania: myreturn = MessageBox ( "Start Cleaning Cycle?", "TANK 5 Done Draining", 24); Wyświetlenie komunikatu w postaci okna: Okno będzie wyświetlone do chwili, gdy nie zostanie zatwierdzony jeden z dwóch aktywnych przycisków tzn. Yes lub No. • MoveWindow() /Free Apps & Add-ons/Scripts & Script Functions/Tech Support Functions/Descriptions/ Zmiana połoŜenia okna w aplikacji InTouch’a. Składnia funkcji: MoveWindow(WindowName, Left, Top, Width, Height); Przykład zastosowania: MoveWindow(InfoAppTitle("notepad"), 0, 0, 600, 75 ); Wykonanie funkcji spowoduje usytuowanie Notepad’a w lewym górnym rogu ekranu i zmianę rozmiaru okna do 600 pikseli szerokości i 75 pikseli wysokości. • SendMail() /Free Apps & Add-ons/Scripts & Script Functions/Tech Support Functions/Descriptions/ Przesyłanie wiadomości za pomocą poczty elektronicznej do wybranego uŜytkownika. Składnia funkcji: SendMail(Recipient, Filename); Przykład zastosowania: SendMail( "Bill Gates", "C:\REPORT.TXT" ); 24 • WWAlwaysOnTop() /Free Apps & Add-ons/Scripts & Script Functions/Tech Support Functions/Descriptions/ Umieszczanie określonego okna na tle uruchomionej aplikacji Składnia funkcji: WWAlwaysOnTop(WindowName, NewState); Przykład zastosowania: errorcode = WWAlwaysOnTop ( InfoAppTitle( "notepad" )); Wykonanie funkcji spowoduje pojawienie się okna Notepad’a na tle uruchomionej aplikacji. Notepad będzie wyświetlany dotąd, aŜ będzie wykorzystywany lub zostanie uruchomiona kolejna funkcja z wartością NewState ”OFF”. • WWContext() /Free Apps & Add-ons/Scripts & Script Functions/Tech Support Functions/Descriptions/ Zdefiniowanie obszaru reakcji związanego z pojawieniem się kursora graficznego. Składnia funkcji: WWContext(WindowName, Left, Top, Width, Height, Tagname, Value); Przykład zastosowania: WWContext( "MyWindow", 100, 100, 100, 100, MyMessage.name, "This is Rect 1" ); WWContext( "MyWindow", 200, 100, 100, 100, MyMessage.name, "This is Rect 2" ); Pierwszy obszar określony został przez współrzędne punktu początkowego (100,100) - obszar ma wysokość i szerokość 100 pikseli. Drugi obszar określono poprzez współrzędne punktu początkowego (200,100) - obszar równieŜ ma wysokość i szerokość100 pikseli. Gdy kursor znajdzie się na pierwszym zdefiniowanym obszarze parametr MyMessage przyjmie wartość typu string: ”This is Rect1”. Gdy kursor pojawi się na drugim zdefiniowanym obszarze MyMessage zostanie ustawiony na wartość typu string: ”This is Rect2”. Tego typu funkcja skryptowa moŜe zostać wykorzystana do wyświetlania komunikatów lub pomocnych rad. • WWControlPanel() /Free Apps & Add-ons/Scripts & Script Functions/Tech Support Functions/Descriptions/ Uruchomienie Control Panel (Panel sterowania) w celu edytowania znajdujących się tam ustawień. Składnia funkcji: WWControlPanel(AppletName); Przykład zastosowania: ActivateApp( InfoAppTitle( "control" ) ); Wynik zadziałania funkcji pojawia się w postaci okna: 25 Kiedy zostanie naciśnięty przycisk Close lub Cancel okno Printers (Drukarki) oraz Control Panel (Panel sterowania) zostanie natychmiast zamknięte. • WWDosCommand() /Free Apps & Add-ons/Scripts & Script Functions/Tech Support Functions/Descriptions/ Uruchomienie okna DOS’owego w celu wykonania określonej komendy. Składnia funkcji: WWDosCommand(DOSCmdLine, InitState); Przykład zastosowania: errorcode = WWDosCommand ( "COPY C:\500APP\LOG.DAT C:\TEMP\080894.DAT", "MAXIMIZED" ); Gdy zostanie wywołana funkcja, pojawi się okno DOS’owe i zostanie wykonana komenda kopiowania pliku. Po zakończeniu kopiowania okno komend jest natychmiast zamykane. 26 • WWStartApp() /Free Apps & Add-ons/Scripts & Script Functions/Tech Support Functions/Descriptions/ Uruchamianie aplikacji Windows’owych z poziomu InTouch’a. Składnia funkcji: WWStartApp(WindowsAppName, InitState); Przykład zastosowania: errorcode = WWStartApp ( "WRITE", "MAXIMIZED" ); Wykonanie funkcji spowoduje uruchomienie Microsoft WRITE oraz powiększenie jego okna na cały ekran. • ITXWindowCtrl() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Zwracanie wartości 0 jeŜeli okno zostało znalezione, w przeciwnym wypadku –1. Składnia funkcji: ITXWindowCtrl(ApplicationTitleString, Feature, Action); Przykład zastosowania: ITXWindowCtrl("Notepad - (Untitled)", MinMax, 0); • ITXAppActivate() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Uruchomienie wskazanej aplikacji w wymaganej postaci. Składnia funkcji: ITXAppActivate(ApplicationTitleString, DisplayMode); Przykład zastosowania: ITXAppActivate("Notepad - (Untitled)" , MAXIMIZED); • ITXResizeApplication() /Free Apps & Add-ons/Scripts & Script Functions/ITExtras Functions/ Przesunięcie i zmiana wielkości okna wskazanej aplikacji. Miejsce oraz wymiary okna określane są za pomocą pikseli. Składnia funkcji: ITXResizeApplication(ApplicationTitleString, Xloc, Yloc, Width, Height); Przykład zastosowania: ITXResizeApplication("Notepad - (Untitled)" , 100, 100, 400, 300); 27